@charset "UTF-8";
@media screen and (min-width: 768px),print {

html,body{overflow-x: visible;}
.main-title{background: url(../images/oral-training/h1.jpg)no-repeat top center; background-size: cover;}

#contentsmain {margin: 0 auto 95px;position: relative;padding: 28px 2.6rem 0 2.6rem;}
#contentsmain .inner-Box {margin: 0 auto;max-width: 1100px;position: relative;padding: 0 562px 0 0;}
#contentsmain .inner-Box h2 {background: url(../images/common/line.svg) no-repeat bottom;font-size: 2.3rem;line-height: 1.5;font-weight: 500;letter-spacing: 0.2rem;margin-bottom: 15px;position: relative;padding-bottom: 10px;}
#contentsmain .inner-Box figure.photo {position: absolute;top: 0;right: 0;overflow: hidden;border-radius: 30px;width: 530px;}
#contentsmain .inner-Box figure.photo img{width: 100%;}
#contentsmain .inner-Box p.text {font-size: 1.6rem;line-height: 2;font-weight: 500;letter-spacing: 0.16rem;margin-bottom: 17px;position: relative;}

#contents01 {margin: 0 auto 70px;position: relative;padding: 0px 2.6rem 0 2.6rem;}
#contents01 .inner-Box {margin: 0 auto 40px;position: relative;max-width: 1100px;padding: 0 0 0 343px;}
#contents01 .inner-Box span.icon {display: block;line-height: 1;position: absolute;top: 104px;left: 157px;}
#contents01 .inner-Box h3 {font-size: 2.3rem;line-height: 1.5;font-weight: 500;letter-spacing: 0.46rem;margin-bottom: 0px;position: absolute;left: 13px;top: 166px;width: 343px;text-align: center;}
#contents01 .inner-Box ul{ background: #FFFFFF; border-radius: 20px; padding: 50px 50px 30px; }
#contents01 .inner-Box ul li { position: relative; }
#contents01 .inner-Box span.ch {display: block;line-height: 1;position: absolute;top: 2px;left: 0;}
#contents01 .inner-Box span.ch img {  }
#contents01 .inner-Box p.litext {font-size: 1.6rem;line-height: 1.5;font-weight: 500;letter-spacing: 0.16rem;margin-bottom: 20px;position: relative;padding: 0 0 0 35px;}

#contents01 .inner-Box:nth-child(2) span.icon{top: 60px;}
#contents01 .inner-Box:nth-child(3) span.icon{top: 81px;}
#contents01 .inner-Box:nth-child(4) span.icon{top: 81px;}

#contents01 .inner-Box:nth-child(2) h3{top: 120px;}
#contents01 .inner-Box:nth-child(3) h3{top: 142px;}
#contents01 .inner-Box:nth-child(4) h3{top: 141px;}

#contents02 {margin: 0 auto 40px;position: relative;padding: 0 2.6rem;}
#contents02 h2 {font-size: 2rem;line-height: 1.5;font-weight: 500;letter-spacing: 0.4rem;margin-bottom: 30px;position: relative;text-align: center;}
#contents02 h2 span.icon {display: block;margin-bottom: -6px;}
#contents02 h2 span.ttlb {display: block;border-radius: 10px;background: #fff;width: 320px;height: 51px;margin: 0 auto;padding: 11px 0 0 2px;}
#contents02 .inner-Box {margin: 0 auto;position: relative;max-width: 1100px;}
#contents02 .inner-Box ul{display: -webkit-box; display: -moz-flex; display: -ms-flex; display: -o-flex; display: -ms-flexbox; display: flex; -webkit-box-lines: multiple; -moz-box-lines: multiple; -ms-flex-wrap: wrap; flex-wrap: wrap;}
#contents02 .inner-Box ul li {position: relative;width: 48.2%;margin-right: 3.6%;}
#contents02 .inner-Box ul li:nth-child(2n) { margin-right: 0px; }
#contents02 .inner-Box figure.photo {position: relative;top: 0;left: 0;border-radius: 30px;margin-bottom: 12px;overflow: hidden;}
#contents02 .inner-Box figure.photo img{ width: 100%; height: auto; }
#contents02 .inner-Box p.litext { font-size: 1.6rem; line-height: 1.5; font-weight: 500; letter-spacing: 0.16rem; margin-bottom: 30px; position: relative; }

#faq {margin: 0 auto;position: relative;padding: 0 2.6rem;}
#faq h2 {font-size: 2rem;line-height: 1.5;font-weight: 500;letter-spacing: 0.4rem;margin-bottom: 30px;position: relative;text-align: center;}
#faq h2 span.icon {display: block;margin-bottom: -6px;}
#faq h2 span.ttlb {display: block;border-radius: 10px;background: #fff;width: 320px;height: 51px;margin: 0 auto;padding: 11px 0 0 2px;}
#faq .inner-Box {margin: 0 auto;position: relative;max-width: 1100px;}

#contentsbottomop {margin: 0 auto 130px;position: relative;text-align: center;}
#contentsbottomop h2 {font-size: 2rem;line-height: 1.5;font-weight: 500;letter-spacing: 0.4rem;margin-bottom: 26px;position: relative;text-align: center;}
#contentsbottomop h2 span.icon {display: block;margin-bottom: -6px;}
#contentsbottomop h2 span.ttlb {display: block;border-radius: 10px;background: #fff;width: 299px;height: 51px;margin: 0 auto;padding: 11px 0 0 2px;}
#contentsbottomop .inner-Box { margin: 0 auto; position: relative; }
#contentsbottomop .inner-Box p.text {font-size: 1.6rem;line-height: 2;font-weight: 500;letter-spacing: 0.16rem;margin-bottom: 17px;position: relative;}
#contentsbottomop .contactbtn{margin: 36px auto 0 auto;left: 4px;}
#contentsbottomop .contactbtn a{  }

#contentsflow {margin: -80px auto 66px auto;padding: 0 2.6rem 0 2.6rem;max-width: 1152px;position: relative;display: flex;gap: 3rem;align-items: flex-start;padding-top: 100px;}
#contentsflow .ttl-Box {flex-shrink: 0;position: sticky;align-self: flex-start;top: 120px;padding-top: 0;text-align: center;width: 313px;}
#contentsflow .ttl-Box span.img {display: block;line-height: 1;margin-bottom: 17px;}
#contentsflow .ttl-Box span.img img {  }
#contentsflow .ttl-Box h2 {font-size: 2.3rem;line-height: 1.8;font-weight: 500;letter-spacing: 0.46rem;margin-bottom: 0px;position: relative;}
#contentsflow .inner-Box { flex-grow: 1;}
#contentsflow .minBox {position: relative;border-radius: 20px;background: #fff;margin-bottom: 41px;padding: 50px 40px 33px 150px;}
#contentsflow .minBox::before{content: "";background: url(../images/flow/line.svg);height: 40px;width: 2px;position: absolute;bottom: -42px;left: 50%;transform: translateX(-50%);background-size: 100% auto;}
#contentsflow .minBox p.stepno {font-size: 1.8rem;line-height: 1.2;font-weight: 500;letter-spacing: 0.126rem;margin-bottom: 30px;width: 82px;height: 82px;background: #FCA98B;border-radius: 50%;text-align: center;position: absolute;top: 25px;left: 39px;padding: 24px 0 0;}
#contentsflow .minBox h3 {background: url(../images/common/line.svg)repeat-x bottom left;font-size: 2rem;line-height: 1.5;font-weight: 500;letter-spacing: 0.2rem;margin-bottom: 15px;position: relative;padding-bottom: 12px;}
#contentsflow .minBox p.steptext {font-size: 1.6rem;line-height: 2;font-weight: 500;letter-spacing: 0.16rem;margin-bottom: 18px;position: relative;}
#contentsflow .minBox ul{display: -webkit-box;display: -moz-flex;display: -ms-flex;display: -o-flex;display: -ms-flexbox;display: flex;-webkit-box-lines: multiple;-moz-box-lines: multiple;-ms-flex-wrap: wrap;flex-wrap: wrap;max-width: 430px;}
#contentsflow .minBox ul li { position: relative; }
#contentsflow .minBox p.ltext {font-size: 1.6rem;line-height: 1.5;font-weight: 500;letter-spacing: 0.16rem;margin-bottom: 0;position: relative;padding-left: 7px;margin-right: 29px;}
#contentsflow .minBox p.ltext::before{ content: ""; display: block; width: 9px; height: 9px; background: #FCA98B; border-radius: 50%; display: inline-block; position: relative; top: -3px; left: -5px; }
#contentsflow .minBox:last-child{ margin-bottom: 0;}
#contentsflow .minBox:last-child::before{content: none;}


}
@media screen and (min-width:768px) and ( max-width:1000px) {

#contents01 .inner-Box {padding: 0 0 0 243px;}
#contents01 .inner-Box span.icon {left: 97px;}
#contents01 .inner-Box h3 {width: 243px;left: 0px;}

#contentsflow .ttl-Box {width: 213px;}
#contentsflow .ttl-Box span.img img { width: 80px; height: auto; }
#contentsflow .ttl-Box h2 {font-size: 1.8rem;line-height: 1.2;letter-spacing: 0.1rem;}

}

