@charset "UTF-8";


body{
    background-color: #fff;
    font-family: 'Noto Sans JP', sans-serif;
    word-break: break-all;
    font-size: 16px;
    line-height: 1.6rem;
}

img {
	max-width:100%;
	height: auto;/*高さ自動*/
}
a {
        color: #1e00ff;
     text-decoration:underline;
}
a:hover { 
    
}

p{
    margin-bottom: 1rem;
}
/*ヘッダー
-------------------------------------*/


.header {
	background-color: #00529f;
    padding:0.3rem 0; 
}

.header .head-txt1{
    color: #fff;
    font-size: 0.7rem;
    text-align: center;
}
.header .head-txt2{
    color: #fffd5c;
    font-size: 1.3rem;
    font-weight: 600;
    text-align: center;
}

    

/*メイン画像
-------------------------------------*/
.mainimg img {
    width: 100vw;
}

/*メインコンテンツ
-------------------------------------*/
main {
    margin:0;
}

section {
	margin:0;
	padding:0;
}


/*カウントダウンタイマー
-------------------------------------*/

.cdt{
    background-color: #ffff9f;
    color: #fff;
    padding: 1rem 0;
    text-align: center;
    font-weight: bold;
        font-size: 2.5rem;
}
.cdt .countdown{
    display: flex;
    justify-content: center;
    color: #00529f;
}

.cdt .countdown div{
    font-family: 'Barlow', sans-serif;
   /* background-color: #00529f;*/
      background: #00529f url(../img/cdt-bg.png) no-repeat center bottom;
       background-size: contain;
    color: #fff;
    padding:1rem  0 1rem 0.5rem!important;
    font-size: 2.2rem;
    display: inline-block;
    text-align: center!important;
    letter-spacing: 0.5rem;
}
.cdt .countdown div.ten{
    background-color: #ffff9f;
    color: #00529f;
    padding: 0!important;
    margin-top: 0.8rem;
}
.cdt .countdown .countdown-day{margin-right: 0.4rem; width:60px;}
.cdt .countdown .countdown-hour{width:60px;}
.cdt .countdown .countdown-min{margin-left: -0.5rem; width:60px;}
.cdt .countdown .countdown-sec{margin-left: -0.5rem; width:60px;}



.cdt p{
    background-color: #ffff9f;
    color: #00529f;
    text-align: center;
    font-size: 1.2rem;
    font-weight: bold;
    letter-spacing: 2px;
    margin-bottom: 0.5rem;
}

.cdt p span{
    color: #00529f;
    font-size: 1rem;
    font-weight: bold;
    margin-top: 0.2rem;
    display: inline-block;
    width:60px;
    text-align: right;
}
.cdt p.nichizi{
text-align: center;

}

.cdt p span.nichi{margin: 0 0.5rem 0 0.7rem;}
.cdt p span.zi{margin-right: 0.7rem; margin-left: 0.2rem;}
.cdt p span.fun{margin-right: 0.4rem; margin-left: 0.8rem;}
.cdt p span.byo{margin-left: 1.3rem;}




/*キャッチコピー
-------------------------------------*/

.catch {
border: 2px solid #00529f;
border-radius: 5px;
margin:2rem 1rem 1rem;
padding: 1rem;
}

.catch h2.title {
 background-color: #00529f;
 color: #fff;
border-radius: 50px;
padding: 0.2rem 0.3rem 0.3rem;
text-align: center;
margin: -2rem 2rem 0.5rem;
}

.catch{
    font-size: 1.2rem;
    font-weight: bold;
    line-height: 2.3rem;
}

.catch span{
    background: linear-gradient(transparent 60%, #ffff66 60%);
}



/*後藤さんビフォーアフター
-------------------------------------*/

#sec1 h2{
    color: #00529f;
    text-align: center;
    font-size: 1.1rem;
    font-weight: 900;
    margin-bottom: 0.5rem;
}
#sec1 h2 span{
    display: block;
}

#sec1 h2 span.icon1{
   margin-top: -1.5rem;
}
#sec1 h2 span.icon1::before{
  content: '';/*何も入れない*/
display: inline-block;
  width: 35px;/*画像の幅*/
  height: 53.46px;/*画像の高さ*/
  background: url(../img/icon/icon_1l.png) no-repeat;
  background-size: contain;
  vertical-align: bottom;
}
#sec1 h2 span.icon1::after{
  content: '';/*何も入れない*/
display: inline-block;
  width: 35px;/*画像の幅*/
  height:53.46px;/*画像の高さ*/
  background: url(../img/icon/icon_1r.png) no-repeat;
  background-size: contain;
    vertical-align: bottom;
}

#sec1 .arrow {
  width: 0;
  height: 0;
  border-top: 30px solid #00529f;
  border-left: 30px solid transparent;
  border-right: 30px solid transparent;
  margin: 0.5rem auto;
}


#sec1 .bfaf{
    background-color: #e5f2ff;
    padding: 0.5rem;
    margin: 0 0.5rem;
}

#sec1 .bfaf h3{
    color: #00529f;
    font-size: 1.7rem;
    text-align: center;
    letter-spacing:3px;
}
#sec1 .bfaf2 p{
    margin: 0.5rem;
}



/*sec2 あなたはもう英語を・・・
-------------------------------------*/
#sec2{
    margin-top: 1rem;
}
#sec2 .wrapper {
background-color: #00529f;
padding: 0.7rem 0 0.4rem;
}
#sec2 .wrapper h2{
    color: #fff;
    font-size: 1.4rem;
    font-weight: bold;
    text-align: center;
    line-height: 2rem;
}
#sec2 .wrapper p{
    color: #fff;
    font-size: 1.4rem;
    font-weight: bold;
    text-align: center;
}

#sec2 .wrapper-in {
border-radius: 5px;
background-color: #fff;
margin: 0.7rem;
    padding: 0.7rem  0.5rem;
}

#sec2 .wrapper-in p{
    color: #000;
    font-size: 1rem;
    font-weight: normal;
    text-align: left;
}
#sec2 .arrow2{
    margin-top: -0.05rem;
}
#sec2 .arrow2 img{
    width: 100%; 
}
#sec2 ul.ls1{margin-bottom: 1rem;}

#sec2 ul.ls1 li{
     list-style-type: none; /*点を非表示*/
    position: relative; /*基準位置*/
    padding-left: 0.6em;
}



#sec2 ul.ls1 li::before{
    border-radius: 50%; /*丸くする*/
    width: 7px; /*点の幅*/
    height: 7px; /*点の高さ*/
    display: block;
    position: absolute; /*絶対配置*/
    left: 0; /*点の位置*/
    top: 0.6em; /*点の位置*/
    content: "";
    background: #00529f; /*点の色*/
}


#sec2 .balloon1{
    position: relative;
  display: inline-block;
  margin: 0.3rem auto 0!important;
  padding: 10px 5px;
  width: 90%;
  color: #00529f;
  font-weight: bold;
  background: #FFF;
  border: solid 3px #00529f;
  border-radius: 5px;
  box-sizing: border-box;
 display: flex;
  justify-content: center;
  text-align: center;
}

