@charset "UTF-8";

@media screen and (max-width: 640px)
p, li, span, th, td, dd, dt, a {
    font-size: 1.4rem !important;
}


/*---------------------------------------------------------
ハンバーガーメニュー
---------------------------------------------------------*/
/*--ボタン部分の実装--*/
.menu-btn {
    position: fixed;
    top: 10px;
    right: 10px;
    display: flex;
    height: 60px;
    width: 60px;
    justify-content: center;
    align-items: center;
    z-index: 90;
    background:rgba(19,160,117,0.4);
}
.menu-btn span,
.menu-btn span:before,
.menu-btn span:after {
    content: '';
    display: block;
    height: 3px;
    width: 25px;
    border-radius: 3px;
    background-color: #ffffff;
    position: absolute;
}
.menu-btn span:before {
    bottom: 8px;
}
.menu-btn span:after {
    top: 8px;
}

/*--三本線--*/
#menu-btn-check:checked ~ .menu-btn span {
    background-color: rgba(255, 255, 255, 0);/*メニューオープン時は真ん中の線を透明にする*/
}
#menu-btn-check:checked ~ .menu-btn span::before {
    bottom: 0;
    transform: rotate(45deg);
}
#menu-btn-check:checked ~ .menu-btn span::after {
    top: 0;
    transform: rotate(-45deg);
}
#menu-btn-check {
    display: none;
}

/*--メニューの装飾--*/
.menu-content {
    width: 100%;
    height: 100%;
    position: fixed;
    top: 0;
    right: 0;
    z-index: 80;
    background-color: #3584bb;
}
.menu-content ul {
    padding: 70px 10px 0;
}
.menu-content ul li {
    /*border-bottom: solid 1px #ffffff;*/
    list-style: none;
    padding: 1.5% 0;
}
.menu-content ul li a {
    display: block;
    width: 100%;
    font-size: 15px;
    box-sizing: border-box;
    text-decoration: none;
    padding: 1.5rem 0.5rem;
    position: relative;
}
.menu-content ul li a::before {
    content: "";
    width: 7px;
    height: 7px;
    border-top: solid 2px #ddd;
    border-right: solid 2px #ddd;
    transform: rotate(45deg);
    position: absolute;
    right: 11px;
    top: 19px;
}
.menu-content {
    width: 300px;
    height: 100%;
    position: fixed;
    top: 0;
    right: 100%;/*leftの値を変更してメニューを画面外へ*/
    z-index: 80;
    background-color: rgba(255,255,255,0.9);
    transition: all 0.5s;/*アニメーション設定*/
}
#menu-btn-check:checked ~ .menu-content {
    right: 0;/*メニューを画面内へ*/
}

@media screen and (max-width: 1024px) {
/* 1024pxまでの幅の場合に適応される */
}
@media screen and (max-width: 820px) {
/* 820pxまでの幅の場合に適応される */
.menu-content {
    width: 50%;
}
}
@media screen and (min-width:641px) and ( max-width:820px) {
/*　画面サイズが768pxから820pxまではここを読み込む　*/
}
@media screen and (max-width: 640px) {
/* 640pxまでの幅の場合に適応される */
.menu-content {
    width: 100%;
}
}
@media screen and (max-width: 360px) {
/* 360pxまでの幅の場合に適応される */
}

/*---------------------------------------------------------
メインビュー
---------------------------------------------------------*/
#TopFv{
    margin:0;
    background-size: cover !important;
height: 650px;
    position: relative;
    padding: 0;
}
/*--webp対応ブラウザの場合--*/
#TopFv{ 
background: url(../img/top/ibo-2209-relp-pc-fv.webp) no-repeat center center;
 }
/*--webp非対応ブラウザの場合--*/
.no-webp #TopFv{ 
background: url(../img/top/ibo-2209-relp-pc-fv.jpg) no-repeat center center; 
}

.TopFv_body{
    position: absolute;
    top: 35%;
    left: 50%;
    transform: translateX(-50%);
    -webkit-transform: translateX(-50%);
    -ms-transform: translateX(-50%);
    width: 90%;
    margin: 0 auto;
    padding: 0;
}

#TopFv .TopFv_body h1{
    text-align: center;
    font-family: 'Noto Serif JP',serif;
}
.fv-span-main{
    background: #fff;
    padding: 0.5rem 0.5rem 0.5rem 1rem;
    color: #13A075;
    font-weight: 700;
    line-height: 2;
    letter-spacing: .5rem;
    box-shadow: 3px 5px 0px 0px rgb(19 160 117);
}
.fv-span-main, .fv-span{
    font-size: clamp(2.1rem, 5vw, 4rem);
}
 .fv-span{
    padding: 0 1rem 0 0;
}

#TopFv .TopFv_body p{
    text-align: center;
    font-weight: 700;
    color: #000;
    letter-spacing: .15rem;
    margin: 1.5rem 0 0;
    line-height: 1.6;
