@charset "utf-8";
@font-face {
  font-family: 'Local Noto Sans JP';
    src: 
      local('Noto Sans JP'), /* Windows用 */
      local('Noto Sans CJK JP Regular') /* Android用 */;
  }

/* sec_main --------------------------------------*/
.sec_main{
  padding-bottom: 55%;
  padding-bottom: clamp(206px,55%,350px);
  background: url(../img/bg_main.jpg)no-repeat center bottom;
  background-size: 100% auto;
  background-color: #dfeff2;
}
.sec_main h1{
  width: 100%;
  margin: -48px auto 0;
  max-width: 697px;
}
.sec_main .ttl_sub{
  width: 89%;
  margin: 41px auto 0;
  max-width: 500px;
}
.sec_main .txt_lead{
  margin-top: 16px;
  margin-top: 4.26vw;
  font-family: "LINE Seed JP", sans-serif;
  font-weight: 500;
  line-height: 1.643;
  text-align: center;
}
@media (min-width :835px){
  .sec_main .txt_lead{
    margin-top: 40px;
  }
}


/* ===============================================
# sec_intro
=============================================== */
.sec_intro{
  padding-top: 5px;
  padding-bottom: 18px;
  background-color: #dfeff2;
}
.sec_intro .area_index{
  width: 89.33%;
  margin: 0 auto;
  position: relative;
}
.sec_intro .area_index::before{
  content: "";
  display: block;
  width: 100%;
  height: 100%;
  border-radius: 4px;
  border: 1px solid #888888;
  background-color: #ffffff;
  background-image: radial-gradient(circle, #000000 1px, transparent 1px), radial-gradient(circle, #000000 1px, transparent 1px);
  background-position: 2px 2px, 6px 10px;
  background-size: 8px 16px;
  position: absolute;
  left: 5px;
  top: -5px;
}
.sec_intro .area_index dl{
  padding: 20px 15px;
  background-color: #fff;
  border-radius: 4px;
  border: 1px solid #888888;
  position: relative;
}
.sec_intro .area_index dl dt{
  font-size: 2rem;
  letter-spacing: 0.06em;
  line-height: 1;
  font-family: "Baloo Bhai 2", sans-serif;
  font-weight: 600;
}
.sec_intro .area_index dl dd{
  margin-top: 10px;
}
.sec_intro .area_index .link_page li + li{
  margin-top: 14px;
}
.sec_intro .area_index .link_page li a{
  display: flex;
  align-items: center;
  font-weight: 700;
}
.sec_intro .area_index .link_page li a .no{
  border-radius: 50px;
  width: 24px;
  height: 24px;
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 1.3rem;
  font-weight: normal;
  margin-right: 12px;
  background-color: #000;
  color: #fff;
  font-family: "Baloo Bhai 2", sans-serif;
}
.sec_intro .area_index .link_page li a::after{
  content: "";
  display: inline-block;
  background: url(../img/ico_anc.svg) no-repeat;
  background-size: contain;
  width: 14px;
  height: 10px;
  margin-left: 5px;
}
@media (min-width :835px){
  .sec_intro .area_index dl{
    padding: 20px 18px;
    border-radius: 4.8px;
    outline-offset: -5px;
  }  
  .sec_intro .area_index dl dt{
    font-size: 2.4rem;
  }  
  .sec_intro .area_index .link_page li + li{
    margin-top: 17px;
  }  
  .sec_intro .area_index .link_page li a .no{
    width: 29px;
    height: 29px;
    font-size: 1.44rem;
    margin-right: 14px;
  }
  .sec_intro .area_index .link_page li a::after{
    width: 13px;
    height: 11px;
  }  
}
/* ===============================================
# sec_challenge
=============================================== */
.sec_challenge{
  background-color: #dfeff2;
  background-image: url(../img/bg_challenge.jpg);
  background-repeat: no-repeat;
  background-size: 100% auto;
  padding-top: 44px;
  position: relative;
}
.sec_challenge::before{
  content: "";
  display: block;
  width: 100%;
  height: calc(100% - 125px);
  position: absolute;
  top: 125px;
  left: 0;
  background-color: #99d6e1;
  border-radius: 0 80px 0 0;
}
.sec_challenge .area_ttl{
  display: flex;
  position: relative;
  justify-content: center;
  align-items: flex-end;
  transform: translateX(-4px);
}
.sec_challenge .area_ttl::before{
  content: "";
  display: block;
  width: 69px;
  height: 146px;
  background: url(../img/ttl_challenge_l.png)no-repeat center/contain;
  margin-right: 13px;
  margin-bottom: 17px;
}
.sec_challenge .area_ttl::after{
  content: "";
  display: block;
  width: 62px;
  height: 150px;
  background: url(../img/ttl_challenge_r.png)no-repeat center/contain;
  margin-left: 12px;
  margin-bottom: 17px;
}
.sec_challenge .area_ttl .ttl_challenge{
  width: 53.333%;
  position: relative;
  max-width: 218px;
  min-height: 209px;
  display: flex;
  align-items: center;
  justify-content: center;
  font-family: "LINE Seed JP", sans-serif;
  font-weight: 400;
  font-size: 1.5rem;
  font-size: clamp(1.5rem,4vw,1.9rem);
}
.sec_challenge .area_ttl .ttl_challenge img{
  position: absolute;
  top: 0;
  left: 0;
}
.sec_challenge .area_ttl .ttl_challenge span{
  position: relative;
  margin-top: 29px;
  margin-top: clamp(29px,7.73vw,64px);
  line-height: 1.4;
}

/* area_weekdays
----------------------------------------------- */
.sec_challenge .area_weekdays{
  position: relative;
  z-index: 1;
  padding-top: 107px;
  padding-bottom: 80px;
}
.sec_challenge .area_weekdays::before{
  content: "";
  display: block;
  width: 100%;
  height: calc(100% - 214px);
  position: absolute;
  top: 214px;
  left: 0;
  background: url(../img/bg_weekdays.jpg) repeat-y;
  background-size: 100% auto;
  z-index: -1;
}
.sec_challenge .box_ttl{
  position: relative;
  max-width: 500px;
  margin-right: auto;
  margin-left: auto;
}
.sec_challenge .box_ttl > .wrap_name{
  position: relative;
  width: 52.13%;
  margin-left: 8%;
  font-family: 'Local Noto Sans JP', "Noto Sans JP", sans-serif;
  padding-bottom: 18px;
}
.sec_challenge .box_ttl > .wrap_name .sub{
  width: 100%;
  display: block;
  background-image: repeating-linear-gradient(90deg, #000000, #000000 3px, transparent 3px, transparent 7px);
  background-position: left bottom;
  background-repeat: repeat-x;
  background-size: 100% 1px;
  font-weight: 700;
  font-size: 1.7rem;
  padding-bottom: 5px;
  margin-bottom: 14px;
}
.sec_challenge .box_ttl > .wrap_name .name{
  font-size: 2rem;
}
.sec_challenge .box_ttl > .wrap_name .faculty{
  line-height: 1.28;
}
.sec_challenge .box_ttl > .wrap_img{
  position: absolute;
  bottom: 0;
  right: 0;
  width: 46.8%;
}
.sec_challenge .box_timeline{
  position: relative;
  margin-top: 30px;
  overflow: hidden;
}
.sec_challenge .box_timeline::before{
  content: "";
  display: block;
  width: 70px;
  height: 100%;
  background: url(../img/bg_timeline_weekdays.svg)no-repeat;
  background-size: contain;
  position: absolute;
  left: 50%;
  top: 0;
  transform:translateX(-50%);
  z-index: -1;
}
.sec_challenge .list_timeline{
  padding-top: 74px;
  padding-bottom: 75px;
  max-width: 375px;
  margin-left: auto;
  margin-right: auto;
}
.sec_challenge .list_timeline li{
  text-align: center;
  position: relative;
}
.sec_challenge .list_timeline li + li{
  margin-top: 16px;
}
.sec_challenge .list_timeline li .time{
  font-family: "LINE Seed JP", sans-serif;
  font-weight: 700;
  font-size: 2.3rem;
  line-height: 1;
}
.sec_challenge .list_timeline li .wrap_timeline{
  max-width: 303px;
  min-height: 303px;
  margin-left: auto;
  margin-right: auto;
  background: url(../img/bg_timeline_box.svg)no-repeat center/contain;
  filter: drop-shadow(0px 0px 7px rgba(0,0,0,0.3));
  margin-top: 3px;
  padding-top: 27px;
  position: relative;
}
.sec_challenge .list_timeline li .wrap_timeline > .ttl{
  color: #fff;
  font-size: 2rem;
  font-family: "LINE Seed JP", sans-serif;
  font-weight: 700;
}
.sec_challenge .list_timeline li .wrap_timeline > .txt{
  max-width: 215px;
  margin-left: auto;
  margin-right: auto;
  margin-top: 35px;
  line-height: 1.714;
  font-family: "LINE Seed JP", sans-serif;
  font-weight: 400;
  text-align: left;
  text-align: justify;
  font-size: 1.4rem;
}
.sec_challenge .area_weekdays .list_timeline li:nth-child(2) .img1{
  position: absolute;
  top: -28px;
  left: -23px;
  width: 72px;
  height: 151px;
  display: block;
}
.sec_challenge .area_weekdays .list_timeline li:nth-child(2) .img2{
  position: absolute;
  right: -13px;
  bottom: -26px;
  width: 111px;
  height: 132px;
}
.sec_challenge .area_weekdays .list_timeline li:nth-child(2) .wrap_timeline > .txt{
  margin-top: 50px;
}
.sec_challenge .area_weekdays .list_timeline li:nth-child(3) .wrap_timeline > .txt{
  margin-top: 56px;
}
.sec_challenge .area_weekdays .list_timeline li:nth-child(4){
  padding-bottom: 170px;
}
.sec_challenge .area_weekdays .list_timeline li:nth-child(4) .img3{
  position: absolute;
  bottom: 0;
  left: 0;
  width: 82.26%;
  margin-left: 13.6%;
  margin-right: 4.66%;
}
.sec_challenge .area_weekdays .list_timeline li:nth-child(4) .wrap_timeline > .txt{
  margin-top: 26px;
}
.sec_challenge .area_weekdays .list_timeline li:nth-child(5){
  margin-top: 2px;
}
.sec_challenge .area_weekdays .list_timeline li:nth-child(5) .img4{
  position: absolute;
  top: -17px;
  left: 18px;
  width: 102px;
  height: 160px;
}
.sec_challenge .area_weekdays .list_timeline li:nth-child(5) .wrap_timeline > .txt{
  margin-top: 50px;
}
.sec_challenge .area_weekdays .list_timeline li:nth-child(6) .img5{
  position: absolute;
  bottom: 53px;
  right: 44px;
  width: 90px;
  height: 59px;
}
.sec_challenge .area_weekdays .list_timeline li:nth-child(6) .wrap_timeline > .ttl{
  margin-top: 5px;
}
.sec_challenge .area_weekdays .list_timeline li:nth-child(6) .wrap_timeline > .txt{
  margin-top: 45px;
}
.sec_challenge .area_weekdays .box_comment{
  background: url(../img/img_weekdays_comment.png)no-repeat top/contain;
  min-height: 350px;
  margin-top: 35px;
  max-width: 345px;
  margin-left: auto;
  margin-right: auto;
}
.sec_challenge .area_weekdays .box_comment .txt_comment{
  width: 56.52%;
  margin-left: 7.24%;
  margin-right: 36.23%;
  font-family: "LINE Seed JP", sans-serif;
  font-weight: 400;
  line-height: 1.714;
  padding-top: 33px;
  font-size: 1.4rem;
  text-align: justify;
}

/* area_holidays
----------------------------------------------- */
.sec_challenge .area_holidays{
  position: relative;
  z-index: 1;
  padding-top: 53px;
  padding-bottom: 80px;
}
.sec_challenge .area_holidays::before{
  content: "";
  display: block;
  width: 100%;
  height: 103%;
  position: absolute;
  top: 0;
  left: 0;
  background: url(../img/bg_holidays.jpg)repeat-y;
  background-size: 100% auto;
  background-position: top 5px left;
  border-radius: 80px 0 0 0;
  z-index: -1;
}
.sec_challenge .area_holidays .box_ttl > .wrap_img{
  position: absolute;
  bottom: 20px;
  right: 14px;
  width: 41.466%;
}
.sec_challenge .area_holidays .box_timeline{
  margin-top: 20px;
}
.sec_challenge .area_holidays .box_timeline::before{
  background-image: url(../img/bg_timeline_holidays.svg);
  background-repeat: no-repeat;
}
.sec_challenge .area_holidays .list_timeline{
  padding-bottom: 55px;
}
.sec_challenge .area_holidays .list_timeline li .wrap_timeline > .txt{
  margin-top: 50px;
}
.sec_challenge .area_holidays .list_timeline li:nth-child(2) .img1{
  position: absolute;
  top: -19px;
  left: -24px;
  width: 66px;
  height: 160px;
  display: block;
}
.sec_challenge .area_holidays .list_timeline li:nth-child(4){
  padding-bottom: 150px;
}
.sec_challenge .area_holidays .list_timeline li:nth-child(4) .img2{
  position: absolute;
  bottom: 0;
  left: 50%;
  transform: translateX(-50%);
  width: 270px;
}
.sec_challenge .area_holidays .list_timeline li:nth-child(4) .wrap_timeline > .txt{
  margin-top: 40px;
}
.sec_challenge .area_holidays .list_timeline li:nth-child(4) + li:nth-child(5){
  margin-top: 22px;
}
.sec_challenge .area_holidays .list_timeline li:nth-child(5) .img3{
  position: absolute;
  bottom: -20px;
  right: -31px;
  width: 140px;
}
.sec_challenge .area_holidays .list_timeline li:nth-child(5) .wrap_timeline > .txt{
  margin-top: 40px;
}
.sec_challenge .area_holidays .list_timeline li:nth-child(6){
  padding-bottom: 150px;
}
.sec_challenge .area_holidays .list_timeline li:nth-child(6) .img4{
  position: absolute;
  bottom: 0;
  left: 50%;
  transform: translateX(-50%);
  width: 270px;
}
.sec_challenge .area_holidays .list_timeline li:nth-child(6) .wrap_timeline > .ttl{
  line-height: 1.15;
}
.sec_challenge .area_holidays .list_timeline li:nth-child(6) .wrap_timeline > .txt{
  margin-top: 15px;
}
.sec_challenge .area_holidays .list_timeline li:nth-child(7){
  margin-top: 22px;
}
.sec_challenge .area_holidays .list_timeline li:nth-child(7) .img5{
  width: 272px;
  margin-left: 79px;
  margin-right: 24px;
  transform: translateY(-23px);
}
.sec_challenge .area_holidays .box_comment{
  background: url(../img/img_holidays_comment.png)no-repeat top/contain;
  min-height: 345px;
  max-width: 345px;
  margin-left: auto;
  margin-right: auto;
  margin-top: 30px;
}
.sec_challenge .area_holidays .box_comment .txt_comment{
  width: 57.52%;
  margin-left: 7.24%;
  margin-right: 36.23%;
  font-family: "LINE Seed JP", sans-serif;
  font-weight: 400;
  line-height: 1.714;
  padding-top: 33px;
  font-size: 1.4rem;
}

/* sec_link ==========================*/
.sec_link{
  padding: 36px 0;
  background-color: #99d6e1;
  border-radius: 80px 0 0 0;
  position: relative;
  z-index: 1;
}
.sec_link .box_btn + .box_btn{
  margin-top: 15px;
}
.sec_link .box_btn{
  position: relative;
  max-width: 320px;
  margin-left: auto;
  margin-right: auto;
}
.sec_link .box_btn::before{
  content: "";
  display: block;
  width: 100%;
  height: 100%;
  border-radius: 40px;
  border: 1px solid #888888;
  background-color: #ffffff;
  background-image: radial-gradient(circle, #000000 1px, transparent 1px), radial-gradient(circle, #000000 1px, transparent 1px);
  background-position: 3px 1px, 7px 9px;
  background-size: 8px 16px;
  position: absolute;
  left: 0;
  top: 5px;
}
.sec_link .box_btn a{
  display: block;
  width: 100%;
  padding: 13px 15px;
  text-align: center;
  font-weight: 700;
  background-color: #fff;
  border-radius: 40px;
  position: relative;
  border: 1px solid #888888;
  line-height: 1.5;
}
.sec_link .box_btn a span{
  display: block;
  background: url(../img/ico_link.svg) no-repeat center right;
  background-size: 20px auto;
}
@media (min-width :835px){
  .sec_contents .box_btn{
    max-width: none;
  }
  .sec_contents .box_btn a{
    padding: 15px 18px;
    outline-offset: -4px;
    border-radius:50px;
  }
  .sec_contents .box_btn a span{
    padding-right:36px;
    background-size: 25px auto;
  }
}
@media (min-width :835px){
  .sec_link{
    padding:48px 0;
  }
  .sec_link .box_btn + .box_btn{
    margin-top:18px;
  }
  .sec_link .box_btn a{
    padding: 15px 18px;
    outline-offset: -4px;
    border-radius:50px;
  }
}
/* sec_bnr ==========================*/
.sec_bnr{
  padding-top: 10px;
  padding-bottom: 20px;
  background-color: #99d6e1;
}
.sec_bnr .area_bnr{
  width: 84%;
  margin: 0 auto;
}