#sec2 .balloon1::before{
  content: "";
  position: absolute;
  bottom: -32px;
  left: 50%;
  margin-left: -15px;
  border: 12px solid transparent;
  border-top: 22px solid #FFF;
  z-index: 2;
}
#sec2 .balloon1::after{
      content: "";
  position: absolute;
  bottom: -39px;
  left: 50%;
  margin-left: -17px;
  border: 14px solid transparent;
  border-top: 24px solid #00529f;
  z-index: 1;
}
#sec2 .balloon1 p {
  margin: 0;
  padding: 0;
    font-size: 1.2rem;
  font-weight: 900;
  line-height: 2rem;
}
#sec2 .sec2-img{
    margin-top: -3rem;
}

.f08rem{font-size: 0.8rem;}
.blde{font-size: 1.5rem;}
.blkagetsu{font-size: 2.2rem; margin-left: -0.2rem;}
.bl3{font-size: 2.8rem;}


#sec2 .sec2-cont{
    margin: 0.5rem;
}

#sec2 .box1{
    border: 2px solid #ff7602;
    border-radius: 5px;
    color: #ff7602;
    padding: 0.7rem;
    font-weight: bold;
    margin: 1rem 0.5rem;
}
ul.ls2 {
    list-style: none;
    margin: 1rem 0rem;
}
ul.ls2 li{
    font-weight: bold;
    padding-left: 2rem;
    line-height: 1.6em;
    background: url(../img/icon/icon_check1.png) left 0px top 3px no-repeat;
    background-size: 25px auto;
}

#sec2 .sec2-tex{
    color: #fff;
    font-size: 1.2rem;
    text-align: center;
    font-weight: bold;
}


/*sec3 話すための英文法
-------------------------------------*/

#sec3 .wrapper{
    height: 470px;
   background: #4b4b4b url(../img/sec3-bg.png) no-repeat center bottom;
   background-size: 100%;
   padding-top: 1rem;
}

#sec3 .wrapper h2{
    font-size: 1.5rem;
    font-weight: bold;
    text-align: center;
    margin: 0.5rem 0 1.5rem;
    line-height: 2rem;
}
#sec3 .wrapper p{
    margin: 0 0.5rem;
}

#sec3 .wrapper h2,#sec3 .wrapper p{
    color: #fff;
}

#sec3 .sec3-cont{
    margin: 0.5rem;
}



#sec3 .sec3-cont h2{
  font-size: 1.35rem;
  position: relative;
  display: inline-block;
  margin: 0.3rem auto 2rem!important;
  padding: 13px 5px;
  width: 99%;
  color: #000;
  font-weight: bold;
  background: #FFF;
  border-bottom: solid 3px #000;
  box-sizing: border-box;
  display: flex;
  justify-content: center;
  text-align: center;

}

#sec3 .sec3-cont h2::before{
  content: "";
  position: absolute;
  bottom: -32px;
  left: 50%;
  margin-left: -15px;
  border: 12px solid transparent;
  border-top: 22px solid #FFF;
  z-index: 2;
}
#sec3 .sec3-cont h2::after{
      content: "";
  position: absolute;
  bottom: -39px;
  left: 50%;
  margin-left: -17px;
  border: 14px solid transparent;
  border-top:24px solid #000;
  z-index: 1;
}

#sec3 .sec3-img{
    margin: 0 auto 1rem;
    text-align: center;
}

/*sec4 2か月ください
-------------------------------------*/

#sec4 .wrapper{
    background: linear-gradient(180deg, #fff 0%, #fff 4%, #00529f 4%, #00529f 100%); 
    position: relative;
}
#sec4 .wrapper::after{
    position: absolute;
    content: '';
    display: inline-block;
    background: url(../img/sec4-bg.png) no-repeat -10px 0px;
    background-size: 100%;
    left: 0;
    right: 0;
    top: 0;
    bottom: 0;
    z-index: 1;
}


#sec4 .sec4-head{
height:870px;
position: relative;
    z-index: 2;
}
#sec4 .sec4-cont{
    background-color: #fff;
    border-radius: 5px;
    margin: 0rem 0.5rem 0.5rem;
    padding: 0.5rem;
    top: 290px;
   position: absolute;
   z-index: 3;
}

/*sec5 
-------------------------------------*/
#sec5{
    margin-top: 2rem;
}
#sec5 p{
    margin: 0.5rem;
    margin-bottom: 2rem;
}
#sec5 .sec5-img{
    text-align: center;
}
#sec5 img{

}


/*sec6  プロフィール 
-------------------------------------*/

#sec6 .wrapper{
background-color: #77b6f1;
background-image:repeating-linear-gradient(-45deg,#5fa9ee, #5fa9ee 5px,transparent 0, transparent 10px);
padding: 1rem 0;
overflow: hidden;
}


#sec6 .wrapper .wrapper-in{
background-color: #e5f2ff;
border-radius: 5px;
margin: 0.5rem;
padding: 1rem 0;
}
#sec6 .wrapper .wrapper-in p{
margin: 0.5rem 0.5rem 2rem 0.5rem;
}
#sec6 h2{
    font-size: 1.3rem;
    color: #fff;
    text-align: center;
    letter-spacing: 2px;
    margin-bottom: 1rem;
}

#sec6 .wrapper-in h3{
    color: #00529f;
    text-align: left;
    margin:0rem 0 1rem 1rem;
    padding: 0.2rem 0 0 1rem;
    border-left: 5px solid #00529f;
    font-weight: normal;
}


#sec6 .sec6-img{
    width: 70%;
    margin: 0 auto;
    text-align: center;
}

#sec6 .sec6-cont{
background:url('../img/sec6-bg.png');
background-repeat:no-repeat;
background-position:1rem 3%;
background-color: #fff;
background-size: 100%;
margin: 3rem  0.5rem 0.5rem 0.5rem;
border-radius: 5px;
position: relative;

}


#sec6 .sec6-cont-in{
    padding: 280px 0 1rem 0;
    margin: 0.5rem;
}
#sec6 .sec6-h3{
    top: -20px;
    width: 70%;
    position: absolute;
  left: 0;
  right: 0;
  margin: auto;

}
#sec6 .koguma{
    top: 35px;
    right: -30px;
    width: 50%;
    position: absolute;
}

#sec6 hr{
    background-color: #00529f!important;
    height: 0.5px!important;
}


/*sec7 
-------------------------------------*/

#sec7 .wrapper{
      /* 方眼紙模様 */
  background-image: linear-gradient(0deg, transparent calc(100% - 1px), #f0f0f0 calc(100% - 1px)),
                    linear-gradient(90deg, transparent calc(100% - 1px), #f0f0f0 calc(100% - 1px));
  background-size: 16px 16px;
  background-repeat: repeat;
  background-position: center center;
  padding:2rem 0;
}
#sec7 .sec7-h2{
    text-align: center;
    font-size: 1.1rem;
    font-weight: bold;margin-bottom: 0.5rem;
}
#sec7 h2{
    color: #ff7602;
    text-align: center;
    font-size: 1.4rem;
    font-weight: 900;
    margin: 0rem 0 1rem 0;
}
#sec7 h2 span{
    display: block;
}
#sec7 h2 span.icon2{
   margin-top: -3rem;
}
#sec7 h2 span.icon2::before{
  content: '';/*何も入れない*/
display: inline-block;
  width: 35px;/*画像の幅*/
  height: 53.46px;/*画像の高さ*/
  background: url(../img/icon/icon_2l.png) no-repeat;
  background-size: contain;
  vertical-align: bottom;
  margin-right: 1.2rem;
}
#sec7 h2 span.icon2::after{
  content: '';/*何も入れない*/
