@charset "UTF-8";
/*---------------------------------------------------------
下層ページ用CSS
---------------------------------------------------------*/
html {
  font-size: 62.5%;
}
body {
  font-size: 1rem;
}

p,li,dt, dd{font-size: clamp(1.4rem, 4vw, 1.8rem);
}
p,li,dt, dd,h1,h2,h3,h4{
    line-height: 1.5;
}
.f-box{
display: flex;
}
.f-box li {
    padding: 2%;
}
.text50 {
    width: 50%;
}

.top-ttl {font-size: clamp(2.2rem, 4vw, 5rem) !important;}
.top-ttl02 {font-size: clamp(2rem, 4vw, 4rem) !important;}
.top-ttl03 {font-size: clamp(2rem, 3vw, 3.25rem) !important;}
.semi-ttl ,.title-main{
font-size: clamp(1.8rem, 4vw, 3rem) !important;}
.semi-ttl02 {font-size: clamp(2rem, 3vw, 2.25rem) !important;}
.third-ttl {font-size: clamp(1.6rem, 4vw, 2rem) !important;}
.fs-small {font-size: clamp(1.2rem, 3vw, 1.5rem) !important;}
.fw{font-weight:700;}
.naname {
    font-style: oblique 90deg;
}

/*---------------------------------------------------------
余白
---------------------------------------------------------*/
.m-1{margin:1vh 1vw;} .m-2{margin:2vh 2vw;} .m-3{margin:3vh 3vw;} .m-4{margin:4vh 4vw;} .m-5{margin:5vh 5vw;} 
.mt-1{margin-top:1vh;} .mt-2{margin-top:2vh;} .mt-3{margin-top:3vh;} .mt-4{margin-top:4vh;} .mt-5{margin-top:5vh;}
.mb-1{margin-bottom:1vh;} .mb-2{margin-bottom:2vh;} .mb-3{margin-bottom:3vh;} .mb-4{margin-bottom:4vh;} .mb-5{margin-bottom:5vh;} 
.ml-1{margin-left:1vw;} .ml-2{margin-left:2vw;}.ml-3{margin-left:3vw;}.ml-4{margin-left:4vw;}.ml-5{margin-left:5vw;}
.mr-1{margin-right:1vw;} .mr-2{margin-right:2vw;} .mr-3{margin-right:3vw;}.mr-4{margin-right:4vw;}.mr-5{margin-right:5vw;}

.p-1{padding:1vh 1vw;} .p-2{padding:2vh 2vw;} .p-3{padding:3vh 3vw;} .p-4{padding:4vh 4vw;} .p-5{padding:5vh 5vw;}
.pt-1{padding-top:1vh} .pt-2{padding-top:2vh;} .pt-3{padding-top:3vh;} .pt-4{padding-top:4vh;} .pt-5{padding-top:5vh;} 
.pb-1{padding-bottom:1vh;} .pb-2{padding-bottom:2vh;} .pb-3{padding-bottom:3vh;} .pb-4{padding-bottom:4vh;} .pb-5{padding-bottom:5vh;} 
.pl-1{padding-left:1vw;} .pl-2{padding-left:2vw;} .pl-3{padding-left:3vw;} .pl-4{padding-left:4vw;} .pl-5{padding-left:5vw;} 
.pr-1{padding-right:1vw;} .pr-2{padding-right:2vw;}  .pr-3{padding-right:3vw;}  .pr-4{padding-right:4vw;}  .pr-5{padding-right:5vw;} 

.w-1000,.w-1200.w-800,.w-600{margin: 0 auto;width: 90%;}
.w-1000{max-width: 1000px;}
.w-1200{max-width: 1200px;}
.w-800{max-width: 800px;}
.w-600{max-width: 600px;}
.w90{width: 90% !important;}
.w80{width: 80% !important;}
.w70{width: 70% !important;}
.w60{width: 60% !important;}
.w50{width: 50% !important;}
.w40{width: 40% !important;}
.w30{width: 30% !important;}
.w20{width: 20% !important;}
.w10{width: 10% !important;}
.w30-none{width: 30% !important;}
.pt-section{
    padding-top:5vh;
}
.pb-section{
    padding-bottom:5vh;
}

