@charset "UTF-8";

/* --------------------------------------------------------------------------
  Mv
-------------------------------------------------------------------------- */

@media all and (min-width: 768px), print {
  .mv-sec {
    position: relative;
    overflow: hidden;

    &::before,
    &::after {
      content: "";
      display: block;
      max-width: 2560px;
      width: 100%;
      height: 100%;
      position: absolute;
      top: 50%;
      left: 50%;
      transform: translate(-50%, -50%);
      pointer-events: none;
    }
    &::before {
      background: url(../img/mv_bg.png) no-repeat center / cover;
    }
    &::after {
      background: url(../img/mv_bg_deco.png) no-repeat center / cover;
    }

    .l-sec__in {
      height: 100%;
      max-width: 1100px;
      container-type: inline-size;
      --w: 1000;
    }
    .l-sec__body {
      position: relative;
      padding: 0;
      height: 100%;
      padding-top: calc(580 / var(--w) * 100cqi);
    }
    .mv-visual {
      position: absolute;
      bottom: 0;
      left: 0;
      width: calc(501 / var(--w) * 100cqi);
      margin-bottom: calc(80 / var(--w) * 100cqi);
    }
    .js-kv-trigger {
      img {
        opacity: 0;
        transform: scale(.25, 0) translateY(100%) rotateX(90deg);
        transform-origin: bottom center;

        transition:
          transform .5s .5s cubic-bezier(0.3, 1.3, 0.5, 1),
          opacity .5s .5s ease;
      }
      &.is-active {
        img {
          opacity: 1;
          transform: scale(1, 1) translateY(0) rotateX(0deg);

        }
      }
    }

    .mv__container {
      position: absolute;
      top: 0;
      right: 0;
      margin-top: calc(37 / var(--w) * 100cqi);
      margin-right: calc(60 / var(--w) * 100cqi);
      z-index: 1;
    }
    .mv-heading {
      width: calc(351 / var(--w) * 100cqi);
      margin-inline: auto;
      margin-bottom: calc(15 / var(--w) * 100cqi);
      position: relative;
    }
    .mv-heading::before {
      content: "";
      display: block;
      width: calc(47 / var(--w) * 100cqi);
      padding-top: calc(50 / var(--w) * 100cqi);
      background: url(../img/mv_heading_deco.png) no-repeat center / contain;
      position: absolute;
      top: 0;
      right: 0;
      margin-top: calc(-12 / var(--w) * 100cqi);
      margin-right: calc(3 / var(--w) * 100cqi);
    }
    .mv-ttl {
      width: calc(463 / var(--w) * 100cqi);
      margin-inline: auto;
    }
    .mv-detail {
      position: absolute;
      top: 0;
      right: 0;
      margin-top: calc(412 / var(--w) * 100cqi);
      margin-right: calc(92 / var(--w) * 100cqi);
      z-index: 1;
    }
    .mv-detail-list {
      display: flex;
      gap: calc(9 / var(--w) * 100cqi);
      justify-content: center;
    }
    .mv-detail-list-item {
    }
    .mv-detail-list-item:first-child {
      width: calc(161 / var(--w) * 100cqi);
    }
    .mv-detail-list-item:last-child {
      width: calc(174 / var(--w) * 100cqi);
    }
    .mv-detail-card {
    }
    .mv-detail-btn {
      width: calc(390 / var(--w) * 100cqi);
      margin-inline: auto;
      margin-top: calc(16 / var(--w) * 100cqi);

      .c-btn {
        font-size: calc(var(--btn-txt-fs) / var(--w) * 100cqi);
      }
      .c-btn__body {
        min-height: calc(var(--btn-min-height) / var(--w) * 100cqi);
        padding-left: calc(28 / var(--w) * 100cqi);
      }
    }
  }
}

@media all and (max-width: 767px) {
  .mv-sec {
    background: url(../img/mv_bg_sp.png) no-repeat center / contain;
    position: relative;
    padding-top: calc(700 / var(--w) * 100cqi);
    container-type: inline-size;
    --w: 375;

    &::before {
      content: "";
      display: block;
      width: 100%;
      height: 100%;
      position: absolute;
      inset: 0;
      background: url(../img/mv_bg_deco_sp.png) no-repeat center / cover;
      z-index: 1;
      pointer-events: none;
    }

    .l-sec__body {
      padding: 0;
    }
    .mv-visual {
      position: absolute;
      left: 50%;
      bottom: 0;
      transform: translateX(-50%);
      width: calc(349 / var(--w) * 100cqi);
      margin-bottom: calc(85 / var(--w) * 100cqi);
    }
    .js-kv-trigger {
      img {
        opacity: 0;
        transform: scale(.25, 0) translateY(100%) rotateX(90deg);
        transform-origin: bottom center;

        transition:
          transform .5s .5s cubic-bezier(0.3, 1.3, 0.5, 1),
          opacity .5s .5s ease;
      }
      &.is-active {
        img {
          opacity: 1;
          transform: scale(1, 1) translateY(0) rotateX(0deg);

        }
      }
    }
    .mv__container {
      position: absolute;
      top: 0;
      left: 50%;
      margin-top: calc(22 / var(--w) * 100cqi);
      transform: translateX(-50%);
      z-index: 1;
    }
    .mv-heading {
      width: calc(265 / var(--w) * 100cqi);
      margin-inline: auto;
      margin-bottom: calc(11 / var(--w) * 100cqi);
      position: relative;
    }
    .mv-heading::before {
      content: "";
      display: block;
      width: calc(35 / var(--w) * 100cqi);
      padding-top: calc(37 / var(--w) * 100cqi);
      background: url(../img/mv_heading_deco.png) no-repeat center / contain;
      position: absolute;
      bottom: 0;
      right: 0;
      margin-bottom: calc(6 / var(--w) * 100cqi);
      margin-right: calc(-20 / var(--w) * 100cqi);
    }
    .mv-ttl {
      width: calc(315 / var(--w) * 100cqi);
      margin-inline: auto;
    }
    .mv-detail {
      position: absolute;
      top: 0;
      left: 50%;
      margin-top: calc(565 / var(--w) * 100cqi);
      transform: translateX(-50%);
      z-index: 1;
    }
    .mv-detail-list {
      display: flex;
      gap: calc(9 / var(--w) * 100cqi);
      justify-content: center;
    }
    .mv-detail-list-item {
    }
    .mv-detail-list-item:first-child {
      width: calc(120 / var(--w) * 100cqi);
    }
    .mv-detail-list-item:last-child {
      width: calc(131 / var(--w) * 100cqi);
    }
    .mv-detail-card {
    }
    .mv-detail-btn {
      width: calc(332 / var(--w) * 100cqi);
      margin-inline: auto;
      margin-top: calc(16 / var(--w) * 100cqi);
      .c-btn__body {
        padding-left: calc(40 / var(--w) * 100cqi);
      }
    }
  }
}

/* --------------------------------------------------------------------------
  Intro
-------------------------------------------------------------------------- */

@media all and (min-width: 768px), print {
  .intro-sec {
    background: url(../img/bg_pattern.png) #F4EBCF repeat top left / calc(41 / var(--fs) * 1rem);

    .l-sec__in {
      padding-inline: calc(43 / var(--fs) * 1rem);
    }
    .l-sec__body {
      padding-bottom: 0;
      position: relative;
    }
    .l-sec__header {
      margin-bottom: calc(-59 / 914 * 100%);
      padding-right: calc(412 / 914 * 100%);
    }
    .c-header-title {
      width: calc(517 / var(--fs) * 1rem);
    }
    .intro-header-deco__container {
      position: absolute;
      top: 0;
      right: 0;
      margin-top: calc(-26 / 914 * 100%);
      width: calc(var(--w) / 914 * 100%);
      --w: 481;
    }
    .intro-header-deco {
    }
    .intro-header-deco--01 {
      width: calc(132 / var(--w) * 100%);
      position: absolute;
      bottom: 0;
      right: 0;
      margin-bottom: calc(-74 / var(--fs) * 1rem);
      z-index: 1;
    }
    .intro-header-deco--02 {
      margin-right: calc(-24 / var(--fs) * 1rem);
    }
    .intro-comment-list__container {
    }
    .intro-comment-list {
      display: flex;
      align-items: center;
      justify-content: center;
      margin-bottom: calc(-48 / 914 * 100%);
    }
    .intro-comment-list-item {
    }
    .intro-comment {
    }
    .intro-comment-list-item--01 {
      width: calc(253 / 914 * 100%);
      margin-right: calc(30 / 914 * 100%);
    }
    .intro-comment-list-item--02 {
      width: calc(244 / 914 * 100%);
      margin-bottom: calc(104 / 914 * 100%);
    }
    .intro-comment-list-item--03 {
      width: calc(271 / 914 * 100%);
      margin-bottom: calc(-3 / 914 * 100%);
    }
    .intro-comment-heading {
      font-size: calc(24 / var(--fs) * 1rem);
      line-height: calc(45 / 24);
      text-align: center;
      margin-bottom: calc(22 / var(--fs) * 1rem);
    }
    .intro-comment-heading__inner {
    }
    .intro-comment-heading__label {
      color: var(--c-black);
      font-weight: 700;
      display: inline;
      background: rgba(255, 255, 255, 0.7);
      padding-inline: calc(10 / var(--fs) * 1rem);
    }
    .intro-detail {
      padding-top: calc(75 / var(--fs) * 1rem);
      position: relative;
      z-index: 0;
    }
    .intro-detail__inner {
      position: relative;
      &::before,
      &::after {
        content: "";
        display: block;
        background: var(--c-main-400);
        margin-inline: calc(50% - 50vw);
        padding-inline: calc(50% - 50vw);
        position: absolute;
        z-index: -1;
        
      }
      &::before {
        left: 0;
        right: 0;
        padding-top: calc(17 / var(--fs) * 1rem);
        transform: translateY(calc(-100% + 1px));
        border-radius: 100%;
        border-bottom-left-radius: 0;
        border-bottom-right-radius: 0;
      }
      &::after {
        inset: 0;
      }
    }
    .intro-detail__body {
      padding-top: calc(109 / var(--fs) * 1rem);
      padding-bottom: calc(60 / var(--fs) * 1rem);
    }
    .intro-detail-deco {
      width: 100%;
      position: absolute;
      top: 0;
      left: 50%;
      transform: translateX(-50%);
    }
    .intro-detail-deco-list {
      display: flex;
      align-items: center;
      gap: calc(10 / var(--fs) * 1rem);
    }
    .intro-detail-deco-list:nth-child(2) {
      display: none;
    }
    .intro-detail-deco-list-item {
    }
    .intro-detail-ended {
      text-align: center;
    }
    .intro-detail-ended-txt {
      line-height: calc(50 / 28);
      font-size: calc(28 / var(--fs) * 1rem);
    }
    .intro-detail-ended-txt__label {
      font-weight: 700;
    }
    .intro-detail-ended-txt__label--deco {
      color: var(--c-main-500);
      background: var(--c-white);
      border-radius: calc(10 / var(--fs) * 1rem);
      margin-right: calc(6 / var(--fs) * 1rem);
      padding-inline: calc(10 / var(--fs) * 1rem);
      padding-block: calc(2 / var(--fs) * 1rem) calc(2 / var(--fs) * 1rem);
      font-size: calc(38 / 28 * 1em);
    }
  }
}

