@charset "utf-8";
/*---------------------------------------------------------------------------------------
	ワオ高中等部
----------------------------------------------------------------------------------------*/

/* ■■■既存CSS調整■■■ */
/* margin */
.mt0 {margin-top: 0px !important;}
.mb0 {margin-bottom: 0px!important;}
.mt10 {margin-top: 10px !important;}
.mb10 {margin-bottom: 10px!important;}
.mt20 {margin-top: 20px!important;}
.mb20 {margin-bottom: 20px!important;}
.mt30 {margin-top: 30px!important;}
.mb30 {margin-bottom: 30px!important;}
.mt40 {margin-top: 40px!important;}
.mb40 {margin-bottom: 40px!important;}
.mt50 {margin-top: 50px!important;}
.mb50 {margin-bottom: 50px!important;}
.mt60 {margin-top: 60px!important;}
.mb60 {margin-bottom: 60px!important;}
.mt80 {margin-top: 80px!important;}
.mb80 {margin-bottom: 80px!important;}
.mt100 {margin-top: 100px!important;}
.mb100 {margin-bottom: 100px!important;}

@media screen and (max-width:768px){
  .mt0 {margin-top: 0px!important;}
  .mb0 {margin-bottom: 0px!important;}
  .mt10 {margin-top: 10px!important;}
  .mb10 {margin-bottom: 10px!important;}
  .mt20 {margin-top: 15px!important;}
  .mb20 {margin-bottom: 15px!important;}
  .mt30 {margin-top: 20px!important;}
  .mb30 {margin-bottom: 20px!important;}
  .mt40 {margin-top: 20px!important;}
  .mb40 {margin-bottom: 20px!important;}
  .mt50 {margin-top: 25px!important;}
  .mb50 {margin-bottom: 25px!important;}
  .mt60 {margin-top: 30px!important;}
  .mb60 {margin-bottom: 30px!important;}
  .mt80 {margin-top: 40px!important;}
  .mb80 {margin-bottom: 40px!important;}
  .mt100 {margin-top: 50px!important;}
  .mb100 {margin-bottom: 50px!important;}
}


/* PCのみ表示 */
@media screen and (max-width: 1025px) {
  .pcArea {
    display:none; 
  }
}

/* タブレットのみ表示 */
.tabArea {
  display:none; 
}

@media screen and (min-width:760px) and ( max-width:1024px) {
  .tabArea {
    display:block; 
  }
}

/* SPのみ表示 */
.spArea {
  display:none; 
}

@media screen and (max-width: 759px) {
  .spArea {
    display:block; 
  }
}

/* ■■■デザイン統一■■■ */
/* 見出し */
h2.unity {
  max-width: 1100px;
  margin: 0 auto 40px;
  padding: 0 10%;
  color: #333;
  font-size: 36px;
  font-weight: 700;
  text-align: center;
  line-height: 1;
  position: relative;
}

h3.unity {
  max-width: 800px;
  width: 100%;
  margin: 0 auto 20px;
  padding: 10px 0;
  border-bottom: 3px solid #ffdc91;
  color: #333;
  font-size: 28px;
  font-weight: 700;
  line-height: 1.4;
  text-align: center;
  position: relative;
  @media screen and (max-width: 768px) {
    font-size: 24px;
  }

}

h3.unity:before {
  position: absolute;
  bottom: -3px;
  left: 0;
  width: 30%;
  height: 3px;
  content: '';
  background: #faab00;
}

h4.unity {
  width: 100%;
  margin: 0 auto 20px;
  padding: 0;
  font-size: 24px;
  font-weight: 700;
  line-height: 1.4;
  text-align: left;
}

h5.unity {
  width: 100%;
  margin: 0 auto 10px;
  padding: 0;
  font-size: 20px;
  font-weight: 700;
  line-height: 1.4;
  text-align: left;
}

/* 文字位置 */
.taCenter {
  text-align: center !important;
}

.taLeft {
  text-align: left !important;
}

.taRight {
  text-align: right !important;
}

/* リンク */
a.uline {
  color: #3399ff;
  text-decoration: underline;
}

/* 枠組み */
.wrap {
  clear: both;
  box-sizing: content-box;
  max-width: 1000px;
  margin-left: auto;
  margin-right: auto;
  padding-left: 5%;
  padding-right: 5%;
  @media screen and (max-width: 768px) {
    padding: 0;
  }
}

.container {
  max-width: 800px;
  margin: 0 auto;
  padding: 0;
}


/* 画像 */
.picW800 {
  max-width: 800px;
  width: 100%;
  margin: 0 auto;
  padding: 0;
}

.picW800 img {
  width: 100%;
}


/* タブレット用 */
@media screen and (max-width: 1100px) {

}

/* スマホ用 */
@media screen and (max-width: 768px) {
}


#junior .optionAreaR {
  max-width: 800px;
  width: 100%;
  margin: 0 auto;
  padding: 0;
}

