@charset "UTF-8";
html,body{
  scroll-behavior: smooth;
}
/*= SP/ベース =*/
/*= 共通 =*/
#main {
  .section {
    text-align: center;
  }
  .section:nth-child(odd){
    background: #eeeef1;
  }
  .section-inner {
    padding:
      clamp(80px,(160 / 750) * 100vw,160px)
      clamp(20px,(40 / 750) * 100vw,40px);
  }
  .section-title {
    margin-bottom: 
      clamp(31px,(62 / 750) * 100vw,62px);
  }
  .section-body {
  }
}

/*= fv =*/
#main .section-lead {
}

/*= 追従ボタン =*/
.oc-badge {
  display: inline-block;
  position: fixed;
  right: 14px;
  bottom: 14px;
  z-index: 3;
  max-width: 40%;
  a {
    display: inline-block;
  }
  .oc-date {
    position: relative;
  }
  .oc-date:before {
    content: "";
    position: absolute;
    width: 100%;
    height: 100%;
    background: #ffe580;
    border: 2px solid #333;
    border-radius: 8px;
    top: 5px;
    left: 5px;
    z-index: 0;
  }
  .oc-date__base {
    text-align: center;
    font-family: 'Noto Sans JP';
    font-weight: bold;
    font-size: clamp(14px,(16 / 1400) * 100vw,16px);
    line-height: 1;
    color: #333;
    padding: clamp(6px,(12 / 1400) * 100vw,12px) clamp(13px,(26 / 1400) * 100vw,13px);
    border: 2px solid #333;
    border-radius: 8px;
    background: #fff;
    position: relative;
    z-index: 2;
    letter-spacing: -.005rem;
  }
  .oc-date__l {
    font-size: clamp(22px,(30 / 1400) * 100vw,30px);
    padding: 0 6px;
    line-height: 1;
  }
  img{
    width: auto;
    vertical-align: bottom;
    position: relative;
    bottom: -1px;
  }
}


/*= リード =*/
#main .section-lead {
  background-image: linear-gradient(90deg, #eeb4cd, #f6eace);
  .section-inner {
    padding: clamp(24px,(48 / 750) * 100vw,48px) 0;
  }
}

/*= section1 _ feature =*/
#main .section1 {
  .section-inner {
    padding:
      clamp(60px,(120 / 750) * 100vw,120px)
      clamp(20px,(40 / 750) * 100vw,40px)
      clamp(70px,(140 / 750) * 100vw,140px)
  }
  .foryaer-list {
    display: flex;
    flex-direction:column;
    gap: clamp(28px,(56 / 750) * 100vw,56px);
  }
  .anchorlink-list {
    margin-top: clamp(48px,(96 / 750) * 100vw,96px);
    display: grid;
    grid-template-columns: repeat(2,1fr);
    gap: clamp(15px,(30 / 750) * 100vw,30px);
  }
}

/*= section2 _ よくある悩み =*/
#main .section2 {
  .qa-item {
    display: flex;
    flex-direction: column;
    gap: clamp(40px,(80 / 750) * 100vw,80px);
  }
  .qa-item:not(:last-of-type) {
    padding-bottom: clamp(80px,(160 / 750) * 100vw,160px);
  }
  .qa-links {
    max-width: clamp(260px,(570 / 750) * 100vw,570px);
    margin: 0 auto;
    display: flex;
    flex-direction: column;
    gap: clamp(20px,(40 / 750) * 100vw,40px);
  }
  .qa-links a{
    display: inline-block;
  }
}

/*= section3 _ 在校生リアルトーク =*/
#main .section3 {
  .talk-list {
    display: flex;
    flex-direction:column;
    gap: clamp(55px,(110 / 750) * 100vw,110px);
  }
  .talk-list .talk-item{
    display: flex;
    flex-direction:column;
    gap: clamp(17px,(38 / 750) * 100vw,38px);
  }
}

/*= section4 _ 進路選択から入学までのスケジュール =*/
#main .section4 {
  .deco-top {
    display: none;
  }
  .schedule-list {
    display: flex;
    flex-direction:column;
    gap: clamp(30px,(60 / 750) * 100vw,60px);
  }
  .deco-btm {
    margin-top: clamp(24px,(48 / 750) * 100vw,48px);
  }
  .schedule-item a{
    display: inline-block;
  }
}

/*= section5 _ アイならこんな職業を目指せる =*/
#main .section5 {
  .section-inner {
    padding-bottom: clamp(40px,(80 / 750) * 100vw,80px);
  }
  .course-list {
    display: flex;
    flex-direction: column;
    gap: clamp(40px,(80 / 750) * 100vw,80px);
  }
  .course-item {
    position: relative;
  }
  .course-item .item-inner {
    background: #fff;
    border-radius: 10px;
    border: 2px solid #333;
    width: calc(100% - 3px);
    position: relative;
    z-index: 2;
    text-align: right;
  }
  .course-item:before {
    content: "";
    position: absolute;
    width: 100%;
    height: 100%;
    background: #f8678b;
    left: 1px;
    top: 5px;
    border-radius: 14px;
    border: 2px solid #333;
    z-index: 1;
  }
  .course-item .item-inner a{
    display: inline-block;
    width: clamp(135px,(270 / 750) * 100vw,270px);
    margin: 
     clamp(23px,(46 / 750) * 100vw,46px)
     clamp(18px,(36 / 750) * 100vw,36px)
     clamp(24px,(48 / 750) * 100vw,48px)
     0;
  }
  .btn-wrapper {
    margin-top: clamp(72px,(144 / 750) * 100vw,144px);
  }
  .btn-wrapper a{
    display: inline-block;
    max-width: clamp(260px,(570 / 750) * 100vw,570px);
  }
}