/*---------------------------------------------------------
画像サイズ
---------------------------------------------------------*/
.img-w80,.img-w60,.img-w50,.img-w30{
display: block !important;margin-left: auto;margin-right: auto;
}
.img-w80{width:80% !important;}
.img-w60{width:60% !important;}
.img-w50{width:50% !important;}
.img-w30{width:30% !important;}



@media screen and (max-width: 640px) {
/* 640pxまでの幅の場合に適応される */
.img-sp-w80,.img-sp-w60,.img-sp-w50,.img-sp-w30{
display: block !important;margin-left: auto;margin-right: auto;
}
.img-sp-w80{width:80% !important;}
.img-sp-w60{width:60% !important;}
.img-sp-w50{width:50% !important;}
.img-sp-w30{width:30% !important;}
}

/*---------------------------------------------------------
文字色
---------------------------------------------------------*/
.fc-red{color:#da1c24;}
.fc-green{color:#006f4f;}
.fc-l-yellow{color:#ffff00;}
.fc-wam-green{color:#007440;}
.fc-black{color:#000 !important;}
.fc-blue{color:#0265ad;}
.fc-white{color:#fff;}
.fc-l-red{color:#E65947;}
.fc-elementary{color:#fb5c65;}
.fc-junior-high{color:#3498da;}
.fc-high{color:#01A56F;}
.fc-l-green{color:#2b9b0f;}
.fc-l-blue{color:#0071AF;}

/*---------------------------------------------------------
背景
---------------------------------------------------------*/
.bg-elementary{background:#fb5c65;}
.bg-junior-high{background:#3498da;}
.bg-high{background:#01A56F;}
.bg-white{background:#fff;}
.bg-l-elementary{background:rgba(251,92,101,0.1);}
.bg-l-yellow{background:#FFFDE9;}
.bg-l-blue{background: #CCE3EF;}
.bg-l-green{background: #CCE3D9;}
.bg-l-wam-green{background: #F2FCE6;}
.bg-wam-green{background: #007440;}
.bg-red{background: #da1c24;}
.bg-l-blue02{background: rgba(45, 152, 218, 0.1);}
.bg-k-wam-l-yellow{background: #F9F9F3;}
.bg-ribbon-red{background: #c54144;}
.bg-wam-green{background: #007440;}
.bg-wam-l-green{background: #e6f6f1;}

.bg-lattice-wamgreen{
width:100%;
background-size: 16px 16px;
background-position: 50% 50%;
background-image: repeating-linear-gradient( 90deg, rgba(239,239,239,0.9) , rgba(239,239,239,0.9) 1px, transparent 1px, transparent 16px),repeating-linear-gradient( 0deg, rgba(239,239,239,0.9) , rgba(239,239,239,0.9) 1px, #fff 1px, #fff 16px);
}
.bg-lattice-gray{
width:100%;
background-size: 16px 16px;
background-position: 50% 50%;
background-image: repeating-linear-gradient( 90deg, rgba(0,0,0,0.1) , rgba(0,0,0,0.1) 1px, transparent 1px, transparent 16px),repeating-linear-gradient( 0deg, rgba(0,0,0,0.1) , rgba(0,0,0,0.1) 1px, #fff 1px, #fff 16px);
}
.bg-lattice-blue{
width:100%;
background-size: 16px 16px;
background-position: 50% 50%;
background-image: repeating-linear-gradient( 90deg, rgba(0,134,191,0.1) , rgba(0,134,191,0.1) 1px, transparent 1px, transparent 16px),repeating-linear-gradient( 0deg, rgba(0,134,191,0.1) , rgba(0,134,191,0.1) 1px, #fff 1px, #fff 16px);
}
.bg-lattice-pink{
width:100%;
background-size: 16px 16px;
background-position: 50% 50%;
background-image: repeating-linear-gradient( 90deg, rgba(251,92,101,0.1) , rgba(251,92,101,0.1) 1px, transparent 1px, transparent 16px),repeating-linear-gradient( 0deg, rgba(251,92,101,0.1) , rgba(251,92,101,0.1) 1px, #fff 1px, #fff 16px);
}


.planBox {
    box-shadow: 0 0 10px rgba(0, 0, 0, 0.4);
    background: #fff;
}
.planBoxContents {
    padding: 4vh 2vw 3vw;
}
.BoxTtl{
display: flex;
    align-items: center;
}
.BoxNumber{
    display: flex;
    flex-direction: column;
    align-content: center;
    align-items: center;
    justify-content: center;
    width: 70px;
    height: 70px;
    margin: 0 1vw 0 0;
    padding: 1%;
        font-weight: 700;
}
.BoxNumber > span{
    font-size: clamp(2rem, 5vw, 4rem);
    line-height: 1;
    font-family: "Roboto", sans-serif;
}
.border-r1{border-radius: 1vh;}
.border-r2{border-radius: 2vh;}
.mark-underline{background: linear-gradient(transparent 50%, #ffff00 50%);}

.float-r,.float-r-none{
    float: right;
    margin-left: 2vw;
    margin-bottom: 3vh;
}
.float-l,.float-l-none{
    float: left;
    margin-right: 2vw;
    margin-bottom: 3vh;
}
.cb {clear: both;}
/*grid*/
.content{
  display:grid;
  grid-template-rows: auto auto auto;
  /*grid-template-columns: 1fr 40%;*/
  grid-template-areas:
    "area1 area2"
    "area3 area2";
  grid-gap: 10px;
  .item1{
    grid-area: area1;
    height:auto;
  }
  .item2{
    grid-area: area2;
    width: auto;   
  }
  .item3{
    grid-area: area3;
    height:auto;  
  }
}
.content-grid40{
  grid-template-columns: 1fr 40%;
}
.content-grid30{
  grid-template-columns: 1fr 30%;
}
.content-grid25{
  grid-template-columns: 1fr 25%;
}

.column3{display: flex;}
.column3 > div,.column3 > ul >li{width: calc(100% / 3);}
.column2,.column2-none{display: flex;}
.column2 > div,.column2 >li,
.column2-none > div,.column2-none >li{width: calc(100% / 2);}
.a-items-center{align-items: center;}
.j-content-center{justify-content: center;}
.p-1p{padding:1%;}
.p-2p{padding:2%;}
.waku-black{border:1px solid #000;}
@media screen and (max-width: 640px) {
/* 640pxまでの幅の場合に適応される */
  .content{
    grid-template-areas:
      "area1 area1"
      "area2 area2"
      "area3 area3";
 
    .item2{
      width: 100%;
      height: auto;
    }
  }
.float-r,.float-l{
    width: 100%;
    float: unset;
    margin-left: 0;
    margin-right: 0;
}
.w90,.w80,.w70,.w60,.w50,.w40,.w30,.w20,.w10{width: 100% !important;}
.pct-h-140{
width: 100%;
    height: 140px;
    object-fit: cover;
    object-position: top;
}
.sp-culum-1{flex-direction: column;}
.column3 > div,.column3 > ul >li,
.column2 > div,.column2 > ul >li{width: calc(100% / 1);}
.order-01{order: 1;}
.order-02{order: 2;}
.order-03{order: 3;}
.sp-tac{text-align: center;}
.BoxNumber {
    width: 50px;
    height: 50px;
}
}
/*---------------------------------------------------------
list
---------------------------------------------------------*/
.list-disc {
  list-style: none;
  margin: 0;
  padding: 0;
}
.list-disc > li {
  text-indent: -.5em;
  padding-left: 1em;
}
.list-disc > li:first-child{
    padding-left: 1em;
}
.list-disc > li:before {
  content: "・"; /* 空の要素作成 */
  display: inline-block; /* インラインブロックにする */
  position: relative;
  padding-right:2px;
}
ol.list-number{
  list-style: decimal;
  margin: 0;
  padding-left: 2rem;
}

ol.list-number > li{
padding:0;
    list-style: decimal;
}
.list05 {
  list-style: none;
  margin: 0;
  padding: 0;
}
.list05 > li {
  text-indent: -.5em;
  padding-left: 1em;
}
.list05 > li:first-child{
    padding-left: 1em;
}
.list05 > li:before {
  content: "※"; /* 空の要素作成 */
  display: inline-block; /* インラインブロックにする */
  position: relative;
  padding-right:2px;
}
/*---------------------------------------------------------
map
---------------------------------------------------------*/
.map {
    position: relative;
    width: 100%;
    padding-top: 56.25%;
    /* 16:9のアスペクト比 */
    height: 0;
}

.map iframe {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
}
/*---------------------------------------------------------
youtube
---------------------------------------------------------*/
.youtube {
  width: 100%;
  aspect-ratio: 16 / 9;
    margin: 0 1% 0 0;
}
.youtube iframe {
  width: 100%;
  height: 100%;
}
/*---------------------------------------------------------
FV
---------------------------------------------------------*/
#study-camp{
    background:#1c63b8;
}
.study-camp-fvarea{
    background-image: url('../img/junior-high/study-camp/study-camp_fv_pc.webp');
    background-size: contain;
    aspect-ratio: 96 / 35; /* 16:9のアスペクト比 */
    width: 100%; /* 幅を指定します。 */
    max-width: 1400px;
    background-repeat: no-repeat;
    margin: 0 auto;
    height: 100%;
}
.no-webp .study-camp-fvarea{
     background-image: url('../img/junior-high/study-camp/study-camp_fv_pc.png');
    background-size: contain;
    aspect-ratio: 96 / 35; /* 16:9のアスペクト比 */
    width: 100%; /* 幅を指定します。 */
    max-width: 1400px;
    background-repeat: no-repeat;
    margin: 0 auto;
    height: 100%;
}
.study-camp-fvareabox{
    background-color: rgba(0,177,255,0.65);
    position: relative;
    height: 100%;
}
.study-camp-fvareacontents{
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    width: 100%;
}
.study-camp-fvareacontents > h1{
    font-size: clamp(2.2rem, 4vw, 5rem) !important;
    text-align: center;
    color: #fff;
    line-height: 1.3;
    font-weight: 700;
}
.h1-ttl,.h1-date{
    display: block;
    font-size: clamp(2.2rem, 4vw, 5rem) !important;
}
.h1-ttl{
    font-size: clamp(4rem, 7vw, 6rem) !important;
}
.h1-date{
    color: #ffff00;
    font-size: clamp(4rem, 7vw, 7rem) !important;
}
@media screen and (max-width: 640px) {
/* 640pxまでの幅の場合に適応される */
.study-camp-fvarea{
    background-image: url('../img/junior-high/study-camp/study-camp_fv_sp.webp');
    aspect-ratio: 15 / 13; /* 1アスペクト比 */
        background-size: cover;
}
.no-webp .study-camp-fvarea{
     background-image: url('../img/junior-high/study-camp/study-camp_fv_sp.png');
    aspect-ratio: 15 / 13; /* アスペクト比 */
        background-size: cover;
}
}
/*---------------------------------------------------------
SV
---------------------------------------------------------*/
.study-camp-summerSV{
background-image: linear-gradient(0deg, #6dbcff, #1c63b8);
}
.sv-cloud{
background:url(../img/junior-high/study-camp/bg-cloud01.png);
background-repeat: no-repeat;
    background-position: right 0% top 0%;
    background-size: 40% auto;
}
.study-camp-summerSV-box{
background:rgba(255,255,255,0.7);
padding:3vh 3vw;
}
@media screen and (max-width: 640px) {
/* 640pxまでの幅の場合に適応される */
.sv-cloud{
    background-position: right 0% top 15%;
    background-size: 50% auto;
}
}

/*---------------------------------------------------------
教室切り替えタブ
---------------------------------------------------------*/
.tab-area {
  display: flex;
  justify-content: space-around;
  cursor: pointer;
    .tab-wam,.tab-wam01{
        width: 50%;
        padding: 10px 0;
        border-radius: 6px 6px 0 0;
        background-color: #fff;
        color: #007440;
        border:2px solid #007440;
        cursor: pointer;
        transition: .4s ease-in-out;
        font-size: clamp(1.6rem, 4vw, 2.5rem);
        font-weight: 700;
        display: flex;
        align-items: center;
        justify-content: center;
    }
    .tab-wam.is-active,.tab-wam:hover,
    .tab-wam01.is-active,.tab-wam01:hover{
        color: #fff;
        font-size: clamp(2.25rem, 5vw, 3rem);
        background-color:#007440;
        padding: 15px 0;
    }
}
.content-area{
  padding: 3vh 2vw;
  background: #fff;
      box-shadow: 0px 4px 4px 0px rgba(0, 0, 0, 0.25);
  .content,.content01 {
    display: none;
  }
  .content.is-active,.content01.is-active {
    display: block;
  }
}

/*---------------------------------------------------------
表
---------------------------------------------------------*/
.table03 {
  border-collapse: collapse;
      width: 100%;
  }
  
.table03 tr {
  border-bottom: 1px solid #b5b1b1;
}
.table03 tr:first-child{
  border-top: 1px solid #b5b1b1;
}
.table03 th,
.table03 td {
  padding: 1vh 1vw;
  border: none;
}

.table03 th {
  width: 20%;
  font-weight: 700;
    border-left: 1px solid #b5b1b1;
    border-right: 1px solid #b5b1b1;
    background: #eee;
}
.table03 td{
    border-right: 1px solid #b5b1b1;
    background: #fff;
}

@media screen and (max-width: 640px) {
/* 640pxまでの幅の場合に適応される */
 .table03 th, .table03 td {
    display: block;
    width: 100%;
    border-bottom: none;
  }
  .table03 th{
    border-bottom: 1px solid #b5b1b1;
  }
  .table03 td{
    border-left: 1px solid #b5b1b1;
  }
}

/*---------------------------------------------------------
スケジュール
---------------------------------------------------------*/
.bg-math{background: #c8efff;}
.bg-english{background: #f0e1ff;}
.bg-science{background: #d9ffdc;}
.bg-japanese{background: #f3bbbb;}
.bg-going{background: #f9dfbb;}
.bg-free{background: #fff5a9;}
.bg-study{background: #ffcfcf;}
.bg-kiso{background: #2fcc33;}
.bg-hyojun{background: #00c3ff;}
.bg-hatten{background: #e04646;}

.schedule{
    width: 100%;
    border-collapse: collapse;
}
.schedule th,.schedule td{
padding: 1vh 1vw;
    border: none;
    border-right: 2px solid #fff;
    border-bottom: 2px solid #fff;
}
.schedule th{
    font-weight:700;
    text-align:center;
}
.schedule td{

}
.schedule td p{
font-size: clamp(1.2rem, 4vw, 1.8rem);
    text-align:center;
    color: #000;
}
.time-schedule p{
    font-size: clamp(1.2rem, 3.5vw, 1.8rem);
    text-align: right;
}
.schedule th > .time-schedule{border-bottom: 1px dotted #333;}

/*---------------------------------------------------------
参加者の声
---------------------------------------------------------*/
.voice-study-campArea{
    display: flex;
    flex-wrap: wrap;
}
.voice-study-campArea > div{
width: calc(100% / 2);
    padding: 1%;
}
.voice-study-campArea p{
    font-size: clamp(1.3rem, 3vw, 1.6rem);
}
/*---------------------------------------------------------
お申込み
---------------------------------------------------------*/
.form-btn a{
    color: #fff;
    font-weight: 700;
    display: block;
    padding: 3vh 1vw 3vh 1vw;
    border-radius: 12px;
    border: 2px solid #ff0000;
    position: relative;
    text-align: center;
    line-height: 1.1;
    box-shadow: 0px 4px 6px 0px rgba(0, 0, 0, 0.4);
      background-image: -webkit-gradient(linear, 50% 0%, 50% 100%, color-stop(0%, #ff0000), color-stop(100%, #e00303));
  background-image: -moz-linear-gradient(top, #ff0000, #e00303);
  background-image: -webkit-linear-gradient(top, #ff0000, #e00303);
  background-image: linear-gradient(to bottom, #ff0000, #e00303);
}
.form-btn > a:after{
    font-family: "FontAwesome";
    content: "\f105";
    position: absolute;
    top: 50%;
    right: 10px;
    transform: translateY(-50%);
    -webkit-transform: translateY(-50%);
    -ms-transform: translateY(-50%);
}

.form-btn a:hover{
  background:#fff;
  color:#ff0000;
}
.btn-phone-sp{
        width: 48px;
        flex-shrink: 0;
                max-width: calc(180 / 390 * 100vw);
        height: calc(45 / 390 * 100vw);
}
.btn-phone-sp a{
background: #fff;
        border: 2px solid #27ae60;
        box-shadow: 0px 2px 0px #079945;
        font-size: 30px;
        text-align: center;
        padding-left: 0;
        padding-right: 0;
        color: #000;
        width: 100%;
    height: 100%;
}
.btn-phone-sp i{
position: static;
display: inline-block;
    width: 0.8em;
    height: 0.8em;
    font-size: calc(20 / 16 * 1em);
    top: 0;
    bottom: 0;
    right: 0.2em;
    margin: auto;

}
.btn-phone-sp i::before{
line-height: 1;
    position: relative;
    top: -0.1em;
}