text-shadow: rgb(255, 255, 255) 2px 0px 0px, rgb(255, 255, 255) 1.75517px 0.958851px 0px, rgb(255, 255, 255) 1.0806px 1.68294px 0px, rgb(255, 255, 255) 0.141474px 1.99499px 0px, rgb(255, 255, 255) -0.832294px 1.81859px 0px, rgb(255, 255, 255) -1.60229px 1.19694px 0px, rgb(255, 255, 255) -1.97998px 0.28224px 0px, rgb(255, 255, 255) -1.87291px -0.701566px 0px, rgb(255, 255, 255) -1.30729px -1.5136px 0px, rgb(255, 255, 255) -0.421592px -1.95506px 0px, rgb(255, 255, 255) 0.567324px -1.91785px 0px, rgb(255, 255, 255) 1.41734px -1.41108px 0px, rgb(255, 255, 255) 1.92034px -0.558831px 0px;
}
#TopFv .TopFv_body h2{
    text-align: center;
    margin: 4rem 0;
}
#TopFv .TopFv_body h2 span{
    background: rgba(255,255,255,0.7);
    padding: 1rem;
    font-size: 1.4rem;
    font-weight: 700;
}
.Fv-menuBox{
    display: flex;
    flex-wrap: nowrap;
    justify-content: center;
    align-items: center;
    max-width: 1200px;
    margin: 0 auto;
    padding: 0 0 4vh;
}
.Fv-menuBox li{
    width: 30%;
    min-width: 200px;
    margin: 1%;
    display: block;
    background: #fff;
    border-radius: 1vh;
}
.elementary-plan a, .junior-plan a, .high-plan a{
    display: block;
    padding: 1rem 1rem;
    border-radius: 8px;
    text-align: center;
    font-weight: 700;
    line-height: 1.2;
    text-decoration: none;
font-size: clamp(1.3rem, 1.5vw, 1.5rem);
}
.elementary-plan a:hover,.junior-plan a:hover,.high-plan a:hover,.elementary-plan:hover,.junior-plan:hover,.high-plan:hover{
color: #fff;
}
.elementary-plan:hover{
    background: #F48003;
}
.elementary-plan{
    border: 1px solid #F48003;
}
.elementary-plan a,.elementary-plan{
    color: #F48003;
}
.junior-plan:hover{
    background: #D12E22;
}
.junior-plan{
    border: 1px solid #D12E22;
}
.junior-plan a,.junior-plan{
    color: #D12E22;
}
.high-plan:hover{
    background: #008FD2;
}
.high-plan{
    border: 1px solid #008FD2;
}
.high-plan a,.high-plan{
    color: #008FD2;
}
.fv-cta-btn{
    position: absolute;
    bottom: 10%;
    left: 50%;
    transform: translateX(-50%);
    -webkit-transform: translateX(-50%);
    -ms-transform: translateX(-50%);
}

.menu-ttl {
  position: relative;
  display: inline-block;
  padding: 0 55px;
      font-weight: 700;
    color: #000;
}

.menu-ttl:before, .menu-ttl:after {
    content: '';
  position: absolute;
  top: 50%;
  display: inline-block;
  width: 45px;
  height: 3px;
  background-color: #000;
}


.menu-ttl:before {
  left:0;
}
.menu-ttl:after {
  right: 0;
}
@media screen and (max-width: 1400px) {
/* 1400pxまでの幅の場合に適応される */
#TopFv{
    min-height: 600px;
}
#TopFv .TopFv_body h1 span {
    letter-spacing: .25rem;
}

#TopFv .TopFv_body p{
font-size: 1.8rem;
}
}

@media screen and (max-width: 1240px) {
/* 1240pxまでの幅の場合に適応される */
.Fv-menuBox li {
    min-width: inherit;
    margin: 1%;
}
.elementary-plan, .junior-plan, .high-plan {
    font-size: 1.7rem;
}
}
@media screen and (max-width: 1024px) {
/* 1024pxまでの幅の場合に適応される */
#TopFv{
height: 600px;
}

.elementary-plan, .junior-plan, .high-plan {
    font-size: 1.6rem;
}
}
@media screen and (min-width:821px) and ( max-width:913px) {
/*　画面サイズが821pxから913pxまではここを読み込む　*/
/*--webp対応ブラウザの場合--*/
#TopFv {
    height: 41vh;
    min-height: 400px;
}
}
@media screen and (max-width: 820px) {
/* 820pxまでの幅の場合に適応される */
#TopFv {
    height: 55vh;
    max-height: 500px;
      min-height: inherit;
}

#TopFv .TopFv_body h2 {
    text-align: center;
    margin: 2rem 0;
}
.Fv-menuBox li {
    width: inherit;
}
}
@media screen and (min-width:641px) and ( max-width:819px) {
/*　画面サイズが768pxから820pxまではここを読み込む　*/
.Fv-menuBox {
    flex-wrap: nowrap;
}
.elementary-plan, .junior-plan, .high-plan {
    font-size: 1.7rem;
}

}

@media screen and (max-width: 640px) {
#TopFv {
    height: 48vh;
    max-height: 500px;
}
}
@media screen and (max-width: 539px) {
/* 539pxまでの幅の場合に適応される */
/*--webp対応ブラウザの場合--*/
#TopFv{ 
background: url(../img/top/ibo-2209-relp-sp-fv.webp) no-repeat center center;
 }