@media all and (max-width: 767px) {
  .intro-sec {
    background: url(../img/bg_pattern.png) #F4EBCF repeat top left / calc(41 / 375 * 100vw);

    .l-sec__in {
    }
    .l-sec__body {
      padding-bottom: 0;
      position: relative;
    }
    .l-sec__header {
      margin-bottom: calc(36 / 375 * 100vw);
    }
    .c-header-title {
      width: calc(335 / 375 * 100vw);
      margin-inline: auto;
    }
    .intro-header-deco__container {
      position: absolute;
      top: 0;
      right: 0;
      margin-top: calc(124 / 375 * 100vw);
      margin-right: calc(-12 / 375 * 100vw);
      width: calc(210 / 375 * 100vw);
    }
    .intro-header-deco {
    }
    .intro-header-deco--01 {
      width: calc(80 / 375 * 100vw);
      position: absolute;
      bottom: 0;
      right: 0;
      margin-right: calc(16 / 375 * 100vw);
      margin-bottom: calc(-56 / 375 * 100vw);
      z-index: 1;
    }
    .intro-header-deco--02 {
    }
    .intro-comment-list__container {
    }
    .intro-comment-list {
      display: flex;
      flex-direction: column;
    }
    .intro-comment-list-item {
    }
    .intro-comment {
    }
    .intro-comment-list-item--01 {
      width: calc(180 / 375 * 100vw);
      margin-bottom: calc(-46 / 375 * 100vw);
    }
    .intro-comment-list-item--02 {
      width: calc(170 / 375 * 100vw);
      margin-right: 0;
      margin-left: auto;
      margin-bottom: calc(-46 / 375 * 100vw);
    }
    .intro-comment-list-item--03 {
      width: calc(200 / 375 * 100vw);
    }
    .intro-comment-heading {
      font-size: calc(20 / 375 * 100vw);
      line-height: 1.7;
      text-align: center;
      margin-bottom: calc(22 / 375 * 100vw);
    }
    .intro-comment-heading__inner {
    }
    .intro-comment-heading__label {
      color: var(--c-black);
      font-weight: 700;
      display: inline;
      background: rgba(255, 255, 255, 0.7);
      padding-inline: calc(10 / 375 * 100vw);
    }
    .intro-detail {
      padding-top: calc(95 / 375 * 100vw);
      position: relative;
      z-index: 0;
    }
    .intro-detail__inner {
      position: relative;
      &::before,
      &::after {
        content: "";
        display: block;
        background: var(--c-main-400);
        margin-inline: calc(50% - 50vw);
        padding-inline: calc(50% - 50vw);
        position: absolute;
        z-index: -1;
        
      }
      &::before {
        left: 0;
        right: 0;
        padding-top: calc(17 / 375 * 100vw);
        transform: translateY(-100%);
        border-radius: 100%;
        border-bottom-left-radius: 0;
        border-bottom-right-radius: 0;
      }
      &::after {
        inset: 0;
      }
    }
    .intro-detail__body {
      padding-top: calc(40 / 375 * 100vw);
      padding-bottom: calc(32 / 375 * 100vw);
    }
    .intro-detail-deco {
      width: 100%;
      position: absolute;
      top: 0;
      left: 50%;
      transform: translateX(-50%);
      display: flex;
      gap: calc(10 / 375 * 100vw);
    }
    .intro-detail-deco-list {
      display: flex;
      align-items: center;
      gap: calc(10 / 375 * 100vw);
      flex-shrink: 0;

      animation: slide 25s linear infinite;
    }
    .intro-detail-deco-list-item {
      width: calc(160 / 375 * 100vw);
      flex-shrink: 0;
    }
    .intro-detail-ended {
      text-align: center;
    }
    .intro-detail-ended-txt {
      line-height: calc(50 / 28);
      font-size: calc(20 / 375 * 100vw);
    }
    .intro-detail-ended-txt__label {
      font-weight: 700;
    }
    .intro-detail-ended-txt__label--deco {
      color: var(--c-main-500);
      background: var(--c-white);
      border-radius: calc(10 / 375 * 100vw);
      margin-right: calc(6 / 375 * 100vw);
      padding-inline: calc(10 / 375 * 100vw);
      padding-block: calc(2 / 375 * 100vw) calc(2 / 375 * 100vw);
    }
  }
}

@keyframes slide {
  0% { transform: translateX(0); }
  100% { transform: translateX(-100%); }
}

/* --------------------------------------------------------------------------
  Point
-------------------------------------------------------------------------- */

@media all and (min-width: 768px), print {
  .point-sec {
    background: url(../img/bg_pattern.png) #ECF6EF repeat top left / calc(41 / var(--fs) * 1rem);

    .l-sec__in {
      max-width: calc(1002 / var(--fs) * 1rem);
      padding-inline: calc(56 / var(--fs) * 1rem);
    }
    .l-sec__body {
      padding-top: calc(64 / var(--fs) * 1rem);
    }
    .l-sec__header {
      margin-bottom: calc(44 / var(--fs) * 1rem);
    }
    .point-header-title {
      margin-bottom: calc(28 / var(--fs) * 1rem);
    }
    .c-header-title__label--accent {
      width: calc(392 / var(--fs) * 1rem);
    }
    .c-header-sub {
      text-align: center;
      font-size: calc(23 / var(--fs) * 1rem);
      line-height: calc(33 / 24);
      letter-spacing: calc(10 / 100 * 1em);
    }
    .c-header-sub__label {
      font-weight: 500;
    }
    .c-header-sub__label--strong {
      background: rgba(255, 214, 79, 0.5);
      font-weight: 700;
      display: inline-block;
      padding-inline: calc(6 / var(--fs) * 1rem);
      margin-top: calc(4 / var(--fs) * 1rem);
    }
    .point-list__container {
    }
    .point-list {
      display: flex;
      flex-wrap: wrap;
      gap: calc(44 / var(--fs) * 1rem) calc(40 / var(--fs) * 1rem);
    }
    .point-list-item {
      width: calc((100% - ((40 * 2) / var(--fs) * 1rem)) / 3);
    }
    .point-card {
      background: var(--c-white);
      border: solid 1px var(--c-sub-01-300);
      border-radius: calc(20 / var(--fs) * 1rem);
      position: relative;
      box-shadow: calc(8 / var(--fs) * 1rem) calc(8 / var(--fs) * 1rem) 0 #D2E6D8;
      height: 100%;
    }
    .point-card__inner {
      padding-inline: calc(27 / var(--fs) * 1rem);
      height: 100%;
    }
    .point-card__body {
      padding-block: calc(36 / var(--fs) * 1rem) calc(28 / var(--fs) * 1rem);
      height: 100%;
    }
    .point-card-num {
      position: absolute;
      top: 0;
      left: 0;
      margin-top: calc(-15 / var(--fs) * 1rem);
      margin-left: calc(-10 / var(--fs) * 1rem);
      background: var(--c-sub-01-300);
      border-radius: calc(20 / var(--fs) * 1rem);
      width: calc(48 / var(--fs) * 1rem);
      aspect-ratio: 1;

      display: flex;
      align-items: center;
      justify-content: center;

      font-size: calc(38 / var(--fs) * 1rem);
      line-height: 1;
    }
    .point-card-num__label {
      color: var(--c-white);
      font-weight: 700;
      margin-bottom: calc(4 / var(--fs) * 1rem);
    }
    .point-card-heading {
      text-align: center;
      font-size: calc(20 / var(--fs) * 1rem);
      font-weight: 700;
      line-height: 1.5;
      margin-bottom: calc(15 / var(--fs) * 1rem);
    }
    .point-card-heading__label {
    }
    .point-card-read {
      font-size: calc(14 / var(--fs) * 1rem);
      line-height: calc(24 / 14);
    }
    .point-card-read__label {
    }
    .point-list-item--01 {
    }
    .point-list-item--02 {
    }
    .point-list-item--03 {
    }
    .point-list-item--04 {
    }
    .point-list-item--05 {
    }
    .point-list-item--06 {
    }
  }
}