@media screen and (min-width:768px) and ( max-width:900px) {
	
#contentsmain .inner-Box {padding: 0 50px;}
#contentsmain .inner-Box figure.photo { position: relative; left: 0; width: 100%; margin-bottom: 30px; }
	
}



@media screen and (max-width: 767px) {
.main-title{background: url(../images/oral-training/sp-h1.jpg)no-repeat top center;background-size: 100% auto;}


#contentsmain {margin: 0 auto 9.63vw;position: relative;padding: 3.47vw 5.1vw 0;}
#contentsmain .inner-Box {position: relative;padding: 0 0vw 0 0;}
#contentsmain .inner-Box h2 {background: url(../images/common/line.svg) no-repeat bottom;font-size: 5.33vw;line-height: 1.5;font-weight: 500;letter-spacing: 0.53vw;margin-bottom: 5vw;position: relative;padding-bottom: 3.87vw;background-size: auto 0.6vw;}
#contentsmain .inner-Box figure.photo {position: relative;top: 0;right: 0;overflow: hidden;border-radius: 5vw;margin-bottom: 3.9vw;}
#contentsmain .inner-Box figure.photo img{width: 100%;}
#contentsmain .inner-Box p.text {font-size: 3.73vw;line-height: 2;font-weight: 500;letter-spacing: 0.43vw;margin-bottom: 4.53vw;position: relative;}

#contents01 {margin: 0 auto 10.67vw;position: relative;padding: 0.0vw 5.1vw;}
#contents01 .inner-Box {margin: 0 auto 7.67vw;position: relative;}
#contents01 .inner-Box span.icon {display: block;line-height: 1;position: relative;margin: 0 40.2vw 2vw;}
#contents01 .inner-Box h3 {font-size: 5.33vw;line-height: 1.5;font-weight: 500;letter-spacing: 1.07vw;margin-bottom: 3.9vw;position: relative;text-align: center;}
#contents01 .inner-Box ul{background: #FFFFFF;border-radius: 5.33vw;padding: 7.9vw 9vw 2.6vw 7vw;}
#contents01 .inner-Box ul li { position: relative; }
#contents01 .inner-Box span.ch {display: block;line-height: 1;position: absolute;top: -0.17vw;left: 1.2vw;width: 5.4vw;}
#contents01 .inner-Box span.ch img {  }
#contents01 .inner-Box p.litext {font-size: 3.73vw;line-height: 1.5;font-weight: 500;letter-spacing: 0.37vw;margin-bottom: 5.13vw;position: relative;padding: 0 0 0 9.33vw;}

#contents02 {margin: 0 auto 1.67vw;position: relative;padding: 0 5.3vw;}
#contents02 h2 {font-size: 4.80vw;line-height: 1.5;font-weight: 500;letter-spacing: 0.96vw;margin-bottom: 5.5vw;position: relative;text-align: center;}
#contents02 h2 span.icon {display: block;margin: 0 37.6vw -1.2vw;}
#contents02 h2 span.ttlb {display: block;border-radius: 2.67vw;background: #fff;width: 73.33vw;height: 12.1vw;margin: 0 8.1vw;padding: 2.43vw 0 0 0.53vw;}
#contents02 .inner-Box {position: relative;}
#contents02 .inner-Box ul{display: -webkit-box; display: -moz-flex; display: -ms-flex; display: -o-flex; display: -ms-flexbox; display: flex; -webkit-box-lines: multiple; -moz-box-lines: multiple; -ms-flex-wrap: wrap; flex-wrap: wrap;}
#contents02 .inner-Box ul li {position: relative;width: 100%;margin-bottom: -0.1vw;}
#contents02 .inner-Box ul li:nth-child(2n) { margin-right: 0.0vw; }
#contents02 .inner-Box figure.photo {position: relative;top: 0;left: 0;border-radius: 6vw;margin-bottom: 2.4vw;overflow: hidden;}
#contents02 .inner-Box figure.photo img{ width: 100%; height: auto; }
#contents02 .inner-Box p.litext {font-size: 3.73vw;line-height: 1.5;font-weight: 500;letter-spacing: 0.37vw;margin-bottom: 8.0vw;position: relative;margin-right: -1vw;}

#faq {margin: 0;position: relative;}
#faq h2 {font-size: 4.80vw;line-height: 1.5;font-weight: 500;letter-spacing: 0.96vw;margin-bottom: 5.5vw;position: relative;text-align: center;}
#faq h2 span.icon {display: block;margin: 0 42.6vw -1.2vw;}
#faq h2 span.ttlb {display: block;border-radius: 2.67vw;background: #fff;width: 73.33vw;height: 12.1vw;margin: 0 13.7vw;padding: 2.43vw 0 0 0.53vw;}
#faq .inner-Box {margin: 0 5vw;position: relative;}

#contentsbottomop {margin: 0 auto 17.67vw;position: relative;text-align: center;}
#contentsbottomop h2 {font-size: 4.80vw;line-height: 1.5;font-weight: 500;letter-spacing: 0.96vw;margin-bottom: 4.6vw;position: relative;text-align: center;}
#contentsbottomop h2 span.icon {display: block;margin: 0 42.5vw -1.2vw;}
#contentsbottomop h2 span.ttlb {display: block;border-radius: 2.67vw;background: #fff;width: 67.63vw;height: 12.1vw;margin: 0 16.4vw;padding: 2.43vw 0 0 0.53vw;}
#contentsbottomop .inner-Box {margin: 0 5.4vw;position: relative;}
#contentsbottomop .inner-Box p.text {font-size: 3.73vw;line-height: 2;font-weight: 500;letter-spacing: 0.37vw;margin-bottom: 4.53vw;position: relative;text-align: left;}
#contentsbottomop .contactbtn{margin: 9.6vw auto 0 auto;width: 73vw;display: none;}
#contentsbottomop .contactbtn a{  }


#contentsflow {margin: 4vw auto 9.97vw auto;position: relative;}
#contentsflow .ttl-Box {padding-top: 0;text-align: center;margin-bottom: 7.7vw;}
#contentsflow .ttl-Box span.img {display: block;line-height: 1;margin: 0 41.9vw 1.43vw;}
#contentsflow .ttl-Box span.img img {  }
#contentsflow .ttl-Box h2 {font-size: 5.33vw;line-height: 1.5;font-weight: 700;letter-spacing: 1.07vw;margin-bottom: 0.0vw;position: relative;}
#contentsflow .inner-Box { margin: 0 5.2vw; }
#contentsflow .minBox {position: relative;border-radius: 5.33vw;background: #fff;margin-bottom: 11.47vw;padding: 6.8vw 5vw 4vw 25.3vw;}
#contentsflow .minBox:nth-child(2),#contentsflow .minBox:nth-child(5) { padding-top: 10.1vw; padding-bottom: 7vw; }
#contentsflow .minBox::before{content: "";background: url(../images/flow/line.svg);height: 10.67vw;width: 0.53vw;position: absolute;bottom: -10.8vw;left: 50%;transform: translateX(-50%);background-size: 109% auto;}
#contentsflow .minBox p.stepno {font-size: 3.47vw;line-height: 1.2;font-weight: 500;letter-spacing: 0.24vw;margin-bottom: 8.0vw;height: 16.00vw;width: 16.00vw;background: #FCA98B;border-radius: 50%;text-align: center;position: absolute;top: 5.3vw;left: 5.6vw;padding: 4.4vw 0 0;}
#contentsflow .minBox h3 {background: url(../images/common/line.svg)repeat-x bottom;font-size: 4.27vw;line-height: 1.5;font-weight: 500;letter-spacing: 0.53vw;margin-bottom: 6.4vw;position: relative;padding-bottom: 2.2vw;background-size: auto 0.6vw;margin-left: 20vw;}
#contentsflow .minBox p.steptext {font-size: 4.27vw;line-height: 1.5;font-weight: 500;letter-spacing: 0.43vw;margin-bottom: 2.9vw;position: relative;}
#contentsflow .minBox ul{display: -webkit-box;display: -moz-flex;display: -ms-flex;display: -o-flex;display: -ms-flexbox;display: flex;-webkit-box-lines: multiple;-moz-box-lines: multiple;-ms-flex-wrap: wrap;flex-wrap: wrap;}
#contentsflow .minBox ul li { position: relative; }
#contentsflow .minBox p.ltext {font-size: 3.73vw;line-height: 1.5;font-weight: 500;letter-spacing: 0.43vw;margin-bottom: 3vw;position: relative;padding-left: 0.47vw;margin-right: 3.73vw;}
#contentsflow .minBox p.ltext::before{content: "";display: block;width: 2.13vw;height: 2.13vw;background: #FCA98B;border-radius: 50%;display: inline-block;position: relative;top: -0.5vw;left: 0vw;margin-right: 1.1vw;}
#contentsflow .minBox:last-child{ margin-bottom: 0;}
#contentsflow .minBox:last-child::before{content: none;}

}