#junior .optionAreaR h4 {
  width: 100%;
  margin: 0 auto;
  padding: 0;
  font-size: 24px;
  font-weight: 700;
  line-height: 1.4;
  text-align: left;
}

#junior .optionAreaR .optionBox {
  display: flex;
  flex-wrap: wrap;
  align-items: flex-start;
  justify-content: space-between;
  max-width: 800px;
  width: 100%;
  margin: 20px auto;
  padding: 0;
  @media screen and (max-width: 768px) {
    flex-direction: column;
    width: 90%;
    gap: 20px;
    margin-bottom: 30px;
  }
}

#junior .optionAreaR .optionBoxTxt {
  flex-basis: 48%;
  margin: 0;
  padding: 0;
}

#junior .optionAreaR .optionBoxTxt h5 {
	font-size: 18px;
	line-height: calc(28/20);
  big {
    font-size: 20px;
  }
  @media screen and (max-width: 768px) {
    font-size: 16px;
    font-feature-settings: "palt";

    big {
      font-size: 18px;
    }
  }
}
#junior .optionAreaR .optionBoxTxt p {
  width: 100%;
  margin: 0;
  padding: 0;
  font-size: 16px;
  line-height: 1.5;
  text-align: left;
}

#junior .optionAreaR .optionBoxTxt .list-fee {
  margin-top: 1.5em;
  li {
    position: relative;
    padding-left: 1em;
    line-height: 1.4;
    font-size: 15px;
    &:before {
      content: "●";
      color: #14bfff;
      font-size: 7.5px;
      width: 1em;
      position: absolute;
      left: 0;
      top: 1em;
    }
  }
  @media screen and (max-width: 768px) {
    margin-top: 0;
  }
}

#junior .optionAreaR .optionBoxPic {
  flex-basis: 48%;
  margin: 0;
  padding: 0;
  text-align: center;
}

#junior .optionAreaR .optionBoxPic img {
  width: 100%;
  margin: 0;
}



.junior-steps {
	max-width: 800px;
	margin: 0 auto;
	display: flex;
	gap: 36px;
	li {
		border: 2px solid #19c1ff;
		flex: 1;
		padding: 24px 20px 30px;
    h5 {
      font-size: 25px;
      line-height: 1.2;
      @media screen and (max-width: 768px) {
        font-size: 28px;
      }
    }
		p {
			font-feature-settings: "palt";
			letter-spacing: 0;
      margin: 16px 0 24px;
      line-height: 1.1;
      @media screen and (max-width: 768px) {
        font-size: 20px;
        margin: 24px auto 28px;
        line-height: 1.2;
      }
		}
    a img {
      max-width: 150px;
      @media screen and (max-width: 768px) {
        max-width: 190px;
      }
    }
    &:not(:last-child) {
      position: relative;
      &:before {
        content: "";
        display: block;
        background: #7cdcff;
        width: 24px;
        height: 24px;
        border-radius: 100%;
        right: -32px;
        top: calc(50% - 12px) ;
        position: absolute;
      }
      &:after {
        content: "";
        display: block;
        background: #000;
        width: 7px;
        height: 10px;
        clip-path: polygon(0 0, 0 100%, 100% 50%);
        position: absolute;
        top: calc(50% - 5px) ;
        right: -24px;
      }
    }
	}
	.step {
		font-size: 20px;
		font-weight: bold;
		line-height: 1.4;
    margin-bottom: 20px;
		.marker {
			display: inline-block;
			 background: linear-gradient(transparent 70%, #7cdcff 70%);
		}
    @media screen and (max-width: 768px) {
      font-size: 24px;
    }
	}

	.btnBlue {
		border: none;
		background: #19c1ff;
		height: 54px;
		display: flex;
		align-items: center;
		text-align: center;
		color: #fff;
		border-radius: 10px;
		line-height: 1.2;
		justify-content: center;
    max-width: 182px;
    margin: auto auto 0;
    position: relative;
    &:after {
      content: "";
      width: 8px;
      height: 8px;
      display: block;
      position: absolute;
      border-right: 2px solid #fff;
      border-bottom: 2px solid #fff;
      right: 12px;
      top: calc(50% - 4px);
      transform: rotate(-45deg);
    }
		span {
			font-size: 15px;
			font-weight: bold;
		}
    @media screen and (max-width: 768px) {
      max-width: none;
      min-height: 54px;
      height: auto;
      padding: 18px;
      span {
        font-size: 20px;
      }
    }
	}

  @media screen and (max-width: 768px) {
    flex-direction: column;
    gap: 44px;
    width: 90%;
    li {
      &:not(:last-child) {
        &:before {
          top: auto;
          bottom: -36px;
          right: calc(50% - 12px);
        }
        &:after {
          top: auto;
          bottom: -28px;
          width: 10px;
          height: 7px;
          clip-path: polygon(0 0, 50% 100%, 100% 0);
          right: calc(50% - 5px);
        }
      }
    }
  }
}