@media all and (max-width: 767px) {
  .point-sec {
    background: url(../img/bg_pattern.png) #ECF6EF repeat top left / calc(41 / 375 * 100vw);

    .l-sec__in {
      padding-inline: calc(20 / 375 * 100vw);
    }
    .l-sec__header {
      margin-bottom: calc(44 / 375 * 100vw);
    }
    .point-header-title {
      margin-bottom: calc(20 / 375 * 100vw);
    }
    .c-header-title__label--accent {
      width: calc(290 / 375 * 100vw);
    }
    .c-header-sub {
      text-align: center;
      font-size: calc(18 / 375 * 100vw);
      line-height: calc(33 / 24);
      letter-spacing: calc(10 / 100 * 1em);
    }
    .c-header-sub__label {
      font-weight: 500;
    }
    .c-header-sub__label--strong {
      background: rgba(255, 214, 79, 0.5);
      font-weight: 700;
      padding-inline: calc(6 / 375 * 100vw);
      margin-top: calc(4 / 375 * 100vw);
      line-height: 1.7;
    }
    .point-list__container {
    }
    .point-list {
      display: flex;
      flex-wrap: wrap;
      gap: calc(32 / 375 * 100vw) calc(40 / 375 * 100vw);
    }
    .point-list-item {
      width: 100%;
    }
    .point-card {
      background: var(--c-white);
      border: solid 1px var(--c-sub-01-300);
      border-radius: calc(20 / 375 * 100vw);
      position: relative;
      box-shadow: calc(8 / 375 * 100vw) calc(8 / 375 * 100vw) 0 #D2E6D8;
      height: 100%;
    }
    .point-card__inner {
      padding-inline: calc(20 / 375 * 100vw);
    }
    .point-card__body {
      padding-block: calc(24 / 375 * 100vw) calc(28 / 375 * 100vw);
    }
    .point-card-num {
      position: absolute;
      top: 0;
      left: 0;
      margin-top: calc(-15 / 375 * 100vw);
      margin-left: calc(-10 / 375 * 100vw);
      background: var(--c-sub-01-300);
      border-radius: calc(10 / 375 * 100vw);
      width: calc(40 / 375 * 100vw);
      aspect-ratio: 1;

      display: flex;
      align-items: center;
      justify-content: center;

      font-size: calc(28 / 375 * 100vw);
      line-height: 1;
    }
    .point-card-num__label {
      color: var(--c-white);
      font-weight: 700;
      margin-bottom: calc(4 / 375 * 100vw);
    }
    .point-card-heading {
      text-align: center;
      font-size: calc(20 / 375 * 100vw);
      font-weight: 700;
      line-height: 1.5;
      margin-bottom: calc(15 / 375 * 100vw);
    }
    .point-card-heading__label {
    }
    .point-card-read {
      font-size: calc(14 / 375 * 100vw);
      line-height: calc(24 / 14);
    }
    .point-card-read__label {
    }
    .point-list-item--01 {
    }
    .point-list-item--02 {
    }
    .point-list-item--03 {
    }
    .point-list-item--04 {
    }
    .point-list-item--05 {
    }
    .point-list-item--06 {
    }
  }
}

/* --------------------------------------------------------------------------
  Case
-------------------------------------------------------------------------- */

@media all and (min-width: 768px), print {
  .case-sec {
    background: var(--c-main-200);

    .l-sec__body {
      padding-block: calc(45 / var(--fs) * 1rem) calc(43 / var(--fs) * 1rem);
    }
    .l-sec__header {
      margin-bottom: calc(21 / var(--fs) * 1rem);
    }
    .c-header-title {
      text-align: left;
      padding-right: calc(199 / 900 * 100%);
    }
    .c-header-title__label {
      --header-fs: 40;
    }
    .c-header-title__label--accent {
      width: calc(301 / var(--fs) * 1rem);
      margin-right: calc(3 / var(--fs) * 1rem);
    }
    .case-lead {
      padding-right: calc(278 / 900 * 100%);
      font-size: calc(18 / var(--fs) * 1rem);
      margin-top: calc(17 / var(--fs) * 1rem);
    }
    .case-lead-txt {
      line-height: calc(27 / 18);
    }
    .case-lead-txt__label {
      letter-spacing: calc(10 / 100 * 1em);
    }
    .case-list__container {
      background: var(--c-white);
      padding-inline: calc(50 / var(--fs) * 1rem);
      padding-block: calc(50 / var(--fs) * 1rem);
      border-radius: calc(20 / var(--fs) * 1rem);
      position: relative;
    }
    .case-list__deco {
      width: calc(385 / 900 * 100%);
      position: absolute;
      top: 0;
      right: 0;
      margin-top: calc(-250 / 900 * 100%);
    }
    .case-list {
      display: flex;
      gap: calc(25 / var(--fs) * 1rem);
    }
    .case-list-item {
      width: calc((100% - ((25 * 2) / var(--fs) * 1rem)) / 3);
    }
    .case-card {
      background: var(--c-sub-02-200);
      height: 100%;
      border-radius: calc(20 / var(--fs) * 1rem);
    }
    .case-card__inner {
      padding: calc(20 / var(--fs) * 1rem) calc(25 / var(--fs) * 1rem) calc(26 / var(--fs) * 1rem);
      height: 100%;
    }
    .case-card-heading {
      text-align: center;
      font-size: calc(24 / var(--fs) * 1rem);
      margin-bottom: calc(20 / var(--fs) * 1rem);
    }
    .case-card-heading__inner {
      position: relative;
      padding-bottom: calc(24 / var(--fs) * 1rem);
      height: 100%;
      display: flex;
      align-items: center;
      justify-content: center;
    }
    .case-card-heading__inner::before {
      content: "";
      display: block;
      background: var(--c-main-400);
      width: calc(62 / var(--fs) * 1rem);
      padding-top: calc(3 / var(--fs) * 1rem);
      border-radius: 9999px;
      position: absolute;
      bottom: 0;
      left: 50%;
      transform: translateX(-50%);
    }
    .case-card-heading__label {
      font-weight: 700;
      letter-spacing: calc(10 / 100 * 1em);
      line-height: calc(30 / 24);
    }
    .case-card-read {
      font-size: calc(14 / var(--fs) * 1rem);
      line-height: calc(24 / 14);
    }
    .case-card-read-txt {
    }
    .case-card-read-txt__label {
    }
    .case-contact {
      margin-top: calc(60 / var(--fs) * 1rem);
    }
    .case-contact-btn {
      width: calc(600 / var(--fs) * 1rem);
      margin-inline: auto;
    }
  }
}

@media all and (min-width: 768px) and (max-width: 1024px) {
  .case-sec {
    .case-list {
      flex-direction: column;
    }
    .case-list-item {
      width: 100%;
    }
  }
}

@media all and (max-width: 767px) {
  .case-sec {
    background: var(--c-main-200);

    .l-sec__body {
      padding-block: calc(24 / 375 * 100vw) calc(24 / 375 * 100vw);
    }
    .l-sec__header {
      margin-bottom: calc(21 / 375 * 100vw);
    }
    .c-header-title {
    }
    .c-header-title__label {
    }
    .c-header-title__label--accent {
      width: calc(240 / 375 * 100vw);
      margin-right: calc(3 / 375 * 100vw);
    }
    .case-lead {
      font-size: calc(16 / 375 * 100vw);
      margin-top: calc(17 / 375 * 100vw);
      padding-right: calc(110 / 375 * 100vw);
    }
    .case-lead-txt {
      line-height: calc(27 / 18);
    }
    .case-lead-txt__label {
      letter-spacing: calc(10 / 100 * 1em);
    }
    .case-list__container {
      background: var(--c-white);
      padding-inline: calc(20 / 375 * 100vw);
      padding-block: calc(40 / 375 * 100vw) calc(20 / 375 * 100vw);
      border-radius: calc(20 / 375 * 100vw);
      position: relative;
    }
    .case-list__deco {
      width: calc(210 / 375 * 100vw);
      position: absolute;
      top: 0;
      right: 0;
      margin-top: calc(-120 / 375 * 100vw);
      margin-right: calc(-5 / 375 * 100vw);
    }
    .case-list {
      display: flex;
      flex-direction: column;
      gap: calc(20 / 375 * 100vw);
    }
    .case-list-item {
    }
    .case-card {
      background: var(--c-sub-02-200);
      height: 100%;
      border-radius: calc(20 / 375 * 100vw);
    }
    .case-card__inner {
      padding: calc(20 / 375 * 100vw) calc(20 / 375 * 100vw);
      height: 100%;
    }
    .case-card-heading {
      text-align: center;
      font-size: calc(20 / 375 * 100vw);
      margin-bottom: calc(16 / 375 * 100vw);
    }
    .case-card-heading__inner {
      position: relative;
      padding-bottom: calc(16 / 375 * 100vw);
      height: 100%;
      display: flex;
      align-items: center;
      justify-content: center;
    }
    .case-card-heading__inner::before {
      content: "";
      display: block;
      background: var(--c-main-400);
      width: calc(62 / 375 * 100vw);
      padding-top: calc(3 / 375 * 100vw);
      border-radius: 9999px;
      position: absolute;
      bottom: 0;
      left: 50%;
      transform: translateX(-50%);
    }
    .case-card-heading__label {
      font-weight: 700;
      letter-spacing: calc(10 / 100 * 1em);
      line-height: calc(30 / 24);
    }
    .case-card-read {
      font-size: calc(14 / 375 * 100vw);
      line-height: calc(24 / 14);
    }
    .case-card-read-txt {
    }
    .case-card-read-txt__label {
    }
    .case-contact {
      margin-top: calc(32 / 375 * 100vw);
    }
    .case-contact-btn {
      margin-inline: auto;
    }
  }
}

/* --------------------------------------------------------------------------
  Voice
-------------------------------------------------------------------------- */