/*--webp非対応ブラウザの場合--*/
.no-webp #TopFv{ 
background: url(../img/top/ibo-2209-relp-sp-fv.jpg) no-repeat center center; 
}
#TopFv{
    height: 45vh;
    max-height: 350px;
}
.TopFv_body{
    width: 90%;
    top: 3%;
}
#TopFv .TopFv_body h1 span,.TopFv_shido {
    line-height: 2.25;
    letter-spacing: .1rem;
}
#TopFv .TopFv_body p {
    font-size: 1.3rem !important;
    line-height: 1.5;
    margin: 0 0 1rem;
}
#TopFv .TopFv_body h2 span {
    background: transparent;
    color: #fff;
    padding: 1rem;
    font-size: 1.2rem;
    text-shadow: 2px 2px 0 #000, -2px -2px 0 #000, -2px 2px 0 #000, 2px -2px 0 #000, 0px 2px 0 #000, 0 -2px 0 #000, -2px 0 0 #000, 2px 0 0 #000;
    letter-spacing: -.08rem;
}
.fv-cta-btn{
    max-width: 320px;
}
.Fv-menuBox li {
    width: 100%;
}
.high-plan:hover{
background:#008FD2;
}
.elementary-plan a, .junior-plan a, .high-plan a {
    font-size: 1.5rem;
}
.menu-ttl:before, .menu-ttl:after {
    height: 1px;
}
.menu-ttl {
    text-shadow: none;
}
.top-fv-subttl01{
margin: 20vh 0 0 !important;
}
.top-fv-subttl01 > span{
    line-height: 1.3;
}
.Fv-menuBox{
    flex-wrap: wrap;
}
 .fv-span{
    padding: 0 0.25rem 0 0;
}
}
@media screen and (max-width: 360px) {
/* 360pxまでの幅の場合に適応される */
.TopFv_body {
    width: 90%;
    top: 5%;
}
#TopFv {
    height: 30vh;
}
#TopFv .TopFv_body h2 span {
    padding: 0;
    font-size: 1rem;
}
.top-fv-subttl01{
margin: 8vh 0 0 !important;
}
}

/*---------------------------------------------------------
ナビゲーション
---------------------------------------------------------*/
#menuBox-nav-Area{
    background: #E6FFEF;
    padding: 1vh 0;
}
.menuBox-nav{
    background: #fff;
    border-top: solid 1px #13A075;
    border-bottom: solid 1px #13A075;
}
.menuBox-nav ul{
    display: flex;
    width: 100%;
    max-width: 1200px;
    margin: 0 auto;
}
.menuBox-nav ul li{
    width: 20%;
    display: flex;
    align-items: center;
    justify-content: space-evenly;
    text-align: center;
    border-left: 1px solid #13A075;
    display: block;
}
.menuBox-nav ul li:last-child{
    border-right: 1px solid #13A075;
}
.elementary-plan-01,.junior-plan-01,.high-plan-01{
text-decoration: none;
    display: block;
    font-weight: 700;
}
.elementary-plan-01{
    color: #F48003;
}
.junior-plan-01{
    color:#D12E22;
}
.high-plan-01{
    color:#008FD2;
}