display: inline-block;
  width: 35px;/*画像の幅*/
  height:53.46px;/*画像の高さ*/
  background: url(../img/icon/icon_2r.png) no-repeat;
  background-size: contain;
    vertical-align: bottom;
 margin-left: 1.2rem;
}

#sec7 .sec7-cont{
    background-color: #fff;
    border: 1px solid #00529f;
    border-radius: 5px;
    margin: 0.5rem 0.5rem 1rem;
}
#sec7 .sec7-cont p{
    margin: 0.5rem 0.5rem 1rem 0.5rem;
}




#sec7 h3{
    background-color: #00529f;
    color: #fff;
    font-size: 1.2rem;
    font-weight: normal;
    letter-spacing: 1px;
    padding: 0.7rem;
}

#sec7 div.lead{
    background-color: #e5f2ff;
    font-weight: normal;
    padding: 0.8rem;
}

.triangle1{
    display: inline-block;
    width: 0;
    height: 0;
    border-top: solid 7px transparent;
    border-right: solid 7px transparent;
    border-bottom: solid 7px transparent;
    border-left: solid 10px #00529f;
    margin-left: 0.7rem;
}

#sec7 .sec7-img{
    width: 40%;
    float: right;
    margin-right: 0.5rem;
}




#sec7 .sec7-balloon{
    position: relative;
  display: inline-block;
  margin: 0.3rem auto 1rem!important;
  padding: 10px 5px;
  width: 90%;
  color: #00529f;
  font-size: 1.2rem;
  font-weight: bold;
  background: #FFF;
  border: solid 2px #00529f;
  border-radius: 50px;
  box-sizing: border-box;
 display: flex;
  justify-content: center;
  text-align: center;
}

#sec7 .sec7-balloon::before{
  content: "";
  position: absolute;
  top: -32px;
  left: 50%;
  margin-left: -15px;
  border: 12px solid transparent;
  border-bottom: 22px solid #FFF;
  z-index: 2;
}
#sec7 .sec7-balloon::after{
      content: "";
  position: absolute;
  top: -37px;
  left: 50%;
  margin-left: -16px;
  border: 13px solid transparent;
  border-bottom: 23px solid #00529f;
  z-index: 1;
}


/*sec8 なぜ英会話・・・話せる・・ならない
-------------------------------------*/

#sec8 .wrapper{
    height: 250px;
   background: #4b4b4b url(../img/sec8-bg.png) no-repeat center bottom;
   background-size: 100%;
   padding-top: 1rem;
}
#sec8 .sec8-cont{
    margin: 0.5rem;
}
#sec8 .sec8-cont h2{
  font-size: 1.35rem;
  position: relative;
  display: inline-block;
  margin: 0.3rem auto 2rem!important;
  padding: 13px 5px;
  width: 99%;
  color: #000;
  font-weight: bold;
  background: #FFF;
  border-bottom: solid 3px #000;
  box-sizing: border-box;
  display: flex;
  justify-content: center;
  text-align: center;

}

#sec8 .sec8-cont h2::before{
  content: "";
  position: absolute;
  bottom: -32px;
  left: 50%;
  margin-left: -15px;
  border: 12px solid transparent;
  border-top: 22px solid #FFF;
  z-index: 2;
}
#sec8 .sec8-cont h2::after{
      content: "";
  position: absolute;
  bottom: -39px;
  left: 50%;
  margin-left: -17px;
  border: 14px solid transparent;
  border-top:24px solid #000;
  z-index: 1;
}


/*sec9 1500語
-------------------------------------*/


#sec9 .wrapper{
 margin: 0.5rem;
}

#sec9 .sec9-img{
    width: 90%;
    margin: 2rem auto 1rem;
    text-align: center;
}


/*sec10 話すための英文法
-------------------------------------*/


#sec10 .wrapper{
 margin: 0.5rem;
}

#sec10 .sec10-img{
    width: 97%;
    margin: 2rem auto 1rem;
    text-align: center;
}



/*sec11 たった２つ
-------------------------------------*/

#sec11 .wrapper{
 margin: 0.5rem;
}

#sec11 .sec11-img{
    width: 97%;
    margin: 2rem auto 1rem;
    text-align: center;
}

ul.ls3 {
    list-style: none;
    margin: 1rem 0rem;
    border: 2px solid #ff7602;
    border-radius: 5px;
    padding: 1.2em 2rem 0.35rem;
}
ul.ls3 li{
    font-weight: bold;
    padding-left: 2rem;
    line-height: 1.6em;
    background: url(../img/icon/icon_check1.png) left 0px top 3px no-repeat;
    background-size: 25px auto;
    margin-bottom: 1rem;
}


#sec11 .sec11-balloon{
    position: relative;
  display: inline-block;
  margin: 0.3rem auto 1rem!important;
  padding: 10px 5px;
  width: 90%;
  color: #fff;
  font-size: 1.2rem;
  font-weight: bold;
  background: #ff7602;
  border: solid 2px #ff7602;
  border-radius: 50px;
  box-sizing: border-box;
 display: flex;
  justify-content: center;
  text-align: center;
}

#sec11 .sec11-balloon::before{
  content: "";
  position: absolute;
  top: -27px;
  left: 50%;
  margin-left: -15px;
  border: 12px solid transparent;
  border-bottom: 22px solid #ff7602;
  z-index: 2;
}
#sec11 .sec11-balloon::after{
      content: "";
  position: absolute;
  top: -30px;
  left: 50%;
  margin-left: -16px;
  border: 13px solid transparent;
  border-bottom: 23px solid #ff7602;
  z-index: 1;
}



/*sec12 瞬間英作文ができなくても
-------------------------------------*/

#sec12 .wrapper{
 margin: 1rem 0.5rem;
}



/*sec13 世界初
-------------------------------------*/

#sec13 .wrapper{
    background: #00529f url(../img/sec13-bg.png) no-repeat -8px 5%;
       background-size: 95%;
       height: 790px;
       position: relative;
}


#sec13 .wrapper .wrapper-in{
 position: absolute;
 background-color: #fff;
 margin: 0.7rem;
 padding: 0.5rem;
 top: 310px;
 border-radius: 5px;
} 


/*-----------
シャドーイング
-------------*/

.shadowing-sp{

}
.shadowing-title{
    display: flex;  /* 横並びにする */
    align-items: center;  /* 垂直方向に中央 */
    text-align: center;  /* 文字のセンタリング(複数行になったとき用) */
    margin: 1rem 0;
    font-size: 1.1rem;
    font-weight: bold;
}
.shadowing-title::before,
.shadowing-title::after{
    content:"";
    flex-grow: 1;  /* 線の伸び率 */
    border-bottom: 2px solid #00529f;
  }

  /* 左側の線 */
.shadowing-title::before{
    margin-right: 10px;  /* 線と文字の間のスペース */
    padding-left: 15px;  /* 線の長さが、最低でも15px以上になるように余白をとる */
  }
 
  /* 右側の線 */
.shadowing-title::after{
    margin-left: 10px;  /* 線と文字の間のスペース */
    padding-right: 15px;  /* 線の長さが、最低でも15px以上になるように余白をとる */
  }