@media all and (min-width: 768px), print {
  .voice-sec {
    background: var(--c-main-200);

    .l-sec__body {
      padding-top: calc(43 / var(--fs) * 1rem);
      padding-bottom: calc(60 / var(--fs) * 1rem);
    }
    .senior-voice {
      position: relative;
      padding-top: calc(26 / var(--fs) * 1rem);
    }
    .senior-voice__inner {
      background: var(--c-white);
      padding-inline: calc(36 / var(--fs) * 1rem);
      border-radius: calc(20 / var(--fs) * 1rem);
    }
    .senior-voice__body {
      padding-block: calc(61 / var(--fs) * 1rem) calc(36 / var(--fs) * 1rem);
    }
    .senior-voice-heading {
      text-align: center;
      font-size: calc(24 / var(--fs) * 1rem);
      position: absolute;
      top: 0;
      left: 50%;
      transform: translateX(-50%);
      width: 100%;
    }
    .senior-voice-heading__inner {
      display: inline-block;
      padding: calc(12 / var(--fs) * 1rem) calc(14 / var(--fs) * 1rem) calc(11 / var(--fs) * 1rem);
      background: var(--c-main-500);
      border-radius: calc(10 / var(--fs) * 1rem);
    }
    .senior-voice-heading__label {
      color: var(--c-white);
      font-weight: 700;
      letter-spacing: calc(10 / 100 * 1em);
    }
    .voice-list__container {
    }
    .voice-list {
      display: flex;
    }
    .voice-list-item {
      width: calc((100% - (72 / var(--fs) * 1rem)) / 2);
    }
    .voice-list-item + .voice-list-item {
      margin-left: calc(36 / var(--fs) * 1rem);
      padding-left: calc(36 / var(--fs) * 1rem);
      border-left: solid calc(4 / var(--fs) * 1rem) var(--c-sub-02-200);
      width: calc(((100% - (72 / var(--fs) * 1rem)) / 2) + (40 / var(--fs) * 1rem));
    }
    .voice-card {
    }
    .voice-card__inner {
    }
    .voice-card-info {
      display: grid;
      grid-template-columns: calc(142 / 376 * 100%) auto;
      grid-template-rows: auto auto;
      align-items: start;
      gap: calc(18 / var(--fs) * 1rem) calc(23 / var(--fs) * 1rem);
    }
    .voice-card-thumb {
      grid-area: 1 / 1 / 3 / 2;
      flex-shrink: 0;
    }
    .voice-card-thumb-img {
      border-radius: calc(10 / var(--fs) * 1rem);
      overflow: hidden;
    }
    .voice-card-heading {
      grid-area: 1 / 2 / 2 / 3;
      font-size: calc(18 / var(--fs) * 1rem);
      line-height: calc(24 / 18);
    }
    .voice-card-heading__inner {
      background: var(--c-main-400);
      border-radius: calc(50 / var(--fs) * 1rem);
      border-bottom-left-radius: 0;
      padding: calc(21 / var(--fs) * 1rem) calc(20 / var(--fs) * 1rem) calc(19 / var(--fs) * 1rem);
      display: flex;
      justify-content: center;
      align-items: center;
    }
    .voice-card-heading__label {
      color: var(--c-black);
      font-weight: 500;
      letter-spacing: calc(5 / 100 * 1em);
    }
    .voice-card-state {
      grid-area: 2 / 2 / 3 / 3;
    }
    .voice-card-state__inner {
    }
    .voice-card-state-job {
      color: var(--c-main-500);
      font-size: calc(20 / var(--fs) * 1rem);
      font-weight: 700;
      line-height: calc(27 / 20);
      letter-spacing: calc(10 / 100 * 1em);
      margin-bottom: calc(10 / var(--fs) * 1rem);
    }
    .voice-card-state-detail {
      color: var(--c-black);
      font-size: calc(14 / var(--fs) * 1rem);
    }
    .voice-card-read {
      margin-top: calc(28 / var(--fs) * 1rem);
    }
    .voice-card-read-txt {
      font-size: calc(14 / var(--fs) * 1rem);
      line-height: calc(19 / 14);
    }
    .voice-card-read-txt__label {
      color: var(--c-black);
      letter-spacing: calc(3 / 100 * 1em);
    }
    .voice-card-read-txt__label + .voice-card-read-txt__label {
      margin-top: 1em;
    }
    .coach-content {
      background: var(--c-sub-02-400);
      border-radius: calc(20 / var(--fs) * 1rem);
      margin-top: calc(40 / var(--fs) * 1rem);
    }
    .coach-content__inner {
      padding-inline: calc(33 / var(--fs) * 1rem);
    }
    .coach-content__body {
      display: flex;
      align-items: center;
      gap: calc(22 / var(--fs) * 1rem);
      padding-block: calc(29 / var(--fs) * 1rem) calc(33 / var(--fs) * 1rem);
      position: relative;
    }
    .coach-content__body::after {
      content: "";
      display: block;
      width: calc(265 / var(--fs) * 1rem);
      flex-shrink: 0;
    }
    .coach-content-read {
    }
    .coach-content-read-voice {
      font-size: calc(18 / var(--fs) * 1rem);
      line-height: calc(30 / 18);
      margin-bottom: calc(22 / var(--fs) * 1rem);
    }
    .coach-content-read-voice__inner {
      background: var(--c-white);
      border-radius: calc(50 / var(--fs) * 1rem);
      border-bottom-right-radius: 0;
      padding: calc(21 / var(--fs) * 1rem) calc(42 / var(--fs) * 1rem) calc(19 / var(--fs) * 1rem);
    }
    .coach-content-read-voice__label {
      font-weight: 500;
      letter-spacing: calc(10 / 100 * 1em);
    }
    .coach-content-read__detail {
    }
    .coach-content-read-name {
      line-height: calc(30 / 18);
      margin-bottom: calc(10 / var(--fs) * 1rem);
    }
    .coach-content-read-name__label {
      color: var(--c-main-400);
      font-size: calc(18 / var(--fs) * 1rem);
      font-weight: 700;
      letter-spacing: calc(10 / 100 * 1em);
    }
    .coach-content-read-txt {
      font-size: calc(15 / var(--fs) * 1rem);
      line-height: calc(20 / 15);
    }
    .coach-content-read-txt__label {
      color: var(--c-white);
    }
    .coach-content-visual {
      position: absolute;
      top: 0;
      bottom: 0;
      right: 0;
      width: calc(265 / var(--fs) * 1rem);
      display: flex;
      align-items: center;
    }
    .coach-content-visual__inner {
      background: #EEE8DD;
      border-radius: calc(10 / var(--fs) * 1rem);
      aspect-ratio: 265 / 229;
      width: 100%;
    }
    .coach-content-visual-thumb {
      width: calc(302 / var(--fs) * 1rem);
      position: absolute;
      left: 50%;
      bottom: 0;
      transform: translateX(-50%);
      margin-bottom: calc(-15 / var(--fs) * 1rem);
    }
  }
}

