@charset "UTF-8";
.main_wrapper {
  padding: 0 0 130px;
  position: relative;
  z-index: 0;
  min-width: 1280px;
}
@media screen and (max-width: 768px) {
  .main_wrapper {
    min-width: initial;
    max-width: initial;
    padding: 0;
    margin-bottom: 60vw;
  }
}
/* MV */
.main_image {
  position: relative;
  max-width: 1440px;
  aspect-ratio: 1440/796;
  padding-top: clamp(308px, 24.72vw, 356px);
  margin: 0 auto;
  box-sizing: border-box;
  background: url(../../images/mainvisual.webp) center top/cover no-repeat;
  overflow: hidden;

  .inner{
    padding: 0 30px 0 50px;
    margin: 0 auto;
    box-sizing: border-box;
  }
 .catch {
    position: absolute;
    top: clamp(71.11px, 5.56vw, 80px);
    left: clamp(151.11px, 11.81vw, 170px);
    z-index: 1;
  }
  .lead_wrapper{
    text-align: center;
  }
 
  .catch_lead {
    display: inline-block;
    position: relative;
    font-size: clamp(32.89px, 2.57vw, 37px);
    font-weight: bold;
    color: #444;
    padding: 0 clamp(49.78px, 3.89vw, 56px);
    margin-bottom: clamp(3.56px, 0.28vw, 4px);
    line-height: 1;
    .blue, .excl { 
      color: #63BFEF;
    }
    .excl{
      font-size: clamp(57.78px, 4.51vw, 65px);
      display: inline-block;
      transform: rotate(15deg);
      position: relative;
      right: clamp(8.89px, 0.69vw, 10px);
      bottom: clamp(-10px, -0.69vw, -8.89px);
    }
    .blue { 
      font-size: clamp(44.44px, 3.47vw, 50px); 
    }
    &::before,
    &::after {
      content: "";
      position: absolute;
      top: 50%;
      width: clamp(36.44px, 2.85vw, 41px);
      height: clamp(48px, 3.75vw, 54px);
      transform: translateY(-20%);
    }
    &::before { 
      left: clamp(1.78px, 0.14vw, 2px);
      background: url(../../images/mv_l.webp) center / contain no-repeat;
    }
    &::after  { 
      right: clamp(28.44px, 2.22vw, 32px); 
      background: url(../../images/mv_r.webp) center / contain no-repeat;;
      }
  }
 
  .catch_main {
    display: flex;
    align-items: center;
    column-gap: clamp(10.67px, 0.83vw, 12px);
    margin-bottom: clamp(21.33px, 1.67vw, 24px);
    .aligner { width: clamp(133.33px, 10.42vw, 150px); flex-shrink: 0; }
    .catch_title {
      font-size: clamp(51.56px, 4.03vw, 58px);
      font-weight: bold;
      color: #333;
      letter-spacing: 0.04em;
      background: linear-gradient(to right, #A1D8F5, #63BFEF) bottom / 100% clamp(3.56px, 0.28vw, 4px) no-repeat;
      padding-bottom: clamp(5.33px, 0.42vw, 6px);
    }
  }
 
  .area_wrapper{
    text-align: center;
  }
  .area_btn {
    display: inline-block;
    background: #63BFEF;
    padding: clamp(7.11px, 0.56vw, 8px) clamp(33.78px, 2.64vw, 38px);
    border-radius: clamp(8.89px, 0.69vw, 10px);
    margin-bottom: clamp(12.44px, 0.97vw, 14px);
    font-weight: bold;
  }
  .area_text{
    color: #fff;
    font-size: clamp(24.89px, 1.94vw, 28px);
    font-weight: bold;
    letter-spacing: 0.1em;
    line-height: 1.3;
    filter:drop-shadow(0px 0px clamp(12.44px, 0.97vw, 14px) rgba(0, 0, 0, 0.25));
    span 
    { 
      letter-spacing: 0.1em;
      font-size: clamp(32px, 2.5vw, 36px);
      font-weight: bold; 
    }
  }
 
  .clinic {
    font-size: clamp(82.67px, 6.46vw, 93px);
    font-weight: bold;
    background: radial-gradient(circle at 50% -50%, #72A4D1, #30518A);
    -webkit-background-clip: text;
    -webkit-text-fill-color: transparent;
    letter-spacing: 0.1em;
    margin-bottom: clamp(17.78px, 1.39vw, 20px);
    text-align: center;
    line-height: 1;
  }
 
  /* ===== 価格 ===== */
  .price { 
    display: flex; 
    flex-direction: column; 
    row-gap: clamp(14.22px, 1.11vw, 16px); 
  }
 
  .price_row {
    display: flex;
    align-items: center;
    column-gap: clamp(5.33px, 0.42vw, 6px);
 
    .tag {
      flex-shrink: 0;
      background: #E26F94;
      color: #fff;
      font-size: clamp(24.89px, 1.94vw, 28px);
      padding: clamp(10.67px, 0.83vw, 12px) clamp(16px, 1.25vw, 18px);
      white-space: nowrap;
    }
    .price_text {
      font-size: clamp(24.89px, 1.94vw, 28px);
      font-weight: bold;
      color: #333;
      line-height: 1;
      margin-bottom: clamp(8.89px, 0.69vw, 10px);
      .num { 
        color: #E26F94; 
        font-size: clamp(94.22px, 7.36vw, 106px); 
        margin: 0 clamp(5.33px, 0.42vw, 6px); 
        letter-spacing: 0.02em; 
        line-height: 1;
        font-family: 'Noto Serif Tamil', serif;
        font-style: italic;
        font-weight: 500;
      }
    }
    .note   { 
      font-size: clamp(14.22px, 1.11vw, 16px); 
      color: #333; 
      margin-top: clamp(8.89px, 0.69vw, 10px); 
      text-align: right;
    }
    .note02 { 
      font-size: clamp(14.22px, 1.11vw, 16px); 
      color: #333; 
      margin-left: clamp(8.89px, 0.69vw, 10px); 
    }
    .case   { 
      width: clamp(132.44px, 10.35vw, 149px); 
      flex-shrink: 0; 
    }
  }
 
  /* ===== 右下：0円バッジ ===== */
  .circles {
    position: absolute;
    right: clamp(88.89px, 6.94vw, 100px);
    bottom: clamp(53.33px, 4.17vw, 60px);
    width: clamp(443.56px, 34.65vw, 499px);
    height: clamp(212.44px, 16.6vw, 239px);
    display: flex;
    column-gap: clamp(21.33px, 1.67vw, 24px);
    z-index: 1;
  }
}

/* MV 1921~  */
@media screen and (min-width: 1921px) {
  .main_image {
    max-width: none;
    width: 100%;
 
    .catch {
      top: 4.17vw;
      left: 8.85vw;
    }
 
    .catch_lead {
      font-size: 1.93vw;
      padding: 0 2.92vw;
      margin-bottom: 0.21vw;
      .excl {
        font-size: 3.39vw;
        right: 0.52vw;
        bottom: -0.52vw;
      }
      .blue {
        font-size: 2.60vw;
      }
      &::before,
      &::after {
        width: 2.14vw;
        height: 2.81vw;
      }
      &::before { left: 0.10vw; }
      &::after  { right: 1.67vw; }
    }
 
    .catch_main {
      column-gap: 0.63vw;
      margin-bottom: 1.25vw;
      .aligner { width: 7.81vw; }
      .catch_title {
        font-size: 3.02vw;
        background: linear-gradient(to right, #A1D8F5, #63BFEF) bottom / 100% 0.21vw no-repeat;
        padding-bottom: 0.31vw;
      }
    }
 
    .area_btn {
      padding: 0.42vw 1.98vw;
      border-radius: 0.52vw;
      margin-bottom: 0.73vw;
    }
    .area_text {
      font-size: 1.46vw;
      filter: drop-shadow(0px 0px 0.73vw rgba(0, 0, 0, 0.25));
      span { font-size: 1.88vw; }
    }
 
    .clinic {
      font-size: 4.84vw;
      margin-bottom: 1.04vw;
    }
 
    .price { row-gap: 0.83vw; }
 
    .price_row {
      column-gap: 0.31vw;
      .tag {
        font-size: 1.46vw;
        padding: 0.63vw 0.94vw;
      }
      .price_text {
        font-size: 1.46vw;
        margin-bottom: 0.52vw;
        .num {
          font-size: 5.52vw;
          margin: 0 0.31vw;
        }
      }
      .note    { font-size: 0.83vw; margin-top: 0.52vw; }
      .note02  { font-size: 0.83vw; margin-left: 0.52vw; }
      .case    { width: 7.76vw; }
    }
 
    .circles {
      right: 5.21vw;
      bottom: 3.13vw;
      width: 25.99vw;
      height: 12.45vw;
      column-gap: 1.25vw;
    }
  }
}

/* MV sp */
@media screen and (max-width: 768px) {
  .main_image {
    position: relative;
    width: initial;
    height: 138vw;
    padding-top: 27.3vw;
    aspect-ratio: initial;
    box-sizing: border-box;
    background: url(../../images/mainvisual_sp.webp) right 40% top/cover no-repeat;
    overflow: visible;
 
    .inner {
      display: flex;
      flex-direction: column;
      align-items: flex-start;
      padding: 12vw 5vw 0 3vw;
      box-sizing: border-box;
    }
 
    .catch { display: contents; }
    .circles { order: 1; }
    .price   { order: 2; }
 
    /* 1. 人生を変える！ */
    .lead_wrapper {
      text-align: left;
      margin-bottom: 1.86vw;
    }
    .catch_lead {
      font-size: 4.8vw;
      padding: 0 7.45vw;
      margin-bottom: 2vw;
      .blue { 
        font-size: 7vw; 
      }
      .excl {
        font-size: 10.7vw;
        right: 1.86vw;
        bottom: -1.86vw;
      }
      &::before,
      &::after {
        width: 5.58vw;
        height: 7.45vw;
      }
      &::before { 
        left: 0; 
        background: url(../../images/mv_l_sp.webp) center / contain no-repeat;
      }
      &::after  { 
        right: 6.93vw; 
        background: url(../../images/mv_r_sp.webp) center / contain no-repeat;
      }
    }
 
    /* 2. マウスピース矯正（2行）＋ アライナー画像 */
    .catch_main {
      position: relative; 
      display: block;
      align-self: stretch;
      margin-bottom: 9vw;
      .aligner {
        position: absolute; 
        top: 17vw;
        right: 40vw;
        width: 18.61vw;
        z-index: 1;
        img { 
          width: 100%; 
          height: auto; 
          display: block; 
        }
      }
      .catch_title {
        font-size: 7.5vw;
        line-height: 1.2;
        padding-bottom: 0.93vw;
        background-size: 100% 0.93vw;
        text-align: center;
        display: inline-block;
        padding-left: 4vw;
        background: none;
      }
    }
 
    /* 3. 東北エリアで矯正するなら（青ボタン・中央） */
    .area_wrapper {
      align-self: stretch;
      text-align: left;
      margin-bottom: 3.26vw;
      padding-left: 4vw;
    }
    .area_btn {
      padding: 1.3vw 4.19vw;
      border-radius: 1.86vw;
      margin-bottom: 0;
    }
    .area_text {
      font-size: 4vw;
      span { font-size: 4.93vw; }
    }
 
    /* 4. 高橋衛歯科医院（中央・大） */
    .clinic {
      align-self: stretch;
      text-align: left;
      font-size: 11vw;
      margin-bottom: 2.79vw;
      padding-left: 4vw;
      filter:drop-shadow(0px 0px 6px rgba(160, 213, 243, 0.6));
      background: none;
      -webkit-background-clip: border-box;
      background-clip: border-box;
      -webkit-text-fill-color: #30518A;
      color: #30518A;
    }
 
    /* 5. 0円バッジ（中央） */
    .circles {
      position: static;
      align-self: center;
      display: block;
      width: 72.5vw;
      height: auto;
      margin-bottom: 2.33vw;
      img { width: 100%; height: auto; display: block; }
    }
 
    /* 6. 価格（左寄せ） */
    .price {
      align-self: stretch;
      row-gap: 0;
      padding-left: 4vw;
    }
    .price_row {
      position: relative;
      margin-bottom: 3vw;
      flex-wrap: wrap; 
      column-gap: 1.86vw;
      .price_body { 
        display: contents; 
      }
 
      .tag {
        font-size: 4vw;
        padding: 1.12vw 2.33vw;
      }
      .price_text {
        font-size: 4.84vw;
        margin-bottom: 0;
        .num { 
          font-size: 12.3vw; 
          margin: 0 0.93vw; 
        }
      }
      .note {
        flex: 0 0 100%;  
        font-size: 3.2vw;
        margin-top: 1.12vw;
        text-align: left;
      }
      .note02 {
        display: block; 
        font-size: 2.98vw;
        margin-top: 1.12vw;
        margin-left: 0;
      }
      .case {
        position: absolute; 
        right: 0;
        bottom: -10vw;
        width: 27.8vw;
        z-index: 1;
        img { 
          width: 100%; 
          height: auto; 
          display: block; 
        }
      }
    }
    .price_row:last-of-type{
      margin-bottom: 0;
    }
    .note02{
      font-size: 3.32vw;
      line-height: 1;
    }
  }
}





/* sec01 */
.sec01{
  margin-bottom: 80px;
  background-image: linear-gradient(180deg, rgba(209, 253, 254, 0), rgba(255, 245, 239, 1));
  .cont01{
    margin-bottom: 100px;
    .flexbox{
      column-gap: 28px;
    }
    .textbox{
      font-size: 46px;
      text-align: left;
      line-height: 1.5;
      .pink{
        font-size: 63px;
        color: #E26F94;
        letter-spacing: 0.1em;
        font-family: 'Noto Serif Tamil', serif;
        font-style: italic;
      }
      .small{
        font-size: 26px;
      }
      .line{
        border-bottom: 2px solid #9C812B;
        padding-bottom: 5px;
      }
    }
  }
  .cont02{
    padding-bottom: 100px;
    .flexbox{
      column-gap: 60px;
    }
    .box{
      background-image: linear-gradient(
      135deg,
      rgba(156,129,43,1.0)  0%,
      rgba(156,129,43,0.8) 15%,
      rgba(156,129,43,0.5) 30%,
      rgba(156,129,43,0.5) 34%,
      rgba(156,129,43,0.8) 48%,
      rgba(156,129,43,1.0) 100%
      );
      width: 100%;
      max-width: 492px;
      height: 183px;
      position: relative;
      display: flex;
      align-items: flex-end;
      padding-bottom: 42px;
      padding-left: 45px;
      &::after{
        content: "";
        position: absolute;
        inset: 10px;
        border: 1px solid rgba(255, 255, 255, 0.8);
      }

      .box_text{
        font-size: 36px;
        font-weight: bold;
        color: #fff;
        line-height: 1.3;
        text-shadow: 0 4px 4px rgba(0,0,0,0.15);
        position: relative;
        &::before{
          content: "";
          position: absolute;
          width: 238px;
          height: 68px;
          left: -46px;
          top: -70px;
          z-index: 5;
          background: url(../../images/invisalign_2.webp) center / contain no-repeat;
        }
        &::after{
          content: "";
          position: absolute;
          width: 278px;
          height: 183px;
          right: -76px;
          top: -125px;
          z-index: 5;
          background: url(../../images/sec01_2.webp) center / contain no-repeat;
        }
      }
      .small01{
        font-size: 32px;
        text-shadow: none;
      }
    }
    .box02{
      .box_text{
        font-size: 36px;
        font-weight: 500;
        font-feature-settings: "palt";
        line-height: 1.3;
        letter-spacing: 0.08em;
        position: relative;
        &::after{
          content: "";
          position: absolute;
          width: 395px;
          height: 148px;
          right: -66px;
          top: -110px;
          z-index: 5;
          background: url(../../images/sec01_3.webp) center / contain no-repeat;
        }
        &::before{
          display: none;
        }
      }
      .yellow{
        font-size: 67px;
        color: #F5EB8F;
        font-feature-settings: "palt";
        line-height: 1;
        font-family: 'Noto Serif Tamil', serif;
      }
      .small02{
        font-size: 20px;
        font-feature-settings: "palt";
      }
    }
    
  }
  @media screen and (max-width: 768px) {
    margin-bottom: 5.8vw;

    .cont01 {
      margin-bottom: 25vw;

      .flexbox {
        flex-direction: row-reverse;
        column-gap: 0;
        row-gap: 4vw;
        align-items: center;
        position: relative;
      }

      .imagebox{
        position: absolute;
        right: 0;
        bottom: -8vw;
        min-width: initial;
        width: 21.3vw;
        transform: scaleX(-1);
      }
      .textbox {
        font-size: 6.5vw;
        text-align: left;

        .pink {
          font-size: 10.6vw;
        }
        .small{
          font-size: 4.8vw;
        }
        .line{
          padding-bottom: 0;
        }
      }
    }

    .cont02 {
      padding-bottom: 13.33vw;

      .flexbox {
        flex-direction: column;
        column-gap: 0;
        row-gap: 8vw;
        align-items: center;
      }

      .box {
        max-width: 100%;
        width: 82vw;
        height: 33.4vw;
        padding-bottom: 5.6vw;
        padding-left: 6vw;

        &::after {
          inset: 3.33vw;
        }

        .box_text {
          font-size: 5.8vw;

          &::before {
            width: 36.5vw;
            height: 9.07vw;
            left: -6.13vw;
            top: -14vw;
            background: url(../../images/invisalign_sp.webp) center / contain no-repeat;
          }

          &::after {
            width: 41vw;
            height: 27.4vw;
            right: -3vw;
            top: -28vw;
          }
        }

        .small01 {
          font-size: 5.6vw;
        }
      }

      .box02 {
        .box_text {
          font-size: 5.9vw;

          &::after {
            width: 82.9vw;
            height: 19vw;
            right: 2.5vw;
            top: -22vw;
            background: url(../../images/sec01_3_sp.webp) center / contain no-repeat;
          }
        }

        .yellow {
          font-size: 9.9vw;
        }

        .small02 {
          font-size: 4vw;
        }
      }
    }
  }
}

/* sec02 */
.sec02{
  margin-bottom: 100px;
  .sec_header{
    text-align: center;
    margin-bottom: 40px;
    position: relative;
    &::before{
      content: "";
      position: absolute;
      width: 100px;
      height: 145px;
      left: clamp(120px, calc(50vw + -470px), 250px);
      bottom: 0;
      background: url(../../images/sec02_1.webp) center / contain no-repeat;
    }
    &::after{
      content: "";
      position: absolute;
      width: 93px;
      height: 145px;
      right: clamp(120px, calc(50vw + -470px), 250px);
      bottom: 0;
      background: url(../../images/sec02_2.webp) center / contain no-repeat;
    }
  }
  .sec_title{
    font-size: 40px;
    position: relative;
    display: inline-block;
    &::before{
      content: "";
      position: absolute;
      width: 59.5px;
      height: 59px;
      left: 0;
      bottom: 50%;
      transform: translateY(-10%);
      background: url(../../images/sec02_l.webp) center / contain no-repeat;
    }
    &::after{
      content: "";
      position: absolute;
      width: 59.5px;
      height: 59px;
      right: 0;
      bottom: 50%;
      transform: translateY(-10%);
      background: url(../../images/sec02_r.webp) center / contain no-repeat;
    }
    .pink{
      font-size: 60px;
      color: #E26F94;
      letter-spacing: 0.1em;
    }
    .big{
      font-size: 60px;
      letter-spacing: 0.1em;
    }
  }
  .cont01{
    margin: 40px 0;
    .flexbox{
      column-gap: 30px;
      .box_text{
        color: #fff;
        background-color: #E26F94;
        padding: 5px 15px;
        display: flex;
        align-items: center;
        justify-content: center;
        font-size: clamp(26px, 1.983vw, 30px);
        text-align: center;
      }
    }
  }
  .cont02{
    .gridbox{
      grid-template-columns: repeat(5, minmax(0, 1fr));
      column-gap: 10px;
    }
  }
  @media screen and (max-width: 768px) {
    margin-bottom: 33.33vw;

    .sec_header {
      margin-bottom: 7vw;

      &::before{
        width: 13.8vw;
        height: 20vw;
        left: 4vw;
        bottom: 11vw;
      }
      &::after {
        bottom: 11vw;
        right: 3vw;
        height: 20.8vw;
        width: 13.3vw;
      }
    }

    .sec_title {
      font-size: 6.4vw;

      &::before,
      &::after {
        width: 10.6vw;
        height: 10.4vw;
        transform: translateY(100%);
      }
      &::before{
        left: -10vw;
        background: url(../../images/sec02_l_sp.webp) center / contain no-repeat;
      }
      &::after{
        right: -10vw;
        background: url(../../images/sec02_r_sp.webp) center / contain no-repeat;
      }

      .pink { font-size: 8vw; }
      .big  { font-size: 8vw; }
    }

    .cont01 {
      margin: 5.33vw 0;

      .flexbox {
        display: grid;
        grid-template-columns: repeat(2, 1fr);
        flex-wrap: wrap;
        column-gap: 2vw;
        row-gap: 2vw;

        .box_text {
          font-size: 5vw;
          padding: 1vw 1vw;
          width: 46vw;
          letter-spacing: 0.03em;
          font-feature-settings: "palt";
        }
      }
    }

    .cont02 {
      .gridbox {
        grid-template-columns: repeat(6, minmax(0, 1fr));
        column-gap: 1.33vw;
        row-gap: 1.33vw;

        .box:nth-child(1) { grid-column: 1 / 3; }
        .box:nth-child(2) { grid-column: 3 / 5; }
        .box:nth-child(3) { grid-column: 5 / 7; }
        .box:nth-child(4) { grid-column: 2 / 4; }
        .box:nth-child(5) { grid-column: 4 / 6; }
      }
    }
  }
}

/* sec03 */
.sec03{
  margin: 80px 0 100px;
  .bg_box{
    background-color: #FCF5EA;
    max-width: 1200px;
    margin: 0 auto;
    position: relative;
  }
  .cont01{
    padding-top: 64px;
    position: relative;
    margin-bottom: 30px;
    &::before {
      content: "";
      position: absolute;
      width: clamp(320px, 26.333vw, 408px);
      height: clamp(210px, 19.167vw, 276px);
      left: clamp(-50px, -5.167vw, -60px);
      bottom: clamp(50px, 1.389vw, 20px);
      background: url(../../images/sec03_1.webp) center / contain no-repeat;
    }
    &::after{
      content: "";
      position: absolute;
      width: 91px;
      height: 125px;
      right: 160px;
      bottom: 20px;
      background: url(../../images/sec03_2.webp) center / contain no-repeat;
    }
    .textbox{
      max-width: 631px;
      margin: 0 250px 0 auto;  
    }
    .box_text{
      background-color: #fff;
      border: 2px solid #E26F94;
      max-width: 284px;
      font-size: 28px;
      border-radius: 10px;
      text-align: center;
      line-height: 1;
      padding: 5px 0 10px;
      margin-bottom: 12px;
      margin-left: 40px;
      span{
        font-size: 44px;
        font-family: serif;
        font-weight: bold;
      }
    }
    .box_title {
      display: inline-flex;
      font-size: 60px;
      font-weight: bold;
      align-items: center;
      span{
        display: inline-flex;
        align-items: center;
        justify-content: center;
        width: 130px;
        height: 130px;
        border-radius: 50%;
        background: #E26F94;
        color: #fff;
        font-size: 80px;
        font-weight: bold;
        line-height: 1;
      }
      span:not(:first-child) {
        margin-left: -25px;
      }
      span:first-child {
        position: relative;
        z-index: 2;
      }
    }
  }
  .cont02{
    padding-left: 100px;
    .pink{
      color: #E26F94;
      font-weight: bold;
    }
    .box{
      margin-bottom: 50px;
      .box_text{
        font-weight: bold;
        font-size: 30px;
      }
      .box_text02{
        display: inline-block;
        font-size: 40px;
        line-height: 1.3;
        background: linear-gradient(#f5eb8f, #f5eb8f) left calc(100% - 0px) / 100% 22px no-repeat;
        .big{
          font-size: 60px;
        }
        .big02{
          font-size: 70px;
        }
      }
    }
    .flexbox{
      column-gap: 10px;
      align-items: flex-start;
      justify-content: flex-start;
      position: relative;
      &::before{
        content: "";
        position: absolute;
        left: -120px;
        bottom: 20px;
        width: 250px;
        height: 250px;
        background: url(../../images/sec03_4.webp) center / contain no-repeat;
      }
      &::after {
        content: "";
        position: absolute;
        right: clamp(-20px, -2.778vw, -40px);
        bottom: clamp(40px, 11.25vw, 90px);
        width: clamp(310px, 25.083vw, 395px);
        height: clamp(267px, 22.153vw, 321px);
        background: url(../../images/sec03_3_2.webp) center / contain no-repeat;
      }
      .box_text{
        font-size: 24px;
        line-height: 1.8;
        .big{
          font-size: 60px;
        }
        .big02{
          font-size: 32px;
        }
        .small{
          font-size: 18px;
        }
      }
    }
  }
  @media screen and (max-width: 768px) {
    margin: 10.67vw 0 0vw;

    .inner{
      padding: 0;
    }
    .cont01 {
      padding-top: 8.53vw;
      margin-bottom: 4vw;

      &::before {
        width: 48.5vw;
        height: 38.4vw;
        left: 3vw;
        bottom: 20vw;
        background: url(../../images/sec03_1_sp.webp) center / contain no-repeat;
      }

      &::after {
       width: 14.56vw;
       height: 18vw;
       right: 1vw;
       bottom: -4vw;
      }

      .textbox {
        max-width: 100%;
        margin: 0 auto;
        padding: 0 5.33vw;
        text-align: center;
      }

      .box_text {
        max-width: 46.4vw;
        font-size: 5vw;
        border-radius: 1.33vw;
        padding: 1.33vw 0 2vw;
        margin-bottom: 5vw;
        margin-left: auto;

        span {
          font-size: 6.5vw;
        }
      }

      .box_title {
        font-size: 8vw;
        justify-content: center;

        span {
          width: 16.8vw;
          height: 16.8vw;
          font-size: 9.5vw;
        }

        span:not(:first-child) {
          margin-left: -3.33vw;
        }
      }
    }
    .cont02 {
      padding-left: 5.33vw;
      padding-right: 5.33vw;
      padding-bottom: 6.67vw;

      .box {
        margin: 0 auto 1vw;
        padding-left: 4vw;
        position: relative;
        z-index: 5;
        .box_text {
          font-size: 5.4vw;
          font-weight: initial;
          width: initial;
          text-align: left;
        }

        .box_text02 {
          font-size: 4vw;
          background: none;
          display: block;
          text-align: left;
          .big {
            font-size: 5.4vw;
          }
          .big02 {
            font-size: 7vw;
            font-weight: initial;
            background: linear-gradient(#f5eb8f, #f5eb8f) left calc(100% - 0px) / 100% 22px no-repeat;
          }
        }
      }


      .flexbox {
        display: flex; 
        flex-direction: column;
        align-items: center;
        column-gap: 0;
        row-gap: 4vw;
        position: relative;
        z-index: 1;

        &::before {
          width: 36.6vw;
          height: 36.6vw;
          left: -4vw;
          bottom: 37vw;
          opacity: 40%;
          z-index: -1;
        }


        &::after {
          content: "";
          position: absolute;
          width: 32.8vw;
          height: 36vw;
          right: 4vw;
          top: 6vw; 
          z-index: -1;
          background: url(../../images/sec03_3_2_sp.webp) center / contain no-repeat;
        }


        .textbox {
          width: 100%;
          padding-left: 4vw;

          .box_text {
            font-size: 4vw;
            .big { font-size: 6.3vw; }
            .big02 { font-size: 4.27vw; }
          }
        }

        .imagebox {
          min-width: initial;
          width: 29vw;   
          align-self: center;
          margin-left: -27vw;  
          margin-bottom: 0;
        }

        .small {
          align-self: center;
          font-size: 4vw;
          margin: 0;
          text-align: center;
          margin-top: -5vw;
        }
      }
    }
    
  }
}

/* sec04 */
.sec04{
  margin-bottom: 80px;
  background-color: #63BFEF;
  .inner{
    padding: clamp(151.1px, 11.806vw, 170px) clamp(80px, 5.375vw, 135px) clamp(88.9px, 6.944vw, 100px);
  }
  .sec_header{
    margin-bottom: 60px;
    text-align: center;
    letter-spacing: 0.1em;
    position: relative;
    z-index: 1;
    &::before{
      content: "？";
      position: absolute;
      font-size: 310px;
      font-family: serif;
      color: #9AD5F5;
      left: 50%;
      top: 50%;
      z-index: -1;
      transform: translate(-50%, -60%);
    }
    .sec_title{
      font-size: 50px;
      color: #30518A;
      font-weight: 600;
      text-shadow: 0 0px 10px rgba(255,255,255,0.9);
      span{
        font-size: 32px;
        font-weight: 600;
      }
    }
    
  }
  .cont01{
    .textbox{
      color: #fff;
      text-align: center;
      font-size: 50px;
      text-shadow: 0 0px 10px rgba(0,0,0,0.25);
      margin-bottom: 80px;
      span{
        font-size: 36px;
      }
      .line{
        font-size: 50px;
        border-bottom: 2px solid #F5EB8F;
      }
    }
    
  }
  .cont02{
    margin-bottom: 130px;
    .box{
      background-color: #fff;
      padding: 60px 90px 70px;
      position: relative;
      &::before{
        content: "";
        position: absolute;
        width: 114px;
        height: 144px;
        top: -90px;
        right: 50%;
        transform: translateX(50%);
        background: url(../../images/sec04_down.webp) center / contain no-repeat;
      }
      &::after{
        content: "";
        position: absolute;
        width: clamp(276.4px, 21.597vw, 311px);
        height: clamp(276.4px, 21.597vw, 311px);
        bottom: -100px;
        right: -20px;
        background: url(../../images/sec04_1.webp) center / contain no-repeat;
      }
      .box_text{
        font-size: clamp(44.4px, 3.472vw, 50px);
      }
      .blue{
        color: #63BFEF;
        font-weight: bold;
      }
      .small{
        font-size: 40px;
      }
      .gold{
        font-size: 80px;
        line-height: 1.3;
        color: #9C812B;
        background: linear-gradient(#f5eb8f, #f5eb8f) left calc(100% - 0px) / 100% 38px no-repeat;
      }
      .box_bottom{
        font-size: 18px;
      }
    }
  }
  .cont03{
    margin-bottom: 120px;
    .box_header{
      margin-bottom: 110px;
      .flexbox{
        column-gap: 10px;
      }
      .imagebox{
        bottom: 20px;
      }
      .textbox{
        font-size: 40px;
        color: #30518A;
        font-weight: bold;
        text-align: center;
        line-height: 1.3;
        .big{
          font-weight: bold;
          font-size: 50px;
        }
        .small{
          font-weight: bold;
          font-size: 30px;
        }
        .big02{
          font-weight: bold;
          font-size: 62px;
        }
      }
      .textbox02{
        display: inline-flex;
        gap: 15px;
        border-radius: 10px;
        position: relative;
        &::before{
          content: "";
          position: absolute;
          width: 66px;
          height: 55px;
          left: -30px;
          top: -30px;
          background: url(../../images/kira_l.webp) center / contain no-repeat;
        }
        &::after{
          content: "";
          position: absolute;
          width: 58px;
          height: 67px;
          right: -40px;
          bottom: 0px;
          background: url(../../images/kira_r.webp) center / contain no-repeat;
        }
        span{
          display: inline-flex;
          align-items: center;
          justify-content: center;
          width: 136px;
          height: 136px;
          border-radius: 10px;
          background: #fff;
          color: #30518A;
          font-size: 108px;
          font-weight: bold;
          line-height: 1;
        }
      }
    }
    .box_cont{
      .flexbox{
        flex-wrap: wrap;
        column-gap: 26px;
        row-gap: 32px;
        justify-content: center; 
      }
      .row1{
        margin-bottom: 32px;
      }
      .box{
        background-color: #fff;
        height: 263px;
        box-sizing: border-box;
        width: fit-content;  
        font-size: clamp(40.9px, 3.194vw, 46px);
        display: flex;
        flex-direction: column;
        justify-content: flex-end; 
        padding: 0 30px 30px;
        border-radius: 10px;
        position: relative;
        text-align: center;
        p{
          letter-spacing: 0.03em;
          font-feature-settings: "palt";
          line-height: 1.3;
        }

        .blue{
          font-weight: bold;
          color: #30518A;
        }
      }
      .box04, .box05{
        padding: 0 50px 30px;
      }
    }
    .box01::before{
      content: "";
      position: absolute;
      width: 203px;
      height: 144px;
      top: -50px;
      right: 50%;
      transform: translateX(50%);
      background: url(../../images/sec04_3.webp) center / contain no-repeat;
    }
    .box02::before{
      content: "";
      position: absolute;
      width: 173px;
      height: 164px;
      top: -60px;
      right: 50%;
      transform: translateX(50%);
      background: url(../../images/sec04_4.webp) center / contain no-repeat;
    }
    .box03::before{
      content: "";
      position: absolute;
      width: 330px;
      height: 171px;
      top: -60px;
      right: 50%;
      transform: translateX(50%);
      background: url(../../images/sec04_5.webp) center / contain no-repeat;
    }
    .box04::before{
      content: "";
      position: absolute;
      width: 283px;
      height: 118px;
      top: 0px;
      right: 50%;
      transform: translateX(50%);
      background: url(../../images/sec04_6.webp) center / contain no-repeat;
    }
    .box05::before{
      content: "";
      position: absolute;
      width: 168px;
      height: 112px;
      top: 0px;
      right: 50%;
      transform: translateX(50%);
      background: url(../../images/sec04_7.webp) center / contain no-repeat;
    }
  }
  .cont04{
    .textbox{
      text-align: center;
      color: #fff;
      font-size: 40px;
      font-weight: 600;
    }
    .big{
      font-weight: 600;
      font-size: 50px;

    }
    .blue{
      color: #30518A;
      background-color: #fff;
      font-size: 50px;
      font-weight: 600;
      padding: 5px 10px;
    }
    .line{
      border-bottom: 2px solid #F5EB8F;
      font-size: 50px;
      font-weight: bold;
    }
    .yellow{
      font-size: 50px;
      font-weight: 600;
      color: #F5EB8F;
    }
  }
  @media screen and (max-width: 768px) {
    margin-bottom: 10.67vw;

    .inner {
      padding: 20vw 5vw 10.67vw;
    }

    .sec_header {
      margin-bottom: 8vw;

      &::before {
        font-size: 41.33vw;
      }

      .sec_title {
        font-size: 7vw;

        span {
          font-size: 5vw;
        }
      }
    }

    .cont01 {
      .textbox {
        font-size: 5.5vw;
        margin-bottom: 6vw;
        line-height: 1.5;

        span {
          font-size: 4vw;
        }

        .line {
          font-size: 6.6vw;
        }
        img{
          width: 31%;
          min-width: initial;
        }
      }
    }

    .cont02 {
      margin-bottom: 17.33vw;

      .box {
        padding: 8vw 2vw 8vw;

        &::before {
          width: 15.2vw;
          height: 19.2vw;
          top: -12vw;
        }

        &::after {
          width: 31vw;
          height: 31vw;
          bottom: -13.33vw;
          right: -2.67vw;
        }
        .blue{
          font-size: 6.2vw;
          font-feature-settings: "palt";
        }

        .box_text {
          font-size: 5vw;
          text-align: center;
          line-height: 1.5;
        }
        .left_text {
          display: block;  
          text-align: left;
          font-weight: bold;
          font-feature-settings: "palt";
          line-height: 1.8;
        }

        .small {
          font-size: 5.33vw;
        }

        .gold {
          font-size: 7.2vw;
          font-weight: 600;
          background: linear-gradient(#f5eb8f, #f5eb8f) left calc(100% - 0px) / 100% 5.07vw no-repeat;
        }

        .box_bottom {
          font-size: 4vw;
          line-height: 1.5;
          margin-top: 5vw;
        }
      }
    }

  .cont03 {
    margin-bottom: 16vw;

    .box_header {
      margin-bottom: 14.67vw;
      position: relative;

      .flexbox {
        flex-direction: column;
        align-items: center;
        column-gap: 0;
        row-gap: 4vw;
        padding-right: 40vw;  
        box-sizing: border-box;
      }

      .imagebox {
        position: absolute;
        top: 0vw;
        right: -2vw;
        width: 40vw;
        min-width: initial;

        img {
          width: 100%;
          height: auto;
        }
      }

      .textbox {
        font-size: 5.33vw;
        text-align: center;

        .big   { font-size: 5vw; }
        .small { font-size: 4vw; }
        .big02 { font-size: 5vw; }
      }

      .textbox02 {
        gap: 2vw;
        border-radius: 1.33vw;

        &::before {
          width: 11.2vw;
          height: 9.33vw;
          left: -8vw;
          top: -2vw;
        }
        &::after {
          width: 10.2vw;
          height: 11.93vw;
          right: -4.33vw;
          bottom: -5vw;
        }
        span {
          width: 17.13vw;
          height: 17.13vw;
          font-size: 10.4vw;
          border-radius: 10px;
        }
      }
    }


    .box_cont {
      max-width: 84vw;
      margin: 0 auto;
      .flexbox {
        display: flex;   
        flex-direction: row;   
        flex-wrap: wrap;
        column-gap: 2vw;
        row-gap: 10.67vw;
        justify-content: center;
      }

      .row1 {
        margin-bottom: 10.67vw;
      }

      .box {
        height: 34.1vw;
        width: calc(50% - 1.73vw);
        padding: 0 1vw 4vw;
        border-radius: 1.33vw;
        p{
          font-size: 5.5vw;
        }
      }

      .box03 {
        width: 100%;  
        height: 49vw;
        padding: 0 4vw 6vw;
      }

      .box04, .box05 {
        padding: 0 5.33vw 4vw;
      }
    }

    .box01::before {
      width: 28vw;
      height: 20.5vw;
      top: -7vw;
    }

    .box02::before {
      width: 21.6vw;
      height: 20.5vw;
      top: -7vw;
    }

    .box03::before {
      width: 70.1vw;
      height: 28.5vw;
      top: -3vw;
      background: url(../../images/sec04_5_sp.webp) center / contain no-repeat;
    }

    .box04::before {
      width: 42.7vw;
      height: 18.5vw;
      top: -3vw;
    }

    .box05::before {
      width: 26.1vw;
      height: 17.3vw;
      top: -3vw;
    }
  }

    .cont04 {
      .textbox {
        font-size: 4.5vw;
      }

      .big {
        font-size: 6.6vw;
      }

      .blue {
        font-size: 6.67vw;
        padding: 0.67vw 1.33vw;
      }

      .line {
        font-size: 6.67vw;
      }

      .yellow {
        font-size: 6.67vw;
      }
    }
  }
}

/* sec05 */
.sec05{
  .inner{
    padding: 0 clamp(106.7px, 8.333vw, 120px);
  }
  .sec_header{
    text-align: center;
    margin-bottom: 70px;
    .sec_title{
      font-size: 50px;
      display: flex;
      align-items: center;
      column-gap: 20px;
      &::before,
      &::after {
        content: "";
        flex: 1; 
        height: 7px;
        background-color: #63BFEF;
      }
    }
  }
  .cont01{
    .gridbox{
      grid-template-columns: repeat(2, minmax(0, 1fr));
      column-gap: clamp(46.2px, 3.611vw, 52px);
    }
    .box{
      background-color: #E8ECEE;
      padding: 0 45px 30px;
      max-width: 476px;
      margin: 0 auto;
      border-radius: 20px;
      .box_title{
        font-size: 42px;
        text-align: center;
        background-color: #fff;
        border-radius: 20px 20px 0 0;
        margin: 29px 0 22px 0;
      }
      .imagebox{
        text-align: center;
        margin: 0 auto;
      }
      .item{
        letter-spacing: 0.1em;
        font-size: clamp(23.1px, 1.806vw, 26px);
        font-weight: bold;
        position: relative;
        padding-left: 60px;
        margin-bottom: 20px;
        &::before{
          content: "";
          position: absolute;
          left: 0;
          bottom: 50%;
          transform: translateY(50%);
          width: 44px;
          height: 44px;
          background: url(../../images/batu_icon.webp) center / contain no-repeat;
        }
        span{
          font-size: clamp(23.1px, 1.806vw, 26px);
          font-weight: bold;
          color: #E26F94;
        }
      }
    }
    .blue{
      background-color: #D0EAFA;
      padding: 0 clamp(26.7px, 2.083vw, 30px) clamp(26.7px, 2.083vw, 30px) clamp(35.6px, 2.778vw, 40px);;
      max-width: 496px;
      .imagebox{
        margin-bottom: 30px;
      }
      .item{
        font-feature-settings: "palt";
        margin-bottom: 50px;
      }
      .item::before{
          content: "";
          position: absolute;
          left: 0;
          bottom: 50%;
          transform: translateY(50%);
          width: 54px;
          height: 54px;
          background: url(../../images/check_icon.webp) center / contain no-repeat;
      }
    }
  }
  @media screen and (max-width: 768px) {
    .inner {
      padding: 0 5vw;
    }

    .sec_header {
      margin-bottom: 8vw;

      .sec_title {
        font-size: 7.5vw;
        column-gap: 2.67vw;

        &::before,
        &::after {
          height: 0.93vw;
        }
      }
    }

    .cont01 {
      .gridbox {
        grid-template-columns: repeat(1, minmax(0, 1fr));
        column-gap: 0;
        row-gap: 6.67vw;
      }

      .box {
        padding: 0 2vw 4vw;
        max-width: 100%;
        border-radius: 2.67vw;

        .box_title {
          font-size: 6.6vw;
          font-weight: bold;
          border-radius: 20px 20px 0 0;
          margin: 4vw 1vw;
        }

        .item {
          font-size: 5.5vw;
          padding-left: 11vw;
          margin-bottom: 2.67vw;

          &::before {
            width: 9vw;
            height: 9vw;
          }

          span {
            font-size: 5.5vw;
          }
        }
      }

      .blue {
        padding: 0 2vw  4vw;
        max-width: 100%;

        .imagebox {
          margin-bottom: 8vw;
        }

        .item {
          margin-bottom: 6.67vw;
        }

        .item::before {
          width: 10.7vw;
          height: 10.7vw;
        }
      }
    }
  }
}

/* sec06 */
.sec06{
  margin-bottom: 100px;

  .sec_header{
    padding: 50px 0;
    max-width: 788px;
    text-align: center;
    margin: 0 auto 75px;
    background-image: linear-gradient(90deg, rgba(48, 81, 138, 1), rgba(30, 46, 87, 1) 50%, rgba(48, 81, 138, 1));
    position: relative;
    bottom: -200px;
    &::before{
      content: "";
      position: absolute;
      width: 185px;
      height: 185px;
      left: -160px;
      top: -50px;
      background: url(../../images/sec06_left.webp) center / contain no-repeat;
    }
    &::after{
      content: "";
      position: absolute;
      width: 188px;
      height: 104px;
      right: -70px;
      bottom: -20px;
      background: url(../../images/sec06_right.webp) center / contain no-repeat;
    }
    .sec_title{
      font-size: 50px;
      color: #fff;
      letter-spacing: 0.1em;
    }
    .small{
      font-size: 30px;
    }
    .yellow{
      font-size: 40px;
      color: #F5EB8F;
    }
  }
  .cont01{
    border: 4px solid #30518A;
    padding: 177px 78px 127px 42px;
    border-radius: 20px;
    .gridbox{
      max-width: 1080px;
      margin: 0 auto;
      grid-template-columns: repeat(2, minmax(0, 1fr));
      column-gap: 70px;
    }
    .float_box{
      background-color: #fff;
      position: absolute;
      bottom: -70px;
      right: -50px;
      padding: 20px 30px;
      filter:drop-shadow(0px 4px 14px rgba(0, 0, 0, 0.15));
      .box_text{
        font-size: 30px;
      }
      .small{
        font-size: 24px;
      }
      .name{
        font-size: 40px;
        line-height: 1;
      }
      .blue{
        font-size: 24px;
        color: #65C3F5;
        text-align: right;
        display: block; 
        letter-spacing: 0.15em;
      }
    }
  }
  @media screen and (max-width: 768px) {
    margin-bottom: 13.33vw;

    .sec_header {
      padding: 3vw 5vw;
      max-width: 100%;
      margin: 0 auto 10vw;
      bottom: -55vw;
      width: 68vw;

      &::before{
        width: 32vw;
        height: 32vw;
        left: -10vw;
        top: -20vw;
      }
      &::after {
        width: 20vw;
        height: 11vw;
        right: -3vw;
        bottom: -6vw;
      }

      .sec_title {
        font-size: 8vw;
        line-height: 1.2;
      }

      .small {
        font-size: 4.5vw;
      }

      .yellow {
        font-size: 5.8vw;
        line-height: 1;
      }
    }

    .cont01 {
      padding: 55vw 5vw 35vw;
      border-radius: 20px;

      .gridbox {
        grid-template-columns: repeat(1, minmax(0, 1fr));
        column-gap: 0;
        row-gap: 35vw;
      }

      .float_box {
        bottom: -28vw;
        right: 50%;
        transform: translateX(50%);
        padding: 5vw 2vw;
        width: 70.6vw;

        .box_text {
          font-size: 4.5vw;
          text-align: center;
        }

        .small {
          font-size: 4.5vw;
        }

        .name {
          font-size: 7vw;
        }

        .blue {
          font-size: 5vw;
          text-align: center;
        }
      }
    }
  }
}

/* sec07 */
.sec07{
  background-color: #F0FBFE;
  padding: 80px 0 100px;
  margin-bottom: 80px;
  .inner{
    padding: 0 clamp(71.1px, 5.556vw, 80px)
  }
  .sec_header{
    text-align: center;
    margin-bottom: 80px;
    .sec_title{
      font-size: 40px;
    }
    .line{
      border-bottom: 2px solid #63BFEF;
    }
    .big{
      font-size: 58px;
    }
    .blue{
      font-size: 80px;
      font-weight: 600;
                  background: radial-gradient(circle at 30% -50%, #72A4D1, #30518A);
      -webkit-background-clip: text;
      -webkit-text-fill-color: transparent;
      background-clip: text;
      filter:drop-shadow(2px 2px 2px rgba(160, 213, 243));
      position: relative;
      &::before{
        content: "";
        position: absolute;
        width: 378px;
        height: 188px;
        left: 50%;
        top: 50%;
        transform: translate(-50%, -50%);
        z-index: -1;
        background: url(../../images/sec07_logo.webp) center / contain no-repeat;
      }
    }
  }
  .cont01{
    text-align: center;
    margin-bottom: 70px;
    .box_text{
      font-weight: bold;
      font-size: 40px;
      display: inline-block;
      background-image: radial-gradient(circle, #63BFEF 3.1px, transparent 3.5px);
      background-size: 13px 7px;
      background-repeat: space no-repeat;
      background-position: center bottom;
      padding-bottom: 11px;
      span{
        font-weight: bold;
      }
      .sp_big{
        font-weight: bold;
        font-size: 48px;
        line-height: 1;
      }
    }
  }
  .cont02{
    .gridbox{
      grid-template-columns: repeat(2, minmax(0, 1fr));
      gap: clamp(26.7px, 2.083vw, 30px);
    }
    .box{
      background-color: #fff;
      padding: clamp(16.9px, 1.319vw, 19px) clamp(31.1px, 2.431vw, 35px) clamp(62.2px, 4.861vw, 70px);
      border-radius: 40px;
      filter:drop-shadow(0px 4px 10px rgba(0, 0, 0, 0.25));
      max-height: 455px;
    }
    .flexbox{
      column-gap: clamp(22.2px, 1.736vw, 25px);
      background-image: radial-gradient(circle, #63BFEF 3.1px, transparent 3.5px);
      background-size: 13px 7px;
      background-repeat: space no-repeat;
      background-position: center bottom;
      padding-bottom: 11px;
      .num{
        font-size: clamp(67.6px, 5.278vw, 76px);
        font-family: serif;
        color: #63BFEF;
        font-family: 'Noto Serif Tamil', serif;
        font-style: italic;
        font-weight: 600;
      }
      .box_title{
        font-size: clamp(32px, 2.5vw, 36px);
        line-height: 1.3;
        text-align: left;
      }
    }
    .box01{
      .box_text{
        padding: clamp(44.4px, 3.472vw, 50px);
        .item{
          position: relative;
          font-size: clamp(26.7px, 2.083vw, 30px);
          padding-left: clamp(35.6px, 2.778vw, 40px);
          &::before{
            content: "";
            position: absolute;
            width: 33px;
            height: 44px;
            left: 0;
            bottom: 50%;
            transform: translateY(50%);
            background: url(../../images/checkbox.webp) center / contain no-repeat;
          }
        }
        
        
      }
      .bottom_box{
        text-align: center;
      }
      .bottom_text{
        display: inline-block;
        justify-content: center;
        font-size: 60px;
        color: #E26F94;
        font-weight: bold;
        letter-spacing: 0.1em;
        line-height: 1;
        background: linear-gradient(#f5eb8f, #f5eb8f) left calc(100% - 0px) / 100% 17px no-repeat;
        span{
          font-weight: bold;
          font-size: 40px;
          
        }
      }
    }
    .box02{
      padding: 19px 35px 50px;
      .imagebox{
        margin-top: 10px;
      }
    }
    .box03{
      position: relative;
      &::before{
        content: "";
        position: absolute;
        bottom: 0;
        right:  clamp(0px, calc(18.75vw - 240px), 30px);
        width: 162px;
        height: 197px;
        background: url(../../images/sec07_2.webp) center / contain no-repeat;
      }
      .box_text{
        margin-top: 30px;
        .item{
          font-size: 18px;
          margin-bottom: 10px;
          .space{
            padding-left: 10px;
            &::before{
              display: none;
            }
          }
          span{
            font-size: 30px;
            font-weight: bold;
            color: #E26F94;
            position: relative;
             &::before {
              content: "●";
              position: absolute;
              top: -15px;
              left: 50%;
              transform: translateX(-50%);
              font-size: 12px; 
              color: #F5EB8F;
            }
          }
        }
      }
    }
    .box04{
      position: relative;
      &::before{
        content: "";
        position: absolute;
        bottom: 0;
        right: 50%;
        transform: translateX(50%);
        width: 371px;
        height: 135px;
        background: url(../../images/sec07_3.webp) center / contain no-repeat;
      }
      .box_text{
        font-size: clamp(21.3px, 1.667vw, 24px);
        margin-top: 30px;
        line-height: 1.8;
        span{
          color: #E26F94;
          font-weight: bold;
        }
      }
    }
  }
  @media screen and (max-width: 768px) {
    padding: 10vw 0 15vw;
    margin-bottom: 10.67vw;

    .inner {
      padding: 0 5vw;
    }

    .sec_header {
      margin-bottom: 10.67vw;

      .sec_title {
        font-size: 4.4vw;
      }

      .sp_line{
        border-bottom: 2px solid #63BFEF;
        line-height: 2;
        padding-bottom: 2vw;
      }
      .line{
        border-bottom: none;
      }

      .big {
        font-size: 7.5vw;
      }

      .blue {
        font-size: 9.1vw;

        &::before {
          width: 50.4vw;
          height: 25.07vw;
        }
      }
    }

    .cont01 {
      margin-bottom: 9.33vw;

      .box_text {
        font-size: 5.4vw;
        text-align: center;
        border-bottom: none;
        background-image: none;

        span {
          font-size: 5.4vw;
        }
        .sp_big{
          font-size: 7vw;
        }
      }
      .line_sp{
        display: inline-block;
        font-size: 5.33vw;
        background-image: radial-gradient(circle, #63BFEF 3.1px, transparent 3.5px);
        background-size: 13px 7px;
        background-repeat: space no-repeat;
        background-position: center bottom;
        padding-bottom: 11px;
        padding-bottom: 2vw;
        line-height: 1.5;
      }
    }

    .cont02 {
      .gridbox {
        grid-template-columns: repeat(1, minmax(0, 1fr));
        gap: 5vw;
      }

      .box {
        padding: 10vw 5vw;
        border-radius: 40px;
        max-height: none;
      }

      .flexbox {
        column-gap: 5vw;
        padding-bottom: 5vw;
        justify-content: flex-start;

        .num {
          font-size: 9.6vw;
        }

        .box_title {
          font-size: 7vw;
        }
      }

      .box01 {
        .box_text {
          padding: 5.33vw;

          .item {
            font-size: 6.4vw;
            padding-left: 13vw;
            line-height: 1.5;
            margin-bottom: 3vw;

            &::before {
              width: 11.8vw;
              height: 11.8vw;
            }
          }
        }

        .bottom_text {
          font-size: 8.6vw;
          background: linear-gradient(#f5eb8f, #f5eb8f) left calc(100% - 0px) / 100% 2.27vw no-repeat;

          span {
            font-size: 4.3vw;
          }
        }
      }

      .box02 {
        padding: 10vw 5vw 3vw;

        .imagebox {
          margin-top: 1.33vw;
        }
      }

      .box03 {
        &::before {
          right: 2vw;
          bottom: 10vw;
          width: 26.4vw;
          height: 31.9vw;
        }

        .box_text {
          margin-top: 4vw;

          .item {
            font-size: 4.3vw;
            margin-bottom: 1.33vw;
            line-height: 1.8;

            span {
              font-size: 7.5vw;

              &::before {
                top: -2vw;
                font-size: 2vw;
              }
            }
            .space{
              padding-left: 0;
            }
          }
        }
      }

      .box04 {
        padding: 10vw 5vw 35vw;
        &::before {
          width: 88vw;
          height: 36vw;
          bottom: -2.5vw;
        }

        .box_text {
          font-size: 4.8vw;
          margin-top: 4vw;
        }
      }
    }
  }
}

/* sec08 */
.sec08{
  margin-bottom: 180px;
  .inner{
    padding: 0 120px;
  }
  .sec_header{
    text-align: center;
    margin-bottom: 67px;
    background-image: radial-gradient(circle, #9C812B 3.1px, transparent 3.5px);
    background-size: 13px 7px;
    background-repeat: space no-repeat;
    background-position: center bottom;
    .sec_title{
      font-size: 60px;
      color: #9C812B;
      font-weight: bold;
      letter-spacing: 0.1em;
      padding-bottom: 30px;
      span{
        font-size: 30px;
        font-family: serif;
      }
    }
  }
  .cont01{
    max-width: 1044px;
    margin: 0 auto 35px;
    .box_text{
      font-size: 36px;
      color: #E26F94;
      display: flex;
      align-items: center;
      column-gap: 20px;
      &::after {
        content: "";
        flex: 1; 
        height: 1px;
        background-color: #E26F94;
      }
    }
    .box_cont{
      span{
        letter-spacing: 0;
      }
      .line{
        border-bottom: 2px solid #9C812B;
        font-size: 37px;
        letter-spacing: 0.1em;
        padding-bottom: 10px;
        font-feature-settings: "palt";
      }
      .pink{
        color: #E26F94;
        font-weight: bold;
        font-size: 110px;
        font-family: 'Noto Serif Tamil', serif;
        font-style: italic;
        letter-spacing: 0.1em;
      }
      .big{
        font-size: 60px;
        letter-spacing: 0.1em;
        font-feature-settings: "palt";
      }
    }
  }
  .cont02{
    max-width: 1053px;
    margin: 0 auto 120px;
    .flexbox{
      justify-content: flex-start;
      column-gap: 15px;
    }
    .circle_text {
      line-height: 1;
      display: inline-flex;
      margin-bottom: 10px;
      span {
        display: inline-flex;
        align-items: center;
        justify-content: center;
        width: 64px;
        height: 64px;
        border-radius: 50%;
        color: #fff;
        background: #E26F94;
        font-size: 34px;
        font-weight: bold;
      }
      span:not(:first-child) {
        margin-left: -14px;
      }

      span:first-child {
        position: relative;
        z-index: 2;
      }
    }
    .box_text{
      font-size: 36px;
      letter-spacing: 0.05em;
      span{
        font-size: 44px;
        color: #E26F94;
        font-weight: bold;
        position: relative;
        letter-spacing: 0.05em;
        &::before{
          content: "●";
          position: absolute;
          top: -15px;
          left: 50%;
          transform: translateX(-50%);
          font-size: 12px;
          color: #9C812B;
        }
        
      }
    }
    .imagebox{
      width: 29.1%;
    }
    .textbox{
      width: 100%;
    }
    .gridbox{
      grid-template-columns: repeat(2, auto);
      column-gap: 23px;
      justify-content: center;  
    }
  }
  .cont03{
    max-width: 1100px;
    margin: 0 auto 180px;
    border: 3px solid #9C812B;
    border-radius: 20px;
    .box_title{
      padding-top: 61px;
      font-size: 36px;
      text-align: center;
      margin-bottom: 30px;
    }
    .box_text{
      padding: 0 50px 33px;
      font-size: 20px;
    }
    .about_wrapper{
      display: flex;
      justify-content: center;
      margin-bottom: 60px;
      .about_btn{
        background-color: #9C812B;
        font-size: 21px;
        color: #fff;
        font-weight: 500;
      }
    }
  }
  @media screen and (max-width: 768px) {
    margin-bottom: 15vw;

    .inner {
      padding: 0 5.33vw;
    }

    .sec_header {
      margin-bottom: 8.93vw;
      padding-bottom: 0;

      .sec_title {
        font-size: 8.6vw;
        padding-bottom: 4vw;

        span {
          font-size: 4.3vw;
        }
      }
    }

    .cont01 {
      margin: 0 auto 4.67vw;
      .textbox{
        text-align: center;
      }

      .box_text {
        font-size: 4.8vw;
        column-gap: 2.67vw;
        justify-content: center;
        &::after{
          display: none;
        }
      }

      .box_cont {
        .line {
          font-size: 4.3vw;
          padding-bottom: 1.33vw;
        }

        .pink {
          font-size: 10.67vw;
          line-height: 1;
        }

        .big {
          font-size: 5.6vw;
        }
      }
    }

    .cont02 {
      margin: 0 auto 16vw;

      .flexbox {
        position: relative;
        display: block;
        column-gap: 0;
      }

      .textbox {
        width: 100%;
        display: flex !important;
        flex-wrap: wrap;
        align-items: center;
        
      }

      .circle_text {
        display: flex;
        width: auto;
        margin-right: 2.67vw;
        margin-bottom: 1.33vw;

        span {
          width: 11.53vw;
          height: 11.53vw;
          font-size: 5.7vw;
        }

        span:not(:first-child) {
          margin-left: -1.87vw;
        }
      }

      .head_row_sp{
        display: flex;
        align-items: center;
      }
      .box_text {
        font-size: 4.8vw;

        span {
          font-size: 8vw;

          &::before {
            top: -2vw;
            font-size: 1.6vw;
          }
        }
      }

      .gridbox {
        width: 100%;
        grid-template-columns: auto auto;
        column-gap: 4vw;
        justify-content: flex-start;

        .box {
          display: none;
        }

        .imagebox {
          width: 60%;
          margin: 0;
        }
      }

      .flexbox > .imagebox {
        position: absolute;
        right: 0;
        bottom: -3vw;
        width: 31vw;
        margin: 0;
      }
    }

    .cont03 {
      margin: 0 auto ;
      border-radius: 20px;

      .box_title {
        padding-top: 8vw;
        font-size: 5.4vw;
        margin-bottom: 6vw;
      }

      .box_text {
        padding: 0 5vw 8vw;
        font-size: 4vw;
      }

      .about_wrapper {
        margin-bottom: 8vw;

        .about_btn {
          font-size: 4vw;
        }
      }
    }
  }
}

/* sec09 */
.sec09 {
  background-image: url("../../images/sec09_bg.webp");
  background-position: top center;
  background-repeat: no-repeat;
  background-size: 100% auto;
  background-color: #C7EEEB;
  padding-bottom: 50px;
  margin-bottom: 80px;
  @media screen and (min-width: 1440px) {
    background-size: 1440px auto;
  }
  .cont01{
    padding: 121px 0 0 0;
    margin-bottom: 150px;
    .sec_header{
      text-align: right;
      margin-bottom: 20px;
    }
    .sec_title{
      font-size: clamp(35.6px, 2.778vw, 40px);
      text-align: center;
      display: inline-block;
      margin: 0 0 0 auto;
      border-bottom: 2px solid #9C812B;
      .pink{
        font-weight: bold;
        color: #E26F94;
        font-size: clamp(65.8px, 5.139vw, 74px);
      }
      .gold{
        background: linear-gradient(to right, #9C812B 0%, #9C812B 60%, #F5EB8F 100%);
        -webkit-background-clip: text;
        background-clip: text;
        -webkit-text-fill-color: transparent;
        color: transparent; 
        font-size: clamp(65.8px, 5.139vw, 74px);
        font-weight: bold;
      }
    }
    .box_text{
      font-size: 26px;
      font-weight: bold;
      max-width: clamp(610.7px, 47.708vw, 687px);
      margin: 0 0 100px auto;
    }

    .flexbox{
      column-gap: 30px;
      .box{
        box-sizing: content-box;
        width: 321px;
        height: 321px;
        border-radius: 50%;
        background: #fff;
        border: 22px solid #F99764;
        display: flex;
        flex-direction: column;
        align-items: center;
        justify-content: flex-start;
        text-align: center;
        .box_title{
          font-size: 40px;
          font-family: 'Noto Serif Tamil';
          text-align: center;
          padding-top: 30px;
          font-style: italic;
        }
        .orange_t{
          color: #F99764;
        }
        .blue_t{
         color: #71B8C0; 
        }
        .pink_t{
          color: #E26F94;
        }
        .box_text{
          font-size: 30px;
          font-weight: bold;
          text-align: center;
          margin: 0 0 24px;
          line-height: 1.8;
          font-feature-settings: "palt";
        }
        .orange{
          color: #F99764;
          font-weight: bold;
          font-size: 34px;
        }
        .blue{
          color: #71B8C0;
          font-size: 34px;
          font-weight: bold;
        }
        .pink{
          color: #E26F94;
          font-size: 34px;
          font-weight: bold;
        }
        .orange_line{
          border-bottom: 2px solid #F99764;
          font-weight: bold;
        }
        .blue_line{
          border-bottom: 2px solid #71B8C0;
          font-weight: bold;
          .big{
            font-size: 50px;
            line-height: 1;
            font-weight: bold;
          }
        }
        .pink_line{
          border-bottom: 2px solid #E26F94;
          font-weight: bold;
        }
        
      }
      .blue_b{
        border: 22px solid #71B8C0;
      }
      .pink_b{
        border: 22px solid #E26F94;
      }
    }
  }
  .cont02{
    .point_box{
      background-color: #fff;
      padding: 80px 40px 100px;
      filter:drop-shadow(0px 4px 14px rgba(0, 0, 0, 0.25));
      margin-bottom: 150px;
    }
    .box_header{
      border-bottom: 3px solid#F99764;
      text-align: center;
      padding-bottom: 30px;
      margin-bottom: 80px;
      .box_title{
        font-size: 40px;
        font-weight: bold;
        .point{
          font-family: 'Noto Serif Tamil';
          font-size: 40px;
          font-weight: 400;
          font-style: italic;
          line-height: 2;
        }
        span{
          font-size: 50px;
          color: #F99764;
          font-weight: bold;
        }
      }
    }
    .cont02_1{
      .gridbox{
        grid-template-columns: repeat(3, minmax(0, 1fr));
        max-width: 866px;
        margin: 0 auto 80px;
        column-gap: 28px;
        row-gap: 30px;
        .box{
          border: 12px solid #F99764;
          border-radius: 20px;
          padding: 30px 0 28px;
        }
        .imagebox{
          height: 88px;
          display: flex;
          align-items: flex-end;
          justify-content: center;
          margin-bottom: 30px;
        }
        .box_text{
          font-size: 25px;
          text-align: center;
          line-height: 1.5;
        }
      }
    }
    
    .cont02_2{
      .check_box{
        margin-bottom: 80px;
        .box_text{
          font-size: 25px;
          text-align: center;
          margin-bottom: 35px;
          span{
            font-size: 28px;
            font-weight: bold;
            color: #F99764;
          }
        }
        .list{
          max-width: 764px;
          margin: 0 auto 20px;
        }
        .item{
          font-size: 26px;
          letter-spacing: 0.1em;
          padding-left: 70px;
          position: relative;
          &::before{
            content: "";
            position: absolute;
            left: 0;
            bottom: 50%;
            transform: translateY(50%);
            width: 54px;
            height: 54px;
            background: url(../../images/check_orange.webp) center / contain no-repeat;

          }
          span{
            font-size: 36px;
          }
        }
        .bottom_text{
          max-width: 764px;
          margin: 0 auto;
        }
      }
    }
    
    .cont02_3{
      .before_after{
        
        .gridbox{
          grid-template-columns: repeat(2, minmax(0, 1fr));
          column-gap: 22px;
          row-gap: 19px;

          .box{
            border: 0;
            background-color: #FFF6ED;
            padding: 26px 23px 34px;
          }
          .flexbox{
            column-gap: 18px;
          }
          .f_box{
            margin-bottom: 10px;
          }
          .box_text{
            font-size: 28px;
            text-align: center;
            margin-bottom: 17px;
          }
        }
        .middle_box{
          .middle_flex{
            display: flex;
            margin-bottom: 8px;
            column-gap: 11px;
          }
          .middle_cont{
            display: flex;
            column-gap: 10px;
          }
          .label{
            font-size: 20px;
            text-align: center;
            background-color: #F9BD9E;
            width: 113px;
            display: flex;
            justify-content: center;
            align-items: center;
            min-width: 113px;
          }
          
          .label_text{
            line-height: 1.3;
            display: flex;
            align-items: center;
          }
          .flexbox{
            column-gap: clamp(123px, calc(23.125vw - 173px), 160px);
            justify-content: flex-start;
            margin-bottom: 20px;
          }

        }
        .middle_box .middle_flex:last-child .label {
          height: 67px;
        }
      }
    }
    
  }
  .cont03{
    .point_box{
      background-color: #fff;
      padding: 80px 40px 100px;
      filter:drop-shadow(0px 4px 14px rgba(0, 0, 0, 0.25));
      margin-bottom: 150px;
    }
    .box_header{
      border-bottom: 3px solid#71B8C0;
      text-align: center;
      padding-bottom: 30px;
      margin-bottom: 80px;
      .box_title{
        font-size: 40px;
        font-weight: bold;
        .point{
          font-family: 'Noto Serif Tamil';
          font-size: 40px;
          font-weight: 400;
          font-style: italic;
          line-height: 2;
        }
        span{
          font-size: 50px;
          color: #71B8C0;
          font-weight: bold;
        }
      }
    }
    .cont03_1{
      .imagebox{
        margin-bottom: 95px;
      }
    }
    
    .cont03_2{
      margin-bottom: 89px;
     .cont_header{
      text-align: center;
      position: relative;
      margin-bottom: 58px;
      &::before{
        content: "";
        position: absolute;
        left: clamp(110px, calc(43.75vw - 450px), 180px);
        top: 0;
        width: 82px;
        height: 124px;
        background: url(../../images/point02_line_l.webp) center / contain no-repeat;
      }
      &::after{
        content: "";
        position: absolute;
        right: clamp(110px, calc(43.75vw - 450px), 180px);
        top: 0;
        width: 82px;
        height: 124px;
        background: url(../../images/point02_line_r.webp) center / contain no-repeat;
      }
      .box_title{
        font-size: 30px;
        font-weight: bold;
        .big{
          font-size: 50px;
          font-weight: bold;
          color: #333333;
        }
        .blue{
          font-weight: bold;
          font-size: 50px;
          color: #30518A;
        }
        .middle{
          font-size: 40px;
          color: #333;
        }
      }
     } 
      .textbox{
        font-size: clamp(29.3px, 2.292vw, 33px);
        padding-left: clamp(57.8px, 4.514vw, 65px);
        position: relative;
        &::before{
          content: "";
          position: absolute;
          right: 0;
          bottom: 0;
          width: clamp(388.4px, 30.347vw, 437px);
          height: clamp(295.1px, 23.056vw, 332px);
          background: url(../../images/point02_2.webp) center / contain no-repeat;
        }
        .line{
          background: linear-gradient(#f5eb8f, #f5eb8f) left calc(100% - 0px) / 100% 12px no-repeat;
        }
        .blue{
          font-size: clamp(44.4px, 3.472vw, 50px);
          font-weight: bold;
          color: #30518A;
          
        }
        .l_blue{
          font-weight: bold;
          color: #63BFEF;
          font-size: clamp(44.4px, 3.472vw, 50px);
        }
        
      }
    }
    
    .cont03_3{
      .bg_box{
        background-color: #EBF6FD;
        padding: clamp(55.1px, 4.306vw, 62px) clamp(71.1px, 5.556vw, 80px) clamp(44.4px, 3.472vw, 50px);
      }
      .cont_header{
        text-align: center;
        font-size: 40px;
        color: #30518A;
        letter-spacing: 0.1em;
        margin-bottom: 60px;
      }
      .gridbox{
        grid-template-columns: repeat(2, minmax(0, 1fr));
        column-gap: 108px;
        margin-bottom: 45px;
      }
      .box_title{
        color: #fff;
        background-color: #647A86;
        text-align: center;
        font-size: 34px;
        font-weight: bold;
        margin-bottom: 40px;
      }
      .blue_title{
        background-color: #30518A;
      }
      .flexbox{
        justify-content: flex-start;
        column-gap: 30px;
      }
      .l_text{
        font-size: 28px;
      }
      .r_text{
        font-size: 38px;
        span{
          color: #E26F94;
        }
      }
      .textbox{
        max-width: 827px;
        margin: 0 auto;
        .bottom_text{
          font-size: 30px;
          font-weight: bold;
          span{
            font-weight: bold;
            color: #30518A;
          }
        }
        .small_text{
          font-size: 20px;
        }
      }
    }
    
  }
  .cont04{
    .point_box{
      background-color: #fff;
      padding: 80px 40px 100px;
      filter:drop-shadow(0px 4px 14px rgba(0, 0, 0, 0.25));
      margin-bottom: 150px;
    }
    .box_header{
      border-bottom: 3px solid#E26F94;
      text-align: center;
      padding-bottom: 30px;
      margin-bottom: 80px;
      .box_title{
        font-size: 40px;
        font-weight: bold;
        .point{
          font-family: 'Noto Serif Tamil';
          font-size: 40px;
          font-weight: 400;
          font-style: italic;
          margin-bottom: 12px;
          line-height: 2;
        }
        span{
          font-size: 50px;
          color: #E26F94;
          font-weight: bold;
        }
      }
    }
    .cont04_1{
      margin-bottom: 136px;
      .box {
        max-width: 1004px;
        margin: 0 auto 78px;
        position: relative;
        &::before{
          content: "";
          position: absolute;
          width: 353px;
          height: 296px;
          right: 0;
          bottom: -70px;
          background: url(../../images/point03_1.webp) center / contain no-repeat;
        }
      }

      .row {
        margin-bottom: 37px;
      }

      .row01 {
        display: flex;
        justify-content: space-between;
      }

      .row02 {
        padding-left: 8%;
      }

      .row03 {
        padding-left: 22%;
      }

      .item {
        display: inline-block;
        background-color: rgba(226, 111, 148, 0.15);
        border-radius: 10px;
        padding: 18px 28px;
        font-size: 30px;
      }
      .imagebox{
        text-align: center;
        margin: 0 auto 27px;
      }
      .bottom_text{
        text-align: center;
        letter-spacing: 0.1em;
        font-size: 46px;
        font-weight: bold;
        span{
          font-size: 36px;
          font-weight: bold;
        }
      }
    }
    
    .cont04_2{
      margin-bottom: 26px;
      .box_title{
        text-align: center;
        font-size: clamp(28.4px, 2.222vw, 32px);
        font-weight: bold;
        margin-bottom: 26px;
        span{
          font-size: clamp(35.6px, 2.778vw, 40px);
          color: #E26F94;
          font-weight: bold;
        }
      }
      .flexbox{
        column-gap: 28px;
        max-width: 1011px;
        margin: 0 auto;
        .imagebox{
          width: 68%;
        }
        .textbox{
          width: 100%;
          font-size: 18px;
          line-height: 2.5;
        }
      }
    }
    
    .cont04_3{
      .before_after{
        
        .gridbox{
          grid-template-columns: repeat(2, minmax(0, 1fr));
          column-gap: 22px;
          row-gap: 19px;

          .box{
            border: 0;
            background-color: #FFEDF0;
            padding: 26px 23px 60px;
          }
          .flexbox{
            column-gap: 18px;
          }
          .f_box{
            margin-bottom: 10px;
          }
          .box_text{
            font-size: 28px;
            text-align: center;
            margin-bottom: 17px;
          }
        }
        .middle_box{
          .middle_flex{
            display: flex;
            margin-bottom: 8px;
            column-gap: 11px;
          }
          .middle_cont{
            display: flex;
            column-gap: 10px;
          }
          .label{
            font-size: 20px;
            text-align: center;
            background-color: #F99EA4;
            width: 113px;
            min-width: 113px;
            display: flex;
            align-items: center;
            justify-content: center;
          }
          .label_text{
            line-height: 1.3;
            display: flex;
            align-items:center;
          }
          .flexbox{
            column-gap: clamp(123px, calc(23.125vw - 173px), 160px);
            justify-content: flex-start;
            margin-bottom: 20px;
          }

        }
        .middle_box .middle_flex:last-child .label {
          height: 67px;
        }
      }
    }
    
  }
  @media screen and (max-width: 768px) {
    padding-bottom: 1vw;
    margin-bottom: 5vw;
    background-image: url("../../images/sec09_bg_sp.webp");


    .cont01 {
      padding: 13vw 0 0;
      margin-bottom: 8vw;

      .sec_header {
        text-align: center;
        display: flex;
        margin-bottom: 21vw;
      }

      .sec_title {
        font-size: 4.3vw;
        position: relative;
        z-index: 1;
        border-bottom: none;
        &::before{
          content: "";
          position: absolute;
          left: -34vw;
          top: -6vw;
          width: 41.3vw;
          height: 51.5vw;
          z-index: -1;
          background: url(../../images/sec09_img_sp_2.webp) center / contain no-repeat;
        }
        &::after{
          content: "";
          position: absolute;
          right: 0;
          bottom: -14vw;
          width: 23.4vw;
          height: 13vw;
          z-index: -1;
          background: url(../../images/sec09_img02_sp_2.webp) center / contain no-repeat;
        }

        .pink { font-size: 6.4vw; }
        .gold  { font-size: 6.4vw; }
      }
      .sp_line{
        border-bottom: 2px solid #9C812B;
        padding-bottom: 1vw;
        line-height: 2;
      }

      .box_text {
        font-size: 4.8vw;
        max-width: 100%;
        margin: 0 0 5vw;
      }

      .flexbox {
        flex-direction: row;
        column-gap: 2vw;
        flex-wrap: wrap;
        row-gap: 0;
        align-items: center;

        .box {
        width: 39vw;
        height: 39vw;
        border: 2vw solid #F99764;

        .box_title {
          font-size: 5.33vw;
          padding-top: 1vw;
        }
        .box_text {
          font-size: 4vw;
          margin: 0 0 3.2vw;
        }
        .orange, .blue, .pink { 
          font-size: 5.33vw; 
          line-height: 1.3;
        }
        .blue_line .big        { font-size: 6.67vw; }
      }
      .blue_b { border: 2vw solid #71B8C0; }
      .pink_b { border: 2vw solid #E26F94; }
      }

      
    }

    .cont02, .cont03, .cont04 {
      .point_box {
        padding: 3vw 3vw 13.33vw;
        margin-bottom: 15vw;
      }
      .box_header {
        padding-bottom: 4vw;
        margin-bottom: 6vw;

        .box_title {
          font-size: 5.33vw;
          .point { 
            font-size: 5.33vw; 
            margin-bottom: 1.6vw; 
            line-height: 3;
          }
          span   { 
            font-size: 8vw; 
          }
          .blue_sp{
            color: initial;
            font-size: 5.33vw;
          }
        }
      }
      
    }

  
    .cont02{
      .cont02_1 {
        .gridbox {
          grid-template-columns: repeat(2, minmax(0, 1fr));
          max-width: 100%;
          margin: 0 auto 10.67vw;
          column-gap: 3vw;
          row-gap: 3vw;

          .box {
            border: 4px solid #F99764;
            border-radius: 20px;
            padding: 5vw 0 4vw;
          }
          .imagebox {
            height: initial;
            width: 60%;
            margin: 0 auto 4vw;
          }
          .box_text { font-size: 4.3vw; }
        }
      }

      .cont02_2 {
        .check_box {
          margin-bottom: 10.67vw;

          .box_text {
            font-size: 4.3vw;
            margin-bottom: 5vw;
            line-height: 1.8;
            span { font-size: 5.6vw; }
          }
          .list {
            max-width: 100%;
            margin: 0 auto 2.67vw;
          }
          .item {
            font-size: 4.3vw;
            padding-left: 13vw;
            margin-bottom: 5vw;

            &::before {
              width: 11.8vw;
              height: 11.8vw;
            }
            span { font-size: 6.4vw; }
          }
          .bottom_text{
            font-size: 4.3vw;
          }
        }
      }

      .cont02_3{
        .before_after {
          .gridbox {
            grid-template-columns: repeat(1, minmax(0, 1fr));
            column-gap: 0;
            row-gap: 2.53vw;

            .box {
              padding: 3.47vw 3.07vw 8vw;
            }
            .flexbox { 
              column-gap: 5vw; 
            }
            .imagebox{
              margin-bottom: 2vw;
            }
            .f_box   { 
              margin-bottom: 1.33vw;
             }
            .box_text {
              font-size: 4.8vw;
              margin-bottom: 2vw;
            }
          }
          .middle_box {
            .middle_flex { 
              margin-bottom: 3vw; 
              align-items: center;
            }
            .middle_cont { column-gap: 1.33vw; }
            .label {
              font-size: 4.3vw;
              width: 24vw;
              min-width: 24vw;
            }
            
            .flexbox {
              flex-direction: column;
              justify-content: flex-start;
              align-items: flex-start;
              column-gap: 0;
              row-gap: 3vw;
              margin-bottom: 2.67vw;
            }
          }
          .bottom_text{
            font-size: 4.3vw;
          }
        }
      }

    }

    .cont03{
      .cont03_1 {
        .imagebox { 
          margin-bottom: 5vw;
        }
      }

      .cont03_2 {
        margin-bottom: 11.87vw;

        .cont_header {
          margin-bottom: 2vw;

          &::before {
            left: -5vw;
            top: 0;
            width: 5.8vw;
            height: 18.6vw;
            background: url(../../images/point02_line_l_sp.webp) center / contain no-repeat;
          }
          &::after {
            right: -5vw;
            top: 0;
            width: 5.8vw;
            height: 18.6vw;
            background: url(../../images/point02_line_r_sp.webp) center / contain no-repeat;
          }

          .box_title {
            font-size: 4.3vw;
            line-height: 1.5;
            .big    { 
              font-size: 6.4vw; 
            }
            .blue   { 
              font-size: 6.4vw; 
            }
            .middle { 
              font-size: 4.8vw; 
            }
          }
        }

        .textbox {
          font-size: 4.3vw;
          padding-left: 0;
          line-height: 1.8;

          &::before {
            width: 40vw;
            height: 56vw;
            bottom: -3vw;
            right: -3vw;
            background: url(../../images/point02_2_sp_2.webp) center / contain no-repeat;
           }

          .imagebox img {
            width: 100%;
            height: auto;
          }
          .line {
            background: linear-gradient(#f5eb8f, #f5eb8f) left calc(100% - 0px) / 100% 1.6vw no-repeat;
          }
          .blue, .l_blue { 
            font-size: 6.4vw; 
          }
        }
        .imagebox{
          width: 80%;
        }
      }

      .cont03_3 {
        .bg_box {
          padding: 8vw 5vw 6vw;
          border-radius: 10px;
        }
        .cont_header {
          font-size: 6.4vw;
          margin-bottom: 8vw;
          font-weight: bold;
        }
        .gridbox {
          grid-template-columns: repeat(1, minmax(0, 1fr));
          column-gap: 0;
          row-gap: 4vw;
          margin-bottom: 6vw;

          .box:first-child { order: 2; }
          .box:last-child  { order: 1; } 
          
        }
        .box_title {
          font-size: 5.4vw;
          margin-bottom: 3vw;
          padding: 1.5vw 0;
        }
        .flexbox  { 
          column-gap: 8vw; 
        }
        .l_text   { 
          font-size: 4.3vw; 
        }
        .r_text   { 
          font-size: 7vw; 
        }
        .textbox {
          text-align: center;
          .bottom_text { 
            font-size: 5vw; 
            font-feature-settings: "palt";
            margin-bottom: 5vw;
          }
          .small_text  { 
            font-size: 4.3vw; 
            text-align: left;
            line-height: 1.5;
          }
        }
      }
    }

    .cont04{

      .cont04_1 {
        margin-bottom: 3vw;

        .box {
          max-width: 100%;
          margin: 0 auto 10.4vw;
          position: relative;
          padding-bottom: 11vw; 
          &::before {
            transform: scaleX(-1);
            width: 44vw;
            height: 36.8vw;
            right: initial;
            bottom: -22vw;
            left: 0;
          }
        }

        .row {
          margin-bottom: 4vw;
          display: flex;
        }

        .row01 {
          justify-content: flex-start;  
          padding-left: 0;
        }
        .row01 .item:nth-child(2) {
          position: absolute;
          right: 0;
          bottom: 0; 
        }

        .row02 {
          justify-content: flex-end;
          padding-left: 0;
        }

        .row03 {
          justify-content: flex-start;
          padding-left: 0;
        }

        .item {
          display: inline-block;
          background-color: rgba(226, 111, 148, 0.15);
          border-radius: 1.33vw;
          padding: 2.4vw 3.73vw;
          font-size: 4.3vw;
        }

        .imagebox {
          margin: 24vw auto 3.6vw;
          width: 40%;
        }

        .bottom_text {
          font-size: 6.4vw;
          span {
            font-size: 4.3vw;
          }
        }
      }

      .cont04_2 {
        margin-bottom: 8vw;

        .box_title {
          font-size: 4.3vw;
          margin-bottom: 3.47vw;
          text-align: center;
          span { 
            font-size: 6vw;
          }
        }
        .flexbox {
          flex-direction: column;
          column-gap: 0;
          row-gap: 0vw;

          .imagebox { 
            width: 89%; 
          }
          .textbox  { 
            font-size: 4vw;
            line-height: 2;
           }
        }
      }
      .cont04_3{
        .before_after {
          .gridbox {
            grid-template-columns: repeat(1, minmax(0, 1fr));
            column-gap: 0;
            row-gap: 2.53vw;

            .box {
              padding: 3.47vw 3.07vw 8vw;
            }
            .flexbox { 
              column-gap: 5vw; 
            }
            .imagebox{
              margin-bottom: 2vw;
            }
            .f_box   { 
              margin-bottom: 1.33vw;
             }
            .box_text {
              font-size: 4.8vw;
              margin-bottom: 2vw;
            }
          }
          .middle_box {
            .middle_flex { 
              margin-bottom: 3vw; 
              align-items: center;
            }
            .middle_cont { column-gap: 1.33vw; }
            .label {
              font-size: 4.3vw;
              width: 24vw;
              min-width: 24vw;
            }
            
            .flexbox {
              flex-direction: column;
              justify-content: flex-start;
              align-items: flex-start;
              column-gap: 0;
              row-gap: 3vw;
              margin-bottom: 2.67vw;
            }
          }
          .bottom_text{
            font-size: 4.3vw;
          }
        }
      }
    }
    
  }

}

/* sec10 */
.sec10{
  margin-bottom: 180px;
  margin-top: 180px;
  .sec_header{
    text-align: center;
    border-top: 3px solid #E26F94;
    border-bottom: 3px solid #E26F94;
    padding-bottom: 20px;
    max-width: 1200px;
    margin: 0 auto 80px;
    .sec_title{
      font-size: 50px;
      font-weight: bold;
      .big{
        font-size: 70px;
        font-weight: bold;
      }
      .pink{
        font-weight: bold;
        color: #E26F94;
        font-size: 70px;
      }
      .eng{
        font-size: 30px;
        color: #E26F94;
        font-family: serif;
      }
    }
  }
  .cont01{
    max-width: 1000px;
    margin: 0 auto 67px;
    .box_text{
      font-size: 30px;
      position: relative;
      padding-left: 50px;
      &::before{
        content: "■";
        position: absolute;
        left: 0;
        bottom: 50%;
        transform: translateY(50%);
        font-size: 40px;
        color: #E26F94;
      }
    }
    .flexbox{
      justify-content: space-between;
      border-bottom: 1px solid #E26F94;
      padding-bottom: 20px;
      margin-bottom: 40px;
    }
    .left_text{
      font-size: 50px;
    }
    .right_text{
      font-size: 24px;
      font-weight: bold;
      span{
        font-size: 50px;
        color: #E26F94;
        font-weight: bold;
      }
    }
  }
  .cont02{
    .textbox{
      text-align: center;
      font-size: 40px;
      position: relative;
      &::before{
        content: "";
        position: absolute;
        left: clamp(30px, calc(31.25vw - 370px), 80px);
        bottom: 0;
        width: 82px;
        height: 124px;
        background: url(../../images/sec10_l.webp) center / contain no-repeat;
      }
      &::after{
        content: "";
        position: absolute;
        right: clamp(30px, calc(31.25vw - 370px), 80px);
        bottom: 0;
        width: 82px;
        height: 124px;
        background: url(../../images/sec10_r.webp) center / contain no-repeat;
      }
      span{
        color: #E26F94;
        font-weight: bold;
      }
    }
  }
  @media screen and (max-width: 768px) {
    margin-top: 0;
    margin-bottom: 20vw;

    .sec_header {
      padding: 7vw 0;
      margin: 0 auto 10vw;

      .sec_title {
        font-size: 4.3vw;
        

        .big  { 
          font-size: 7vw; 
        }
        .pink { 
          font-size: 7vw; 
        }
        .eng  { 
          font-size: 4.3vw; 
        }
      }
    }

    .cont01 {
      margin: 0 auto 8.93vw;

      .box_text {
        font-size: 5.4vw;
        padding-left: 6.67vw;

        &::before {
          font-size: 5.4vw;
        }
      }

      .flexbox {
        flex-direction: column;
        align-items: flex-start;
        row-gap: 0;
        padding-bottom: 4vw;
        margin-bottom: 5vw;
      }

      .left_text {
        font-size: 7vw;
        padding-left: 6.67vw;
        line-height: 1;
        margin: 2vw 0;
      }

      .right_text {
        font-size: 5.4vw;
        align-self: flex-end;
        line-height: 1;

        span {
          font-size: 8.6vw;
        }
      }
    }

    .cont02 {
      .textbox {
        font-size: 6.4vw;
        font-feature-settings: "palt";
        line-height: 1.5;

        &::before {
          left: -2vw;
          width: 7.93vw;
          height: 16.53vw;
          background: url(../../images/sec10_l_sp.webp) center / contain no-repeat;
        }

        &::after {
          right: -2vw;
          width: 7.93vw;
          height: 16.53vw;
          background: url(../../images/sec10_r_sp.webp) center / contain no-repeat;
        }
      }
    }
  }
}

/* sec11 */
.sec11{
  margin-bottom: 180px;
  .inner{
    padding: 0 120px;
  }
  .sec_header{
    background: linear-gradient(to right, #F5EB8F, #E26F94, #F5EB8F);
    padding: 8px 20px 30px;
    text-align: center;
    margin-bottom: 94px;
    .sec_title{
      color: #fff;
      font-size: 50px;
      .big{
        font-size: 70px;
      }
      .eng{
        font-family: serif;
        font-size: 30px;
      }
    }
  }
  .gridbox{
    grid-template-columns: repeat(6, minmax(0, 1fr));
    column-gap: 10px;
  }
  .imagebox{
    margin-bottom: 15px;
  }
  .box_text{
    font-size: clamp(17.8px, 1.389vw, 20px);
    text-align: center;
    font-weight: bold;
    line-height: 1.3;
    height: 53px;
    display: flex;
    justify-content: center;
    align-items: center;
  }
  @media screen and (max-width: 768px) {
    margin-bottom: 24vw;

    .inner {
      padding: 0 5vw;
    }

    .sec_header {
      border-radius: 0;
      padding: 4.3vw 2.67vw;
      margin-bottom: 12.53vw;

      .sec_title {
        font-size: 4.3vw;

        .big { font-size: 6.4vw; }
        .eng { font-size: 4.3vw; }
      }
    }

    .gridbox {
      grid-template-columns: repeat(3, minmax(0, 1fr));
      column-gap: 1.33vw;
      row-gap: 5.33vw;
    }
    

    .imagebox {
      margin-bottom: 2vw;
    }

    .box_text {
      font-size: 4vw;
      height: auto;
    }
    .box:not(:last-child) .box_text {
      margin-left: -3vw;
    }
  }

}

/* sec12 */
.sec12{
  margin-bottom: 180px;
  .inner{
    padding: 0 120px;
  }
  .cont01{
    border: 3px solid #64BAB3;
    padding: 77px 50px;
  }
  .cont_title{
    font-size: 36px;
    text-align: center;
    margin-bottom: 60px;
  }
  .box{
    margin-bottom: 28px;
  }
  .box_title{
    color: #64BAB3;
    font-size: 28px;
    font-weight: bold;
    padding-left: 60px;
    position: relative;
    margin-bottom: 11px;
    &::before{
      content: "";
      position: absolute;
      left: 0;
      bottom: 50%;
      transform: translateY(50%);
      width: 36px;
      height: 36px;
      background: url(../../images/sikaku.webp) center / contain no-repeat;
    }
  }
  .box_text{
    font-size: 20px;
  }
  @media screen and (max-width: 768px) {
    margin-bottom: 13.8vw;

    .inner {
      padding: 0 3vw;
    }

    .cont01 {
      padding: 8vw 4vw 2vw;
    }

    .cont_title {
      font-size: 6vw;
      margin-bottom: 8vw;
      font-weight: bold;
    }

    .box {
      margin-bottom: 5vw;
    }

    .box_title {
      font-size: 5.6vw;
      padding-left: 10vw;
      margin-bottom: 3vw;

      &::before {
        width: 6.9vw;
        height: 6.9vw;
      }
    }

    .box_text {
      font-size: 4vw;
      text-align: justify;
    }
  }
}

/* banner_sec */
.banner_sec{
  margin-bottom: 100px;
  .cont01{
    text-align: center;
  }
  @media screen and (max-width: 768px){
    margin-bottom: 15vw;
    .inner{
      padding: 0;
    }
  }
}