/*---------------------------------------------------------
コース紹介
---------------------------------------------------------*/
#Plan-selectArea{
    padding: 4rem 0 8rem;
    background: url(../img/top1007/plan-selectarea-bg.webp) no-repeat top 3% center, -moz-linear-gradient(left, #E6FFEF 0%, #E6FFEF 100%);
  background:url(../img/top1007/plan-selectarea-bg.webp) no-repeat top 3% center, -webkit-linear-gradient(left, #E6FFEF 0%, #E6FFEF 100%);
  background-size: 1000px auto;
}

.Plan-select-ttl{
    font-size: 2rem;
    line-height: 1.8;
    text-align: center;
    font-family: 'Noto Serif JP',serif;
    font-weight: 600;
    margin: 0;
}
.elementary-planArea,.junior-planArea,.high-planArea{
    background: #fff;
    padding: 0;
    border-radius: 12px;
    margin: 8rem 0;
}
.elementary-planArea h2,.junior-planArea h2,.high-planArea h2{
    padding: 1.5rem;
    color: #fff;
    font-size: 2.5rem;
    margin: 0 0 2rem;
    text-align: center;
    font-weight: 700;
}
.elementary-planArea,.junior-planArea,.high-planArea{
    border-radius:20px ;
    -webkit-border-radius:20px;
    -moz-border-radius:20px;
}
.elementary-planArea{
    box-shadow: 7px 7px 0px 0 rgb(244 128 3 / 30%);
}
.junior-planArea{
    box-shadow: 7px 7px 0px 0 rgb(209 46 34 / 30%);
}
.high-planArea {
    box-shadow: 7px 7px 0px 0 rgb(0 143 210 / 30%);
}
.elementary-planArea h2,.junior-planArea h2,.high-planArea h2{
    border-radius:20px 20px 0px 0px ;
    -webkit-border-radius:20px 20px 0px 0px ;
    -moz-border-radius:20px 20px 0px 0px ;
}

.elementary-planArea h2{
background: #F48003;
}
.junior-planArea h2{
background: #D12E22;
}
.high-planArea h2{
background: #008FD2;
}
.elementary-planArea h3,.junior-planArea  h3,.high-planArea h3{
    font-size: 2.25rem;
    font-weight: 700;
    padding: 1.25rem 1%;
    margin: 2rem 0 0;
}
.elementary-planArea h3{
    color: #F48003;
    background: #FDECD9;
}
.junior-planArea h3{
    color: #D12E22;
    background: #F8E0DE;
}
.high-planArea h3{
    color: #008FD2;
    background: #D9EEF8;
}
.list-check-elementary,.list-check-junior,.list-check-high{
  list-style: none;
  margin: 0;
  padding: 0;
  text-indent: -1rem;
}
.list-check-elementary li,.list-check-junior li,.list-check-high li{
  margin-left: 1rem;
  font-size: 2rem;
  padding: 0 !important;
}
.list-check-elementary li:before,.list-check-junior li:before,.list-check-high li:before{
  content: "\f14a"; 
  font-family: "Font Awesome 5 pro";
  position: relative;
  top: -1px;
  margin-right: 5px;
  font-weight: 700;
}
.list-check-elementary li:before{
    color: #F48003;
}
.list-check-junior li:before{
    color: #D12E22;
}
.list-check-high li:before{
    color: #008FD2;
}
.planArea{
padding: 0 2rem 2rem;
}

.point-ttl-h4{
    font-size: 2rem;
    margin: 1rem 0 0;
    font-weight: 700;
}
/*--正円の中に数字--*/
.point-number{
  display: flex;
  align-items: center;
      margin: 2rem 0 0.5rem;
}
.maru-number {
    height: 40px;
    width: 40px;
    border-radius: 50vh;
    line-height: 40px;
    text-align: center;
    color: #fff;
    font-weight: 700;
    margin-right: 1rem;
    margin-top: 1rem;
}

.elementary-plan01-bg{
    background: #F48003;
}
.elementary-plan01-c{
    color: #F48003;
    font-weight: 700;
}
.junior-plan-bg{
    background: #D12E22;
}
.junior-plan-c{
    color: #D12E22;
    font-weight: 700;
}
.high-plan-bg{
    background: #008FD2;
}
.high-plan-c{
    color: #008FD2;
    font-weight: 700;
}

/* モーダルウィンドウエリア */
/* 開くボタン */
.button-open {
    display: block;
    margin: 0 auto;
    width: 100%;
    max-width: 180px;
    padding: 1em;
    background-color: #fff;
    color: #666666;
    border-radius: 8px;
    cursor: pointer;
    border: 2px solid #666666;
}
.button-open:after{
font-family: "Font Awesome 5 pro";
  content: "\f067"; /* 空の要素作成 */
  margin-left:.5rem;
  color:#666;
}
/* モーダルウィンドウ */
.modal-window {
  display: none;
      position: fixed;
    top: 40%;
    left: 50%;
    transform: translate(-50%, -50%);
    width: auto;
    height: 50vh;
    max-width: 600px;
    max-height: 600px;
    background-color: #fff;
    border-radius: 5px;
    z-index: 11;
    padding: 2rem 1.5rem 8rem;
    border: 2px solid #13A075;
    overflow: scroll !important;
    z-index: 100;
}
/* 閉じるボタン */
.button-close {
 /* position: absolute;
    bottom: 0;
    left: 50%;
    transform: translate(-50%, -50%);*/
    width: 150px;
    padding: 1rem;
    background-color: #fff;
    color: #666;
    border: 1px solid #666;
    border-radius: 4px;
    cursor: pointer;
}
/* オーバーレイ */
.overlay {
  display: none;
  position: fixed;
  top: 0;
  left: 0;
  background-color: rgba(0, 0, 0, 0.5);
  width: 100%;
  height: 100%;
  z-index: 10;
}

.no_scroll {
  overflow: hidden;
}

/* 講師紹介 */
.teachers-boxArea{
margin: 2rem 0 1rem;
display: flex;
flex-wrap: wrap;
}
.teachers-boxArea li{
    width: 31%;
    padding: 1%;
}
.teachers-boxArea li img{
width: 100%;
    max-width: 180px;
}

.teachers-name-ex{
    font-family: 'Noto Serif JP',serif;
    font-size: 1.6rem;
    text-align: center;
    line-height: 1.3;
    margin: .5rem 0;
}
.subject-nameBox{
    display: flex;
    align-items: flex-start;
    margin: 1rem 0 0;
    flex-direction: column;
}
.subject-nameBox p{
    margin: 0 0 1rem;
}
.country{
font-size: 1.5rem;
    line-height: 1.3;
}
.subject-nameBox p,.modal-window p{
font-size: 1.6rem;line-height: 1.6;
}
.subject-name{
    background: #13A075;
    color: #fff;
    border-radius: 8px;
    width: 35px;
    height: 35px;
    padding: 1rem;
    text-align: center;
    font-size: 1.5rem;
    font-weight: 700;
    line-height: 1.2;
    margin-right: 1rem;
    white-space:nowrap;
}
.text-teacher-name{
    font-family: 'Noto Serif JP',serif;
    font-size: 2.25rem !important;
    font-weight: 700;
}
.modal-window > h4{
    color: #13A075;
    font-size: 1.5rem;
    font-weight: 700;
    border-bottom: 1px solid #13A075;
    padding: 1rem 0 0.5rem;
}
.popular-course-ttl{
color: #000 !important;
    background: transparent !important;
    font-size: 2.25rem !important;
}
.popular-courseBox-elementary,.popular-courseBox-junior,.popular-courseBox-high{
    background: #FFFFEE;
}
.popular-courseBox-elementary{
    border: 2px solid #F48003;
}
.popular-courseBox-junior{
    border: 2px solid #D12E22;
}
.popular-courseBox-high{
    border: 2px solid #008FD2;
}
.popular-courseBox-elementary h4,.popular-courseBox-junior h4,.popular-courseBox-high h4{
    padding: 1.5rem;
    text-align: center;
    color: #fff;
    font-size: 2.25rem;
    font-weight: 700;
}
.popular-courseBox-elementary h4{
    background: #F48003;
}
.popular-courseBox-junior h4{
    background: #D12E22;
}
.popular-courseBox-high h4{
    background: #008FD2;
}
.popular-courseBox-elementary p,.popular-courseBox-junior p,.popular-courseBox-high p{
    padding: 1rem;
}
.course-comment{
    margin: 3rem 0 0;
    text-align: center;
    font-size: 2rem;
    font-weight: 700;
}
@media screen and (max-width: 1024px) {
/* 1024pxまでの幅の場合に適応される */
#Plan-selectArea{
background-size: contain;
}
}
@media screen and (max-width: 820px) {
/* 820pxまでの幅の場合に適応される */
}
@media screen and (min-width:641px) and ( max-width:820px) {
/*　画面サイズが768pxから820pxまではここを読み込む　*/
}
@media screen and (max-width: 640px) {
/* 640pxまでの幅の場合に適応される */
#Plan-selectArea{
    padding: 2rem 0;
}
.planArea {
    padding: 0 1rem 1rem;
}