.sp-shadow-text{
  font-size: 1.1rem;
  font-weight: bold;
  display: flex;
  justify-content:space-between ;
  margin: 0.5rem 0 1rem;
}

.sp-shadow-text .speedr{text-align: left;}
.sp-shadow-text .speedl{text-align: right;}

.shadowing_button{
  display: flex;
  justify-content:space-between ;
  align-items: center;
}


.audio_btn img{
  width: 45px;
   vertical-align: middle;
}


.sec13-box{
    border: 2px solid #ff7602;
    border-radius: 5px;
    padding: 1rem;
    font-weight: bold;
    font-size: 1.4rem;
    color: #ff7602;
    text-align: center;
    line-height: 2.5rem;
    margin: 0 0 2rem;
}

#sec13 .sec13-cont{
    padding: 1rem 0.5rem 0.5rem;
}

#sec13 .sec13-img{
    margin: 0 auto;
    text-align: center;
}


/*sec14 英文と音声にこだわりました
-------------------------------------*/

#sec14 .wrapper{
    padding: 0.5rem;
}


/*sec15 6段階スピード
-------------------------------------*/

/*H2 */

h2.sec15h2{
  position: relative;
  margin: 0.3rem auto 0!important;
  padding: 7px 5px 10px;
  width: 100%;
  color: #fff;
  font-size: 1.7rem;
  font-weight: bold;
  line-height: 2.5rem;
  background-color: #00529f;
  border: solid 3px #00529f;
  box-sizing: border-box;
  text-align: center;
}

h2.sec15h2::before{
  content: "";
  position: absolute;
  bottom: -32px;
  left: 50%;
  margin-left: -15px;
  border: 12px solid transparent;
  border-top: 22px solid #00529f;
  z-index: 2;
}
h2.sec15h2::after{
      content: "";
  position: absolute;
  bottom: -39px;
  left: 50%;
  margin-left: -17px;
  border: 14px solid transparent;
  border-top: 24px solid #00529f;
  z-index: 1;
}

#sec15 h2.sec15h2 .seiyu{
    font-size: 1.1rem;
}
#sec15 h2.sec15h2 .sp6{
    font-size: 2.6rem;
    font-weight: bold;
    color: #fffd5c;
}


.speed{
    display: flex;
    justify-content: space-between;
    padding: 0.5rem;
    border-radius: 5px;
    margin-bottom: 0.3rem;
}
.Slow{background-color: #00cfba;}
.Med{background-color: #00a5c4;}
.SemiN{background-color: #008acd;}
.SemiN2{background-color: #006fd4;}
.SemiN3{background-color: #005dd9;}
.Nat{background-color: #2941d3;}
.no{
  width: 40px;
  height: 40px;
  padding-top: 5px;
  border-radius: 50%;
  text-align: center;
  box-sizing: border-box;
  font-size: 1.3rem;
  font-weight: bold;
}

.no1{   
    background-color: #d9f8f5;
    border: 1px solid #d9f8f5; 
    color: #00cfba;
}
.no2{   
    background-color: #d9f2f6;
    border: 1px solid #d9f2f6; 
    color: #006b97;
}
.no3{   
    background-color: #d9eef8;
    border: 1px solid #d9eef8; 
    color: #004ba5;
}

.no4{   
    background-color: #d9eaf9;
    border: 1px solid #d9eaf9; 
    color: #0030b0;
}
.no5{   
    background-color: #d9e7f9;
    border: 1px solid #d9e7f9; 
    color: #0022b9;
}
.no6{   
    background-color: #dfe3f8;
    border: 1px solid #dfe3f8; 
    color: #0711af;
}


.speed1,.speed2,.speed3,.speed4,.speed5,.speed6{
    color: #fff;
    line-height: 1.25rem;
    width: 120px;
}
.speed2{
    display:table;
}
.speed2 span{
    display:table-cell;
    vertical-align: middle;
}
.revel{
    color: #fff;
    padding: 0.5rem;
   border-radius: 5px;
   width: 130px;
   text-align: center;
}


.rev1{background-color: #00a888;}
.rev2{background-color: #006b97;}
.rev3{background-color: #004ba5;}
.rev4{background-color: #0030b0;}
.rev5{background-color: #0030b0;}
.rev6{background-color: #0711af;}

/*sec16 挫折させません
-------------------------------------*/
#sec16 .wrapper p{
    margin: 0.5rem;
}
#sec16 .sec16-img{
    margin: 1rem auto 0;
    text-align: center;
    width: 100%;

}

#sec16 .sec16-cont{
    background-color: #77b6f1;
background-image:repeating-linear-gradient(-45deg,#5fa9ee, #5fa9ee 5px,transparent 0, transparent 10px);
padding: 1rem 0;
overflow: hidden;
}
#sec16 .sec16-cont h2{
    font-size: 2rem;
    text-align: center;
    color: #fff;
    line-height: 2.5rem;
    margin-bottom: 1.5rem;
}

#sec16 .sec16-cont-in{
    background-color: #fff;
    margin: 0rem 0.5rem 0;
    padding: 0.5rem;
    border-radius: 5px 5px 0 0;
}

#sec16 .sec16-cont-in2{
          /* 方眼紙模様 */      
  background-image: linear-gradient(0deg, transparent calc(100% - 1px), #dce9f5 calc(100% - 1px)),
                    linear-gradient(90deg, transparent calc(100% - 1px), #dce9f5 calc(100% - 1px));
  background-size: 16px 16px;
  background-repeat: repeat;
  background-position: center center;
  background-color: #e5f2ff; 
    margin: 0rem 0.5rem 0;
  padding: 0.5rem;
  color: #00529f;

}
#sec16 .sec16-cont-in3{
    background-color: #fff;
    margin: 0rem 0.5rem 0;
    padding: 0.5rem;
    border-radius: 0 0 5px 5px ;
}

#sec16 ul.ls4{
    margin: 2rem 0 2rem;
}

#sec16 ul.ls4 li{
    color: #00529f;
    font-weight: bold;
    list-style-type: none; /*点を非表示*/
    position: relative; /*基準位置*/
    padding-left: 1.6em;
}

#sec16 ul.ls4 li::before{
    border-radius: 50%; /*丸くする*/
    width: 12px; /*点の幅*/
    height: 12px; /*点の高さ*/
    display: block;
    position: absolute; /*絶対配置*/
    left: 0; /*点の位置*/
    top: 0.5rem; /*点の位置*/
    content: "";
    background: #00529f; /*点の色*/
}

/*sec17 3か月で日常英会話が・・・
-------------------------------------*/
#sec17 .wrapper{
   padding-top: 1rem;
}
#sec17 .dekiru1{
    border: 2px solid #009f99;
    border-radius: 5px;
      margin: 2rem 1rem;
}

#sec17 h2.pa .m1s{font-weight: bold;font-size: 1.0rem;}
#sec17 h2.pa .m2e{font-weight: bold;color: #fffd5c; font-size: 1.0rem;}
#sec17 h2.pa .m3n{font-weight: bold;color: #fffd5c; font-size: 1.4rem;}


#sec17 .dekiru1 h3{
    background-color: #009f99;
    border-radius: 50px;
    color: #fff;
    padding: 0.3rem;
    margin: -1.2rem 3rem 0;
    text-align: center;
}

#sec17 .dekiru2{
    border: 2px solid #00709f;
    border-radius: 5px;
      margin: 2rem 1rem;
}
#sec17 .dekiru2 h3{
    background-color: #00709f;
    border-radius: 50px;
    color: #fff;
    padding: 0.3rem;
    margin: -1.2rem 3rem 0;
    text-align: center;
}