@media all and (max-width: 767px) {
  .voice-sec {
    background: var(--c-main-200);

    .l-sec__body {
      padding-top: calc(24 / 375 * 100vw);
      padding-bottom: calc(42 / 375 * 100vw);
    }
    .senior-voice {
      position: relative;
      padding-top: calc(26 / 375 * 100vw);
    }
    .senior-voice__inner {
      background: var(--c-white);
      padding-inline: calc(20 / 375 * 100vw);
      border-radius: calc(20 / 375 * 100vw);
    }
    .senior-voice__body {
      padding-block: calc(36 / 375 * 100vw) calc(36 / 375 * 100vw);
    }
    .senior-voice-heading {
      text-align: center;
      font-size: calc(20 / 375 * 100vw);
      position: absolute;
      top: 0;
      left: 50%;
      transform: translateX(-50%);
      width: 100%;
    }
    .senior-voice-heading__inner {
      display: inline-block;
      padding: calc(12 / 375 * 100vw) calc(14 / 375 * 100vw) calc(11 / 375 * 100vw);
      background: var(--c-main-500);
      border-radius: calc(10 / 375 * 100vw);
    }
    .senior-voice-heading__label {
      color: var(--c-white);
      font-weight: 700;
      letter-spacing: calc(10 / 100 * 1em);
    }
    .voice-list__container {
    }
    .voice-list {
      display: flex;
      flex-direction: column;
    }
    .voice-list-item {
    }
    .voice-list-item + .voice-list-item {
      margin-top: calc(24 / 375 * 100vw);
      padding-top: calc(24 / 375 * 100vw);
      border-top: solid calc(4 / 375 * 100vw) var(--c-sub-02-200);
    }
    .voice-card {
    }
    .voice-card__inner {
    }
    .voice-card-info {
      display: grid;
      grid-template-columns: calc(120 / 375 * 100vw) auto;
      grid-template-rows: auto auto;
      align-items: center;
      gap: calc(18 / 375 * 100vw) calc(12 / 375 * 100vw);
    }
    .voice-card-thumb {
      grid-area: 2 / 1 / 3 / 2;
    }
    .voice-card-thumb-img {
      border-radius: calc(10 / 375 * 100vw);
      overflow: hidden;
    }
    .voice-card-heading {
      grid-area: 1 / 1 / 2 / 3;
      font-size: calc(18 / 375 * 100vw);
      line-height: calc(24 / 18);
    }
    .voice-card-heading__inner {
      background: var(--c-main-400);
      border-radius: calc(50 / 375 * 100vw);
      border-bottom-left-radius: 0;
      padding: calc(8 / 375 * 100vw) calc(20 / 375 * 100vw) calc(8 / 375 * 100vw);
      display: flex;
      justify-content: center;
      align-items: center;
    }
    .voice-card-heading__label {
      color: var(--c-black);
      font-weight: 500;
      letter-spacing: calc(5 / 100 * 1em);
    }
    .voice-card-state {
      grid-area: 2 / 2 / 3 / 3;
    }
    .voice-card-state__inner {
    }
    .voice-card-state-job {
      color: var(--c-main-500);
      font-size: calc(16 / 375 * 100vw);
      font-weight: 700;
      line-height: calc(27 / 20);
      letter-spacing: calc(10 / 100 * 1em);
      margin-bottom: calc(4 / 375 * 100vw);
    }
    .voice-card-state-detail {
      color: var(--c-black);
      font-size: calc(12 / 375 * 100vw);
      font-feature-settings: "palt";
    }
    .voice-card-read {
      margin-top: calc(16 / 375 * 100vw);
    }
    .voice-card-read-txt {
      font-size: calc(14 / 375 * 100vw);
      line-height: calc(19 / 14);
    }
    .voice-card-read-txt__label {
      color: var(--c-black);
      letter-spacing: calc(3 / 100 * 1em);
    }
    .voice-card-read-txt__label + .voice-card-read-txt__label {
      margin-top: 1em;
    }
    .coach-content {
      background: var(--c-sub-02-400);
      border-radius: calc(20 / 375 * 100vw);
      margin-top: calc(40 / 375 * 100vw);
    }
    .coach-content__inner {
      padding-inline: calc(20 / 375 * 100vw);
    }
    .coach-content__body {
      display: flex;
      flex-direction: column;
      align-items: center;
      gap: calc(22 / 375 * 100vw);
      padding-block: calc(29 / 375 * 100vw) calc(33 / 375 * 100vw);
      position: relative;
    }
    .coach-content__body::after {
      content: "";
      display: block;
      width: calc(265 / 375 * 100vw);
      flex-shrink: 0;
    }
    .coach-content-read {
    }
    .coach-content-read-voice {
      font-size: calc(16 / 375 * 100vw);
      line-height: calc(30 / 18);
      margin-bottom: calc(22 / 375 * 100vw);
    }
    .coach-content-read-voice__inner {
      background: var(--c-white);
      border-radius: calc(40 / 375 * 100vw);
      border-bottom-right-radius: 0;
      padding: calc(21 / 375 * 100vw) calc(24 / 375 * 100vw) calc(19 / 375 * 100vw);
    }
    .coach-content-read-voice__label {
      font-weight: 500;
      letter-spacing: calc(10 / 100 * 1em);
    }
    .coach-content-read__detail {
    }
    .coach-content-read-name {
      line-height: calc(30 / 18);
      margin-bottom: calc(10 / 375 * 100vw);
    }
    .coach-content-read-name__label {
      color: var(--c-main-400);
      font-size: calc(18 / 375 * 100vw);
      font-weight: 700;
      letter-spacing: calc(10 / 100 * 1em);
    }
    .coach-content-read-txt {
      font-size: calc(15 / 375 * 100vw);
      line-height: calc(20 / 15);
    }
    .coach-content-read-txt__label {
      color: var(--c-white);
    }
    .coach-content-visual {
      width: calc(265 / 375 * 100vw);
      display: flex;
      align-items: center;
    }
    .coach-content-visual__inner {
      background: #EEE8DD;
      border-radius: calc(10 / 375 * 100vw);
      aspect-ratio: 265 / 220;
      width: 100%;
    }
    .coach-content-visual-thumb {
      width: calc(321 / 375 * 100vw);
      position: absolute;
      left: 50%;
      bottom: 0;
      transform: translateX(-50%);
      margin-bottom: calc(-16 / 375 * 100vw);
    }
  }
}

/* --------------------------------------------------------------------------
  Course
-------------------------------------------------------------------------- */

@media all and (min-width: 768px), print {
  .course-sec {
    .l-sec__in{
      max-width: calc(900 / var(--fs) * 1rem);
    }
    .c-accordion-header {
    }
    .c-accordion-header__in {
      padding-left: calc(219 / var(--fs) * 1rem);
      position: relative;
      z-index: 1;
    }
    .c-accordion-header__body {
      padding-block: calc(26 / var(--fs) * 1rem);
    }
    .c-accordion-header__label {
      display: flex;
      align-items: center;
      flex-grow: 1;
      justify-content: center;
      padding-right: calc(132 / var(--fs) * 1rem);
    }
    .course-accordion-deco {
      width: calc(209 / var(--fs) * 1rem);
      position: absolute;
      bottom: 0;
      left: 0;
      margin-left: calc(10 / var(--fs) * 1rem);
      margin-bottom: calc(-17 / var(--fs) * 1rem);
    }
    .course-content {
      background: var(--c-white);
      border-radius: calc(20 / var(--fs) * 1rem);
    }
    .course-content__inner {
      padding-inline: calc(20 / var(--fs) * 1rem);
      max-width: calc(690 / var(--fs) * 1rem);
      margin-inline: auto;
    }
    .course-content__body {
      padding-block: calc(46 / var(--fs) * 1rem) calc(33 / var(--fs) * 1rem);
    }
    .course-content-heading {
      font-size: calc(24 / var(--fs) * 1rem);
      line-height: 1.5;
      margin-bottom: calc(10 / var(--fs) * 1rem);
    }
    .course-content-heading__label {
      color: #295D85;
      font-weight: 700;
    }
    .course-content-read {
    }
    .course-content-read-txt {
      font-size: calc(14 / var(--fs) * 1rem);
      line-height: calc(24 / 14);
    }
    .course-content-read-txt__label {
    }
    .course-flow-list__container {
      margin-top: calc(18 / var(--fs) * 1rem);
    }
    .course-flow-list {
      display: flex;
    }
    .course-flow-list-item {
      width: calc((100% - ((10 * 2) / var(--fs) * 1rem)) / 3);
    }
    .course-flow-list-item:not(:last-child) {
      margin-right: calc(8 / var(--fs) * 1rem);
      padding-right: calc(22 / var(--fs) * 1rem);
      width: calc(((100% - ((10 * 2) / var(--fs) * 1rem)) / 3) + (22 / var(--fs) * 1rem));
      position: relative;
      &::before {
        content: "";
        display: block;
        background: #BFC7CE;
        width: calc(10 / var(--fs) * 1rem);
        padding-top: calc(17 / var(--fs) * 1rem);
        clip-path: polygon(0 0, 100% 50%, 0 100%);
        position: absolute;
        top: 0;
        right: 0;
        margin-top: calc(10 / var(--fs) * 1rem);
      }
    }
    .course-flow {
      display: flex;
      flex-direction: column;
      justify-content: space-between;
      height: 100%;
    }
    .course-flow__wrap {
    }
    .course-flow-heading {
      background: #145587;
      border-radius: calc(10 / var(--fs) * 1rem);
      text-align: center;
      line-height: calc(24 / 16);
      margin-bottom: calc(14 / var(--fs) * 1rem);
    }
    .course-flow-heading__inner {
      padding: calc(6 / var(--fs) * 1rem) calc(10 / var(--fs) * 1rem);
    }
    .course-flow-heading__label {
      color: var(--c-white);
      font-weight: 700;
    }
    .course-flow-txt {
      font-size: calc(13 / var(--fs) * 1rem);
      line-height: calc(20 / 13);
    }
    .course-flow-txt__label {
    }
    .course-flow-thumb {
      margin-top: calc(9 / var(--fs) * 1rem);
    }
    .c-accordion-close {
      margin-top: calc(23 / var(--fs) * 1rem);
      width: calc(209 / var(--fs) * 1rem);
      margin-inline: auto;
    }
    .course-flow-plan {
      margin-top: calc(18 / var(--fs) * 1rem);
    }
    .course-flow-plan__inner {
      background: url(../img/bg_pattern.png) var(--c-main-200) repeat top left / calc(41 / var(--fs) * 1rem);
      border-radius: calc(10 / var(--fs) * 1rem);
      padding-inline:  calc(20 / var(--fs) * 1rem);
      padding-block:  calc(20 / var(--fs) * 1rem) calc(7 / var(--fs) * 1rem);
    }
    .course-flow-plan-heading {
      text-align: center;
      background: #295D85;
      font-size: calc(22 / var(--fs) * 1rem);
      border-radius: calc(10 / var(--fs) * 1rem);
      margin-bottom: calc(23 / var(--fs) * 1rem);
    }
    .course-flow-plan-heading__inner {
      padding-inline: calc(10 / var(--fs) * 1rem);
      padding-block: calc(10 / var(--fs) * 1rem) calc(9 / var(--fs) * 1rem);
    }
    .course-flow-plan-heading__label {
      color: #fff;
      font-weight: 700;
      position: relative;
      display: inline-block;
    }
    .course-flow-plan-heading__label::before {
      content: "";
      display: block;
      background: url(../img/course_flow_plan_deco.png) no-repeat center / contain;
      width: calc(39 / var(--fs) * 1rem);
      padding-top: calc(48 / var(--fs) * 1rem);
      position: absolute;
      bottom: 0;
      left: 0;
      margin-bottom: calc(-2 / var(--fs) * 1rem);
      transform: translateX(-100%);
      margin-left: calc(-10 / var(--fs) * 1rem);
    }
    .course-flow-plan-thumb {
    }
    .course-flow-plan-thumb-img {
    }
  }
}