.elementary-plan, .junior-plan, .high-plan {
    font-size: 1.3rem;
}
.Plan-select-ttl {
    font-size: 1.5rem;
    line-height: 1.6;
    margin: 1rem 0 0;
}
.elementary-planArea, .junior-planArea, .high-planArea {
    margin: 3.5rem 0;
}
.elementary-planArea h2, .junior-planArea h2, .high-planArea h2 {
    padding: 1rem;
    font-size: 1.75rem;
    margin: 0 0 1rem;
}
.elementary-planArea h3, .junior-planArea h3, .high-planArea h3 {
    font-size: 2rem;
}
.list-check-elementary li, .list-check-junior li, .list-check-high li {
    font-size: 1.45rem;
}
.maru-number {
    height: 20px;
    width: 20px;
    border-radius: 50vh;
    line-height: 20px;
    text-align: center;
    margin-right: 0.5rem;
    margin-top: 0.5rem;
    font-size: 1.2rem;
}
.point-ttl-h4 {
    font-size: 1.6rem;
    margin: 0.5rem 0 0;
}
.teachers-boxArea li {
    width: 48%;
    padding: 1% 1% 5%;
}
.modal-window {
width: 80%;
}
.popular-course-ttl {
    font-size: 1.8rem !important;
    padding: 0 0 1rem !important;
}
.popular-courseBox-elementary h4, .popular-courseBox-junior h4, .popular-courseBox-high h4 {
    padding: 1rem;
    font-size: 1.8rem;
}
.course-comment {
    margin: 2rem 0 0;
    text-align: center;
    font-size: 1.4rem;
    font-weight: 700;
}
.button-open {
    border: 1px solid #666666;
    font-size:1.3rem;
}
.country,.subject-nameBox p,.modal-window p{
font-size: 1.4rem;
}
.subject-name{
    font-size: 1.3rem !important;
    line-height: 1.4;
}
.text-teacher-name {
    font-size: 1.8rem !important;
}
.teachers-name-ex{
    font-size: 1.4rem;
}
}

@media screen and (max-width: 360px) {
/* 360pxまでの幅の場合に適応される */
}

/*---------------------------------------------------------
IBDPを見事取得した生徒の体験談
---------------------------------------------------------*/
#experiences-s {
    width: 100%;
    max-width: 800px;
    margin: 4vh auto 4vh;
}
.experiences-Area{
    padding: 3vh 2vw;
    position: relative;
        z-index: 3;
}
.thick {
    position: relative;
    border: 2px solid #ca4;
    padding: 1em;
    font-weight: 600;
    text-align: center;
}
.thick:before,
.thick:after,
.circle:before,
.circle:after {
    position: absolute;
    display: block;
    border-radius: 50%;
    width: 20px;
    height: 20px;
    content: "";
    background-color: #E6FFEF ;
    border: 2px solid #ca4;
}
.thick:before {
    top: -12px;
    left: -12px;
}
.thick:after {
    top: -12px;
    right: -12px;
}
.circle:before {
    right: -12px;
    bottom: -12px;
}
.circle:after {
    left: -12px;
    bottom: -12px;
}
.over {
    overflow: hidden;
}
.thin {
    position: absolute;
    top: 3px;
    right: 3px;
    bottom: 3px;
    left: 3px;
    border: 1px solid #ca4;
    z-index: 1;
    background: #fff;
}
/*.pct-box {
    width: 30% !important;
}
.text-box {
    width: 70% !important;
}*/

#experiences-s .experiences-Area h2, #experiences-s .experiences-Area h2 span{
    background: #ece5d1;
    font-size: clamp(1.8rem, 3.5vw, 3.5rem);
    color: #9b7600;
    font-family: 'Noto Serif JP',serif;
    margin: 0 0 2vh;
    position: relative;
}
#experiences-s .experiences-Area h2{
    padding: 1.25vh 1vw 1vh;
}
.voice-medal {
    position: absolute;
    width: 80px;
    height: auto;
    right: 0;
    top: -10px;
}

#experiences-s .experiences-Area h3{
    padding: 2vh 1.5vw;
    text-align: center;
        font-size: clamp(1.6rem, 3vw, 3rem);
    font-weight: 700;
    border-radius: 8px;
    color: #cd0917;
    margin: 0;
    position: relative;
    display: inline-block;
}

