@charset "UTF-8";

header {
    height: 400px;
}

/* ----------------------------------------------------------------mainimg*/
#mainimage {
    position: relative;
    display: flex;
    align-items: center;
    width: 100%;
    height: 100%;
    margin: 0 auto;
    padding: 0 40px;
    overflow: hidden;
    background: url("../img/common_img/main_bg.jpg") center center no-repeat;
    background-size: cover;
}
#mainimage h2 {
  text-align: center;
    line-height: 1.5;
    font-family: 'Noto Serif JP', serif;
    font-size: 30px;
    color: #fff;
}
#mainimage h2 strong {
    font-size: 32px;
}
@media print, screen and (min-width:768px) {
#mainimage h2 {
    font-size: 36px;
}
#mainimage h2 strong {
    font-size: 42px;
}
}

/* ----------------------------------------------------------------main*/
a .btn2{
	margin:10px !important;
}

#content01{
	padding: 30px 0 0 0;
}
@media print, screen and (min-width:768px) {
#content01{
	padding: 50px 0 0 0;
}
}
#content01 .title01::before {
  bottom: -20px; /* 線の位置 */
  width: 280px; /* 線の長さ */
}

#content01 .flexbox {
 margin-top: 50px;
}
#content01 ol {
  counter-reset: my-counter;
  list-style: none;
  padding: 0;
  margin: 0px 0px 20px 0px;
  text-align: left;
}
#content01 li {
  font-size: 18px;
  line-height: 2;
  padding-left: 25px;
  position: relative;
}
#content01 li:before {
  content: counter(my-counter);
  counter-increment: my-counter;
  background-color: #ff8000;
  border: 1px solid;
  border-radius: 50%;
  box-sizing: border-box;
  display: flex;
  justify-content: center;
  align-items: center;
  height: 20px;
  width: 20px;
  color: #ffffff;
  font-size: 85%;
  line-height: 2;
  position: absolute;
  top: 8px;
  left: 0;
}
@media print, screen and (min-width:768px) {
 #content01 ol {
  margin: 0px 0px 0px 0px;
}
#content01 li {
  font-size: 20px;
  line-height: 2;
  padding-left: 30px;
  position: relative;
}
#content01 li:before {
  content: counter(my-counter);
  counter-increment: my-counter;
  background-color: #ff8000;
  border: 1px solid;
  border-radius: 50%;
  box-sizing: border-box;
  display: flex;
  justify-content: center;
  align-items: center;
  height: 22px;
  width: 22px;
  color: #ffffff;
  font-size: 85%;
  line-height: 2;
  position: absolute;
  top: 10px;
  left: 0;
}
}

#content02,
#content04,
#anchor_point01,
#anchor_point02{
	margin-top: -50px;
	padding-top: 30px;
}

#content03 ul li{
font-size: 16px;	
}
@media print, screen and (min-width:768px) {
#content03 ul li{
font-size: 17px;	
}
}

.arrow{
	width: 100%;
	text-align: center;
}
.arrow i{
	font-size: 60px;
	margin: 0 auto;
	color: #ff8000;
	line-height: 0.8;
}
#anchor_point02{
	margin-bottom: 80px;
}