@media all and (max-width: 767px) {
  .course-sec {
    .l-sec__in{
      max-width: calc(900 / 375 * 100vw);
    }
    .c-accordion-header {
    }
    .c-accordion-header__in {
      position: relative;
      padding-left: calc(120 / 375 * 100vw);
    }
    .c-accordion-header__label {
      display: flex;
      flex-direction: column;
      gap: calc(4 / 375 * 100vw);
    }
    .course-accordion-deco {
      width: calc(100 / 375 * 100vw);
      position: absolute;
      bottom: 0;
      left: 0;
      margin-left: calc(12 / 375 * 100vw);
    }
    .course-content {
      background: var(--c-white);
      border-radius: calc(20 / 375 * 100vw);
    }
    .course-content__inner {
      padding-inline: calc(20 / 375 * 100vw);
      max-width: calc(690 / 375 * 100vw);
      margin-inline: auto;
    }
    .course-content__body {
      padding-block: calc(32 / 375 * 100vw) calc(33 / 375 * 100vw);
    }
    .course-content-heading {
      font-size: calc(24 / 375 * 100vw);
      line-height: 1.5;
      margin-bottom: calc(10 / 375 * 100vw);
    }
    .course-content-heading__label {
      color: #295D85;
      font-weight: 700;
    }
    .course-content-read {
    }
    .course-content-read-txt {
      font-size: calc(14 / 375 * 100vw);
      line-height: calc(24 / 14);
    }
    .course-content-read-txt__label {
    }
    .course-flow-list__container {
      margin-top: calc(18 / 375 * 100vw);
    }
    .course-flow-list {
      display: flex;
      flex-direction: column;
    }
    .course-flow-list-item {
      width: 100%;
    }
    .course-flow-list-item:not(:last-child) {
      margin-bottom: calc(8 / 375 * 100vw);
      padding-bottom: calc(22 / 375 * 100vw);
      position: relative;
      &::before {
        content: "";
        display: block;
        background: #BFC7CE;
        width: calc(17 / 375 * 100vw);
        padding-top: calc(10 / 375 * 100vw);
        clip-path: polygon(0 0, 100% 0, 50% 100%);
        position: absolute;
        left: 50%;
        bottom: 0;
        transform: translateX(-50%);
      }
    }
    .course-flow {
      display: flex;
      flex-direction: column;
      justify-content: space-between;
      height: 100%;
    }
    .course-flow__wrap {
    }
    .course-flow-heading {
      background: #145587;
      border-radius: calc(10 / 375 * 100vw);
      text-align: center;
      line-height: calc(24 / 16);
      margin-bottom: calc(14 / 375 * 100vw);
    }
    .course-flow-heading__inner {
      padding: calc(6 / 375 * 100vw) calc(10 / 375 * 100vw);
    }
    .course-flow-heading__label {
      color: var(--c-white);
      font-weight: 700;
    }
    .course-flow-txt {
      font-size: calc(13 / 375 * 100vw);
      line-height: calc(20 / 13);
    }
    .course-flow-txt__label {
    }
    .course-flow-thumb {
      margin-top: calc(9 / 375 * 100vw);
    }
    .c-accordion-close {
      margin-top: calc(27 / 375 * 100vw);
      width: calc(209 / 375 * 100vw);
      margin-inline: auto;
    }
    .course-flow-plan {
      margin-top: calc(18 / 375 * 100vw);
    }
    .course-flow-plan__inner {
      background: url(../img/bg_pattern.png) var(--c-main-200) repeat top left / calc(41 / 375 * 100vw);
      border-radius: calc(10 / 375 * 100vw);
      padding-block:  calc(16 / 375 * 100vw) calc(7 / 375 * 100vw);
    }
    .course-flow-plan-heading {
      text-align: center;
      background: #295D85;
      font-size: calc(16 / 375 * 100vw);
      border-radius: calc(10 / 375 * 100vw);
      margin-bottom: calc(16 / 375 * 100vw);
      margin-inline: calc(12 / 375 * 100vw);
    }
    .course-flow-plan-heading__inner {
      padding: calc(6 / 375 * 100vw) calc(10 / 375 * 100vw);
    }
    .course-flow-plan-heading__label {
      color: #fff;
      font-weight: 700;
      position: relative;
      display: inline-block;
    }
    .course-flow-plan-heading__label::before {
      content: "";
      display: block;
      background: url(../img/course_flow_plan_deco.png) no-repeat center / contain;
      width: calc(28 / 375 * 100vw);
      aspect-ratio: 39 / 48;
      position: absolute;
      bottom: 0;
      left: 0;
      margin-bottom: calc(-2 / 375 * 100vw);
      transform: translateX(-100%);
      margin-left: calc(-2 / 375 * 100vw);
    }
    .course-flow-plan-thumb {
      overflow-y: scroll;
    }
    .course-flow-plan-thumb-img {
      width: calc(360 / 375 * 100vw);
      margin-inline: calc(20 / 375 * 100vw);
    }
  }
}

/* --------------------------------------------------------------------------
  Faq
-------------------------------------------------------------------------- */
@media all and (min-width: 768px), print {
  .faq-sec {
    background: url(../img/bg_pattern.png) #ECF6EF repeat top left / calc(41 / var(--fs) * 1rem);
    .l-sec__body {
      padding-top: calc(49 / var(--fs) * 1rem);
      padding-bottom: calc(69 / var(--fs) * 1rem);
    }
    .faq-header-title {
    }
    .l-sec__header {
      margin-bottom: calc(28 / var(--fs) * 1rem);
    }
    .c-header-title__label {
      --header-fs: 40;
    }
    .faq-heading {
      line-height: 1.2;
      font-size: calc(20 / var(--fs) * 1rem);
    }
    .faq-heading__inner {
      display: flex;
      align-items: start;
    }
    .faq-heading__head {
      color: var(--c-sub-02-500);
      font-size: calc(24 / var(--fs) * 1rem);
      font-weight: 700;
      margin-top: calc(((-1lh + (24 / var(--fs) * 1rem)) / 2));
      margin-right: calc(25 / var(--fs) * 1rem);
      flex-shrink: 0;
    }
    .faq-heading__label {
      color: var(--c-sub-02-500);
      font-weight: 700;
    }
    .faq-answer-content {
    }
    .faq-answer-content__inner {
      padding-inline: calc(33 / var(--fs) * 1rem) calc(11 / var(--fs) * 1rem);
    }
    .faq-answer-content__body {
      display: flex;
      align-items: start;
      gap: calc(27 / var(--fs) * 1rem);
      padding-top: calc(27 / var(--fs) * 1rem);
    }
    .faq-answer-heading {
      font-size: calc(24 / var(--fs) * 1rem);
      line-height: calc(27 / 24);
      margin-top: calc(((-1lh + (24 / var(--fs) * 1rem)) / 2));
      flex-shrink: 0;
    }
    .faq-answer-heading__label {
      color: #E84846;
      font-weight: 700;
      letter-spacing: calc(10 / 100 * 1em);
    }
    .faq-answer-read {
      font-size: calc(18 / var(--fs) * 1rem);
      line-height: calc(27 / 18);
    }
    .faq-answer-read-txt {
    }
    .faq-answer-read-txt__label {
      font-feature-settings: "palt";
      letter-spacing: calc(10 / 100 * 1em);
      & + & {
        margin-top: 1em;
      }
    }
    .c-accordion {
      background: none;
      box-shadow: none;
      border-radius: 0;
    }
    .c-accordion + .c-accordion {
      margin-top: calc(28 / var(--fs) * 1rem);
    }
    .c-accordion-header__in {
      padding-inline: calc(33 / var(--fs) * 1rem) calc(28 / var(--fs) * 1rem);
    }
    .c-accordion-header__body {
      padding-block: calc(18 / var(--fs) * 1rem);
    }
    .c-accordion-header {
      background: var(--c-white);
      box-shadow: calc(5 / var(--fs) * 1rem) calc(6 / var(--fs) * 1rem) 0 #BBE2C8;
      border-radius: calc(20 / var(--fs) * 1rem);
    }
    .c-accordion-header__ico {
      &::before,
      &::after {
        background: var(--c-sub-01-300);
      }
    }
    .c-accordion-content__body {
      padding: 0;
    }
  }
}
@media all and (max-width: 767px) {
  .faq-sec {
    background: url(../img/bg_pattern.png) #ECF6EF repeat top left / calc(41 / 375 * 100vw);
    .l-sec__body {
      padding-bottom: calc(56 / 375 * 100vw);
    }
    .faq-heading {
      line-height: 1.2;
      font-size: calc(16 / 375 * 100vw);
    }
    .faq-heading__inner {
      display: flex;
      align-items: start;
    }
    .faq-heading__head {
      color: var(--c-sub-02-500);
      font-size: calc(18 / 375 * 100vw);
      font-weight: 700;
      margin-top: calc(((-1lh + (18 / 375 * 100vw)) / 2));
      margin-right: calc(4 / 375 * 100vw);
      flex-shrink: 0;
    }
    .faq-heading__label {
      color: var(--c-sub-02-500);
      font-weight: 700;
    }
    .faq-answer-content {
    }
    .faq-answer-content__inner {
      padding-inline: calc(12 / 375 * 100vw);
    }
    .faq-answer-content__body {
      display: flex;
      align-items: start;
      gap: calc(27 / 375 * 100vw);
      padding-top: calc(20 / 375 * 100vw);
    }
    .faq-answer-heading {
      font-size: calc(20 / 375 * 100vw);
      line-height: calc(27 / 24);
      margin-top: calc(((-1lh + (20 / 375 * 100vw)) / 2));
      flex-shrink: 0;
      display: none;
    }
    .faq-answer-heading__label {
      color: #E84846;
      font-weight: 700;
      letter-spacing: calc(10 / 100 * 1em);
    }
    .faq-answer-read {
      font-size: calc(16 / 375 * 100vw);
      line-height: calc(27 / 18);
    }
    .faq-answer-read-txt {
    }
    .faq-answer-read-txt__label {
      font-feature-settings: "palt";
      letter-spacing: calc(10 / 100 * 1em);
      & + & {
        margin-top: 1em;
      }
    }
    .c-accordion {
      background: none;
      box-shadow: none;
      border-radius: 0;
    }
    .c-accordion + .c-accordion {
      margin-top: calc(20 / 375 * 100vw);
    }
    .c-accordion-header__in {
      padding-inline: calc(20 / 375 * 100vw) calc(16 / 375 * 100vw);
    }
    .c-accordion-header__body {
      gap: calc(12 / 375 * 100vw);
    }
    .c-accordion-header {
      background: var(--c-white);
      box-shadow: calc(5 / 375 * 100vw) calc(6 / 375 * 100vw) 0 #BBE2C8;
      border-radius: calc(16 / 375 * 100vw);
    }
    .c-accordion-header__ico {
      flex-shrink: 0;
      &::before,
      &::after {
        background: var(--c-sub-01-300);
      }
    }
    .c-accordion-content__body {
      padding: 0;
    }
  }
}

