/* header-sidebar-pc-01 */
/* サイドバー本体の背景: テンプレ共通CSS(c-sidebar の var(--color-white))を二段フォールバック化。
   要素型+クラスのセレクタで共通CSSより確実に優先する。 */
aside.c-sidebar {
  background-color: var(--ps-section-bg, #ffffff);
}

/* CTA文言に入力した改行をそのまま表示する。 */
.c-sidebar__cta-btn-text {
  flex: 1;
  white-space: pre-line;
  text-align: var(--ps-button-align, center);
}

/* header-entry-02 */
/* ヘッダーバー本体とハンバーガーボタン: テンプレ共通CSSの色指定を二段フォールバック化。
   type2 のハンバーガーは背景透明のため線色(toggle-bar)のみ対象。既存の #222 直書きは
   entryButton と同じ流儀で text-dark token 化。 */
header.c-common-header {
  background-color: var(--ps-section-bg, #ffffff);
}

.c-common-header--type2 .c-header__toggle-bar {
  background-color: var(--ps-toggle-text, var(--color-text-dark));
}

/* 常時表示のヘッダーエントリーボタン。 */
.c-header__entry-btn {
  background-color: var(--ps-entryButton-bg, var(--color-text-dark));
}

.c-header__entry-btn-text {
  color: var(--ps-entryButton-text, #ffffff);
  flex: 1;
  white-space: pre-line;
  text-align: var(--ps-entryButton-align, center);
}

/* モバイルナビCTAボタン: テンプレ共通CSS(c-mobile-nav__cta-btn)の色指定を二段フォールバック化。
   ナビ内に限定したセレクタで共通CSSより確実に優先する。 */
.c-mobile-nav .c-mobile-nav__cta-btn {
  background-color: var(--ps-button-bg, var(--color-accent));
}

.c-mobile-nav .c-mobile-nav__cta-btn-text {
  color: var(--ps-button-text, #ffffff);
  white-space: pre-line;
  text-align: var(--ps-button-align, center);
}

/* section-spacer-04 */
/* 空白（スペーサー） */
.p-section-spacer {
  /* 高さの初期値。インライン style の height が不正値のときのフォールバック */
  height: 4.8rem;
  background-color: var(--ps-section-bg, #ffffff);
}

/* section-image-01 */
.p-section-image__img {
  display: block;
  width: 100%;
  height: auto;
}

/* cta-entry-inline-02 */
/* ページ内に差し込むCTAボタンのラッパ。追従版（.c-entry-btn）と違い固定表示しない。 */
.p-entry-inline {
  display: flex;
  justify-content: center;
  padding: 3.2rem 1.6rem;
}

.p-entry-inline__btn {
  width: 34.3rem;
  max-width: 100%;
}

/* 色はテンプレ共通クラス（.c-mobile-nav__cta-btn / common.css）由来のため、
   要素単位スタイル（--ps-button-*）で上書きできるよう最小限のオーバーライドを追加する。 */
.p-entry-inline__btn.c-mobile-nav__cta-btn {
  background-color: var(--ps-button-bg, var(--color-accent));
}

.p-entry-inline__btn .c-mobile-nav__cta-btn-text {
  color: var(--ps-button-text, var(--color-white));
  white-space: pre-line;
  text-align: var(--ps-button-align, center);
}

/* cta-entry-button-01 */
/* 追従エントリーボタン。色はテンプレ共通クラス（.c-mobile-nav__cta-btn / common.css）由来のため、
   要素単位スタイル（--ps-button-*）で上書きできるよう最小限のオーバーライドを追加する。
   .c-entry-btn / .p-entry-inline__btn を併記した複合セレクタでテンプレ側（単一クラス）より詳細度を上げる。 */
.c-entry-btn.c-mobile-nav__cta-btn {
  background-color: var(--ps-button-bg, var(--color-accent));
}

.c-entry-btn .c-mobile-nav__cta-btn-text {
  color: var(--ps-button-text, var(--color-white));
  white-space: pre-line;
  text-align: var(--ps-button-align, center);
}

/* custom:cst_d7d658c19154 */
/* ======== 数字で見るXtoX（黒ベース×ネオン・カウントアップ） ======== */

/* カウントアップ用の登録カスタムプロパティ（未対応ブラウザは静的表示にフォールバック） */
@property --cst-xtox-n {
  syntax: "<integer>";
  inherits: false;
  initial-value: 0;
}

.p-cst-xtox-numbers {
  --cst-xtox-bg: #0a0e17;
  --cst-xtox-neon1: #00e5ff;
  --cst-xtox-neon2: #ff3df5;
  --cst-xtox-text: #eaf6ff;
  position: relative;
  overflow: hidden;
  padding: 5.6rem 1.6rem 6.4rem;
  background:
    radial-gradient(70% 42% at 50% -4%, rgba(0, 229, 255, 0.14), transparent 70%),
    radial-gradient(55% 38% at 88% 104%, rgba(255, 61, 245, 0.10), transparent 70%),
    var(--cst-xtox-bg);
  color: var(--cst-xtox-text);
}

/* ネオングリッド模様（装飾） */
.p-cst-xtox-numbers::before {
  content: "";
  position: absolute;
  inset: 0;
  pointer-events: none;
  background-image:
    linear-gradient(rgba(120, 200, 255, 0.06) 1px, transparent 1px),
    linear-gradient(90deg, rgba(120, 200, 255, 0.06) 1px, transparent 1px);
  background-size: 2.4rem 2.4rem;
  -webkit-mask-image: radial-gradient(85% 70% at 50% 18%, #000 40%, transparent 100%);
  mask-image: radial-gradient(85% 70% at 50% 18%, #000 40%, transparent 100%);
}

.p-cst-xtox-numbers__inner {
  position: relative;
  width: min(35.8rem, 100%);
  margin: 0 auto;
}

.p-cst-xtox-numbers__eyebrow {
  margin: 0 0 0.8rem;
  font-family: "Montserrat", sans-serif;
  font-size: 1.1rem;
  font-weight: 600;
  letter-spacing: 0.4em;
  text-align: center;
  text-indent: 0.4em;
  color: var(--cst-xtox-neon1);
  text-shadow: 0 0 0.8rem rgba(0, 229, 255, 0.7);
}

.p-cst-xtox-numbers__title {
  margin: 0 0 3.2rem;
  font-size: 2.2rem;
  font-weight: 700;
  line-height: 1.4;
  text-align: center;
  letter-spacing: 0.08em;
  color: #ffffff;
  font-feature-settings: "palt" 1;
}

.p-cst-xtox-numbers__title-em {
  font-family: "Montserrat", sans-serif;
  font-weight: 600;
  padding-left: 0.2em;
  background: linear-gradient(100deg, var(--cst-xtox-neon1) 20%, var(--cst-xtox-neon2) 85%);
  -webkit-background-clip: text;
  background-clip: text;
  -webkit-text-fill-color: transparent;
  filter: drop-shadow(0 0 0.9rem rgba(0, 229, 255, 0.55));
}

/* タイトル下のネオンライン */
.p-cst-xtox-numbers__title::after {
  content: "";
  display: block;
  width: 6.4rem;
  height: 0.2rem;
  margin: 1.4rem auto 0;
  border-radius: 0.2rem;
  background: linear-gradient(90deg, var(--cst-xtox-neon1), var(--cst-xtox-neon2));
  box-shadow: 0 0 1rem rgba(0, 229, 255, 0.8), 0 0 2.4rem rgba(255, 61, 245, 0.5);
}

.p-cst-xtox-numbers__grid {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 1.2rem;
  margin: 0;
  padding: 0;
  list-style: none;
}

.p-cst-xtox-numbers__card {
  --cst-xtox-accent: var(--cst-xtox-neon1);
  --cst-xtox-accent-soft: rgba(0, 229, 255, 0.28);
  --cst-xtox-accent-glow: rgba(0, 229, 255, 0.10);
  position: relative;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  gap: 0.9rem;
  min-height: 11.6rem;
  padding: 2rem 1rem;
  text-align: center;
  background: rgba(255, 255, 255, 0.04);
  border: 1px solid var(--cst-xtox-accent-soft);
  border-radius: 1.2rem;
  box-shadow:
    0 0 1.8rem var(--cst-xtox-accent-glow),
    inset 0 0 2rem rgba(255, 255, 255, 0.03);
  animation: p-cst-xtox-rise 0.9s cubic-bezier(0.16, 1, 0.3, 1) both;
}

/* 偶数カードはマゼンタアクセント */
.p-cst-xtox-numbers__card:nth-child(even) {
  --cst-xtox-accent: var(--cst-xtox-neon2);
  --cst-xtox-accent-soft: rgba(255, 61, 245, 0.28);
  --cst-xtox-accent-glow: rgba(255, 61, 245, 0.10);
}

/* カード上辺のネオンライン */
.p-cst-xtox-numbers__card::before {
  content: "";
  position: absolute;
  top: 0;
  left: 1.6rem;
  right: 1.6rem;
  height: 0.2rem;
  border-radius: 0 0 0.2rem 0.2rem;
  background: linear-gradient(90deg, transparent, var(--cst-xtox-accent), transparent);
  opacity: 0.9;
}

.p-cst-xtox-numbers__card:nth-child(1) { animation-delay: 0.05s; }
.p-cst-xtox-numbers__card:nth-child(2) { animation-delay: 0.15s; }
.p-cst-xtox-numbers__card:nth-child(3) { animation-delay: 0.25s; }
.p-cst-xtox-numbers__card:nth-child(4) { animation-delay: 0.35s; }

.p-cst-xtox-numbers__label {
  font-size: 1.2rem;
  font-weight: 500;
  letter-spacing: 0.14em;
  color: rgba(234, 246, 255, 0.68);
}

.p-cst-xtox-numbers__value {
  display: flex;
  align-items: baseline;
  justify-content: center;
  gap: 0.3rem;
  line-height: 1;
}

/* カウントアップする数字本体（::after が counter を描画） */
.p-cst-xtox-numbers__num::after {
  content: counter(cstXtoxNum);
  counter-reset: cstXtoxNum var(--cst-xtox-n);
  font-family: "Montserrat", sans-serif;
  font-size: 4.4rem;
  font-weight: 600;
  line-height: 1;
  color: var(--cst-xtox-accent);
  text-shadow:
    0 0 0.6rem color-mix(in srgb, var(--cst-xtox-accent) 85%, transparent),
    0 0 2.4rem color-mix(in srgb, var(--cst-xtox-accent) 45%, transparent);
}

/* @property 未対応ブラウザでも最終値が静的表示されるよう基底値を持たせる */
.p-cst-xtox-numbers__num--overtime::after {
  --cst-xtox-n: 10;
  animation: p-cst-xtox-count-overtime 2s cubic-bezier(0.16, 1, 0.3, 1) 0.3s both;
}

.p-cst-xtox-numbers__num--bonus::after {
  --cst-xtox-n: 2;
  animation: p-cst-xtox-count-bonus 2s cubic-bezier(0.16, 1, 0.3, 1) 0.45s both;
}

@keyframes p-cst-xtox-count-overtime {
  from { --cst-xtox-n: 0; }
  to { --cst-xtox-n: 10; }
}

@keyframes p-cst-xtox-count-bonus {
  from { --cst-xtox-n: 0; }
  to { --cst-xtox-n: 2; }
}

/* テキスト系の強調値（土日祝・制度あり） */
.p-cst-xtox-numbers__word {
  font-size: 2.6rem;
  font-weight: 700;
  letter-spacing: 0.04em;
  color: var(--cst-xtox-accent);
  text-shadow:
    0 0 0.6rem color-mix(in srgb, var(--cst-xtox-accent) 80%, transparent),
    0 0 2.2rem color-mix(in srgb, var(--cst-xtox-accent) 40%, transparent);
}

.p-cst-xtox-numbers__unit {
  font-size: 1.5rem;
  font-weight: 700;
  color: rgba(234, 246, 255, 0.9);
}

.p-cst-xtox-numbers__unit-sub {
  font-size: 1.2rem;
  font-weight: 500;
  margin-left: 0.1em;
  color: rgba(234, 246, 255, 0.7);
}

.p-cst-xtox-numbers__unit--prefix {
  font-size: 1.5rem;
}

/* スクリーンリーダー向けの実数値（視覚上は非表示） */
.p-cst-xtox-numbers__sr {
  position: absolute;
  width: 1px;
  height: 1px;
  margin: -1px;
  padding: 0;
  overflow: hidden;
  clip: rect(0 0 0 0);
  white-space: nowrap;
  border: 0;
}

@keyframes p-cst-xtox-rise {
  from {
    opacity: 0;
    transform: translateY(1.4rem);
  }
  to {
    opacity: 1;
    transform: translateY(0);
  }
}

/* スクロール連動対応ブラウザでは「見えたときに」発火（カウントもスクロールで進む） */
@supports (animation-timeline: view()) {
  .p-cst-xtox-numbers__card {
    animation-duration: auto;
    animation-delay: 0s;
    animation-timeline: view();
    animation-range: entry 0% entry 50%;
  }

  .p-cst-xtox-numbers__num--overtime::after,
  .p-cst-xtox-numbers__num--bonus::after {
    animation-duration: auto;
    animation-delay: 0s;
    animation-timeline: view();
    animation-range: entry 10% entry 90%;
  }
}

/* モーション低減設定では静的表示 */
@media (prefers-reduced-motion: reduce) {
  .p-cst-xtox-numbers__card,
  .p-cst-xtox-numbers__num--overtime::after,
  .p-cst-xtox-numbers__num--bonus::after {
    animation: none !important;
  }

  .p-cst-xtox-numbers__num--overtime::after { --cst-xtox-n: 10; }
  .p-cst-xtox-numbers__num--bonus::after { --cst-xtox-n: 2; }
}

/* custom:cst_226b0e076681 */
/* ======== XtoXを選んだ入社理由TOP3（黒ベース×ネオン・ランキング） ======== */

.p-cst-xtox-reasons {
  --cst-xtox-r-bg: #0a0e17;
  --cst-xtox-r-neon1: #00e5ff;
  --cst-xtox-r-neon2: #ff3df5;
  --cst-xtox-r-gold: #ffd60a;
  --cst-xtox-r-text: #eaf6ff;
  position: relative;
  overflow: hidden;
  padding: 5.6rem 1.6rem 6.4rem;
  background:
    radial-gradient(70% 40% at 50% -4%, rgba(255, 61, 245, 0.10), transparent 70%),
    radial-gradient(55% 36% at 10% 104%, rgba(0, 229, 255, 0.12), transparent 70%),
    var(--cst-xtox-r-bg);
  color: var(--cst-xtox-r-text);
}

/* ネオングリッド模様（装飾） */
.p-cst-xtox-reasons::before {
  content: "";
  position: absolute;
  inset: 0;
  pointer-events: none;
  background-image:
    linear-gradient(rgba(120, 200, 255, 0.05) 1px, transparent 1px),
    linear-gradient(90deg, rgba(120, 200, 255, 0.05) 1px, transparent 1px);
  background-size: 2.4rem 2.4rem;
  -webkit-mask-image: radial-gradient(90% 80% at 50% 30%, #000 35%, transparent 100%);
  mask-image: radial-gradient(90% 80% at 50% 30%, #000 35%, transparent 100%);
}

.p-cst-xtox-reasons__inner {
  position: relative;
  width: min(35.8rem, 100%);
  margin: 0 auto;
}

.p-cst-xtox-reasons__lead {
  margin: 0 0 0.6rem;
  font-size: 1.4rem;
  font-weight: 700;
  letter-spacing: 0.12em;
  text-align: center;
  color: rgba(234, 246, 255, 0.85);
}

.p-cst-xtox-reasons__title {
  margin: 0 0 3.6rem;
  font-size: 2.4rem;
  font-weight: 700;
  line-height: 1.5;
  text-align: center;
  letter-spacing: 0.08em;
  color: #ffffff;
  font-feature-settings: "palt" 1;
}

.p-cst-xtox-reasons__title-em {
  padding-left: 0.15em;
  font-family: "Montserrat", sans-serif;
  font-weight: 600;
  font-size: 1.25em;
  background: linear-gradient(100deg, var(--cst-xtox-r-neon1) 15%, var(--cst-xtox-r-neon2) 85%);
  -webkit-background-clip: text;
  background-clip: text;
  -webkit-text-fill-color: transparent;
  filter: drop-shadow(0 0 0.9rem rgba(0, 229, 255, 0.5));
}

/* タイトル下のネオンライン */
.p-cst-xtox-reasons__title::after {
  content: "";
  display: block;
  width: 6.4rem;
  height: 0.2rem;
  margin: 1.4rem auto 0;
  border-radius: 0.2rem;
  background: linear-gradient(90deg, var(--cst-xtox-r-neon1), var(--cst-xtox-r-neon2));
  box-shadow: 0 0 1rem rgba(0, 229, 255, 0.8), 0 0 2.4rem rgba(255, 61, 245, 0.5);
}

.p-cst-xtox-reasons__list {
  display: flex;
  flex-direction: column;
  gap: 2.4rem;
  margin: 0;
  padding: 0;
  list-style: none;
}

/* ランキングカード（3位=シアン / 2位=マゼンタ / 1位=ゴールド） */
.p-cst-xtox-reasons__item {
  --cst-xtox-r-accent: var(--cst-xtox-r-neon1);
  --cst-xtox-r-accent-soft: rgba(0, 229, 255, 0.28);
  --cst-xtox-r-accent-glow: rgba(0, 229, 255, 0.10);
  position: relative;
  padding: 2.4rem 1.6rem 1.6rem;
  background: rgba(255, 255, 255, 0.04);
  border: 1px solid var(--cst-xtox-r-accent-soft);
  border-radius: 1.2rem;
  box-shadow:
    0 0 1.8rem var(--cst-xtox-r-accent-glow),
    inset 0 0 2rem rgba(255, 255, 255, 0.03);
  animation: p-cst-xtox-r-rise 0.9s cubic-bezier(0.16, 1, 0.3, 1) both;
}

.p-cst-xtox-reasons__item--second {
  --cst-xtox-r-accent: var(--cst-xtox-r-neon2);
  --cst-xtox-r-accent-soft: rgba(255, 61, 245, 0.28);
  --cst-xtox-r-accent-glow: rgba(255, 61, 245, 0.10);
}

.p-cst-xtox-reasons__item--first {
  --cst-xtox-r-accent: var(--cst-xtox-r-gold);
  --cst-xtox-r-accent-soft: rgba(255, 214, 10, 0.38);
  --cst-xtox-r-accent-glow: rgba(255, 214, 10, 0.14);
}

/* カード上辺のネオンライン */
.p-cst-xtox-reasons__item::before {
  content: "";
  position: absolute;
  top: 0;
  left: 1.6rem;
  right: 1.6rem;
  height: 0.2rem;
  border-radius: 0 0 0.2rem 0.2rem;
  background: linear-gradient(90deg, transparent, var(--cst-xtox-r-accent), transparent);
  opacity: 0.9;
}

.p-cst-xtox-reasons__head {
  display: flex;
  align-items: center;
  gap: 1.4rem;
  margin-bottom: 1.4rem;
}

.p-cst-xtox-reasons__rank {
  position: relative;
  flex-shrink: 0;
  padding-right: 1.6rem;
  font-family: "Montserrat", sans-serif;
  font-size: 4.4rem;
  font-weight: 600;
  line-height: 1;
  color: var(--cst-xtox-r-accent);
  text-shadow:
    0 0 0.6rem color-mix(in srgb, var(--cst-xtox-r-accent) 80%, transparent),
    0 0 2.4rem color-mix(in srgb, var(--cst-xtox-r-accent) 40%, transparent);
}

/* 順位と見出しの間の斜めライン */
.p-cst-xtox-reasons__rank::after {
  content: "";
  position: absolute;
  top: -0.4rem;
  right: 0;
  width: 0.1rem;
  height: calc(100% + 0.8rem);
  background: linear-gradient(180deg, transparent, var(--cst-xtox-r-accent), transparent);
  transform: rotate(18deg);
  opacity: 0.7;
}

/* 1位の王冠 */
.p-cst-xtox-reasons__crown {
  position: absolute;
  top: -1.2rem;
  left: 1.2rem;
  line-height: 0;
  filter: drop-shadow(0 0 0.8rem rgba(255, 214, 10, 0.8));
  animation: p-cst-xtox-r-crown 2.4s ease-in-out infinite;
}

.p-cst-xtox-reasons__heading {
  margin: 0;
  font-size: 1.7rem;
  font-weight: 700;
  line-height: 1.55;
  letter-spacing: 0.04em;
  color: #ffffff;
  font-feature-settings: "palt" 1;
}

.p-cst-xtox-reasons__body {
  margin: 0 0 1.6rem;
  font-size: 1.35rem;
  font-weight: 400;
  line-height: 1.9;
  color: rgba(234, 246, 255, 0.78);
}

.p-cst-xtox-reasons__em {
  font-weight: 700;
  color: var(--cst-xtox-r-text);
  background: linear-gradient(transparent 68%, color-mix(in srgb, var(--cst-xtox-r-accent) 45%, transparent) 68%);
}

.p-cst-xtox-reasons__figure {
  position: relative;
  margin: 0;
  border-radius: 0.8rem;
  overflow: hidden;
  border: 1px solid color-mix(in srgb, var(--cst-xtox-r-accent) 35%, transparent);
  box-shadow: 0 0 1.6rem color-mix(in srgb, var(--cst-xtox-r-accent) 14%, transparent);
}

.p-cst-xtox-reasons__img {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.p-cst-xtox-reasons__figure--wide { aspect-ratio: 16 / 10; }

.p-cst-xtox-reasons__figure--tall { aspect-ratio: 16 / 10; }

.p-cst-xtox-reasons__figure--tall .p-cst-xtox-reasons__img {
  object-position: 50% 22%;
}

@keyframes p-cst-xtox-r-rise {
  from {
    opacity: 0;
    transform: translateY(1.6rem);
  }
  to {
    opacity: 1;
    transform: translateY(0);
  }
}

@keyframes p-cst-xtox-r-crown {
  0%, 100% { transform: translateY(0); }
  50% { transform: translateY(-0.3rem); }
}

/* スクロール連動対応ブラウザでは「見えたときに」カードが立ち上がる */
@supports (animation-timeline: view()) {
  .p-cst-xtox-reasons__item {
    animation-duration: auto;
    animation-timeline: view();
    animation-range: entry 0% entry 45%;
  }
}

/* モーション低減設定では静的表示 */
@media (prefers-reduced-motion: reduce) {
  .p-cst-xtox-reasons__item,
  .p-cst-xtox-reasons__crown {
    animation: none !important;
  }
}

/* custom:cst_e6ffaead262b */
/* ======== XtoXの平均年収（黒ベース×ネオン・棒グラフ） ======== */

.p-cst-xtox-salary {
  --cst-xtox-s-bg: #0a0e17;
  --cst-xtox-s-neon1: #00e5ff;
  --cst-xtox-s-neon2: #ff3df5;
  --cst-xtox-s-text: #eaf6ff;
  position: relative;
  overflow: hidden;
  padding: 5.6rem 1.6rem 6.4rem;
  background:
    radial-gradient(70% 42% at 50% -4%, rgba(0, 229, 255, 0.12), transparent 70%),
    radial-gradient(55% 38% at 12% 104%, rgba(255, 61, 245, 0.09), transparent 70%),
    var(--cst-xtox-s-bg);
  color: var(--cst-xtox-s-text);
}

/* ネオングリッド模様（装飾） */
.p-cst-xtox-salary::before {
  content: "";
  position: absolute;
  inset: 0;
  pointer-events: none;
  background-image:
    linear-gradient(rgba(120, 200, 255, 0.05) 1px, transparent 1px),
    linear-gradient(90deg, rgba(120, 200, 255, 0.05) 1px, transparent 1px);
  background-size: 2.4rem 2.4rem;
  -webkit-mask-image: radial-gradient(90% 80% at 50% 30%, #000 35%, transparent 100%);
  mask-image: radial-gradient(90% 80% at 50% 30%, #000 35%, transparent 100%);
}

.p-cst-xtox-salary__inner {
  position: relative;
  width: min(35.8rem, 100%);
  margin: 0 auto;
}

.p-cst-xtox-salary__eyebrow {
  margin: 0 0 0.8rem;
  font-family: "Montserrat", sans-serif;
  font-size: 1.1rem;
  font-weight: 600;
  letter-spacing: 0.4em;
  text-align: center;
  text-indent: 0.4em;
  color: var(--cst-xtox-s-neon1);
  text-shadow: 0 0 0.8rem rgba(0, 229, 255, 0.7);
}

.p-cst-xtox-salary__title {
  margin: 0 0 2rem;
  font-size: 2.4rem;
  font-weight: 700;
  line-height: 1.5;
  text-align: center;
  letter-spacing: 0.08em;
  color: #ffffff;
  font-feature-settings: "palt" 1;
}

.p-cst-xtox-salary__title-em {
  background: linear-gradient(100deg, var(--cst-xtox-s-neon1) 15%, var(--cst-xtox-s-neon2) 85%);
  -webkit-background-clip: text;
  background-clip: text;
  -webkit-text-fill-color: transparent;
  filter: drop-shadow(0 0 0.9rem rgba(0, 229, 255, 0.5));
}

/* タイトル下のネオンライン */
.p-cst-xtox-salary__title::after {
  content: "";
  display: block;
  width: 6.4rem;
  height: 0.2rem;
  margin: 1.4rem auto 0;
  border-radius: 0.2rem;
  background: linear-gradient(90deg, var(--cst-xtox-s-neon1), var(--cst-xtox-s-neon2));
  box-shadow: 0 0 1rem rgba(0, 229, 255, 0.8), 0 0 2.4rem rgba(255, 61, 245, 0.5);
}

.p-cst-xtox-salary__lead {
  margin: 0 0 2.8rem;
  font-size: 1.35rem;
  font-weight: 500;
  line-height: 1.9;
  text-align: center;
  color: rgba(234, 246, 255, 0.85);
}

/* 凡例 */
.p-cst-xtox-salary__legend {
  display: flex;
  justify-content: center;
  gap: 2rem;
  margin: 0 0 2.4rem;
  padding: 0;
  list-style: none;
}

.p-cst-xtox-salary__legend-item {
  display: flex;
  align-items: center;
  gap: 0.6rem;
  font-size: 1.2rem;
  font-weight: 500;
  color: rgba(234, 246, 255, 0.85);
}

.p-cst-xtox-salary__legend-item::before {
  content: "";
  width: 1.2rem;
  height: 1.2rem;
  border-radius: 0.3rem;
}

.p-cst-xtox-salary__legend-item--jp::before {
  background: linear-gradient(180deg, rgba(190, 205, 220, 0.9), rgba(120, 135, 150, 0.5));
}

.p-cst-xtox-salary__legend-item--xtox::before {
  background: linear-gradient(180deg, var(--cst-xtox-s-neon1), rgba(0, 229, 255, 0.35));
  box-shadow: 0 0 0.8rem rgba(0, 229, 255, 0.6);
}

/* グラフ本体 */
.p-cst-xtox-salary__chart {
  position: relative;
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 1.6rem;
  padding: 1.2rem 0.6rem 0;
}

/* 横罫線（装飾） */
.p-cst-xtox-salary__chart::before {
  content: "";
  position: absolute;
  inset: 0 0 3rem;
  pointer-events: none;
  background-image: repeating-linear-gradient(
    0deg,
    rgba(120, 200, 255, 0.10) 0,
    rgba(120, 200, 255, 0.10) 1px,
    transparent 1px,
    transparent 4.8rem
  );
  background-position: 0 100%;
}

.p-cst-xtox-salary__group {
  display: flex;
  flex-direction: column;
}

.p-cst-xtox-salary__bars {
  display: flex;
  align-items: flex-end;
  justify-content: center;
  gap: 0.7rem;
  height: 24rem;
  border-bottom: 1px solid rgba(120, 200, 255, 0.35);
}

.p-cst-xtox-salary__bar-wrap {
  display: flex;
  flex: 1;
  flex-direction: column;
  align-items: center;
  justify-content: flex-end;
  height: 100%;
  min-width: 0;
}

.p-cst-xtox-salary__value {
  margin-bottom: 0.6rem;
  font-family: "Montserrat", sans-serif;
  font-size: 1.5rem;
  font-weight: 600;
  line-height: 1;
  white-space: nowrap;
  animation: p-cst-xtox-s-fade 0.7s cubic-bezier(0.16, 1, 0.3, 1) calc(var(--cst-bar-d, 0s) + 0.55s) both;
}

.p-cst-xtox-salary__value--jp {
  color: rgba(200, 215, 230, 0.85);
}

.p-cst-xtox-salary__value--xtox {
  font-size: 1.8rem;
  color: var(--cst-xtox-s-neon1);
  text-shadow:
    0 0 0.6rem rgba(0, 229, 255, 0.8),
    0 0 2rem rgba(0, 229, 255, 0.4);
}

.p-cst-xtox-salary__value--max {
  align-self: flex-end;
  font-size: 2.2rem;
  background: linear-gradient(100deg, var(--cst-xtox-s-neon1) 10%, var(--cst-xtox-s-neon2) 90%);
  -webkit-background-clip: text;
  background-clip: text;
  -webkit-text-fill-color: transparent;
  text-shadow: none;
  filter: drop-shadow(0 0 1rem rgba(0, 229, 255, 0.6));
}

.p-cst-xtox-salary__unit {
  font-family: "Noto Sans JP", sans-serif;
  font-size: 0.62em;
  font-weight: 700;
}

.p-cst-xtox-salary__bar {
  display: block;
  width: min(4.4rem, 100%);
  height: var(--cst-bar-h, 50%);
  border-radius: 0.4rem 0.4rem 0 0;
  transform-origin: bottom;
  animation: p-cst-xtox-s-grow 1s cubic-bezier(0.16, 1, 0.3, 1) var(--cst-bar-d, 0s) both;
}

.p-cst-xtox-salary__bar--jp {
  background: linear-gradient(180deg, rgba(190, 205, 220, 0.85), rgba(110, 125, 145, 0.30));
}

.p-cst-xtox-salary__bar--xtox {
  background: linear-gradient(180deg, #b7f6ff 0%, var(--cst-xtox-s-neon1) 22%, rgba(0, 229, 255, 0.22) 100%);
  box-shadow:
    0 0 1.6rem rgba(0, 229, 255, 0.45),
    inset 0 0 1.2rem rgba(255, 255, 255, 0.18);
}

/* 最高額のバーはシアン→マゼンタのグラデーション */
.p-cst-xtox-salary__bar--max {
  background: linear-gradient(180deg, #ffffff 0%, var(--cst-xtox-s-neon1) 18%, var(--cst-xtox-s-neon2) 100%);
  box-shadow:
    0 0 2rem rgba(0, 229, 255, 0.5),
    0 0 3.2rem rgba(255, 61, 245, 0.35),
    inset 0 0 1.2rem rgba(255, 255, 255, 0.2);
}

.p-cst-xtox-salary__group-label {
  margin-top: 0.9rem;
  font-size: 1.25rem;
  font-weight: 700;
  letter-spacing: 0.1em;
  text-align: center;
  color: rgba(234, 246, 255, 0.8);
}

@keyframes p-cst-xtox-s-grow {
  from { transform: scaleY(0); }
  to { transform: scaleY(1); }
}

@keyframes p-cst-xtox-s-fade {
  from {
    opacity: 0;
    transform: translateY(0.8rem);
  }
  to {
    opacity: 1;
    transform: translateY(0);
  }
}

/* スクロール連動対応ブラウザでは「見えたときに」伸びる */
@supports (animation-timeline: view()) {
  .p-cst-xtox-salary__bar {
    animation-duration: auto;
    animation-delay: 0s;
    animation-timeline: view();
    animation-range: entry 20% entry 75%;
  }

  .p-cst-xtox-salary__value {
    animation-duration: auto;
    animation-delay: 0s;
    animation-timeline: view();
    animation-range: entry 45% entry 95%;
  }
}

/* モーション低減設定では静的表示 */
@media (prefers-reduced-motion: reduce) {
  .p-cst-xtox-salary__bar,
  .p-cst-xtox-salary__value {
    animation: none !important;
  }
}

/* custom:cst_89fbe582e953 */
/* ======== 年収例（黒ベース×ネオン・キャリアステップカード） ======== */

.p-cst-xtox-income {
  --cst-xtox-i-bg: #0a0e17;
  --cst-xtox-i-neon1: #00e5ff;
  --cst-xtox-i-neon2: #ff3df5;
  --cst-xtox-i-gold: #ffd60a;
  --cst-xtox-i-text: #eaf6ff;
  position: relative;
  overflow: hidden;
  padding: 5.6rem 1.6rem 6.4rem;
  background:
    radial-gradient(70% 42% at 50% -4%, rgba(0, 229, 255, 0.12), transparent 70%),
    radial-gradient(55% 38% at 90% 104%, rgba(255, 61, 245, 0.09), transparent 70%),
    var(--cst-xtox-i-bg);
  color: var(--cst-xtox-i-text);
}

/* ネオングリッド模様（装飾） */
.p-cst-xtox-income::before {
  content: "";
  position: absolute;
  inset: 0;
  pointer-events: none;
  background-image:
    linear-gradient(rgba(120, 200, 255, 0.05) 1px, transparent 1px),
    linear-gradient(90deg, rgba(120, 200, 255, 0.05) 1px, transparent 1px);
  background-size: 2.4rem 2.4rem;
  -webkit-mask-image: radial-gradient(90% 80% at 50% 30%, #000 35%, transparent 100%);
  mask-image: radial-gradient(90% 80% at 50% 30%, #000 35%, transparent 100%);
}

.p-cst-xtox-income__inner {
  position: relative;
  width: min(35.8rem, 100%);
  margin: 0 auto;
}

.p-cst-xtox-income__eyebrow {
  margin: 0 0 0.8rem;
  font-family: "Montserrat", sans-serif;
  font-size: 1.1rem;
  font-weight: 600;
  letter-spacing: 0.4em;
  text-align: center;
  text-indent: 0.4em;
  color: var(--cst-xtox-i-neon1);
  text-shadow: 0 0 0.8rem rgba(0, 229, 255, 0.7);
}

.p-cst-xtox-income__title {
  margin: 0 0 3.2rem;
  font-size: 2.4rem;
  font-weight: 700;
  line-height: 1.5;
  text-align: center;
  letter-spacing: 0.08em;
  color: #ffffff;
  font-feature-settings: "palt" 1;
}

.p-cst-xtox-income__title-em {
  background: linear-gradient(100deg, var(--cst-xtox-i-neon1) 15%, var(--cst-xtox-i-neon2) 85%);
  -webkit-background-clip: text;
  background-clip: text;
  -webkit-text-fill-color: transparent;
  filter: drop-shadow(0 0 0.9rem rgba(0, 229, 255, 0.5));
}

/* タイトル下のネオンライン */
.p-cst-xtox-income__title::after {
  content: "";
  display: block;
  width: 6.4rem;
  height: 0.2rem;
  margin: 1.4rem auto 0;
  border-radius: 0.2rem;
  background: linear-gradient(90deg, var(--cst-xtox-i-neon1), var(--cst-xtox-i-neon2));
  box-shadow: 0 0 1rem rgba(0, 229, 255, 0.8), 0 0 2.4rem rgba(255, 61, 245, 0.5);
}

.p-cst-xtox-income__list {
  display: flex;
  flex-direction: column;
  gap: 1.6rem;
  margin: 0;
  padding: 0;
  list-style: none;
}

/* キャリアカード（1年目=シアン / 3年目=マゼンタ / 5年目=ゴールド） */
.p-cst-xtox-income__card {
  --cst-xtox-i-accent: var(--cst-xtox-i-neon1);
  --cst-xtox-i-accent-soft: rgba(0, 229, 255, 0.28);
  --cst-xtox-i-accent-glow: rgba(0, 229, 255, 0.10);
  position: relative;
  display: flex;
  align-items: stretch;
  gap: 1.4rem;
  padding: 1.4rem;
  background: rgba(255, 255, 255, 0.04);
  border: 1px solid var(--cst-xtox-i-accent-soft);
  border-radius: 1.2rem;
  box-shadow:
    0 0 1.8rem var(--cst-xtox-i-accent-glow),
    inset 0 0 2rem rgba(255, 255, 255, 0.03);
  animation: p-cst-xtox-i-rise 0.9s cubic-bezier(0.16, 1, 0.3, 1) both;
}

.p-cst-xtox-income__card--second {
  --cst-xtox-i-accent: var(--cst-xtox-i-neon2);
  --cst-xtox-i-accent-soft: rgba(255, 61, 245, 0.28);
  --cst-xtox-i-accent-glow: rgba(255, 61, 245, 0.10);
}

.p-cst-xtox-income__card--top {
  --cst-xtox-i-accent: var(--cst-xtox-i-gold);
  --cst-xtox-i-accent-soft: rgba(255, 214, 10, 0.38);
  --cst-xtox-i-accent-glow: rgba(255, 214, 10, 0.14);
}

/* カード左辺のネオンライン */
.p-cst-xtox-income__card::before {
  content: "";
  position: absolute;
  top: 1.4rem;
  bottom: 1.4rem;
  left: 0;
  width: 0.2rem;
  border-radius: 0 0.2rem 0.2rem 0;
  background: linear-gradient(180deg, transparent, var(--cst-xtox-i-accent), transparent);
  opacity: 0.9;
}

.p-cst-xtox-income__photo {
  flex-shrink: 0;
  width: 10.4rem;
  margin: 0;
  border-radius: 0.8rem;
  overflow: hidden;
  border: 1px solid color-mix(in srgb, var(--cst-xtox-i-accent) 35%, transparent);
  box-shadow: 0 0 1.6rem color-mix(in srgb, var(--cst-xtox-i-accent) 14%, transparent);
}

.p-cst-xtox-income__img {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.p-cst-xtox-income__body {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  justify-content: center;
  gap: 0.5rem;
  min-width: 0;
}

.p-cst-xtox-income__badge {
  display: inline-block;
  padding: 0.3rem 0.9rem;
  font-size: 1.1rem;
  font-weight: 700;
  letter-spacing: 0.06em;
  color: var(--cst-xtox-i-accent);
  border: 1px solid color-mix(in srgb, var(--cst-xtox-i-accent) 55%, transparent);
  border-radius: 10rem;
  background: color-mix(in srgb, var(--cst-xtox-i-accent) 10%, transparent);
}

.p-cst-xtox-income__role {
  font-size: 1.45rem;
  font-weight: 700;
  letter-spacing: 0.05em;
  color: #ffffff;
  font-feature-settings: "palt" 1;
}

.p-cst-xtox-income__salary {
  font-size: 1.3rem;
  font-weight: 700;
  line-height: 1;
  color: rgba(234, 246, 255, 0.9);
}

.p-cst-xtox-income__salary-num {
  padding: 0 0.15em 0 0.2em;
  font-family: "Montserrat", sans-serif;
  font-size: 3rem;
  font-weight: 600;
  color: var(--cst-xtox-i-accent);
  text-shadow:
    0 0 0.6rem color-mix(in srgb, var(--cst-xtox-i-accent) 80%, transparent),
    0 0 2rem color-mix(in srgb, var(--cst-xtox-i-accent) 40%, transparent);
}

.p-cst-xtox-income__salary-unit {
  font-size: 1.3rem;
}

.p-cst-xtox-income__note {
  font-size: 1.2rem;
  font-weight: 500;
  color: rgba(234, 246, 255, 0.65);
}

@keyframes p-cst-xtox-i-rise {
  from {
    opacity: 0;
    transform: translateY(1.6rem);
  }
  to {
    opacity: 1;
    transform: translateY(0);
  }
}

.p-cst-xtox-income__card:nth-child(1) { animation-delay: 0.05s; }
.p-cst-xtox-income__card:nth-child(2) { animation-delay: 0.2s; }
.p-cst-xtox-income__card:nth-child(3) { animation-delay: 0.35s; }

/* スクロール連動対応ブラウザでは「見えたときに」カードが立ち上がる */
@supports (animation-timeline: view()) {
  .p-cst-xtox-income__card {
    animation-duration: auto;
    animation-delay: 0s;
    animation-timeline: view();
    animation-range: entry 0% entry 50%;
  }
}

/* モーション低減設定では静的表示 */
@media (prefers-reduced-motion: reduce) {
  .p-cst-xtox-income__card {
    animation: none !important;
  }
}

/* custom:cst_63f4d0bd7a9e */
/* ======== 社員インタビュー（黒ベース×ネオン） ======== */

.p-cst-xtox-interview {
  --cst-xtox-iv-bg: #0a0e17;
  --cst-xtox-iv-neon1: #00e5ff;
  --cst-xtox-iv-neon2: #ff3df5;
  --cst-xtox-iv-text: #eaf6ff;
  position: relative;
  overflow: hidden;
  padding: 5.6rem 1.6rem 6.4rem;
  background:
    radial-gradient(70% 42% at 50% -4%, rgba(255, 61, 245, 0.10), transparent 70%),
    radial-gradient(55% 38% at 8% 104%, rgba(0, 229, 255, 0.12), transparent 70%),
    var(--cst-xtox-iv-bg);
  color: var(--cst-xtox-iv-text);
}

/* ネオングリッド模様（装飾） */
.p-cst-xtox-interview::before {
  content: "";
  position: absolute;
  inset: 0;
  pointer-events: none;
  background-image:
    linear-gradient(rgba(120, 200, 255, 0.05) 1px, transparent 1px),
    linear-gradient(90deg, rgba(120, 200, 255, 0.05) 1px, transparent 1px);
  background-size: 2.4rem 2.4rem;
  -webkit-mask-image: radial-gradient(90% 80% at 50% 30%, #000 35%, transparent 100%);
  mask-image: radial-gradient(90% 80% at 50% 30%, #000 35%, transparent 100%);
}

.p-cst-xtox-interview__inner {
  position: relative;
  width: min(35.8rem, 100%);
  margin: 0 auto;
}

.p-cst-xtox-interview__eyebrow {
  margin: 0 0 0.8rem;
  font-family: "Montserrat", sans-serif;
  font-size: 1.1rem;
  font-weight: 600;
  letter-spacing: 0.4em;
  text-align: center;
  text-indent: 0.4em;
  color: var(--cst-xtox-iv-neon1);
  text-shadow: 0 0 0.8rem rgba(0, 229, 255, 0.7);
}

.p-cst-xtox-interview__title {
  margin: 0 0 3.2rem;
  font-size: 2.4rem;
  font-weight: 700;
  line-height: 1.5;
  text-align: center;
  letter-spacing: 0.08em;
  color: #ffffff;
  font-feature-settings: "palt" 1;
}

.p-cst-xtox-interview__title-em {
  background: linear-gradient(100deg, var(--cst-xtox-iv-neon1) 15%, var(--cst-xtox-iv-neon2) 85%);
  -webkit-background-clip: text;
  background-clip: text;
  -webkit-text-fill-color: transparent;
  filter: drop-shadow(0 0 0.9rem rgba(0, 229, 255, 0.5));
}

/* タイトル下のネオンライン */
.p-cst-xtox-interview__title::after {
  content: "";
  display: block;
  width: 6.4rem;
  height: 0.2rem;
  margin: 1.4rem auto 0;
  border-radius: 0.2rem;
  background: linear-gradient(90deg, var(--cst-xtox-iv-neon1), var(--cst-xtox-iv-neon2));
  box-shadow: 0 0 1rem rgba(0, 229, 255, 0.8), 0 0 2.4rem rgba(255, 61, 245, 0.5);
}

.p-cst-xtox-interview__card {
  position: relative;
  padding: 1.4rem 1.4rem 2rem;
  background: rgba(255, 255, 255, 0.04);
  border: 1px solid rgba(0, 229, 255, 0.28);
  border-radius: 1.2rem;
  box-shadow:
    0 0 1.8rem rgba(0, 229, 255, 0.10),
    inset 0 0 2rem rgba(255, 255, 255, 0.03);
  animation: p-cst-xtox-iv-rise 0.9s cubic-bezier(0.16, 1, 0.3, 1) both;
}

/* カード上辺のネオンライン */
.p-cst-xtox-interview__card::before {
  content: "";
  position: absolute;
  top: 0;
  left: 1.6rem;
  right: 1.6rem;
  height: 0.2rem;
  border-radius: 0 0 0.2rem 0.2rem;
  background: linear-gradient(90deg, transparent, var(--cst-xtox-iv-neon1), transparent);
  opacity: 0.9;
}

.p-cst-xtox-interview__photo {
  margin: 0;
  border-radius: 0.8rem;
  overflow: hidden;
  aspect-ratio: 4 / 3;
  border: 1px solid rgba(0, 229, 255, 0.35);
  box-shadow: 0 0 1.6rem rgba(0, 229, 255, 0.14);
}

.p-cst-xtox-interview__img {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: 50% 20%;
}

/* 写真下の名言バンド */
.p-cst-xtox-interview__quote {
  margin: 1.6rem 0 0;
  padding: 1.2rem 1.4rem;
  font-size: 1.7rem;
  font-weight: 700;
  line-height: 1.6;
  letter-spacing: 0.05em;
  color: #ffffff;
  background: rgba(0, 0, 0, 0.45);
  border-left: 0.3rem solid var(--cst-xtox-iv-neon1);
  border-radius: 0 0.6rem 0.6rem 0;
  box-shadow: inset 0 0 1.6rem rgba(0, 229, 255, 0.08);
  font-feature-settings: "palt" 1;
}

.p-cst-xtox-interview__profile {
  display: flex;
  align-items: center;
  gap: 1.2rem;
  margin-top: 1.2rem;
  padding-bottom: 1.6rem;
  border-bottom: 1px dashed rgba(120, 200, 255, 0.25);
}

.p-cst-xtox-interview__profile-label {
  flex-shrink: 0;
  font-family: "Montserrat", sans-serif;
  font-size: 1.1rem;
  font-weight: 600;
  letter-spacing: 0.2em;
  color: var(--cst-xtox-iv-neon2);
  text-shadow: 0 0 0.8rem rgba(255, 61, 245, 0.6);
}

.p-cst-xtox-interview__profile-text {
  font-size: 1.25rem;
  font-weight: 500;
  line-height: 1.6;
  color: rgba(234, 246, 255, 0.85);
}

.p-cst-xtox-interview__qa {
  display: flex;
  flex-direction: column;
  gap: 1.8rem;
  margin-top: 1.8rem;
}

.p-cst-xtox-interview__qa-item {
  --cst-xtox-iv-accent: var(--cst-xtox-iv-neon1);
}

.p-cst-xtox-interview__qa-item--alt {
  --cst-xtox-iv-accent: var(--cst-xtox-iv-neon2);
}

.p-cst-xtox-interview__q {
  display: flex;
  align-items: center;
  gap: 0.9rem;
  margin: 0 0 0.8rem;
  font-size: 1.5rem;
  font-weight: 700;
  letter-spacing: 0.04em;
  color: #ffffff;
  font-feature-settings: "palt" 1;
}

.p-cst-xtox-interview__q-mark {
  flex-shrink: 0;
  padding: 0.2rem 0.8rem;
  font-family: "Montserrat", sans-serif;
  font-size: 1.2rem;
  font-weight: 600;
  color: var(--cst-xtox-iv-accent);
  border: 1px solid color-mix(in srgb, var(--cst-xtox-iv-accent) 55%, transparent);
  border-radius: 0.4rem;
  background: color-mix(in srgb, var(--cst-xtox-iv-accent) 10%, transparent);
  text-shadow: 0 0 0.8rem color-mix(in srgb, var(--cst-xtox-iv-accent) 60%, transparent);
}

.p-cst-xtox-interview__a {
  margin: 0;
  font-size: 1.35rem;
  line-height: 1.9;
  color: rgba(234, 246, 255, 0.78);
}

@keyframes p-cst-xtox-iv-rise {
  from {
    opacity: 0;
    transform: translateY(1.6rem);
  }
  to {
    opacity: 1;
    transform: translateY(0);
  }
}

/* スクロール連動対応ブラウザでは「見えたときに」立ち上がる */
@supports (animation-timeline: view()) {
  .p-cst-xtox-interview__card {
    animation-duration: auto;
    animation-timeline: view();
    animation-range: entry 0% entry 30%;
  }
}

/* モーション低減設定では静的表示 */
@media (prefers-reduced-motion: reduce) {
  .p-cst-xtox-interview__card {
    animation: none !important;
  }
}

/* custom:cst_336c26971426 */
/* ======== 募集要項（黒ベース×ネオン・recruit-accordion-02型 READ MORE開閉） ======== */

.p-cst-xtox-req {
  --cst-xtox-rq-bg: #0a0e17;
  --cst-xtox-rq-neon1: #00e5ff;
  --cst-xtox-rq-neon2: #ff3df5;
  --cst-xtox-rq-text: #eaf6ff;
  position: relative;
  overflow: hidden;
  padding: 5.6rem 1.6rem 6.4rem;
  background:
    radial-gradient(70% 42% at 50% -4%, rgba(0, 229, 255, 0.12), transparent 70%),
    radial-gradient(55% 38% at 92% 104%, rgba(255, 61, 245, 0.09), transparent 70%),
    var(--cst-xtox-rq-bg);
  color: var(--cst-xtox-rq-text);
}

/* ネオングリッド模様（装飾） */
.p-cst-xtox-req::before {
  content: "";
  position: absolute;
  inset: 0;
  pointer-events: none;
  background-image:
    linear-gradient(rgba(120, 200, 255, 0.05) 1px, transparent 1px),
    linear-gradient(90deg, rgba(120, 200, 255, 0.05) 1px, transparent 1px);
  background-size: 2.4rem 2.4rem;
  -webkit-mask-image: radial-gradient(90% 80% at 50% 30%, #000 35%, transparent 100%);
  mask-image: radial-gradient(90% 80% at 50% 30%, #000 35%, transparent 100%);
}

.p-cst-xtox-req__inner {
  position: relative;
  width: min(35.8rem, 100%);
  margin: 0 auto;
}

.p-cst-xtox-req__eyebrow {
  margin: 0 0 0.8rem;
  font-family: "Montserrat", sans-serif;
  font-size: 1.1rem;
  font-weight: 600;
  letter-spacing: 0.4em;
  text-align: center;
  text-indent: 0.4em;
  color: var(--cst-xtox-rq-neon1);
  text-shadow: 0 0 0.8rem rgba(0, 229, 255, 0.7);
}

.p-cst-xtox-req__title {
  margin: 0 0 3.2rem;
  font-size: 2.4rem;
  font-weight: 700;
  line-height: 1.5;
  text-align: center;
  letter-spacing: 0.08em;
  color: #ffffff;
  font-feature-settings: "palt" 1;
}

.p-cst-xtox-req__title-em {
  background: linear-gradient(100deg, var(--cst-xtox-rq-neon1) 15%, var(--cst-xtox-rq-neon2) 85%);
  -webkit-background-clip: text;
  background-clip: text;
  -webkit-text-fill-color: transparent;
  filter: drop-shadow(0 0 0.9rem rgba(0, 229, 255, 0.5));
}

/* タイトル下のネオンライン */
.p-cst-xtox-req__title::after {
  content: "";
  display: block;
  width: 6.4rem;
  height: 0.2rem;
  margin: 1.4rem auto 0;
  border-radius: 0.2rem;
  background: linear-gradient(90deg, var(--cst-xtox-rq-neon1), var(--cst-xtox-rq-neon2));
  box-shadow: 0 0 1rem rgba(0, 229, 255, 0.8), 0 0 2.4rem rgba(255, 61, 245, 0.5);
}

/* 1枚カード（recruit-accordion-02 と同型） */
.p-cst-xtox-req__card {
  position: relative;
  display: flex;
  flex-direction: column;
  gap: 1.6rem;
  overflow: hidden;
  padding: 1.8rem 1.6rem 0.4rem;
  background: rgba(255, 255, 255, 0.04);
  border: 1px solid rgba(0, 229, 255, 0.28);
  border-radius: 1.2rem;
  box-shadow:
    0 0 1.8rem rgba(0, 229, 255, 0.10),
    inset 0 0 2rem rgba(255, 255, 255, 0.03);
}

/* 開閉状態を持つ隠しチェックボックス */
.p-cst-xtox-req__check {
  position: absolute;
  width: 1px;
  height: 1px;
  opacity: 0;
  pointer-events: none;
}

.p-cst-xtox-req__card-title {
  padding-left: 1.2rem;
  border-left: 0.3rem solid var(--cst-xtox-rq-neon1);
  font-size: 1.6rem;
  font-weight: 700;
  letter-spacing: 0.1em;
  line-height: 1.2;
  color: #ffffff;
  font-feature-settings: "palt" 1;
}

/* 折りたたみ本体（既定は先頭数項目だけ見せる） */
.p-cst-xtox-req__body {
  display: flex;
  flex-direction: column;
  gap: 1.4rem;
  max-height: 30rem;
  overflow: hidden;
  transition: max-height 0.6s cubic-bezier(0.16, 1, 0.3, 1);
}

.p-cst-xtox-req__check:checked ~ .p-cst-xtox-req__body {
  max-height: 400rem;
}

.p-cst-xtox-req__item {
  display: flex;
  flex-direction: column;
  gap: 0.9rem;
}

.p-cst-xtox-req__label {
  padding: 0.7rem 1.2rem;
  font-size: 1.4rem;
  font-weight: 700;
  letter-spacing: 0.1em;
  line-height: 1;
  color: #ffffff;
  background: rgba(0, 229, 255, 0.10);
  border-left: 0.3rem solid var(--cst-xtox-rq-neon1);
  border-radius: 0 0.4rem 0.4rem 0;
  font-feature-settings: "palt" 1;
}

.p-cst-xtox-req__text {
  margin: 0;
  font-size: 1.35rem;
  font-weight: 400;
  letter-spacing: 0.06em;
  line-height: 1.8;
  color: rgba(234, 246, 255, 0.8);
}

/* Read More / Close トグル */
.p-cst-xtox-req__toggle {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 0.9rem;
  padding: 1.6rem 0;
  font-family: "Montserrat", sans-serif;
  font-size: 1.2rem;
  font-weight: 600;
  letter-spacing: 0.18em;
  text-transform: uppercase;
  color: var(--cst-xtox-rq-neon1);
  text-shadow: 0 0 0.8rem rgba(0, 229, 255, 0.6);
  cursor: pointer;
}

/* シェブロン（下向き） */
.p-cst-xtox-req__toggle::after {
  content: "";
  width: 0.8rem;
  height: 0.8rem;
  margin-top: -0.4rem;
  border-right: 0.2rem solid var(--cst-xtox-rq-neon1);
  border-bottom: 0.2rem solid var(--cst-xtox-rq-neon1);
  transform: rotate(45deg);
  filter: drop-shadow(0 0 0.4rem rgba(0, 229, 255, 0.7));
}

/* Close（開いたときだけ表示・シェブロン上向き） */
.p-cst-xtox-req__toggle--close {
  display: none;
}

.p-cst-xtox-req__toggle--close::after {
  margin-top: 0.4rem;
  transform: rotate(-135deg);
}

.p-cst-xtox-req__check:checked ~ .p-cst-xtox-req__toggle--close {
  display: flex;
}

/* 下部フェード + Read More（閉じているときだけ表示） */
.p-cst-xtox-req__fade {
  position: absolute;
  left: 0;
  right: 0;
  bottom: 0;
  height: 9rem;
  display: flex;
  align-items: flex-end;
  justify-content: center;
  background: linear-gradient(180deg, rgba(10, 15, 26, 0) 0%, #0c1322 70%);
  border-radius: 0 0 1.2rem 1.2rem;
}

.p-cst-xtox-req__check:checked ~ .p-cst-xtox-req__fade {
  display: none;
}

/* custom:cst_8ce714dc21c7 */
/* ======== こんな人に向いてます！（黒ベース×ネオン） ======== */

.p-cst-xtox-fit {
  --cst-xtox-f-bg: #0a0e17;
  --cst-xtox-f-neon1: #00e5ff;
  --cst-xtox-f-neon2: #ff3df5;
  --cst-xtox-f-gold: #ffd60a;
  --cst-xtox-f-text: #eaf6ff;
  position: relative;
  overflow: hidden;
  padding: 5.6rem 1.6rem 6.4rem;
  background:
    radial-gradient(70% 42% at 50% -4%, rgba(255, 61, 245, 0.10), transparent 70%),
    radial-gradient(55% 38% at 10% 104%, rgba(0, 229, 255, 0.12), transparent 70%),
    var(--cst-xtox-f-bg);
  color: var(--cst-xtox-f-text);
}

/* ネオングリッド模様（装飾） */
.p-cst-xtox-fit::before {
  content: "";
  position: absolute;
  inset: 0;
  pointer-events: none;
  background-image:
    linear-gradient(rgba(120, 200, 255, 0.05) 1px, transparent 1px),
    linear-gradient(90deg, rgba(120, 200, 255, 0.05) 1px, transparent 1px);
  background-size: 2.4rem 2.4rem;
  -webkit-mask-image: radial-gradient(90% 80% at 50% 30%, #000 35%, transparent 100%);
  mask-image: radial-gradient(90% 80% at 50% 30%, #000 35%, transparent 100%);
}

.p-cst-xtox-fit__inner {
  position: relative;
  width: min(35.8rem, 100%);
  margin: 0 auto;
}

.p-cst-xtox-fit__eyebrow {
  margin: 0 0 0.8rem;
  font-family: "Montserrat", sans-serif;
  font-size: 1.1rem;
  font-weight: 600;
  letter-spacing: 0.4em;
  text-align: center;
  text-indent: 0.4em;
  color: var(--cst-xtox-f-neon1);
  text-shadow: 0 0 0.8rem rgba(0, 229, 255, 0.7);
}

.p-cst-xtox-fit__title {
  margin: 0 0 3.2rem;
  font-size: 2.4rem;
  font-weight: 700;
  line-height: 1.5;
  text-align: center;
  letter-spacing: 0.08em;
  color: #ffffff;
  font-feature-settings: "palt" 1;
}

.p-cst-xtox-fit__title-em {
  background: linear-gradient(100deg, var(--cst-xtox-f-neon1) 15%, var(--cst-xtox-f-neon2) 85%);
  -webkit-background-clip: text;
  background-clip: text;
  -webkit-text-fill-color: transparent;
  filter: drop-shadow(0 0 0.9rem rgba(0, 229, 255, 0.5));
}

/* タイトル下のネオンライン */
.p-cst-xtox-fit__title::after {
  content: "";
  display: block;
  width: 6.4rem;
  height: 0.2rem;
  margin: 1.4rem auto 0;
  border-radius: 0.2rem;
  background: linear-gradient(90deg, var(--cst-xtox-f-neon1), var(--cst-xtox-f-neon2));
  box-shadow: 0 0 1rem rgba(0, 229, 255, 0.8), 0 0 2.4rem rgba(255, 61, 245, 0.5);
}

.p-cst-xtox-fit__list {
  display: flex;
  flex-direction: column;
  gap: 1.2rem;
  margin: 0 0 2.8rem;
  padding: 0;
  list-style: none;
  counter-reset: cstXtoxFit;
}

/* 条件カード（01=シアン / 02=マゼンタ / 03=ゴールド） */
.p-cst-xtox-fit__item {
  --cst-xtox-f-accent: var(--cst-xtox-f-neon1);
  --cst-xtox-f-accent-soft: rgba(0, 229, 255, 0.28);
  --cst-xtox-f-accent-glow: rgba(0, 229, 255, 0.10);
  position: relative;
  display: flex;
  align-items: center;
  gap: 1.4rem;
  padding: 1.6rem 1.6rem;
  background: rgba(255, 255, 255, 0.04);
  border: 1px solid var(--cst-xtox-f-accent-soft);
  border-radius: 1rem;
  box-shadow:
    0 0 1.6rem var(--cst-xtox-f-accent-glow),
    inset 0 0 1.8rem rgba(255, 255, 255, 0.03);
  animation: p-cst-xtox-f-rise 0.9s cubic-bezier(0.16, 1, 0.3, 1) both;
}

.p-cst-xtox-fit__item--second {
  --cst-xtox-f-accent: var(--cst-xtox-f-neon2);
  --cst-xtox-f-accent-soft: rgba(255, 61, 245, 0.28);
  --cst-xtox-f-accent-glow: rgba(255, 61, 245, 0.10);
}

.p-cst-xtox-fit__item--third {
  --cst-xtox-f-accent: var(--cst-xtox-f-gold);
  --cst-xtox-f-accent-soft: rgba(255, 214, 10, 0.34);
  --cst-xtox-f-accent-glow: rgba(255, 214, 10, 0.12);
}

.p-cst-xtox-fit__item:nth-child(1) { animation-delay: 0.05s; }
.p-cst-xtox-fit__item:nth-child(2) { animation-delay: 0.2s; }
.p-cst-xtox-fit__item:nth-child(3) { animation-delay: 0.35s; }

.p-cst-xtox-fit__num {
  flex-shrink: 0;
  font-family: "Montserrat", sans-serif;
  font-size: 2.8rem;
  font-weight: 600;
  line-height: 1;
  color: var(--cst-xtox-f-accent);
  text-shadow:
    0 0 0.6rem color-mix(in srgb, var(--cst-xtox-f-accent) 80%, transparent),
    0 0 2rem color-mix(in srgb, var(--cst-xtox-f-accent) 40%, transparent);
}

.p-cst-xtox-fit__text {
  margin: 0;
  font-size: 1.45rem;
  font-weight: 500;
  line-height: 1.7;
  color: rgba(234, 246, 255, 0.88);
  font-feature-settings: "palt" 1;
}

.p-cst-xtox-fit__em {
  font-weight: 700;
  color: #ffffff;
  background: linear-gradient(transparent 68%, color-mix(in srgb, var(--cst-xtox-f-accent) 45%, transparent) 68%);
}

.p-cst-xtox-fit__message {
  margin: 0;
  padding: 2rem 1.8rem;
  font-size: 1.4rem;
  line-height: 2;
  text-align: center;
  color: rgba(234, 246, 255, 0.85);
  background: rgba(0, 0, 0, 0.35);
  border: 1px solid rgba(120, 200, 255, 0.2);
  border-radius: 1rem;
  font-feature-settings: "palt" 1;
}

.p-cst-xtox-fit__message-em {
  display: inline-block;
  margin-top: 0.4rem;
  font-size: 1.5rem;
  font-weight: 700;
  background: linear-gradient(100deg, var(--cst-xtox-f-neon1) 15%, var(--cst-xtox-f-neon2) 85%);
  -webkit-background-clip: text;
  background-clip: text;
  -webkit-text-fill-color: transparent;
  filter: drop-shadow(0 0 0.8rem rgba(0, 229, 255, 0.5));
}

@keyframes p-cst-xtox-f-rise {
  from {
    opacity: 0;
    transform: translateY(1.4rem);
  }
  to {
    opacity: 1;
    transform: translateY(0);
  }
}

/* スクロール連動対応ブラウザでは「見えたときに」立ち上がる */
@supports (animation-timeline: view()) {
  .p-cst-xtox-fit__item {
    animation-duration: auto;
    animation-delay: 0s;
    animation-timeline: view();
    animation-range: entry 0% entry 50%;
  }
}

/* モーション低減設定では静的表示 */
@media (prefers-reduced-motion: reduce) {
  .p-cst-xtox-fit__item {
    animation: none !important;
  }
}

/* custom:cst_ccf38bc4400a */
/* ======== エントリー見出し + 応募フォームのダークネオン化 ======== */

.p-cst-xtox-entry {
  --cst-xtox-e-bg: #0a0e17;
  --cst-xtox-e-neon1: #00e5ff;
  --cst-xtox-e-neon2: #ff3df5;
  position: relative;
  overflow: hidden;
  padding: 5.6rem 1.6rem 0.8rem;
  background:
    radial-gradient(70% 42% at 50% -4%, rgba(0, 229, 255, 0.12), transparent 70%),
    var(--cst-xtox-e-bg);
  color: #eaf6ff;
}

.p-cst-xtox-entry::before {
  content: "";
  position: absolute;
  inset: 0;
  pointer-events: none;
  background-image:
    linear-gradient(rgba(120, 200, 255, 0.05) 1px, transparent 1px),
    linear-gradient(90deg, rgba(120, 200, 255, 0.05) 1px, transparent 1px);
  background-size: 2.4rem 2.4rem;
  -webkit-mask-image: radial-gradient(90% 90% at 50% 20%, #000 35%, transparent 100%);
  mask-image: radial-gradient(90% 90% at 50% 20%, #000 35%, transparent 100%);
}

.p-cst-xtox-entry__inner {
  position: relative;
  width: min(35.8rem, 100%);
  margin: 0 auto;
}

.p-cst-xtox-entry__eyebrow {
  margin: 0 0 0.8rem;
  font-family: "Montserrat", sans-serif;
  font-size: 1.1rem;
  font-weight: 600;
  letter-spacing: 0.4em;
  text-align: center;
  text-indent: 0.4em;
  color: var(--cst-xtox-e-neon1);
  text-shadow: 0 0 0.8rem rgba(0, 229, 255, 0.7);
}

.p-cst-xtox-entry__title {
  margin: 0 0 1.6rem;
  font-size: 2.4rem;
  font-weight: 700;
  line-height: 1.5;
  text-align: center;
  letter-spacing: 0.08em;
  color: #ffffff;
  font-feature-settings: "palt" 1;
}

.p-cst-xtox-entry__title-em {
  background: linear-gradient(100deg, var(--cst-xtox-e-neon1) 15%, var(--cst-xtox-e-neon2) 85%);
  -webkit-background-clip: text;
  background-clip: text;
  -webkit-text-fill-color: transparent;
  filter: drop-shadow(0 0 0.9rem rgba(0, 229, 255, 0.5));
}

.p-cst-xtox-entry__title::after {
  content: "";
  display: block;
  width: 6.4rem;
  height: 0.2rem;
  margin: 1.4rem auto 0;
  border-radius: 0.2rem;
  background: linear-gradient(90deg, var(--cst-xtox-e-neon1), var(--cst-xtox-e-neon2));
  box-shadow: 0 0 1rem rgba(0, 229, 255, 0.8), 0 0 2.4rem rgba(255, 61, 245, 0.5);
}

.p-cst-xtox-entry__lead {
  margin: 0;
  font-size: 1.35rem;
  font-weight: 500;
  line-height: 1.9;
  text-align: center;
  color: rgba(234, 246, 255, 0.85);
}

/* ------------------------------------------------------------------
   以下は直後の応募フォームパーツ（form-standard-02 / .c-form）の
   ダークネオン化。テンプレ form.css がライト前提のハードコード色のため、
   意図的に .p-form-standard / .c-form 配下を上書きしている（このLP専用）。
   ------------------------------------------------------------------ */

/* フォームセクションの外側背景を黒に */
.p-form-standard {
  background:
    radial-gradient(70% 42% at 50% -4%, rgba(255, 61, 245, 0.08), transparent 70%),
    #0a0e17;
}

/* フォームカード */
.p-form-standard .c-form {
  background: #0e1526;
  border: 1px solid rgba(0, 229, 255, 0.28);
  box-shadow:
    0 0 2rem rgba(0, 229, 255, 0.12),
    inset 0 0 2rem rgba(255, 255, 255, 0.02);
}

/* 見出し・ラベル・単位などの文字色 */
.p-form-standard .c-form__label,
.c-form--figma .c-form__label,
.p-form-standard .c-form__question-text,
.p-form-standard .c-form__radio-text,
.p-form-standard .c-form__radio-chip-text,
.c-form--figma .c-form__radio-chip-text,
.p-form-standard .c-form__birthday-unit,
.p-form-standard .c-form__age-unit,
.p-form-standard .c-form__age-prefix,
.p-form-standard .c-form__privacy-text {
  color: #eaf6ff;
}

.p-form-standard .c-form__note {
  color: rgba(234, 246, 255, 0.6);
}

/* 入力欄・セレクト・テキストエリア */
.p-form-standard .c-form__input,
.p-form-standard .c-form__select,
.p-form-standard .c-form__textarea,
.c-form--figma .c-form__input,
.c-form--figma .c-form__select,
.c-form--figma .c-form__textarea {
  background-color: rgba(255, 255, 255, 0.06);
  border-color: rgba(120, 200, 255, 0.35);
  color: #eaf6ff;
}

.p-form-standard .c-form__input::placeholder,
.p-form-standard .c-form__textarea::placeholder {
  color: rgba(234, 246, 255, 0.35);
}

.p-form-standard .c-form__input:focus,
.p-form-standard .c-form__select:focus,
.p-form-standard .c-form__textarea:focus {
  outline: none;
  border-color: var(--cst-xtox-e-neon1, #00e5ff);
  box-shadow: 0 0 0.8rem rgba(0, 229, 255, 0.35);
}

/* セレクトの矢印を明色に */
.p-form-standard .c-form__select-arrow path {
  stroke: #eaf6ff;
}

/* セレクトのドロップダウン内（OS描画部分）は暗色に */
.p-form-standard .c-form__select option {
  background-color: #0e1526;
  color: #eaf6ff;
}

/* ラジオ（応募 / カジュアル面談） */
.p-form-standard .c-form__radio-item,
.c-form--figma .c-form__radio-item {
  background-color: rgba(255, 255, 255, 0.05);
  border-color: rgba(120, 200, 255, 0.35);
}

.p-form-standard .c-form__radio-item.is-selected,
.c-form--figma .c-form__radio-item.is-selected {
  background-color: rgba(0, 229, 255, 0.12);
  border-color: #00e5ff;
}

.p-form-standard .c-form__radio-icon {
  border-color: rgba(120, 200, 255, 0.5);
}

.p-form-standard .c-form__radio-item.is-selected .c-form__radio-icon {
  border-color: #00e5ff;
  background-color: #00e5ff;
}

.p-form-standard .c-form__radio-item.is-selected .c-form__radio-icon::after {
  border-right-color: #061018;
  border-bottom-color: #061018;
}

/* ラジオチップ型（使用時） */
.p-form-standard .c-form__radio-chip,
.c-form--figma .c-form__radio-chip {
  background-color: rgba(255, 255, 255, 0.05);
  border-color: rgba(120, 200, 255, 0.35);
}

.p-form-standard .c-form__radio-chip.is-selected,
.c-form--figma .c-form__radio-chip.is-selected {
  background-color: rgba(0, 229, 255, 0.12);
}

.p-form-standard .c-form__radio-chip-icon {
  background-color: transparent;
  border-color: rgba(120, 200, 255, 0.5);
}

.p-form-standard .c-form__radio-chip.is-selected .c-form__radio-chip-icon {
  border-color: #00e5ff;
  background-color: #00e5ff;
}

/* プライバシー同意チェックボックス */
.p-form-standard .c-form__checkbox {
  background-color: rgba(255, 255, 255, 0.06);
  border-color: #00e5ff;
}

.p-form-standard .c-form__checkbox:checked {
  background-color: #00e5ff;
  border-color: #00e5ff;
}

.p-form-standard .c-form__checkbox:checked::after {
  border-right-color: #061018;
  border-bottom-color: #061018;
}

.p-form-standard .c-form__privacy-link {
  color: #7cc7ff;
}

/* 送信ボタンにネオングロー */
.p-form-standard .c-form__submit-btn {
  box-shadow: 0 0 2rem rgba(0, 229, 255, 0.4);
}

/* ダークヘッダー用: ヘッダーのロゴを白抜き表示に（黒ロゴがダーク背景で沈むため） */
.c-common-header .c-header__logo-img {
  filter: brightness(0) invert(1);
}

/* サイドバーCTAボタンの文字色を送信ボタンと統一（シアン背景×ダークテキスト） */
.c-sidebar__cta-btn-text {
  color: #061018;
}

/* フォーム項目の絞り込み（ワイヤー準拠）
   ※「ご希望の進め方」はマークアップ初期値の「応募」が選択されたまま送信される。
   ※ 年齢・都道府県は form.js / action.php 両方の必須検証対象のため非表示にできない（アプリ改修が必要）。 */
.p-form-standard .c-form__field:has([name="selection"]),
.p-form-standard .c-form__field:has([name="message"]) {
  display: none;
}

/* form-standard-02 */
/* 応募フォーム（シングルページ）。色はテンプレ共通クラス（.c-form / .c-form__submit-btn* / form.css）
   由来のため、安全に二段化できる送信ボタンとフォームカード背景だけを要素単位スタイルで上書き可能にする。
   入力欄・ラジオ・バッジ等はテンプレJS/レイアウトへの依存が大きいため対象外（見送り）。
   parts.css は style.css の後に読み込まれるためカスケードで優先される。 */
.c-form__submit-btn {
  background-color: var(--ps-button-bg, var(--color-accent));
}

.c-form__submit-btn-text {
  color: var(--ps-button-text, var(--color-white));
  white-space: pre-line;
  text-align: var(--ps-button-align, center);
}

.c-form {
  background-color: var(--ps-section-bg, var(--color-white));
}
/* ---- footer-01: シンプルフッター ---- */
/* 「上へ戻る」帯の色はテンプレ共通クラス（.c-footer__totop / index.css・common.css）由来。
   要素単位スタイル（--ps-band-*）で上書きできるよう最小限のオーバーライドを追加する。 */
.c-footer__totop {
  background-color: var(--ps-band-bg, var(--color-text));
}

.c-footer__totop-text {
  flex: 1;
  color: var(--ps-band-text, var(--color-white));
  white-space: pre-line;
  text-align: var(--ps-band-align, center);
}

