@layer pages {

  /* ===== common ===== */
  .page-global-features {
    color: #171717;
  }

  /* 見出し（小見出し＋大見出し＋アンダーライン） */
  .feature-head {
    margin-bottom: 50px;
  }

  .feature-head__txt {
    margin-bottom: 5px;
    letter-spacing: 0.05em;
  }

  .feature-head__ttl {
    font-family: var(--font-family-mincho);
    font-weight: var(--font-weight-semibold);
    font-size: 2.8rem;
    letter-spacing: 0.1em;
    padding-bottom: 18px;
    position: relative;

    &::before {
      content: "";
      display: inline-block;
      width: 100%;
      border-bottom: 1px solid #cbcbcb;
      position: absolute;
      left: 0;
      bottom: 0;
    }

    &::after {
      content: "";
      display: inline-block;
      width: 15%;
      max-width: 220px;
      border-bottom: 3px solid var(--color-main);
      border-radius: 10px;
      position: absolute;
      left: 0;
      bottom: 0;
    }
  }

  .feature-seclead {
    text-align: center;
    margin-bottom: 45px;
  }

  @media screen and (max-width: 768px) {
    .feature-head {
      margin-bottom: 30px;
    }

    .feature-head__txt {
      font-size: 1.4rem;
    }

    .feature-head__ttl {
      font-size: 2.4rem;
    }

    .feature-seclead {
      text-align: left;
      margin-bottom: 40px;
    }
  }

  /* ボタン */
  .feature-btn {
    margin-top: 50px;
  }

  .feature-btn__link {
    color: var(--color-text);
    font-family: var(--font-family-oswald);
    font-weight: var(--font-weight-medium);
    display: block;
    max-width: 350px;
    margin: 0 auto;
    text-align: center;
    font-size: 2rem;
    padding: 14px;
    border: 1px solid #d4d0de;
    border-radius: 999px;
    overflow: hidden;
    position: relative;

    &:hover {
      background: #e9edf5;

      .feature-btn__arrow {
        animation: moreArrow 0.4s cubic-bezier(0.455, 0.03, 0.515, 0.955) both;
      }
    }
  }

  .feature-btn__arrow {
    display: inline-block;
    width: 64px;
    background: url("/assets/img/global/btn-arrow.png") no-repeat center/contain;
    aspect-ratio: 143/20;
    position: absolute;
    top: calc(50% - 5px);
    right: 15px;
  }

  @keyframes moreArrow {
    0% {
      opacity: 1;
      transform: translateX(0);
    }

    49.9% {
      opacity: 0;
      transform: translateX(10px);
    }

    50% {
      opacity: 0;
      transform: translateX(-10px);
    }

    100% {
      opacity: 1;
      transform: translateX(0);
    }
  }

  @media (max-width: 768px) {}

  /* ===== FV ===== */
  .feature-fv {
    background: url("/assets/img/pages/features/fv.webp") no-repeat center/cover;
    aspect-ratio: 3/1;
    margin-top: 80px;
    position: relative;
    place-content: center;
  }

  .feature-fv__ttlbox {
    text-align: center;
    width: fit-content;
    width: 210px;
    aspect-ratio: 1/1;
    margin: 0 auto;
    place-content: center;
    border: 1px solid #171717;
    background: rgba(255, 255, 255, 0.2);
  }

  .feature-fv__ttl {
    font-family: var(--font-family-mincho);
    font-weight: var(--font-weight-semibold);
    font-size: 2.2rem;
    letter-spacing: 0.2em;
    text-indent: 0.2em;
    margin: 0;
  }

  @media screen and (max-width: 768px) {
    .feature-fv {
      background: url("/assets/img/pages/features/fv-sp.webp") no-repeat center/cover;
      aspect-ratio: 39/37;
      margin-top: 60px;
    }

    .feature-fv__ttlbox {
      width: 160px;
    }

    .feature-fv__ttl {
      font-size: 1.8rem;
    }
  }

  /* リード */
  .feature-lead__txt {
    max-width: 765px;
    margin: 0 auto;
    text-align: justify;

    p {
      line-height: 2;
      margin-bottom: 0;
    }
  }


  /* ===== 安田のアイデンティティ ===== */
  .feature-identity__content {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    gap: 50px;
    align-items: start;
  }

  .feature-identity__imgs {
    display: grid;
    gap: 10px;
  }

  .feature-identity__item:not(:first-child) {
    margin-top: 30px;
  }

  .feature-identity__label {
    font-family: var(--font-family-mincho);
    font-weight: var(--font-weight-semibold);
    background: #e9ecf3;
    display: flex;
    align-items: center;
    gap: 10px;
    padding: 8px 0;
    margin-bottom: 20px;

    span::before {
      content: "";
      display: inline-block;
      width: 8px;
      height: 8px;
      background: var(--color-main);
      margin-right: 10px;
      vertical-align: 1px;
    }
  }

  .feature-identity__txt {
    font-size: 1.4rem;
  }

  @media screen and (max-width: 768px) {
    .feature-identity__content {
      grid-template-columns: 1fr;
    }

    .feature-identity__imgs {
      width: calc(100% + 40px);
      margin-left: -20px;

      img:last-child {
        display: none;
      }
    }

    .feature-identity__label {
      font-size: 1.6rem;
      margin-bottom: 15px;
    }
  }

  /* ===== 写真＋キャプション（学生生活サポート／学修環境／キャリア支援 共通） ===== */
  .feature-photos {
    display: flex;
  }

  .feature-photos__item {
    flex: 1;
    padding: 0 30px;

    &:not(:last-child) {
      border-right: 1px solid #c6c6c6;
    }
  }

  .feature-photos__thumb {
    aspect-ratio: 3/2;
    overflow: hidden;

    img {
      height: 100%;
      object-fit: cover;
    }
  }

  .feature-photos__cap {
    font-family: var(--font-family-mincho);
    font-weight: var(--font-weight-semibold);
    font-size: 1.7rem;
    display: flex;
    gap: 10px;
    margin-top: 20px;
    margin-bottom: 0;

    &::before {
      content: "";
      display: inline-block;
      width: 8px;
      height: 8px;
      background: var(--color-main);
      margin-top: 7px;
      vertical-align: 1px;
    }
  }

  .feature-gallery {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 5px 10px;
  }

  .feature-gallery__thumb {
    aspect-ratio: 3/2;
    overflow: hidden;

    img {
      height: 100%;
      object-fit: cover;
    }
  }

  .feature-career {
    margin-bottom: 100px;
  }

  @media screen and (max-width: 768px) {
    .feature-photos {
      flex-direction: column;
      gap: 30px;
    }

    .feature-photos__item {
      padding: 0;

      &:not(:last-child) {
        border-right: none;
      }
    }

    .feature-photos__cap {
      font-size: 1.6rem;
      margin-top: 10px;
    }

    .feature-gallery {
      grid-template-columns: 1fr;
    }
  }
}