/* --------------------------------------------------------------------------
  Recruitment
-------------------------------------------------------------------------- */

@media all and (min-width: 768px), print {
  .recruitment-sec {
    background: var(--c-main-200);

    .l-sec__body {
      padding-top: calc(54 / var(--fs) * 1rem);
      padding-top: calc(64 / var(--fs) * 1rem);
      padding-bottom: calc(40 / var(--fs) * 1rem);
    }
    .l-sec__header {
      margin-bottom: calc(29 / var(--fs) * 1rem);
    }
    .recruitment-header-title {
      letter-spacing: calc(10 / 100 * 1em);
      margin-bottom: calc(15 / var(--fs) * 1rem);
    }
    .c-header-title__label {
      font-size: calc(24 / var(--fs) * 1rem);
      line-height: calc(30 / 24);
    }
    .recruitment-header-title__accent {
      color: #E52E2E;
      font-size: calc(40 / var(--fs) * 1rem);
      line-height: calc(60 / 40);
      margin-top: calc(9 / var(--fs) * 1rem);
      display: inline-block;
      text-decoration-color: rgba(255, 214, 79, 0.7);
      text-decoration-line:underline;
      text-decoration-thickness: calc(20 / 40 * 1em);
      text-underline-offset: calc(-7 / 40 * 1em);
      text-decoration-skip-ink: none;
    }
    .c-header-sub {
      text-align: center;
      font-size: calc(18 / var(--fs) * 1rem);
      line-height: calc(25 / 18);
    }
    .c-header-sub__label {
      font-weight: 400;
      letter-spacing: calc(10 / 100 * 1em);
    }
    .recruitment-content {
      background: var(--c-white);
      border-radius: calc(10 / var(--fs) * 1rem);
    }
    .recruitment-content__inner {
      padding-inline: calc(50 / var(--fs) * 1rem);
    }
    .recruitment-content__body {
      padding-block: calc(47 / var(--fs) * 1rem);
    }
    .recruitment-content-heading {
      text-align: center;
      font-size: calc(24 / var(--fs) * 1rem);
      line-height: calc(30 / 24);
      margin-bottom: calc(46 / var(--fs) * 1rem);
    }
    .recruitment-content-heading__inner {
      position: relative;
      padding-bottom: calc(13 / var(--fs) * 1rem);
      &::before {
        content: "";
        display: block;
        width: calc(60 / var(--fs) * 1rem);
        padding-top: calc(4 / var(--fs) * 1rem);
        background: #FAE58E;
        position: absolute;
        bottom: 0;
        left: 50%;
        transform: translateX(-50%);
      }
    }
    .recruitment-content-heading__label {
      letter-spacing: calc(10 / 100 * 1em);
    }
    .recruitment-content-list {
      display: flex;
      flex-wrap: wrap;
      gap: calc(24 / var(--fs) * 1rem);
    }
    .recruitment-content-list-item {
      width: calc((100% - ((24 * 2) / var(--fs) * 1rem)) / 3);
    }
    .recruitment-content-list-item--full {
      width: 100%;
      .recruitment-card-heading {
        margin-bottom: calc(19 / var(--fs) * 1rem);
      }
    }
    .recruitment-card {
    }
    .recruitment-card-heading {
      background: var(--c-main-300);
      text-align: center;
      font-size: calc(18 / var(--fs) * 1rem);
      line-height: calc(25 / 18);
      border-radius: calc(10 / var(--fs) * 1rem);
      margin-bottom: calc(12 / var(--fs) * 1rem);
    }
    .recruitment-card-heading__inner {
      padding-block: calc(6 / var(--fs) * 1rem) calc(7 / var(--fs) * 1rem);
    }
    .recruitment-card-heading__label {
    }
    .recruitment-card-main {
    }
    .recruitment-card-main:has(.recruitment-card-main-read-heading__label) {
      display: flex;
      justify-content: center;
    }
    .recruitment-card-main-read {
    }
    .recruitment-card-main-read-txt {
      text-align: center;
      line-height: calc(22 / 16);
    }
    .recruitment-card-main-read-txt + .recruitment-card-main-read-txt {
      margin-top: calc(7 / var(--fs) * 1rem);
    }
    .recruitment-card-main-read-txt:has(.recruitment-card-main-read-heading__label) {
      display: flex;
      align-items: start;
      gap: calc(6 / var(--fs) * 1rem);
      text-align: left;
    }
    .recruitment-card-main-read-heading__label {
      border-radius: calc(20 / var(--fs) * 1rem);
      padding: calc(3 / var(--fs) * 1rem) calc(10 / var(--fs) * 1rem) calc(4 / var(--fs) * 1rem);
      line-height: calc(19 / 14);
      display: block;
      flex-shrink: 0;
    }
    .recruitment-card-main-read-heading__label--debut {
      background: #E3F7EA;
    }
    .recruitment-card-main-read-heading__label--middle {
      background: #CFEBF3;
    }
    .recruitment-card-main-read-note {
      font-size: calc(14 / var(--fs) * 1rem);
      line-height: calc(19 / 14);
    }
    .recruitment-card-main-read-note-txt {
      display: flex;
      align-items: start;
      justify-content: center;
      &::before {
        content: "※";
      }
    }
    .recruitment-card-main-read-note-txt__label {
    }
    .recruitment-card-main-read__label {
    }
    .recruitment-card-main-benefits {
      margin-bottom: calc(51 / var(--fs) * 1rem);
    }
    .recruitment-card-main-benefits-list {
      display: flex;
      align-items: end;
      flex-wrap: wrap;
      gap: calc(14 / var(--fs) * 1rem);
    }
    .recruitment-card-main-benefits-list::after {
      content: "等";
      font-size: calc(14 / var(--fs) * 1rem);
      line-height: calc(19 / 14);
    }
    .recruitment-card-main-benefits-list-item {
    }
    .recruitment-card-main-benefits-list-item--point {
      .benefits-card {
        background: var(--c-main-400);
      }
    }
    .benefits-card {
      border: solid var(--c-sub-02-500) 1px;
      border-radius: calc(10 / var(--fs) * 1rem);
      line-height: calc(26 / 16);
    }
    .benefits-card__inner {
      padding: calc(5 / var(--fs) * 1rem) calc(10 / var(--fs) * 1rem);
    }
    .benefits-card__label {
    }
    .recruitment-card-main-images {
      display: flex;
      align-items: center;
      flex-wrap: wrap;
      gap: calc(24 / var(--fs) * 1rem);
    }
    .recruitment-card-main-image {
      width: calc((100% - (24 / var(--fs) * 1rem)) / 2);
    }
    .recruitment-card-main-image-txt {
      text-align: right;
      font-size: calc(13 / var(--fs) * 1rem);
      line-height: calc(18 / 13);
    }
    .recruitment-card-main-image-txt__label {
    }
    .recruitment-frow {
      padding-top: calc(13 / var(--fs) * 1rem);
      position: relative;
      margin-top: calc(21 / var(--fs) * 1rem);
      container-type: inline-size;
      --w: 800;
    }
    .recruitment-frow__inner {
      background: url(../img/bg_pattern.png) var(--c-main-200) repeat top left / calc(41 / var(--fs) * 1rem);
      border-radius: calc(10 / var(--fs) * 1rem);
      padding-inline: calc(22 / var(--w) * 100cqi);
    }
    .recruitment-frow__body {
      padding-block: calc(81 / var(--w) * 100cqi) calc(42 / var(--w) * 100cqi);
    }
    .recruitment-frow-heading {
      width: calc(458 / var(--w) * 100cqi);
      position: absolute;
      top: 0;
      left: 50%;
      transform: translateX(-50%);
    }
    .recruitment-frow-list {
      display: flex;
      align-items: center;
      justify-content: center;
    }
    .recruitment-frow-list-item {
    }
    .recruitment-frow-list-item:not(:last-child) {
      margin-right: calc(12 / var(--w) * 100cqi);
      padding-right: calc(25 / var(--w) * 100cqi);
      position: relative;
      &::before {
        content: "";
        display: block;
        width: calc(11 / var(--w) * 100cqi);
        padding-top: calc(19 / var(--w) * 100cqi);
        background: #C7B3A3;
        position: absolute;
        top: 50%;
        right: 0;
        transform: translateY(-50%);
        clip-path: polygon(0 0, 100% 50%, 0 100%);
      }
    }
    .recruitment-frow-list-item--01 {
      --bg: var(--c-sub-02-400);
    }
    .recruitment-frow-list-item--02 {
      --bg: #876D57;
    }
    .recruitment-frow-list-item--03 {
      --bg: #735B46;
    }
    .recruitment-frow-list-item--04 {
      --bg: var(--c-main-500);
    }
    .recruitment-frow-card {
      text-align: center;
      font-size: calc(20 / var(--w) * 100cqi);
      line-height: calc(26 / 20);
      
      min-width: calc(159 / var(--w) * 100cqi);
      background: var(--bg);
      border-radius: 9999px;
    }
    .recruitment-frow-card__inner {
      padding: calc(12 / var(--w) * 100cqi);
    }
    .recruitment-frow-card__label {
      color: var(--c-white);
      font-weight: 700;
    }
    .recruitment-btn-list__container {
      padding-top: calc(63 / var(--fs) * 1rem);
      margin-top: calc(55 / var(--fs) * 1rem);
      position: relative;
      padding-bottom: calc(40 / var(--fs) * 1rem);
    }
    .recruitment-btn-list {
      width: 100%;
      max-width: calc(835 / var(--fs) * 1rem);
      margin-inline: auto;
      position: absolute;
      top: 0;
      left: 50%;
      transform: translateX(-50%);
    }
  }
}