#experiences-s .experiences-Area h3:before {
    position: absolute;
    left: -1rem;
    bottom: 1rem;
    content: "";
    width: 2px;
    height: 50%;
    background: #cd0917;
    border-radius: 3px;
    transform: rotate(-25deg);
}
#experiences-s .experiences-Area h3::after {
    position: absolute;
    content: "";
    right: -1rem;
    bottom: 1rem;
    width: 2px;
    height: 50%;
    background: #cd0917;
    border-radius: 3px;
    transform: rotate(25deg);
}
.ttl-medal {
    background: #a08200;
    color: #fff;
    padding: 0.25vh 1vw;
}
.ttl-medal:before{
  content: '';/*何も入れない*/
  display: inline-block;
  width: 30px;/*画像の幅*/
  height: 50px;/*画像の高さ*/
  background-image: url(../img/experiences-s/voice-kazari-l.png);
  background-size: contain;
  vertical-align: middle;
}
.ttl-medal::after{
  content: '';/*何も入れない*/
  display: inline-block;
  width: 30px;/*画像の幅*/
  height: 50px;/*画像の高さ*/
  background-image: url(../img/experiences-s/voice-kazari-r.png);
  background-size: contain;
  vertical-align: middle;
}
.ttl-experiences-name{
    font-size: clamp(1.3rem, 2vw, 1.8rem);
    line-height: 1.3;
    margin: 1vh 0 0;
}

/* スコア */
.score-area{
display: flex;
    align-items: center;
    margin: 2vh 0 1vh;
    justify-content: space-evenly;
}
.score-arrow{
    width: 3% !important;
    display: flex;
}
.score-box{
    width: 43% !important;
}
.score-ttl-before{
    border: 1px solid #666666;
}

.fc-score-before {
    color: #666666;
}
.score-ttl-after{
    border: 1px solid #cd0917;
}
.fc-score-after{
        color: #cd0917;
}
.score-number{
    border: transparent;
    padding: 1vw;
        font-size: clamp(1.3rem, 1.6vw, 1.6rem);
}
.score-number span{
    font-size: clamp(2.5rem, 5vw, 4.5rem);
    font-family: 'Poppins';
    line-height: 1;
}
.score-arrow i{
    font-size: clamp(2.5rem, 5vw, 5rem);
    color: #15a075;
}

/*==================================================
アコーディオンのためのcss
===================================*/
.cp_actab-voice {
	position: relative;
	overflow: hidden;
	width: 100%;
	margin: 0 auto;
	color: #ffffff;
}
.cp_actab-voice input {
	position: absolute;
	z-index: -1;
	opacity: 0;
}
.cp_actab-voice label {
	font-weight: 700;
	line-height: 2;
	position: relative;
	display: block;
	padding: 0 0 0 1vh;
	cursor: pointer;
	margin: 0 0 1px 0;
	background: #cd0917;
    font-size: clamp(1.6rem, 3vw, 3rem);
}
.cp_actab-voice .cp_actab-voice-content {
	overflow: hidden;
	max-height: 0;
	-webkit-transition: max-height 0.35s;
	transition: max-height 0.35s;
	color: #333333;
	background: #fff;
}
.experiences-voice-ttl {
    font-size: clamp(1.6rem, 2.25vw, 2.25rem);
    margin: 2vh 0 1vh;
    background: #ece5d1;
    padding: 1.5vw;
    color: #cd0917;
    font-weight: 700;
}

.cp_actab-voice .cp_actab-voice-content p {
    margin: 1vw;
    text-align: left;
    font-weight: 500;
        font-size: clamp(1.5rem, 1.8vw, 1.8rem);
}
/* :checked */
.cp_actab-voice input:checked ~ .cp_actab-voice-content {
	max-height: 300rem;
}
/* Icon */
.cp_actab-voice label::after {
	line-height: 2;
	position: absolute;
	top: 0;
	right: 0;
	display: block;
	width: 2em;
	-webkit-transition: all 0.35s;
	transition: all 0.35s;
	text-align: center;
}
.cp_actab-voice input[type=checkbox] + label::after {
	content: '+';
}
.cp_actab-voice input[type=checkbox]:checked + label::after {
	transform: rotate(315deg);
}


@media screen and (max-width: 640px) {
/* 640pxまでの幅の場合に適応される */
#experiences-s .experiences-Area h2{
    line-height: 1.3;
    font-size: 3rem;
    margin: 1vh 0 2.5vh;
}
#experiences-s .experiences-Area h2 span{
    font-size: 1.4rem;
    display: block;
    line-height: 1;
    padding: 0;
    margin: 0;
}
.voice-medal {
    width: 70px;
}
}


