@charset 'UTF-8';

:root {
  --font-family-base: 'UDShinGoPr6N-Light', 'UD Shin Go Pr6N', 'Hiragino Sans', 'Yu Gothic', sans-serif;
  --font-family-mincho: 'HiraMinProN-W3', 'Hiragino Mincho ProN', 'Yu Mincho', serif;
  --font-family-mincho-w6: 'HiraMinProN-W6', 'Hiragino Mincho ProN', 'Yu Mincho', serif;
  --font-family-accent: 'A-OTF UD Shin Go Pr6N';
  --color-text-base: #3e3e3d;
  --color-text-black: #000;
}

html,
body {
  height: 100%;
  margin: 0;
  padding: 0;
}

#three-canvas {
  display: block;
  position: fixed;
  z-index: -1;
  top: 0;
  left: 0;
  width: 100vw;
  height: 100vh;
  background: transparent;
  pointer-events: none;
}

.trigger-section {
  height: 100vh;
}

#sphereToLogoTrigger {
  margin-top: 100px;
}

/* ==============================
// ローディング
// ============================== */
html.is-notscroll {
  overflow-y: hidden;
}

.html.is-notscroll body {
  overflow: hidden;
}
.splash {
  position: fixed;
  z-index: 100;
  top: clamp(0px, calc(100vw * 20 / 1920), 20px);
  left: clamp(0px, calc(100vw * 20 / 1920), 20px);
  color: #fff;
  font-size: clamp(0px, calc(100vw * 20 / 1920), 20px);
  opacity: 0;
}

.article {
  display: flex;
  flex-direction: row;
  align-items: flex-start;
  justify-content: center;
}

.article-business-intro {
  align-items: center;
}