/*= section6 _ OCに参加した1・2年生の声を紹介！ =*/
#main .section6 {
  .section-inner {
    padding-bottom: 0;
  }
  .voice-item {
    position: relative;
    z-index: 2;
    translate:0 clamp(20px,(40 / 750) * 100vw,40px);
  }
  .bg-img {
    padding:0 clamp(20px,(40 / 750) * 100vw,40px);
  }
}

/*= section7 _ インスタ =*/
#main .section7 {
  .section-body__inner {
    overflow-x: scroll;
  }
  .inst-wrapper {
    width: 225%;
  }
}

/*= ページフッター =*/
#main .page-footer {
  background-image:url(../img/start-guide/footer_bg_sp.webp) ;
  background-repeat: no-repeat;
  background-size: cover;
  .cta-list {
    display: flex;
    flex-direction: column;
    gap: clamp(25px,(50 / 750) * 100vw,50px);
  }
  .cta-item a{
    display: inline-block;
    max-width: clamp(260px,(570 / 750) * 100vw,570px);
  }
}


/*= タブレット以上(min-width:769px) =*/
/*= 共通 =*/
@media screen and (min-width:769px){
  #main {
    .section-inner {
      max-width: 1200px;
      margin: 0 auto;
      padding-top: 120px;
      padding-bottom: 160px;
      position: relative;
      box-sizing: content-box;
    }
    .section-title {
      margin-bottom: 54px;
    }
    .section-title img {
      width: auto;
    }
  }
  .oc-badge {
    bottom: 100px;
  }

  /*= リード */
  #main .section-lead {
    .section-inner {
      padding: min(36px,(36 / 1400) * 100vw) 0 min(50px,(50 / 1400) * 100vw);
    }
  }

  /*= ページフッター =*/
  #main .page-footer {
    .cta-list {
      position: relative;
      z-index: 2;
      flex-direction: row;
      justify-content: center;
    }
  }
}

/*= PC以上(min-width:1024px) =*/
@media screen and (min-width:1024px){
  /*= 共通 =*/
  #main img{
    width:auto;
  }
  /*= 追従ボタン =*/
  .oc-badge {
    max-width: auto;
  }
  /*= fv =*/
  #main .section-lead {
    position: relative;
  }

  /*= section1 _ feature =*/
  #main .section1 {
    .foryaer-list {
      flex-direction: row;
      justify-content: center;
    }
    .anchorlink-list {
      margin-top: 50px;
      grid-template-columns: repeat(3,1fr);
      gap: 14px;
    }
  }

  /*= section2 _ よくある悩み =*/
  #main .section2 {
    .qa-item {
      gap: 42px;
    }
    .qa-item:not(:last-of-type) {
      padding-bottom: 90px;
    }
    .qa-links {
      flex-direction: row;
      justify-content: center;
      max-width: 100%;
      padding-top: 42px;
    }
  }

  /*= section3 _ 在校生リアルトーク =*/
  #main .section3 {
    .talk-list {
      gap: 78px;
    }
    .talk-list .talk-item {
      gap: 28px;
    }
    .talk-theme {
      text-align: left;
    }
    .talk-reply {
      text-align: right;
    }
  }

  /*= section4 _ 進路選択から入学までのスケジュール =*/
  #main .section4 {
    .section-body__inner {
      position: relative;
    }
    .schedule-list {
      display: grid;
      grid-template-columns: repeat(2,1fr);
      row-gap: 0;
    }
    .schedule-item:nth-of-type(even) {
      translate: 0 200px;
    }
    .deco-top {
      position: absolute;
      display: inline-block;
      top: 82px;
      width: min(100%,(307 / 1400) * 100vw);
      text-align: left;
    }
    .deco-btm {
      position: absolute;
      right: 0;
      bottom: 24px;
      width: min(100%,(460 / 1400) * 100vw);
      text-align: right;
    }
  }

  /*= section5 _ こんな職業を目指せる =*/
  #main .section5 {
    .course-item {
      position: relative;
    }
    .course-item .item-inner a {
      position: absolute;
      right: 0;
      top: 0;
      width: min(200px,(200 / 1400) * 100vw);
      margin-top: min(48px, (48 / 1400) * 100vw);
      margin-right: min(48px, (48 / 1400) * 100vw);
      margin-bottom:0 ;
    }
  }

  /*= section6 _ OCに参加した1・2年生の声を紹介！ =*/
  #main .section6 {
    position: relative;
    .section-inner {
      padding-bottom: min(164px,(164 / 1400) * 100vw);
    }
    .voice-list {
      display: flex;
      justify-content: center;
      gap: min(36px,(36 / 1400) * 100vw);
    }
    .voice-item {
      translate: 0;
      width: min(272px,(272 / 1400) * 100vw);
    }
    .voice-list__midrow {
      margin: min(36px,(36 / 1400) * 100vw) 0;
    }
    .bg-img {
      padding: 0;
      position: absolute;
      width: 100%;
      bottom: min(308px,(308 / 1400) * 100vw);
    }
    
  }

  /*= ページフッター =*/
  #main .page-footer {
    background-image:url(../img/start-guide/footer_bg_pc.webp) ;
  }
}

/*= プラグインcss上書き =*/
@media (max-width: 480px) {
  #sb_instagram.sbi_mob_col_2 #sbi_images {
    grid-template-columns: repeat(4, 1fr) !important;
  }
}
@media (max-width: 1024px) {
  #sb_instagram #sbi_images {
    grid-template-columns: repeat(8, 1fr) !important;
  }
}