/* 　続きを読む */
.accordion-box {
    position: relative;
}
.accordion-box label {
    height: 140px; /* グラデーションの高さ */
    cursor: pointer;
    text-align: center;
    font-size: 12px;
    position: absolute;
    bottom: 0;
    width: 100%;
        left: 0;

    /* 以下グラデーションは「背景が白」に併せて設定しています */ 
    background: -webkit-linear-gradient(top, rgba(255, 255, 255, 0) 0%, rgba(255, 255, 255, 0.95) 90%);
    background: -moz-linear-gradient(top, rgba(255, 255, 255, 0) 0%, rgba(255, 255, 255, 0.95) 90%);
    background: -o-linear-gradient(top, rgba(255, 255, 255, 0) 0%, rgba(255, 255, 255, 0.95) 90%);
    background: -ms-linear-gradient(top, rgba(255, 255, 255, 0) 0%, rgba(255, 255, 255, 0.95) 90%);
    background: linear-gradient(to bottom, rgba(255, 255, 255, 0) 0%, rgba(255, 255, 255, 0.95) 90%);
}
.accordion-box input:checked + label {
    background: inherit; /* 開いた時には背景グラデーションを消す */
}
.accordion-box label:after {
    content: "続きをよむ"; /* ラベルの文字 */
    letter-spacing: .05em;
    line-height: 2.5rem;
    position: absolute;
    bottom: 10px;
    left: 50%;
    -webkit-transform: translate(-50%, 0);
    transform: translate(-50%, 0);
    color: #fff;
    background-color: #13A075;
    width: 18.75rem;
    -webkit-border-radius: 20px;
    -moz-border-radius: 20px;
    border-radius: 50vh;
    font-size: clamp(1.8rem, 2.5vw, 2.5rem);
    padding: 1vw;
}
/*.accordion-box label:before {
    content: "↓";
    font-weight: 700;
    position: absolute;
    bottom: 30px;
    left: 50%;
    -webkit-transform: translate(-140px, 0);
    transform: translate(-140px, 0);
    background-color: #fff;
    z-index: 1;
    -webkit-border-radius: 100%;
    -moz-border-radius: 100%;
    border-radius: 100%;
    width: 20px;
    height: 20px;
    line-height: 20px;
}
*/
.accordion-box input {
    display: none;
}
.accordion-box .accordion-container {
    overflow: hidden;
    height: 200px; /* 開く前に見えている部分の高さ */
    -webkit-transition: all 0.1s;
    -moz-transition: all 0.1s;
    -ms-transition: all 0.1s;
    -o-transition: all 0.1s;
    transition: all 0.1s;
}


.accordion-box input:checked + label {
    /* display: none ; 閉じるボタンは要らないとき */
}
.accordion-box input:checked + label:after {
    content: "閉じる";
}
/*.accordion-box input:checked + label:before {
    content: "↑";
}*/
.accordion-box input:checked ~ .accordion-container {
    height: auto;
    padding-bottom: 80px; /* 閉じるボタンのbottomからの位置 */
    -webkit-transition: all 0.1s;
    -moz-transition: all 0.1s;
    -ms-transition: all 0.1s;
    -o-transition: all 0.1s;
    transition: all 0.1s;
}
.accordion-container p{
text-align: left;
    font-weight: 500;
}

/*---------------------------------------------------------
アコーディオンメニュー
---------------------------------------------------------*/
.accordion{
    margin: 2vh 0 0;
}
.accordion__item {
    cursor: pointer;
    margin: 0 0 1vh;
}
.accordion__title {
    position: relative;
    cursor: pointer;
    display: flex;
    align-items: center;
    padding: 5px 35px 5px 5px;
    font-weight: 700;
}
.accordion__title::before, .accordion__title::after {
    content: "";
    position: absolute;
    right: 10px;
    top: 0;
    bottom: 0;
    margin: auto 0;
    width: 16px;
    height: 4px;
    transition: all 0.3s;
}
.q-number {
    height: 100%;
    min-height: 60px;
    color: #fff;
}
.q-number {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 100%;
    max-width: 60px;
    margin-right: 10px;
    font-family: 'Poppins';
    font-size: clamp(2rem, 3vw, 2rem);
}
.accordion__title::after {
    transform: rotate(90deg);
}
.accordion__content {
    display: none;
    cursor: pointer;
}
.faq-contents {
    display: flex;
    align-items: center;
    font-size: clamp(1.4rem, 1.6vw, 1.6rem);
}
.faq-contents-txt{
padding: 1vh 1vw;
}

.primary-years-h3, .secondary-years-h3, .diploma-years-h3 {
    font-size: 2.2rem;
    font-weight: 700;
    padding: 1.5rem 25px 1.5rem 10px;
    margin: 2rem 0 0;
    line-height: 1.3;
}
.primary-years-item{
border: 1px solid #F48003;
}
.secondary-years-item{
border: 1px solid #D12E22;
}
.diploma-years-item{
border: 1px solid #008FD2;
}
.primary-years-item::before,
.primary-years-item::after,
.primary-years-h3::before, 
.primary-years-h3::after{
background-color: #F48003;
}
.secondary-years-item::before,
.secondary-years-item::after,
.secondary-years-h3::before, 
.secondary-years-h3::after{
background-color: #D12E22;
}
.diploma-years-item::before,
.diploma-years-item::after,
.diploma-years-h3::before, 
.diploma-years-h3::after{
background-color: #008FD2;
}
.primary-years-item-bg{
background: #F48003;
border-radius: 50vh;
}
.primary-years-h3{
    color: #F48003;
    background: #FDECD9;
}
.secondary-years-h3{
    color: #D12E22;
    background: #F8E0DE;
}
.diploma-years-h3{
    color: #008FD2;
    background: #D9EEF8;
}
.secondary-years-item-bg{
background: #D12E22;
border-radius: 50vh;
}
.diploma-years-item-bg{
background: #008FD2;
border-radius: 50vh;
}
.courses-primary-years-ttl,
.courses-secondary-years-ttl,
.courses-diploma-years-ttl {
padding: 1vh 1vw;
    text-align: center;
    color: #fff;
font-size: clamp(1.6rem, 3vw, 2.25rem);
    font-weight: 700;
}
.courses-primary-years-ttl::before,
.courses-primary-years-ttl::after,
.courses-secondary-years-ttl::before,
.courses-secondary-years-ttl::after,
.courses-diploma-years-ttl::before,
.courses-diploma-years-ttl::after{
background-color: #fff;
}
.courses-primary-years-ttl{
background: #F48003;
}
.courses-secondary-years-ttl{
background: #D12E22;
}
.courses-diploma-years-ttl{
background: #008FD2;
}
.courses-box-bg{
background: #FFFFEE;
padding: 1rem;
}
.courses-box-bg-primary{
border: 2px solid #F48003;
}
.courses-box-bg-secondary{
border: 2px solid #D12E22;
}
.courses-box-bg-diploma{
border: 2px solid #008FD2;
}