@media (max-width: 768px) {
  .article {
    flex-direction: column;
    align-items: center;
  }
}
.article .section-business-slider {
  width: 500px;
  height: 500px;
  max-width: 100%;
}
@media (max-width: 768px) {
  .article .section-business-slider {
    width: 100%;
    aspect-ratio: 1/1;
  }
}
.article figure {
  width: clamp(50%, calc(100vw * 500 / 1920), 500px);
  max-width: 800px;
  height: 100%;
  padding-top: clamp(0px, calc(100vw * 80 / 1920), 80px);
}
.article figure img {
  width: 100%;
  height: auto;
  object-fit: cover;
}
@media (max-width: 768px) {
  .article figure {
    width: 100%;
  }
}
.article__section {
  position: sticky;
  top: 0;
}
.article__header {
  background: linear-gradient(75deg, #ee6300 -6.82%, #f1a68e 95.9%);
  background-clip: text;
  -webkit-text-fill-color: transparent;
}
@media (max-width: 767.8px) {
  .article__section {
    position: relative;
  }
}

.section-business-slider {
  position: relative;
  width: 100%;
  height: 100%;
}

.section-business-slider img {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  opacity: 0; /* 初期状態は透明 */
  object-fit: cover;
}

@media (max-width: 767.8px) {
  .section-business-slider img:first-child {
    opacity: 1;
  }
}

/* ==============================
// 背景
// ============================== */
body {
  background: #fff !important;
}

.bg-kv,
.bg-vision,
.bg-news {
  position: fixed;
  z-index: -2;
  top: 0;
  left: 0;
  width: 100%;
  height: 100vh;
  will-change: transform, opacity;
}

/* 各背景の個別スタイル */
.bg-kv {
  background: linear-gradient(#2c2c2c 0%, #353535 43.15%, #3e3e3d 81.83%, #3e3e3d 88.59%, #3e3e3d 100%);
}

.bg-vision div {
  position: absolute;
  inset: 0;
  opacity: .75;
  background: linear-gradient(180deg, #f0e2c7 0%, #ccbba7 50%, #f5f2ee 150%);
}

.bg-vision svg {
  position: absolute;
  inset-inline: 0;
  top: -400px;
  will-change: transform; /* SVGもパフォーマンス最適化 */
  filter: blur(50px);
}

.bg-news {
  background-color: #ffeecb;
}

.bg-orange-gradient {
  margin-top: 200px;
  position: relative;
  overflow: hidden;
}

.bg-orange-gradient::after {
  content: "";
  display: block;
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  background: rgb(251 237 209 / 50%);
  mix-blend-mode: multiply;
}

/* mouse */
*,
html,
body {
  cursor: none;
}

.s-mouse {
  display: grid;
  position: fixed;
  z-index: 999999999999999999;
  top: 0;
  left: 0;
  place-items: center;
  width: 2rem;
  height: 2rem;
  transition: opacity .2s ease;
  will-change: transform, opacity;
  pointer-events: none;
  @media (hover: none) {
    display: none;
  }
}

.s-mouse__pointer {
  display: grid;
  position: absolute;
  place-items: center;
  width: clamp(20px, calc(100vw * 40 / 1920), 40px);
  height: clamp(0px, calc(100vw * 40 / 1920), 40px);
  will-change: transform;
  transition: scale .2s ease;
}

.s-mouse__pointer::after {
  content: '';
  display: block;
  position: absolute;
  z-index: -2;
  inset: 0;
  width: 100%;
  height: 100%;
  border-radius: 100vmax;
  background: linear-gradient(#ffa700 0%, rgba(253, 169, 11, .94) 35.96%, rgba(244, 178, 53, .7) 64.53%, rgba(247, 203, 122, .5) 100%);
  filter: blur(8px);
}

.s-mouse__pointer::before {
  content: "";
  position: absolute;
  z-index: -1;
  inset: 20%;
  border-radius: 50%;
  background: radial-gradient(circle at center, rgba(255, 255, 255, 0) 0%, rgba(255, 255, 255, 0.3) 100%);
  filter: blur(0.5px);
  transition: opacity .3s ease;
  opacity: 0;
}

.s-mouse__pointer-text {
  position: absolute;
  inset: 0;
  color: #fff;
  text-align: center;
  opacity: 0;
  transition: opacity .3s ease;
}
.s-mouse__pointer-text::before {
  content: '|';
}
.s-mouse.is-hover .s-mouse__pointer {
  scale: 2;
}
.s-mouse.is-hover .s-mouse__pointer::before {
  opacity: 1;
}
.s-mouse.is-text .s-mouse__pointer-text {
  opacity: 0.25;
}
.s-mouse.is-click .s-mouse__pointer {
  scale: 0.8;
}
.s-mouse.is-outside {
  opacity: 0 !important;
}

/* ==============================
// フッター
// ============================== */
.p-footer {
  position: relative;
  z-index: 1000;
  background-color: #fff;
}

.p-top-news {
  background-color: transparent;
}

/* ==============================
// キービジュアル
// ============================== */
.p-home-kv {
  display: flex;
  align-items: center;
  min-height: 100vh;
}

.p-home-kv__inner {
  width: 100%;
}

.p-home-kv hgroup {
  position: relative;
  padding-top: 200px;
}

.p-home-kv hgroup h1 {
  position: relative;
  margin: 0 0 clamp(0px, calc(100vw * 46 / 1920), 46px) 0;
  padding-left: clamp(0px, calc(100vw * 107 / 1920), 107px);
  color: #fff;
  font-family: var(--font-family-base), sans-serif;
  font-size: clamp(0px, calc(100vw * 20 / 1920), 20px);
  font-weight: 400;
  letter-spacing: .1em;
}

.p-home-kv hgroup h1::before {
  content: '';
  position: absolute;
  top: 50%;
  left: 0;
  width: clamp(0px, calc(100vw * 92.5 / 1920), 92.5px);
  height: 1px;
  transform: translateY(-50%);
  background-color: #fff;
}

@media (max-width: 767.8px) {
  .p-home-kv hgroup h1 {
    font-size: 14px;
    margin-bottom: 16px;
  }
}

.p-home-kv hgroup h2 {
  margin: 0 0 clamp(0px, calc(100vw * 61 / 1920), 61px) 0;
  color: #fff;
  font-family: var(--font-family-mincho);
  font-size: clamp(28px, calc(100vw * 64 / 1920), 64px);
  font-weight: normal;
  letter-spacing: .07em;
  line-height: 1.2;
  -webkit-text-stroke: clamp(0px, calc(100vw * 1.2 / 1920), 1.2px) #fff;
  text-stroke: clamp(0px, calc(100vw * 1.2 / 1920), 1.2px) #fff;
}

@media (max-width: 767.8px) {
  .p-home-kv hgroup h2 {
    margin-bottom: 24px;
  }
}

.p-home-kv hgroup p {
  margin: 0;
  color: #fff;
  font-family: var(--font-family-base);
  font-size: clamp(16px, calc(100vw * 30 / 1920), 30px);
  font-weight: 400;
  letter-spacing: .03em;
  line-height: 1.6;
}

@media (max-width: 767.8px) {
  .p-home-kv hgroup {
    padding-top: 100px;
  }
}

/* ==============================
// ボタン
// ============================== */
.btn-home {
    display: flex;
    position: relative;
    align-items: center;
    justify-content: center;
    font-family: var(--font-family-accent);
    font-weight: bold;
    letter-spacing: .05em;
    text-decoration: none;
    color: inherit;
    width: clamp(300px, calc(100vw * 494 / 1920), 494px);
    aspect-ratio: 494 / 179;
    margin-left: clamp(-60px, calc(100vw * -60 / 1920), 0px);
    font-size: clamp(16px, calc(100vw * 22 / 1920), 22px);
}

.btn-home::before {
    content: '';
    display: block;
    position: absolute;
    z-index: -1;
    inset: 0;
    width: 100%;
    height: 100%;
    transition: transform .2s ease;
    background-image: url("/images/home/btn.png");
    background-repeat: no-repeat;
    background-size: contain;
}

.btn-home:hover::before {
    transform: scale(1.05);
}

@media (max-width: 767.8px) {
    .btn-home {
        width: 80%;
        max-width: 300px;
        font-size: 16px;
    }
}

.btn-recruit {
    display: flex;
    position: relative;
    align-items: center;
    justify-content: center;
    font-family: var(--font-family-accent);
    font-weight: bold;
    letter-spacing: .05em;
    text-decoration: none;
    color: inherit;
    width: clamp(300px, calc(100vw * 507 / 1920), 507px);
    height: clamp(110px, calc(100vw * 185 / 1920), 185px);
    font-size: clamp(18px, calc(100vw * 27 / 1920), 27px);
}

.btn-recruit::before {
    content: '';
    display: block;
    position: absolute;
    z-index: -1;
    inset: 0;
    width: 100%;
    height: 100%;
    transition: transform .2s ease;
    background-image: url("/images/home/btn.png");
    background-repeat: no-repeat;
    background-size: contain;
}

.btn-recruit:hover::before {
    transform: scale(1.05);
}

@media (max-width: 767.8px) {
    .btn-recruit {
        width: 80%;
        max-width: 300px;
        font-size: 18px;
    }
}

/* ==============================
// ビジョン
// ============================== */
.p-home-vision {
    min-height: 100vh;
    margin-left: auto;
    display: flex;
    align-items: center;
}

@media (max-width: 767.8px) {
    .p-home-vision {
        margin-top: 0px;
        padding-top: 500px;
        padding-bottom: 100px;
    }
}

.p-home-vision__inner {
    width: 100%;
}

.p-home-vision hgroup {
    display: block;
    position: relative;
    width: fit-content;
    margin-right: 0;
    margin-left: auto;
}

.p-home-vision hgroup h1 {
    position: relative;
    margin: 0 0 94px 0;
    padding-left: clamp(0px, calc(100vw * 107 / 1920), 107px);
    color: var(--color-text-base);
    font-family: var(--font-family-base), sans-serif;
    font-size: clamp(0px, calc(100vw * 20 / 1920), 20px);
    font-weight: 400;
    letter-spacing: .1em;
}

.p-home-vision hgroup h1::before {
    content: '';
    position: absolute;
    top: 50%;
    left: 0;
    width: clamp(0px, calc(100vw * 92.5 / 1920), 92.5px);
    height: 1px;
    transform: translateY(-50%);
    background-color: var(--color-text-base);
}

@media (max-width: 767.8px) {
    .p-home-vision hgroup h1 {
        font-size: 14px;
        margin-bottom: 16px;
    }
}

.p-home-vision hgroup h2 {
    margin: 0 0 clamp(0px, calc(100vw * 109 / 1920), 109px) 0;
    color: var(--color-text-base);
    font-family: var(--font-family-mincho-w6);
    font-size: clamp(32px, calc(100vw * 64 / 1920), 64px);
    font-weight: 600;
    letter-spacing: .07em;
    line-height: 1.25;
    -webkit-text-stroke: clamp(0px, calc(100vw * 1.2 / 1920), 1.2px) #3e3e3d;
    text-stroke: clamp(0px, calc(100vw * 1.2 / 1920), 1.2px) #3e3e3d;
}

@media (max-width: 767.8px) {
    .p-home-vision hgroup {
        margin-inline: 0;
        margin-bottom: 40px;
    }
}

.p-home-vision hgroup p {
    margin: 0;
    color: var(--color-text-base);
    font-family: var(--font-family-base);
    font-size: clamp(16px, calc(100vw * 30 / 1920), 30px);
    font-weight: 400;
    letter-spacing: .03em;
    line-height: 2;
}

/* ==============================
// ビジネス
// ============================== */
.section-business {
    position: relative; /* pin機能で要素がfixedになっても高さを維持するため */
    margin-top: 300px;
}

@media (max-width: 767.8px) {
    .section-business {
        margin-top: 150px;
    }
}

.business-structure hgroup {
    position: relative;
    margin: 0 auto;
    filter: drop-shadow(0px 0 20px #fff) drop-shadow(0px 0 10px #fff) drop-shadow(0px 0 5px #fff) drop-shadow(0px 0 5px #fff) drop-shadow(0px 0 5px #fff);
}

.business-structure hgroup h1 {
    position: relative;
    margin: 0 0 59px 0;
    padding-left: clamp(0px, calc(100vw * 107 / 1920), 107px);
    color: var(--color-text-base);
    font-family: var(--font-family-base), sans-serif;
    font-size: clamp(0px, calc(100vw * 20 / 1920), 20px);
    font-weight: 400;
    letter-spacing: .1em;
}

.business-structure hgroup h1::before {
    content: '';
    position: absolute;
    top: 50%;
    left: 0;
    width: clamp(0px, calc(100vw * 92.5 / 1920), 92.5px);
    height: 1px;
    transform: translateY(-50%);
    background-color: var(--color-text-base);
}

@media (max-width: 767.8px) {
    .business-structure hgroup h1 {
        font-size: 14px;
        margin-bottom: 16px;
    }
}

.business-structure hgroup h2 {
    margin: 0 0 70px 0;
    color: var(--color-text-base);
    font-size: clamp(24px, calc(100vw * 40 / 1920), 40px);
    font-weight: 600;
    letter-spacing: .07em;
    line-height: 1.75;
}

@media (max-width: 767.8px) {
    .business-structure hgroup h2 {
        margin-bottom: 16px;
    }
}

.business-structure hgroup p {
    margin: 0;
    color: var(--color-text-black);
    font-family: var(--font-family-accent), 'UDShinGoPr6N-Light', sans-serif;
    font-size: clamp(14px, calc(100vw * 22 / 1920), 22px);
    font-weight: 400;
    letter-spacing: -.03em;
    line-height: 2.08;
}

@media (max-width: 480px) {
    .business-structure hgroup p {
        font-size: 16px;
        line-height: 1.8;
    }
}

.business-structure hgroup p .highlight {
    letter-spacing: -.07em;
}

/* ビジネス事業部セクション */
.article-business {
    display: flex;
    flex-direction: row;
    gap: 40px;
    margin-top: 300px;
    align-items: center;
}

@media (max-width: 768px) {
    .article-business {
        flex-direction: column;
        gap: 16px;
        margin-top: 80px;
        margin-bottom: 60px;
    }
}

.article-business--reverse {
    flex-direction: row-reverse;
}

@media (max-width: 768px) {
    .article-business--reverse {
        flex-direction: column;
    }
}

/* 画像部分 */
.article-business figure {
    flex-shrink: 0;
    width: 50%;
    max-width: 800px;
    margin: 0;
}

.article-business figure img {
    display: block;
    width: 100%;
    height: auto;
    scale: 1.25;
}

@media (max-width: 768px) {
    .article-business figure {
        width: 100%;
    }

    .article-business figure img {
        scale: 1;
    }
}


@media (max-width: 768px) {
    .article-business .btn-home {
        order: 1000;
    }
}

/* コンテンツ部分 */
.article-business .content-wrapper {
    flex: 1;
}

@media (max-width: 768px) {
    .article-business .content-wrapper {
        width: 100%;
        display: contents;
    }
}

/* メインタイトル */
.article-business .content-wrapper h2 {
    margin: 0 0 40px 0;
    stroke-width: clamp(0px, calc(100vw * 1.2 / 1920), 1.2px);
    stroke: var(--color-text-base);
    color: var(--color-text-base);
    font-size: clamp(24px, calc(100vw * 40 / 1920), 40px);
    font-weight: 600;
    letter-spacing: .07em;
    line-height: 1.4;
}

@media (max-width: 768px) {
    .article-business .content-wrapper h2 {
        margin-bottom: 16px;
        font-size: 32px;
        width: 100%;
    }
}

/* サブタイトル */
.article-business .content-wrapper .subtitle {
    margin: 0 0 40px 0;
    stroke-width: .7px;
    stroke: var(--color-text-base);
    color: var(--color-text-base);
    font-size: clamp(16px, calc(100vw * 30 / 1920), 30px);
    font-weight: 600;
    line-height: 1.67;
}

.article-business .content-wrapper .subtitle br {
    display: block;
}

@media (max-width: 768px) {
    .article-business .content-wrapper .subtitle {
        margin-bottom: 16px;
        font-size: clamp(18px, calc(100vw * 24 / 1920), 24px);
        width: 100%;
    }

    .article-business .content-wrapper .subtitle br {
        display: none;
    }
}

/* 詳細説明 */
.article-business .content-wrapper .description {
    margin: 0 0 40px 0;
    color: var(--color-text-base);
    font-family: var(--font-family-accent), 'UDShinGoPr6N-Light', sans-serif;
    font-size: clamp(14px, calc(100vw * 22 / 1920), 22px);
    font-weight: 400;
    letter-spacing: -.03em;
    line-height: 2.08;
    filter: drop-shadow(0px 0 20px #fff) drop-shadow(0px 0 10px #fff) drop-shadow(0px 0 5px #fff) drop-shadow(0px 0 5px #fff) drop-shadow(0px 0 5px #fff);
}

@media (max-width: 768px) {
    .article-business .content-wrapper .description {
        margin-bottom: 16px;
    }
}

.article-business.article-business--innovation figure img {
  margin-top: -60px;
}
@media (max-width: 768px) {
  .article-business.article-business--innovation figure img {
    margin-top: 0;
  }
}

/* ボタン画像 */
.article-business .content-wrapper img {
    display: block;
    width: auto;
    height: auto;
}

/* ==============================
// リクルート
// ============================== */
.section-recruit {
    display: flex;
    position: relative;
    z-index: 2;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    gap: clamp(0px, calc(100vw * 80 / 1920), 80px);
    min-height: 100vh;
    padding-top: clamp(0px, calc(100vw * 200 / 1920), 200px);
    background: linear-gradient(rgba(255, 255, 255, 0), rgba(255, 255, 255, 1) 20%);
}

.section-recruit__copy {
    color: var(--color-text-base);
    font-family: 'Hiragino Mincho ProN', serif;
    font-size: clamp(20px, calc(100vw * 49 / 1920), 49px);
    font-weight: bold;
    letter-spacing: .07em;
    text-align: center;
}

@media (max-width: 767.8px) {
    .section-recruit {
        gap: 40px;
        padding-top: 100px;
    }
}

.e-carousel {
    width: 100vw;
    margin-inline: calc(50% - 50cqi);
    overflow: hidden;
}

.e-carousel .e-carousel__inner {
    margin-left: auto;
    margin-right: auto;
    max-width: 1140px;
    width: 100%;
}

@media (max-width: 1140px) {
    .e-carousel .e-carousel__inner {
      padding-left: 6vw;
      padding-right: 6vw;
    }
}


.e-carousel .keen-slider {
    overflow: visible !important;
}

.e-carousel .keen-slider__slide {
    overflow: visible !important;
}

.e-carousel .keen-slider__slide：first-child {
    margin-left: calc(50% - 50cqi);
}

.e-carousel .e-carousel-item {
    position: relative;
    border: 1.4px solid #fff;
    border-radius: 8.3px;
    background-color: rgb(239 184 80 / 26%);
    backdrop-filter: blur(2px);
    box-shadow: 0px 8px 8px rgba(0, 0, 0, 0.06);
}

.e-carousel .e-carousel-item::after {
    content: '';
    position: absolute;
    inset: 0;
    margin-right: -25px;
    margin-bottom: -25px;
    transition: opacity .3s ease;
    opacity: 0;
    background-image: url(/images/home/deco-news-shadow.png);
    background-repeat: no-repeat;
    background-position: right bottom;
    background-size: contain;
    pointer-events: none;
}

.e-carousel .e-carousel-item:hover::after {
    opacity: 1;
}

.e-carousel__inner {
    margin-top: -20px;
    padding-block: 20px;
}

.e-carousel__thumbnail {
    border-radius: 9px;
}

.p-newsroom-card__thumbnail {
    margin-bottom: 0;
    border-top-right-radius: 6px !important;
    border-top-left-radius: 6px !important;
    border-bottom-right-radius: 0 !important;
    border-bottom-left-radius: 0 !important;
}

.p-newsroom-card__content {
    padding: 22px;
}

.p-newsroom-card__date__day {
    font-family: var(--font-family-mincho);
    font-size: 32px;
}

.p-newsroom-card__date__year {
    opacity: 1;
    font-family: var(--font-family-mincho);
}

.e-carousel-navigation {
    position: relative;
}

.e-carousel-navigation .e-circle-icon--outlined {
    border: 0;
    background: transparent;
    width: 50px;
    height: 50px;
}

.e-carousel-navigation .e-circle-icon--outlined svg {
    width: 10px;
}

.e-carousel-navigation::after {
    content: '';
    display: block;
    position: absolute;
    z-index: -1;
    inset: 0;
    width: 100%;
    height: 100%;
    border-radius: 100vmax;
    background: #fff;
    backdrop-filter: blur(2px);
    transition: scale .3s ease;
    filter: drop-shadow(3px 3px 4px rgba(0, 0, 0, 0.16));
}

.e-carousel-navigation:hover::after {
    scale: 1.1;
}

.p-newsroom-list {
    filter: drop-shadow(0px 0 20px rgb(251 237 209 / 50%)) drop-shadow(0px 0 10px rgb(251 237 209 / 50%)) drop-shadow(0px 0 5px rgb(251 237 209 / 50%)) drop-shadow(0px 0 5px rgb(251 237 209 / 50%)) drop-shadow(0px 0 5px rgb(251 237 209 / 50%));
}

.p-newsroom-item {
    position: relative;
}

.p-newsroom-item {
    padding-bottom: 4px !important;
    border-bottom: 2.5px solid #fff !important;
}

.p-newsroom-item::after {
    content: '';
    position: absolute;
    z-index: -1;
    bottom: -3px;
    left: -10px;
    width: 100%;
    height: 5px;
    background-image: linear-gradient(90deg, #ee7c00 20%, #f4a100 40%, #fac32c 70%, #ffff 100% 100%);
    filter: blur(12px);
}

.p-newsroom-item__date {
    padding: 0;
    border: 0;
}

.p-newsroom-item__date__day {
    font-family: var(--font-family-mincho);
    -webkit-text-stroke: clamp(0px, calc(100vw * 1.2 / 1920), 1.2px) #3e3e3d;
    text-stroke: clamp(0px, calc(100vw * 1.2 / 1920), 1.2px) #3e3e3d;
}

.p-newsroom-item__date__year {
    font-family: var(--font-family-mincho);
    -webkit-text-stroke: clamp(0px, calc(100vw * 1.2 / 1920), 1.2px) var(--color-text-base);
    text-stroke: clamp(0px, calc(100vw * 1.2 / 1920), 1.2px) #3e3e3d;
}

.p-newsroom-item__content {
  filter: drop-shadow(0px 0 20px rgb(251 237 209 / 50%)) drop-shadow(0px 0 10px rgb(251 237 209 / 50%)) drop-shadow(0px 0 5px rgb(251 237 209 / 50%)) drop-shadow(0px 0 5px rgb(251 237 209 / 50%)) drop-shadow(0px 0 5px rgb(251 237 209 / 50%));
}

.p-top-news__header {
    flex-direction: column;
    margin-bottom: 100px;
}

.p-top-news__header .e-headline__subtitle {
    position: relative;
    margin: 0 0 clamp(16px, calc(100vw * 46 / 1920), 46px) 0;
    padding-left: clamp(0px, calc(100vw * 107 / 1920), 107px);
    color: var(--color-text-base);
    font-family: var(--font-family-base), sans-serif;
    font-size: clamp(0px, calc(100vw * 20 / 1920), 20px);
    font-weight: 400;
    letter-spacing: .1em;
}

.p-top-news__header .e-headline__subtitle::before {
    content: '';
    position: absolute;
    top: 50%;
    left: 0;
    width: clamp(0px, calc(100vw * 92.5 / 1920), 92.5px);
    height: 1px;
    transform: translateY(-50%);
    background-color: var(--color-text-base);
}

@media (max-width: 767.8px) {
    .p-top-news__header .e-headline__subtitle {
        font-size: 14px;
        margin-bottom: 16px;
    }
}

.p-top-news__header .e-headline {
    font-size: clamp(24px, calc(100vw * 40 / 1920), 40px);
    letter-spacing: .07em;
    color: var(--color-text-base);
    font-weight: bold;
}

@media (max-width: 767.8px) {
    .p-top-news__header {
        margin-bottom: 40px;
        display: contents;
    }

    .p-top-news__header__link {
        order: 1000;
    }

    .p-top-news__container {
        display: flex;
        flex-direction: column;
    }
}

@media (max-width: 767.8px) {
    .p-top-newsroom {
        display: flex;
        flex-direction: column;
    }
}

.p-breadcrumbs {
    display: flex;
    align-items: center;
    gap: 8px;
}

.p-breadcrumbs::before {
    content: '';
    display: block;
    width: 18px;
    height: 18px;
    border-radius: 100vmax;
    background: radial-gradient(#ffa700 0%, rgba(253, 169, 11, .94) 35.96%, rgba(244, 178, 53, .7) 64.53%, rgba(247, 203, 122, .5) 100%);
}

.e-link-button {
    display: flex;
    margin-left: auto;
}
.e-link-button__text {
    font-family: var(--font-family-accent);
    font-size: clamp(16px, calc(100vw * 18 / 1920), 18px);
    letter-spacing: .05em;
    color: var(--color-text-base);
    font-weight: bold;
    margin-left: 16px;
    transition: color 0.3s ease;
}
.e-link-button:hover .e-link-button__text {
  color: #f5a200;
}
.e-link-button__icon {
    display: flex;
    position: relative;
    align-items: center;
    justify-content: center;
    width: 80px;
    height: 80px;
    color: #fff;
    font-size: 16px;
    --color-primary: 238, 124, 0;
    margin-left: -20px;
}
.e-link-button__icon svg {
  max-width: 10px;
  margin-left: 2px;
}
.e-link-button__icon::after {
  content: '';
  display: block;
  position: absolute;
  z-index: -2;
  inset: 0;
  border-radius: 50%;
  background: radial-gradient(circle at center, rgb(var(--color-primary)) 20%, rgba(var(--color-primary), 0) 100%);
  filter: blur(10px);
  transition: scale .3s ease;
}
.e-link-button__icon::before {
  content: '';
  position: absolute;
  z-index: -1;
  inset: 25%;
  border-radius: 50%;
  background: radial-gradient(circle at center, rgba(255, 255, 255, .1) 30%, rgba(255, 255, 255, .6) 100%);
  filter: blur(1px);
  transition: scale .3s ease;
}
.e-link-button:hover .e-link-button__icon::after,
.e-link-button:hover .e-link-button__icon::before {
  scale: 1.2;
}

.p-home-banner-ai-hub {
  position: relative;
  padding-block: 40px;
  margin-bottom: 20px;
  border-top: 2.5px solid #fff;
  border-bottom: 2.5px solid #fff;
  margin-top: 100px;
}
.p-home-banner-ai-hub a {
  display: block;
  overflow: hidden;
}

.p-home-banner-ai-hub a img {
  transition: scale .5s ease;
}
.p-home-banner-ai-hub a:hover img {
  scale: 1.05;
}

.p-home-banner-ai-hub::before,
.p-home-banner-ai-hub::after {
  content: '';
  position: absolute;
  z-index: -1;
  left: 0;
  width: 100%;
  height: 2px;
  background-color: #2C2C2C;
}

.p-home-banner-ai-hub::before {
  top: 0;
}
.p-home-banner-ai-hub::after {
  bottom: 0;
}