#sec17 .dekiru3{
    border: 2px solid #00529f;
    border-radius: 5px;
      margin: 2rem 1rem;
}
#sec17 .dekiru3 h3{
    background-color: #00529f;
    border-radius: 50px;
    color: #fff;
    padding: 0.3rem;
    margin: -1.2rem 3rem 0;
    text-align: center;
}

/*番号付きリストスタイル*/

ol.ls5{
  counter-reset:number; /*数字をリセット*/
  list-style-type: none!important; /*数字を一旦消す*/
  padding: 0.3em 0.8em;
  margin: 0 0.2em 1em!important;
}
ol.ls5 li{
  position: relative;
  padding: 0.5em 0.5em 0.5em 40px;
  line-height: 1.2em;
}
ol.ls5 li:before{
  /* 以下数字をつける */
  position: absolute;
  counter-increment: number;
  content: counter(number);
  /*数字のデザイン変える*/
  display:inline-block;
  color: white;
  font-size: 13px;
  border-radius: 50%;
  left: 0;
  width: 22px;
  height: 22px;
  line-height: 22px;
  text-align:center;
  /*以下 上下中央寄せのため*/

}

ol.ls5.td1 li{
 border-bottom: 1px dashed #009f99;
}

ol.ls5.td1 li:before{
      background: #009f99;
}
ol.ls5.td2 li{
 border-bottom: 1px dashed #00709f;
}

ol.ls5.td2 li:before{
      background: #00709f;
}
ol.ls5.td3 li{
 border-bottom: 1px dashed #00529f;
}

ol.ls5.td3 li:before{
      background: #00529f;
}

ol.ls5.td1 li:last-child,
ol.ls5.td2 li:last-child,
ol.ls5.td3 li:last-child{border: none;}


/*sec18 参加することで
-------------------------------------*/
#sec18 .sec18-cont{
    margin: 0.8rem;
    border-bottom: 1px dashed #000;
}
#sec18 .sec18-cont:last-child{
border-bottom: none;
}


#sec18 h2{
    color: #ff7602;
    text-align: center;
    font-size: 1.4rem;
    margin: -0.7rem 0 1rem 0;
}
#sec18 h2 span{
    display: block;
}
#sec18 h2 span.icon2{
    font-size: 2.0rem;
   margin-top: -3rem;
}
#sec18 h2 span.icon2::before{
  content: '';/*何も入れない*/
display: inline-block;
  width: 35px;/*画像の幅*/
  height: 53.46px;/*画像の高さ*/
  background: url(../img/icon/icon_2l.png) no-repeat;
  background-size: contain;
  vertical-align: bottom;
 margin-right: 1.3rem;
}
#sec18 h2 span.icon2::after{
  content: '';/*何も入れない*/
display: inline-block;
  width: 35px;/*画像の幅*/
  height:53.46px;/*画像の高さ*/
  background: url(../img/icon/icon_2r.png) no-repeat;
  background-size: contain;
    vertical-align: bottom;
     margin-left: 1.3rem;
}


/*sec19 1回目価格
-------------------------------------*/
#sec19 .wrapper{
    background: #00529f url(../img/sec19-bg.png) no-repeat 0 0;
    background-size: 100%;
    position: relative;
    height: 2210px;
}
#sec19 .wrapper-in{
    position: absolute;
    margin: 0.5rem;
    background: #fff;
    top: 220px;
    border-radius: 5px;
    padding: 0.7rem;
}
#sec19 .sec19-balloon{
    position: relative;
  display: inline-block;
  margin: 1rem auto 1rem!important;
  padding: 10px 5px;
  width: 90%;
  color: #fff;
  font-size: 1.2rem;
  font-weight: bold;
  background: #ff7602;
  border: solid 2px #ff7602;
  border-radius: 50px;
  box-sizing: border-box;
 display: flex;
  justify-content: center;
  text-align: center;
}

#sec19 .sec19-balloon::before{
  content: "";
  position: absolute;
  bottom: -27px;
  left: 50%;
  margin-left: -15px;
  border: 12px solid transparent;
  border-top: 22px solid #ff7602;
  z-index: 2;
}
#sec19 .sec19-balloon::after{
      content: "";
  position: absolute;
  bottom: -30px;
  left: 50%;
  margin-left: -16px;
  border: 13px solid transparent;
  border-top: 23px solid #ff7602;
  z-index: 1;
}

#sec19 .price1{
    background-color: #e5f2ff;
    padding-top: 1rem;
}

#sec19 .price1 p{
    text-align: center;
    margin-bottom: 0.3rem;
    line-height: 1.2rem;
}

#sec19 .price1 p.kigen{
    letter-spacing: 2px;
}

#sec19 .sec19-img{
    margin: 0 auto 1rem;
    text-align: center;
}

/*sec20
-------------------------------------*/

#sec20 .wrapper{
    background: url(../img/sec20-bg.png) 115% 2% no-repeat;
    background-size: 40%;
    padding: 1.2rem 0.8rem 0.8rem;
}
#sec20 .wrapper p.zasetsu{
    margin: 1.5rem 0 2rem;
    letter-spacing: 2px;
    font-size: 1.8rem;
    line-height: 2.5rem;
    color: #ff7602;
    font-weight: bold;
}

#sec20 .wrapper p.zasetsu .za1{
 font-size: 2.2rem;
}
#sec20 .sec20-img{
    margin: 0 auto;
    text-align: center;
}

/*sec21 2回目価格
-------------------------------------*/

#sec21 .wrapper{
    padding-bottom: 1rem;
}


#sec21 .price21{
    background-color: #e5f2ff;
    border: 2px solid #00529f;
    border-radius: 5px;
    position: relative;
    margin: 2rem 0.8rem 0!important;
}

#sec21 .sec21-title{
    background-color: #00529f;
    color: #fffd5c;
    padding: 0.3rem;
    margin: -1rem 1rem 0.6rem;
    text-align: center;
    font-size: 1.2rem;
    font-weight: 600;
    border-radius: 50px;
}

#sec21 .sec21-img1{
    margin: 0 auto;
    width: 93%;
    text-align: center;
}
#sec21 .sec21-img2{
    margin: 0 auto;
    width: 90%;
    text-align: center;
}



#sec21 .sec21-text1{
    position: absolute;
    top: 75px;
    right: 6px;
    font-size: 0.9rem;
}

#sec21 .sec21-text2{
    color:#00529f;
    text-align: center;
    font-weight: 600;
}
#sec21 .sec21-text3{
    color:#00529f;
    text-align: center;
        font-weight: 600;
        margin-top: -0.2rem;
}
#sec21 .price21 a.cv-button1{
    width: 90%;
  display: block;
    margin: 0.5rem auto 0;

}
#sec21 .price21 a.cv-button2{
        width: 90%;
          display: block;
    margin: 0.3rem auto 0;
}
#sec21 .sec21-text4{
    text-align: center;
        font-weight: 600;
}