@media all and (max-width: 767px) {
  .recruitment-sec {
    background: var(--c-main-200);

    .l-sec__body {
      padding-bottom: calc(20 / 375 * 100vw);
    }
    .l-sec__header {
      margin-bottom: calc(29 / 375 * 100vw);
    }
    .recruitment-header-title {
      letter-spacing: calc(10 / 100 * 1em);
      margin-bottom: calc(15 / 375 * 100vw);
    }
    .c-header-title__label {
      font-size: calc(18 / 375 * 100vw);
      line-height: calc(30 / 24);
    }
    .recruitment-header-title__accent {
      color: #E52E2E;
      font-size: calc(24 / 375 * 100vw);
      line-height: calc(60 / 40);
      margin-top: calc(4 / 375 * 100vw);
      display: inline-block;
      text-decoration-color: rgba(255, 214, 79, 0.7);
      text-decoration-line:underline;
      text-decoration-thickness: calc(20 / 40 * 1em);
      text-underline-offset: calc(-7 / 40 * 1em);
      text-decoration-skip-ink: none;
    }
    .c-header-sub {
      text-align: center;
      font-size: calc(16 / 375 * 100vw);
      line-height: calc(25 / 18);
    }
    .c-header-sub__label {
      font-weight: 400;
      letter-spacing: calc(10 / 100 * 1em);
    }
    .recruitment-content {
      background: var(--c-white);
      border-radius: calc(10 / 375 * 100vw);
    }
    .recruitment-content__inner {
      padding-inline: calc(20 / 375 * 100vw);
    }
    .recruitment-content__body {
      padding-block: calc(28 / 375 * 100vw);
    }
    .recruitment-content-heading {
      text-align: center;
      font-size: calc(20 / 375 * 100vw);
      line-height: calc(30 / 24);
      margin-bottom: calc(24 / 375 * 100vw);
    }
    .recruitment-content-heading__inner {
      position: relative;
      padding-bottom: calc(13 / 375 * 100vw);
      &::before {
        content: "";
        display: block;
        width: calc(60 / 375 * 100vw);
        padding-top: calc(4 / 375 * 100vw);
        background: #FAE58E;
        position: absolute;
        bottom: 0;
        left: 50%;
        transform: translateX(-50%);
      }
    }
    .recruitment-content-heading__label {
      letter-spacing: calc(10 / 100 * 1em);
    }
    .recruitment-content-list {
      display: flex;
      flex-wrap: wrap;
      gap: calc(16 / 375 * 100vw);
    }
    .recruitment-content-list-item {
      width: 100%;
    }
    .recruitment-content-list-item--full {
      width: 100%;
      .recruitment-card-heading {
        margin-bottom: calc(19 / 375 * 100vw);
      }
    }
    .recruitment-card {
    }
    .recruitment-card-heading {
      background: var(--c-main-300);
      text-align: center;
      font-size: calc(16 / 375 * 100vw);
      line-height: calc(25 / 18);
      border-radius: calc(10 / 375 * 100vw);
      margin-bottom: calc(12 / 375 * 100vw);
    }
    .recruitment-card-heading__inner {
      padding-block: calc(2 / 375 * 100vw) calc(4 / 375 * 100vw);
    }
    .recruitment-card-heading__label {
    }
    .recruitment-card-main {
    }
    .recruitment-card-main:has(.recruitment-card-main-read-heading__label) {
      display: flex;
      justify-content: center;
    }
    .recruitment-card-main-read {
    }
    .recruitment-card-main-read-txt {
      text-align: center;
      line-height: calc(22 / 16);
      font-size: calc(14 / 375 * 100vw);
    }
    .recruitment-card-main-read-txt + .recruitment-card-main-read-txt {
      margin-top: calc(7 / 375 * 100vw);
    }
    .recruitment-card-main-read-txt:has(.recruitment-card-main-read-heading__label) {
      display: flex;
      align-items: start;
      gap: calc(6 / 375 * 100vw);
      text-align: left;
    }
    .recruitment-card-main-read-heading__label {
      border-radius: calc(20 / 375 * 100vw);
      padding: calc(3 / 375 * 100vw) calc(10 / 375 * 100vw) calc(4 / 375 * 100vw);
      line-height: calc(19 / 14);
      display: block;
      flex-shrink: 0;
    }
    .recruitment-card-main-read-heading__label--debut {
      background: #E3F7EA;
    }
    .recruitment-card-main-read-heading__label--middle {
      background: #CFEBF3;
    }
    .recruitment-card-main-read-note {
      font-size: calc(14 / 375 * 100vw);
      line-height: calc(19 / 14);
    }
    .recruitment-card-main-read-note-txt {
      display: flex;
      align-items: start;
      justify-content: center;
      &::before {
        content: "※";
      }
    }
    .recruitment-card-main-read-note-txt__label {
    }
    .recruitment-card-main-read__label {
    }
    .recruitment-card-main-benefits {
      margin-bottom: calc(24 / 375 * 100vw);
    }
    .recruitment-card-main-benefits-list {
      display: flex;
      align-items: end;
      flex-wrap: wrap;
      gap: calc(6 / 375 * 100vw);
    }
    .recruitment-card-main-benefits-list::after {
      content: "等";
      font-size: calc(14 / 375 * 100vw);
      line-height: calc(19 / 14);
    }
    .recruitment-card-main-benefits-list-item {
    }
    .recruitment-card-main-benefits-list-item--point {
      .benefits-card {
        background: var(--c-main-400);
      }
    }
    .benefits-card {
      border: solid var(--c-sub-02-500) 1px;
      border-radius: calc(10 / 375 * 100vw);
      font-size: calc(14 / 375 * 100vw);
      line-height: calc(26 / 16);
    }
    .benefits-card__inner {
      padding: calc(2 / 375 * 100vw) calc(10 / 375 * 100vw);
    }
    .benefits-card__label {
    }
    .recruitment-card-main-images {
      display: flex;
      align-items: center;
      flex-wrap: wrap;
      gap: calc(24 / 375 * 100vw);
    }
    .recruitment-card-main-image {
    }
    .recruitment-card-main-image-txt {
      text-align: right;
      font-size: calc(13 / 375 * 100vw);
      line-height: calc(18 / 13);
    }
    .recruitment-card-main-image-txt__label {
    }
    .recruitment-frow {
      padding-top: calc(13 / 375 * 100vw);
      position: relative;
      margin-top: calc(21 / 375 * 100vw);
      container-type: inline-size;
      --w: 800;
    }
    .recruitment-frow__inner {
      background: url(../img/bg_pattern.png) var(--c-main-200) repeat top left / calc(41 / 375 * 100vw);
      border-radius: calc(10 / 375 * 100vw);
      padding-inline: calc(22 / 375 * 100vw);
    }
    .recruitment-frow__body {
      padding-block: calc(42 / 375 * 100vw) calc(32 / 375 * 100vw);
    }
    .recruitment-frow-heading {
      width: calc(295 / 375 * 100vw);
      position: absolute;
      top: 0;
      left: 50%;
      transform: translateX(-50%);
    }
    .recruitment-frow-list {
      display: flex;
      justify-content: center;
      flex-direction: column;
    }
    .recruitment-frow-list-item {
    }
    .recruitment-frow-list-item:not(:last-child) {
      margin-bottom: calc(12 / 375 * 100vw);
      padding-bottom: calc(25 / 375 * 100vw);
      position: relative;
      &::before {
        content: "";
        display: block;
        width: calc(19 / 375 * 100vw);
        padding-top: calc(11 / 375 * 100vw);
        background: #C7B3A3;
        position: absolute;
        left: 50%;
        bottom: 0;
        transform: translateX(-50%);
        clip-path: polygon(0 0, 100% 0, 50% 100%);
      }
    }
    .recruitment-frow-list-item--01 {
      --bg: var(--c-sub-02-400);
    }
    .recruitment-frow-list-item--02 {
      --bg: #876D57;
    }
    .recruitment-frow-list-item--03 {
      --bg: #735B46;
    }
    .recruitment-frow-list-item--04 {
      --bg: var(--c-main-500);
    }
    .recruitment-frow-card {
      text-align: center;
      font-size: calc(14 / 375 * 100vw);
      line-height: calc(26 / 20);
      
      min-width: calc(159 / 375 * 100vw);
      background: var(--bg);
      border-radius: 9999px;
    }
    .recruitment-frow-card__inner {
      padding: calc(6 / 375 * 100vw);
    }
    .recruitment-frow-card__label {
      color: var(--c-white);
      font-weight: 700;
    }
    .recruitment-btn-list__container {
      margin-top: calc(32 / 375 * 100vw);
      position: relative;
      padding-bottom: calc((88 + 20) / 375 * 100vw);
    }
    .recruitment-btn-list {
      width: 100%;
      max-width: calc(260 / 375 * 100vw);
      margin-inline: auto;
      position: absolute;
      top: 0;
      left: 50%;
      transform: translateX(-50%);
      .l-btn-list-item + .l-btn-list-item {
        margin-top: calc(8 / 375 * 100vw);
      }
      .c-btn {
        --btn-txt-fs: 12;
        --btn-min-height: 20;
        --btn-px: 36;
        box-shadow: calc(2 / 375 * 100vw) calc(4 / 375 * 100vw) 0 var(--btn-border-color);
      }
    }
  }
}