/*---------------------------------------------------------
もっと見る（スマホのみ）
---------------------------------------------------------*/
.accordion-show {
  position: relative;
      padding: 0 0 6vh;
}
/* ボタン */
.accordion-btn {
  background-color: #fff;
    border: 1px solid #42B391;
    bottom: 0;
    color: #42B391;
  cursor: pointer;
  display: inline-block;
     font-size: 1.6rem;
  left: 0;
  margin: auto;
  padding: 5px 15px;
  position: absolute;
  right: 0;
  text-align: center;
  transition: all .2s;
  width: 90%;
    max-width: 300px;
  z-index: 1;
}
/* 続きを読むボタンの表記 */
.accordion-btn::after {
  content: "More";
}
/* ボタンhover時のスタイル */
.accordion-btn:hover {
  background-color: #42B391;
  color: #fff;
  border: 1px solid #fff;
}
.accordion-text {
  overflow: hidden; /* テキストを隠す */
  position: relative;
}
/* 最初に見えてるテキストエリアの高さ */
.accordion-text.is-hide {
  height: 100px;
}
/* テキストをグラデーションで隠す */
.accordion-text::before {
      background: -webkit-linear-gradient(top, rgba(66,179,145,0) 0%, rgba(66,179,145,.8) 50%, rgba(66,179,145,.8) 50%, #42B391 100%);
  background:linear-gradient(top, rgba(66,179,145,0) 0%, rgba(66,179,145,.8) 50%, rgba(66,179,145,.8) 50%, #42B391 100%);
  bottom: 0;
  content: "";
  height: 60px; /* グラデーションで隠す高さ */
  position: absolute;
  width: 100%;
}
/* 閉じるボタンの位置 */
.accordion-btn.is-show {
  bottom: -1rem;
}
/* 閉じるボタンの表記 */
.accordion-btn.is-show::after {
  content: "Close";
}
/* 続きを見るボタンをクリックしたらテキストを隠しているグラデーションを消す */
.accordion-btn.is-show + .accordion-text::before {
  display: none;
}

/*---------------------------------------------------------
Our Courses
---------------------------------------------------------*/
#subjects{
    background:#E6FFEF;
    padding: 4rem 0 0;
}
.our-courses-area{
    display: -webkit-flex; /* Safari */
        display: flex;
        -webkit-flex-wrap: wrap; /* Safari */
        flex-wrap: wrap;
    padding: 3vh 0 0;
}
.our-courses-area > li{
    width: 22%;
    margin: 1%;
}
.our-courses-box{
    padding: 1vh 1vw;
    background: #fff;
}
.our-courses-box h3{
    color: #13a075;
    font-size: clamp(1.6rem, 2vw, 2.25rem);
    font-weight: 700;
    text-align: center;
    margin: 1vh 0 0;
}
.our-courses-txt{
padding: 0 0 1rem;
}
.our-courses-box p,
.our-courses-box ul li{
    word-break: break-all;
    line-height: 1.3;
}
.our-courses-box ul li{
    font-size: 1.4rem;
}
.our-courses-box p{
    font-size: 1.6rem;
}
.our-courses-pct img{
    width: 100%;
    height: 150px;
    object-fit: cover;
    margin: auto;
  display: block;
}

/* モーダルウィンドウエリア */
/* 開くボタン */
.our-courses-btn-open {
    display: block;
    margin: 0 auto;
    width: 100%;
    max-width: 180px;
    padding: 1em;
    background-color: #fff;
    color: #666666;
    border-radius: 8px;
    cursor: pointer;
    border: 2px solid #666666;
}
.our-courses-btn-open:after{
font-family: "Font Awesome 5 pro";
  content: "\f067"; /* 空の要素作成 */
  margin-left:.5rem;
  color:#666;
}

@media screen and (max-width: 1024px) {
/* 1024pxまでの幅の場合に適応される */
}
@media screen and (max-width: 912px) {
/* 912pxまでの幅の場合に適応される */
}
@media screen and (max-width: 820px) {
/* 820pxまでの幅の場合に適応される */
.our-courses-area > li {
    width: 31%;
}
}
@media screen and (min-width:641px) and ( max-width:820px) {
/*　画面サイズが768pxから820pxまではここを読み込む　*/
}
@media screen and (max-width: 640px) {
/* 640pxまでの幅の場合に適応される */
#subjects {
    padding: 2rem 0 0;
}
.our-courses-area > li {
    width: 100%;
}
.our-courses-pct{
    float: left;
}
.our-courses-box h3{
    text-align: left;
    margin: 1vh 2vw 1vh 1.5vw;
}
.our-courses-btn-open{
    max-width: 330px;
    clear: both;
}
.our-courses-pct{
   margin: 0.5vh 2vw 1vh 1.5vw;
}
.our-courses-pct img{
    width: 100px;
    height: 100px;
}
}
@media screen and (max-width: 360px) {
/* 360pxまでの幅の場合に適応される */
} 