/*
#sec21 .price2{
    background: url(../img/sec21-bg1.png) no-repeat center 10px;
    background-size: 96%;
    height:670px;
    position: relative;
}
#sec21 .price2-button{
    position: absolute;
    top: 59vh;
    text-align: center;
}


#sec21 p.sec21-text{
    position: absolute;
    top: 113px;
    right: 13px;
    font-size: 0.9rem;
}


#sec21 p.sec21-text2{
    text-align: center;
    font-size: 0.9rem;
    font-weight: bold;
}

#sec21 .price2 a.cv-button1{
    width: 80%;
  display: block;
    margin: 0 auto;

}
#sec21 .price2 a.cv-button2{
        width: 80%;
          display: block;
    margin: 0 auto;
}
*/


#sec21 .sec21-cont{
    margin: 1rem 0.7rem 0.7rem;
}



#sec21 .kaishi{
    background: linear-gradient(180deg, #fff 0%, #fff 20%, #e5f2ff 20%, #e5f2ff 100%); 
    position: relative;
    padding-bottom: 2rem;
    height: 150px;
}
#sec21 .kaishi::after{
    position: absolute;
    content: '';
    display: inline-block;
    background: url(../img/sec21-bg.png) no-repeat 0% 100%;
    background-size: 50%;
    left: 0;
    right: 0;
    top: 0;
    bottom: 0;

}

#sec21 .kaishi .title{
    display: inline-block;
    background-color: #00529f;
    padding: 0.3rem 4rem;
    font-size: 1.2rem;
    font-weight: bold;
    color: #fff;
    text-align: center;
    border-radius: 50px;
    position: absolute;
    top: 45px;
    right: 20px;
}


#sec21 .kaishi .k2022{
    font-size: 1.1rem;
font-weight: bold;
color: #333333;
margin-top: -0.7rem;
}
#sec21 .kaishi .nichizi{
padding: 0!important;
}

#sec21 .jugyo{
font-family: 'Barlow', sans-serif;
    position: absolute;
    bottom:33px;
    right: 25px;
    display: flex;
    justify-content: center;
}

#sec21 .kaishi .k10{
    font-size: 4.5rem;
    font-weight: bold;
    color: #00529f;
}
#sec21 .kaishi .kmon{
font-weight: bold;
font-size: 1.8rem;
margin-left: -0.2rem;
color: #333333;
}
#sec21 .kaishi .k3{
    font-size: 4.5rem;
    font-weight: bold;
    color: #00529f;
    margin-left: -0.2rem;
}
#sec21 .kaishi .kday{
font-weight: bold;
font-size: 1.8rem;
color: #333333;
margin-left: -0.2rem;
}
#sec21 .kaishi .kweek{
  background: #00529f;
  border-radius: 50%;
  width: 30px;
  height: 30px;
  color: #fff;
  font-size: 1.4rem;
  text-align: center;
  line-height: 30px;
  padding: 0.1rem;
  margin: 0.5rem 0 0 0.5rem;
}

#sec21 .kara{
    position: absolute;
 font-weight: bold;
 text-align: right;
 font-size: 1.2rem;
 color: #333333;
 bottom: 5px;
 right: 3px;
}


/*sec22 特典
-------------------------------------*/


#sec22 .wrapper{
background-color: #ffffea;
background-image:repeating-linear-gradient(-45deg,#fffeaa, #fffeaa 5px,transparent 0, transparent 10px);
padding: 1rem 0;
overflow: hidden;
}

#sec22 h2.pa{
    font-size: 1.6rem;
}

#sec22 .sec22-read{
    font-family: 'Barlow', sans-serif;
    text-align: center;
    font-size: 1.6rem;
    font-weight: bold;
    margin: 1rem 0 1rem;
    line-height: 2rem;
}


#sec22 .sec22-cont{
    background: url(../img/sec22-bg1.png),url(../img/sec22-bg3.png);
    background-position: center top,center bottom, center center;
    background-repeat: no-repeat, no-repeat;
    background-size: 100% auto,100% auto;
      -webkit-box-sizing : border-box;
  -moz-box-sizing : border-box;
  box-sizing : border-box;
  margin: 0 auto;
    margin: 0.7rem;
    padding: 32px 0 17px;
}

#sec22 .sec22-cont-in{
    background: url(../img/sec22-bg2.png);
    background-position: center center;
    background-repeat: repeat-y;
    background-size: 100% auto;
    padding: 0 0.9rem;
}

#sec22 .sec22-img{
    width: 50%;
    margin: 0 auto;
    text-align: center;
}
#sec22 .sec22-img3{
    width: 100%;
    margin: 0 auto;
    text-align: center;
}
#sec22 h4{
    color: #00529f;
    margin-bottom: 1rem;
}


#sec22 h3.ribbon1 {

  position: relative;
  height: 40px;/*リボンの高さ*/
  line-height: 40px;/*リボンの高さ*/
  text-align: center;
  padding: 0 100px;/*横の大きさ*/
  font-size: 1.4rem;/*文字の大きさ*/
  background: #00529f;/*塗りつぶし色*/
  color: #fffd5c;/*文字色*/
  box-sizing: border-box;
  margin: 0 auto 0.5rem;
  letter-spacing: 0.3rem;
  text-align: center;
}

#sec22 h3.ribbon1:before, .ribbon1:after {
  position: absolute;
  content: '';
  width: 0px;
  height: 0px;
  z-index: 1;
}

#sec22 h3.ribbon1:before {
  top: 0;
  left: 0;
  border-width: 20px 0px 20px 12.5px;
  border-color: transparent transparent transparent #fff;
  border-style: solid;
}

#sec22 h3.ribbon1:after {
  top: 0;
  right: 0;
  border-width: 20px 12.5px 20px 0px;
  border-color: transparent #fff transparent transparent;
  border-style: solid;
}



/*sec23 口コミ
-------------------------------------*/

#sec23 .wrapper{
      /* 方眼紙模様 */
  background-image: linear-gradient(0deg, transparent calc(100% - 1px), #f0f0f0 calc(100% - 1px)),
                    linear-gradient(90deg, transparent calc(100% - 1px), #f0f0f0 calc(100% - 1px));
  background-size: 16px 16px;
  background-repeat: repeat;
  background-position: center center;
  padding:2rem 0;
}

#sec23 h2{
    color: #ff7602;
    text-align: center;
    font-size: 1.4rem;
    font-weight: 900;
    margin: -0.7rem 0 1rem 0;
}
#sec23 h2 span{
    display: block;
}
#sec23 h2 span.icon2{
   margin-top: -3rem;
}
#sec23 h2 span.icon2::before{
  content: '';/*何も入れない*/
display: inline-block;
  width: 35px;/*画像の幅*/
  height: 53.46px;/*画像の高さ*/
  background: url(../img/icon/icon_2l.png) no-repeat;
  background-size: contain;
  vertical-align: bottom;
  margin-right: 1.2rem;
}
#sec23 h2 span.icon2::after{
  content: '';/*何も入れない*/
display: inline-block;
  width: 35px;/*画像の幅*/
  height:53.46px;/*画像の高さ*/
  background: url(../img/icon/icon_2r.png) no-repeat;
  background-size: contain;
    vertical-align: bottom;
 margin-left: 1.2rem;
}

#sec23 .sec23-cont{
    background-color: #fff;
    border: 1px solid #00529f;
    border-radius: 5px;
    margin: 0.5rem 0.5rem 1rem;
}
#sec23 .sec23-cont p{
    margin: 0.5rem 0.5rem 1rem 0.5rem;
}


#sec23 h3{
    background-color: #00529f;
    color: #fff;
    font-size: 1.2rem;
    font-weight: normal;
    letter-spacing: 1px;
    padding: 0.7rem;
    text-align: center;
}


#sec23 .sec23-img{
    width: 35%;
    float: right;
    margin-top: 1rem;
    margin-right: 0.5rem;
}


/*sec24 決め手
-------------------------------------*/
#sec24 .wrapper{
    background-color: #77b6f1;
background-image:repeating-linear-gradient(-45deg,#5fa9ee, #5fa9ee 5px,transparent 0, transparent 10px);
padding: 2rem 0 1rem;
overflow: hidden;
}
#sec24 .sec24-cont{
    background-color: #fff;
    margin: 0.3rem 0.8rem;
    padding: 0.5rem 0.5rem 0.1rem;
    border-radius: 5px;
}



#sec24 h2{
    background-color: #00529f;
    color: #fff;
    padding: 1rem;
    font-size: 1.5rem;
    text-align: center;
    line-height: 2.5rem;
}

#sec24 h3{
  position: relative;
  margin: 0.3rem auto 0!important;
  padding: 10px 5px;
  width: 100%;
  color: #00529f;
  font-weight: bold;
  line-height: 2rem;
  background-color: #e5f2ff;
  border: solid 3px #e5f2ff;
  box-sizing: border-box;
}

#sec24 h3::before{
  content: "";
  position: absolute;
  bottom: -32px;
  left: 50%;
  margin-left: -15px;
  border: 12px solid transparent;
  border-top: 22px solid #e5f2ff;
  z-index: 2;
}
#sec24 h3::after{
      content: "";
  position: absolute;
  bottom: -39px;
  left: 50%;
  margin-left: -17px;
  border: 14px solid transparent;
  border-top: 24px solid #e5f2ff;
  z-index: 1;
}


/*sec25 QA
-------------------------------------*/
#sec25 h2.ka {
    font-family: futura-pt, sans-serif;
    font-style: normal;
    font-weight: 500;
    padding: 0.3rem 0 0;
    position: relative;
    text-align:center;
    color: #00529f;
    margin: 1.5rem 1rem;
    font-size: 1.5rem;
    line-height: 2.5rem;
}

#sec25 h2.ka .qat{
    font-family: futura-pt, sans-serif;
}

#sec25 h2.ka::before, #sec25 h2.ka::after {
    content: '';
    width: 20px;
    height: 100%;
    position: absolute;
}
#sec25 h2.ka::before {
    border-left: solid 2px #00529f;
    border-top: solid 2px #00529f;
    border-bottom: solid 2px #00529f;
    top: 0;
    left: 0;
}
#sec25 h2.ka::after {
    border-right: solid 2px #00529f;
    border-top: solid 2px #00529f;
    border-bottom: solid 2px #00529f;
    top: 0;
    right: 0;
}

.faq {
  margin: 0.8rem; 
}

.faq_dt, .faq_dd {
  position: relative;
  padding: 0.5rem 0.5rem 0.5rem 2rem;
}

.faq_dt::before, .faq_dd::before {
  font-weight: bold;
  position: absolute;
  left: 0;
  top: 0;
}

.faq_dt {
   background-color: #e5f2ff;
   color: #00529f; 
  font-weight: bold; /* 質問文は太字にしてみました */

}

.faq_dt::before {
  content: 'Q.';
  color: #00529f; /* 「Q」の文字色 */
  font-family: futura-pt, sans-serif;
  font-size: 1.2rem;
    padding: 0.5rem;
}

.faq_dd::before {
  content: 'A.';
  color: #000; /* 「A」の文字色 */
 font-family: futura-pt, sans-serif;
   font-size: 1.2rem;
     padding: 0.5rem;
}


/*sec26 この塾にかける想い
-------------------------------------*/

#sec26 .wrapper{
    background: url(../img/sec26-bg.png) no-repeat;
    background-position: 0 0;
    background-size: 100% auto;
    position: relative;
height: 1480px;
}

#sec26 h2{
    position: absolute;
    color: #fff;
    font-size: 1.9rem;
    top: 80px;
    left: 30px;
    line-height: 2.7rem;
}

#sec26 h2 .io{
    font-size: 2.6rem;
}

#sec26 .wrapper-in{
    background-color: #fff;
    margin: 0.7rem;
    padding: 0.5rem;
    border-radius: 5px;
    position: absolute;
    top: 250px;
} 

#sec26 .sign{
    text-align: right;
        margin-top: 2rem;
}
#sec26 #sign-img{
    text-align: right;
    margin-top: 1rem;
}

#sec26 #sign-img img{
    width: 60%;
}

/*sec27 価格
-------------------------------------*/


#sec27 .wrapper{
    padding-bottom: 1rem;
}



#sec27 .price27{
    background-color: #e5f2ff;
    border: 2px solid #00529f;
    border-radius: 5px;
    position: relative;
    margin: 2rem 0.8rem 0!important;
}

#sec27 .sec27-title{
    background-color: #00529f;
    color: #fffd5c;
    padding: 0.3rem;
    margin: -1rem 1rem 0.6rem;
    text-align: center;
    font-size: 1.2rem;
    font-weight: 600;
    border-radius: 50px;
}

#sec27 .sec27-img1{
    margin: 0 auto;
    width: 93%;
    text-align: center;
}
#sec27 .sec27-img2{
    margin: 0.5rem auto 0;
    width: 90%;
    text-align: center;
}

#sec27 .sec27-text1{
    position: absolute;
    top: 75px;
    left: 28%;
    font-size: 1.1rem;
    font-weight: 600;
    color: #00529f;

}

#sec27 .sec27-text2{
    text-align: center;
    font-weight: 600;
}

#sec27 .sec27-text3{
    color:#00529f;
    text-align: center;
        font-weight: 600;
        margin-top: -0.2rem;
}
#sec27 .price27 a.cv-button1{
    width: 90%;
  display: block;
    margin: 0.5rem auto 0;

}
#sec27 .price27 a.cv-button2{
        width: 90%;
          display: block;
    margin: 0.3rem auto 0;
}
#sec27 .sec27-text4{
    text-align: center;
        font-weight: 600;
}



/*
#sec27 .price2{
    background: url(../img/sec27-bg.png) no-repeat center 10px;
    background-size: 96%;
    height:670px;
    position: relative;
}

#sec27 .price2-button{
    position: absolute;
    top: 61vh;
    text-align: center;
}


#sec27 p.sec27-text{
    font-weight: bold;
    color: #00529f;
    position: absolute;
    top: 115px;
    left:110px;
    font-size: 0.9rem;
    line-height: 1.3rem;
}
#sec27 p.sec27-text2{
    text-align: center;
    font-size: 0.9rem;
    font-weight: bold;

}
#sec27 .price2 a.cv-button1{
    width: 80%;
  display: block;
    margin: 0 auto;
}
#sec27 .price2 a.cv-button2{
    width: 80%;
    display: block;
       margin: 0 auto;
}
*/



#sec27 .sec27-cont{
    margin: 1rem 0.7rem 0.7rem;
}



#sec27 .kaishi{
    background: linear-gradient(180deg, #fff 0%, #fff 20%, #e5f2ff 20%, #e5f2ff 100%); 
    position: relative;
    padding-bottom: 2rem;
    height: 150px;
}
#sec27 .kaishi::after{
    position: absolute;
    content: '';
    display: inline-block;
    background: url(../img/sec21-bg.png) no-repeat 0% 100%;
    background-size: 50%;
    left: 0;
    right: 0;
    top: 0;
    bottom: 0;

}

#sec27 .kaishi .title{
    display: inline-block;
    background-color: #00529f;
    padding: 0.3rem 4rem;
    font-size: 1.2rem;
    font-weight: bold;
    color: #fff;
    text-align: center;
    border-radius: 50px;
    position: absolute;
    top: 45px;
    right: 20px;
}


#sec27 .kaishi .k2022{
    font-size: 1.1rem;
font-weight: bold;
color: #333333;
margin-top: -0.7rem;
}
#sec27 .kaishi .nichizi{
padding: 0!important;
}

#sec27 .jugyo{
font-family: 'Barlow', sans-serif;
    position: absolute;
    bottom:33px;
    right: 25px;
    display: flex;
    justify-content: center;
}

#sec27 .kaishi .k10{
    font-size: 4.5rem;
    font-weight: bold;
    color: #00529f;
}
#sec27 .kaishi .kmon{
font-weight: bold;
font-size: 1.8rem;
margin-left: -0.2rem;
color: #333333;
}
#sec27 .kaishi .k3{
    font-size: 4.5rem;
    font-weight: bold;
    color: #00529f;
    margin-left: -0.2rem;
}
#sec27 .kaishi .kday{
font-weight: bold;
font-size: 1.8rem;
color: #333333;
margin-left: -0.2rem;
}
#sec27 .kaishi .kweek{
  background: #00529f;
  border-radius: 50%;
  width: 30px;
  height: 30px;
  color: #fff;
  font-size: 1.4rem;
  text-align: center;
  line-height: 30px;
  padding: 0.1rem;
  margin: 0.5rem 0 0 0.5rem;
}

#sec27 .kara{
    position: absolute;
 font-weight: bold;
 text-align: right;
 font-size: 1.2rem;
 color: #333333;
 bottom: 5px;
 right: 3px;
}

#sec27 h2.p3{
    color: #00529f;
    text-align: center;
    font-size: 1.5rem;
    font-weight: 700;
    margin-top: 1rem;
}
#sec27 h2.p3 span{
    display: block;
}

#sec27 h2.p3 span.icon1{
   margin-top: -1.2rem;
}
#sec27 h2.p3 span.icon1::before{
  content: '';/*何も入れない*/
display: inline-block;
  width: 35px;/*画像の幅*/
  height: 53.46px;/*画像の高さ*/
  background: url(../img/icon/icon_1l.png) no-repeat;
  background-size: contain;
  vertical-align: bottom;
  margin-right: 0.5rem;
}
#sec27 h2.p3 span.icon1::after{
  content: '';/*何も入れない*/
display: inline-block;
  width: 35px;/*画像の幅*/
  height:53.46px;/*画像の高さ*/
  background: url(../img/icon/icon_1r.png) no-repeat;
  background-size: contain;
    vertical-align: bottom;
      margin-left: 0.5rem;
}








/*フッター
-------------------------------------*/
footer {
    padding: 1rem 0;
}
footer ul{
    text-align: center;
}
footer ul li{
    display: inline-block;
}
footer ul li:nth-child(even){
    margin-left: 0.2rem;
}
footer ul li:nth-child(odd){
    border-right: 1px solid #000;
    padding: 0 0.5rem 0 0;
}



#sec15 .wrapper{
    margin-top: 0.5rem;
    padding: 1rem;
}

/*コピーライト
-------------------------------------*/
.copyright {
    text-align: center;
    padding: 0.5rem 0;
    background-color:#00529f;
        color: #fff;
}
.copyright a {
    color: #fff;
    text-decoration: none;
	display: inline;
}

/*ページトップへ戻るボタン
-------------------------------------*/
#pagetop {
    position: fixed;
    bottom: 15px;
    right: 15px;
}
#pagetop a {
    display: block;
    background-color: var(--base-color);
    color: var(--white-color);
    width: 50px;
    padding: 10px 5px;
    text-align: center;
}
#pagetop a:hover {
    background-color: var(--link-color);
}


/*Youtube*/

.youtube {
    position: relative;
    padding-bottom: 56.25%;
    height: 0;
    overflow: hidden;
    margin: 0.5rem 0 1rem;
}
.youtube iframe {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
}

/*Youtube2*/

.youtube2 {
    position: relative;
    padding-bottom: 56.25%;
    height: 0;
    overflow: hidden;
    margin: 0.5rem 0.5rem 1rem;
}
.youtube2 iframe {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
}








/*拡張*/

/*H2 パターンA*/

h2.pa{
  position: relative;
  margin: 0.3rem auto 0!important;
  padding: 1rem 0.5rem;
  width: 100%;
  color: #fff;
  font-size: 1.4rem;
  font-weight: bold;
  line-height: 2rem;
  background-color: #00529f;
  border: solid 3px #00529f;
  box-sizing: border-box;
  text-align: center;
}

h2.pa::before{
  content: "";
  position: absolute;
  bottom: -32px;
  left: 50%;
  margin-left: -15px;
  border: 12px solid transparent;
  border-top: 22px solid #00529f;
  z-index: 2;
}
h2.pa::after{
      content: "";
  position: absolute;
  bottom: -39px;
  left: 50%;
  margin-left: -17px;
  border: 14px solid transparent;
  border-top: 24px solid #00529f;
  z-index: 1;
}






.b{font-weight: bold;}
.del{ text-decoration: line-through;}
.red{color: #ff0000;}
.orange{color: #ff7602;}
.blue{color: #00529f;}
.yellow{color: #fffd5c;}


.yellow-na{display: inline;background: linear-gradient(transparent 60%, #ffff66 60%);}


.f08rem{font-size: 0.8rem;}
.f09rem{font-size: 0.9rem;}
.f10rem{font-size: 1.0rem;}
.f11rem{font-size: 1.1rem;}
.f12rem{font-size: 1.2rem;}
.f13rem{font-size: 1.3rem;}
.f14rem{font-size: 1.4rem;}
.f15rem{font-size: 1.5rem;}
.f16rem{font-size: 1.6rem;}
.f17rem{font-size: 1.7rem;}
.f18rem{font-size: 1.8rem;}
.f19rem{font-size: 1.9rem;}
.f20rem{font-size: 2.0rem;}
.f22rem{font-size: 2.2rem;}
.f26rem{font-size: 2.6rem;}
.f30rem{font-size: 3.0rem;}
.f33rem{font-size: 3.3rem;}
.f36rem{font-size: 3.6rem;}

.center{text-align: center;}

.p05{padding: 0.5rem;}


.mt-04{margin-top: -0.4rem;}
.mt2{margin-top: 2rem;}

.mb05{margin-bottom: 0.5rem;}
.mb10{margin-bottom: 1.0rem;}

.lh5{line-height: 5rem;}

.ls10{letter-spacing: 1rem;}
.ls15{letter-spacing: 1.5rem;}


.clearfix:after {
  content: "";
  display: block;
  clear: both;
} 
.clearfix:before {
  content: "";
  display: block;
  clear: both;
} 
.clearfix {
  display: block;
}

