@charset "UTF-8";

/************************************/
/* CSS Reset */
/************************************/

*,*::before,*::after{box-sizing:border-box;margin:0;padding:0;}
html{font-size:16px;-webkit-text-size-adjust:100%;-moz-text-size-adjust:100%;text-size-adjust:100%;}
body{min-height:100vh;line-height:1.5;font-family:var(--font-family-main);color:var(--color-text);background-color:var(--color-bg);}
h1,h2,h3,h4,h5,h6{font-size:inherit;font-weight:inherit;line-height:1.2;}
ul,ol{list-style:none;}
a{color:inherit;text-decoration:none;}
img,picture,video,canvas,svg{display:block;max-width:100%;height:auto;}
button,input,textarea,select{font:inherit;color:inherit;background:none;border:none;outline:none;}
button{cursor:pointer;}
table{border-collapse:collapse;border-spacing:0;}

/* Focus Style (Accessibility)*/
a:focus-visible,
button:focus-visible{outline:2px solid var(--color-gold-deep);outline-offset:3px;}

/* ==========================================
  Root
========================================== */
:root {
  /* 背景（元データ style.css より） */
  --color-bg: #fff;
  --color-bg-ivory: #f3efe9;
  --color-bg-beige: #e7e0d5;
  --color-bg-sand: #ebd7ba;
  --color-bg-dark: #2b2620;
  --color-bg-gold-pale: #f8f0e0;

  /* 文字 */
  --color-text: #2b2620;
  --color-text-sub: #6b6257;
  --color-text-on-dark: #fff;
  --color-text-on-dark-sub: #ebd7ba;
  /* 注記（本文より薄め。濃色背景で 5.57:1、白・ivory は text-sub で 5.2:1 以上） */
  --color-note-on-dark: #a99c8a;

  /* アクセント（白背景で文字に使えるのは gold-deep 以上の濃さのみ） */
  --color-gold-deep: #906e25;
  --color-gold-text: #7a5f30;
  --color-gold: #a18055;
  --color-gold-light: #b6966c;
  --color-gold-shine: #ccb761;
  --color-gold-logo: #d6b877;

  /* Before 用の無彩色 */
  --color-mono-bg: #f2f2f2;
  --color-mono-line: #cfcfcf;
  --color-mono-text: #555;

  /* 教育3部門（白文字で 4.5:1 以上） */
  --color-dept-tech: #906e25;
  --color-dept-service: #8a6f4b;
  --color-dept-sns: #6f6683;

  /* 4ブランドの識別色（ref-brand のポジショニング図。文字は濃色で使う） */
  --color-brand-armony: #ecdcbf;
  --color-brand-selune: #dedbd6;
  --color-brand-mela: #e8d2cd;
  --color-brand-relights: #e3d4c2;

  /* グラデーション（元データ style.css より） */
  --grad-gold: linear-gradient(135deg, #ccb761 0%, #fff8db 27%, #ccb761 45%, #ccb761 100%);
  --grad-gold-soft: linear-gradient(135deg, #f6ecd2 0%, #fffaf0 40%, #f1e3c2 100%);

  /* フォント */
  --font-family-main: "Zen Kaku Gothic New", "Hiragino Kaku Gothic ProN", "Hiragino Sans", "Yu Gothic", "YuGothic", Meiryo, sans-serif;
  --font-family-serif: "Zen Old Mincho", "Yu Mincho", "YuMincho", "Hiragino Mincho ProN", "HGS明朝E", serif;

  /* 文字サイズ */
  --fz-xs: 0.75rem;
  --fz-s: 0.875rem;
  --fz-m: 1rem;
  --fz-l: 1.125rem;
  --fz-xl: 1.5rem;

  /* 余白（左右の余白・セクション間・カード間はここで一元管理する） */
  --gutter: 20px;
  --section-pad: 4.5rem;
  --head-gap: 2rem;
  --gap-card: 0.75rem;
  --gap-block: 1.5rem;
  --pad-card: 1rem;
  --space-s: 0.75rem;
  --space-m: 1.5rem;
  --space-l: 2.5rem;
  /* 写真の角丸（スタイル・スタッフ・店舗内の写真） */
  --radius-s: 6px;

  /* カード（参考 sanko1・sanko2：角はほぼ立てて細い1pxの枠だけ。影・色の帯は使わない） */
  --radius-card: 2px;
  --color-line: #ebe4d6;
  --color-line-gold: rgba(161,128,85,0.28);
  /* 「〜」の飾り線（見出し・まとめの下に敷く） */
  --swash: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 160 14'%3E%3Cpath d='M4 9C30 1 52 1 80 7s50 6 76-2' fill='none' stroke='%23b6966c' stroke-width='1.2' stroke-linecap='round'/%3E%3Cpath d='M80 3.5l2.6 3.5L80 10.5 77.4 7z' fill='%23906e25'/%3E%3C/svg%3E");
}

/************************************/
/* Display Utility */
/************************************/

/* 表示切り替え */
.u-show{display:block !important;}
.u-hide{display:none !important;}

/* PC/SP表示切り替え */
.u-sp-only{display:block;}
.u-pc-only{display:none;}
@media (min-width: 1024px) {
  .u-sp-only{display:none;}
  .u-pc-only{display:block;}
}

/* 読み上げ専用・SVGスプライト */
.u-visually-hidden{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap;}
.u-svg-sprite{position:absolute;width:0;height:0;overflow:hidden;}
.u-nowrap{white-space:nowrap;}

/* ==========================================
  Base
========================================== */
body{letter-spacing:0.05em;font-feature-settings:"palt" 1;font-kerning:auto;line-height:1.8;overflow-wrap:anywhere;}
main{display:block;}

/* ==========================================
  Common Layout
========================================== */
/* 全幅の背景は .c-section 側、左右の余白は .l-container だけが持つ */
.l-container{width:100%;max-width:1080px;margin-inline:auto;padding-inline:var(--gutter);}
.c-section{padding-block:var(--section-pad);}
.c-section--ivory{background-color:var(--color-bg-ivory);}
/* 次のセクションの「のぞき」の顔が下余白にかかるので、その分だけ広げる */
/* のぞき（.c-peek）を上の縁に置くセクション */
.c-section--peek{position:relative;}
.c-section--peek-next{padding-bottom:calc(var(--section-pad) + clamp(1.25rem,8vw,2.5rem));}
@media (min-width: 768px) {
  :root{--gutter:2rem;--section-pad:6rem;--head-gap:3rem;--gap-card:1.25rem;--gap-block:2rem;--pad-card:1.5rem;}
}

/* ==========================================
  Common Heading
  参考 sanko1・sanko2：英字は両脇に細線、和文は明朝で大きく、下に「〜」の飾り線
========================================== */
.c-sec-head{margin-bottom:var(--head-gap);text-align:center;}
/* 英字ラベルは細め（ref 4枚共通）。ivory 背景でも 4.5:1 を保つため gold-text を使う */
.c-sec-head__en{display:inline-flex;align-items:center;gap:0.75em;font-family:var(--font-family-serif);font-size:var(--fz-xs);font-weight:500;letter-spacing:0.3em;color:var(--color-gold-text);}
.c-sec-head__en::before,.c-sec-head__en::after{content:"";width:1.75rem;height:1px;background-color:var(--color-gold-light);}
.c-title{margin-top:0.5rem;font-family:var(--font-family-serif);font-size:clamp(1.3125rem,6.5vw,1.5rem);font-weight:700;line-height:1.5;word-break:keep-all;overflow-wrap:anywhere;text-wrap:balance;}
.c-title::after{content:"";display:block;width:8.5rem;height:0.75rem;margin:0.75rem auto 0;background:var(--swash) center / contain no-repeat;}
.c-sec-head__lead{margin-top:1.25rem;font-family:var(--font-family-serif);font-size:clamp(1.0625rem,5.2vw,1.25rem);font-weight:700;line-height:1.6;word-break:keep-all;overflow-wrap:anywhere;}
.c-sec-head__lead strong{margin:0 0.05em;font-size:1.6em;font-weight:900;line-height:1;color:var(--color-gold-deep);}
.c-sec-head__text{max-width:40em;margin:1rem auto 0;font-size:0.9375rem;color:var(--color-text-sub);text-align:left;}
/* サブ見出しの帯（ref-stylists「ARMONYで伸びたスタイリストのリアル」）。文字は帯の濃い部分に収める */
.c-sec-head__band{display:inline-block;max-width:100%;margin-top:1.25rem;padding:0.5rem 2.5em;font-family:var(--font-family-serif);font-size:clamp(0.875rem,4.2vw,1.0625rem);font-weight:700;line-height:1.5;letter-spacing:0.06em;color:var(--color-text-on-dark);background:linear-gradient(90deg,rgba(144,110,37,0) 0%,var(--color-gold-deep) 2em,var(--color-gold-deep) calc(100% - 2em),rgba(144,110,37,0) 100%);word-break:keep-all;overflow-wrap:anywhere;}
/* 注記：本文より一段小さく薄め（12〜13px）。色は text-sub で AA を満たす */
.c-note{font-size:var(--fz-xs);line-height:1.6;letter-spacing:0.02em;color:var(--color-text-sub);}
/* 小見出し：両脇の細線は外側へ薄くなる（sanko2「― 売上分布サマリー ―」） */
.c-card-title{display:flex;align-items:center;justify-content:center;gap:0.875rem;margin:3.5rem 0 var(--gap-block);font-family:var(--font-family-serif);font-size:clamp(1.125rem,5.6vw,1.25rem);font-weight:700;line-height:1.5;text-align:center;color:var(--color-text);}
.c-card-title::before,.c-card-title::after{content:"";flex:1 1 1.25rem;max-width:4.5rem;height:1px;background:linear-gradient(to right,rgba(182,150,108,0),var(--color-gold-light));}
.c-card-title::after{background:linear-gradient(to left,rgba(182,150,108,0),var(--color-gold-light));}
.c-card-title__text{min-width:0;word-break:keep-all;overflow-wrap:anywhere;text-wrap:balance;}
/* ページ後半の山場（キャリア）だけ一段大きく */
.c-sec-head--feature{margin-bottom:calc(var(--head-gap) * 1.4);}
.c-sec-head--feature .c-sec-head__en{font-size:var(--fz-s);}
.c-sec-head--feature .c-title{margin-top:0.75rem;font-size:clamp(1.625rem,7.6vw,2rem);line-height:1.45;}
.c-sec-head--feature .c-title::after{width:11rem;height:1rem;margin-top:1rem;}
.c-sec-head--feature .c-sec-head__text{margin-top:1.5rem;font-size:var(--fz-m);}
@media (min-width: 768px) {
  .c-sec-head__en::before,.c-sec-head__en::after{width:2.5rem;}
  .c-title{font-size:2.125rem;}
  .c-title::after{width:10rem;height:0.875rem;}
  .c-sec-head__lead{font-size:1.5rem;}
  .c-sec-head__text{text-align:center;}
  .c-sec-head__band{font-size:1.25rem;}
  .c-note{font-size:0.8125rem;}
  .c-card-title{gap:1.25rem;margin-top:5rem;font-size:1.5rem;}
  .c-card-title::before,.c-card-title::after{max-width:7rem;}
  .c-sec-head--feature .c-title{font-size:clamp(2.5rem,4.4vw,3rem);}
  .c-sec-head--feature .c-title::after{width:14rem;height:1.25rem;}
}

/* ==========================================
  Common Button / CTA
========================================== */
.c-cta{margin-top:var(--space-l);text-align:center;}
.c-cta__lead{margin-bottom:0.5rem;font-size:clamp(0.75rem,3.9vw,0.875rem);font-weight:700;color:var(--color-gold-text);text-wrap:balance;}
.c-cta--dark .c-cta__lead{color:var(--color-text-on-dark-sub);}
.c-btn{display:inline-flex;align-items:center;justify-content:center;gap:0.375rem;width:min(100%,22rem);min-height:3.5rem;padding:0.875rem;font-size:clamp(0.8125rem,4vw,1rem);font-weight:700;line-height:1.4;letter-spacing:0.02em;color:var(--color-text-on-dark);background-color:var(--color-gold-deep);border:1px solid var(--color-gold-logo);border-radius:999px;box-shadow:0 6px 16px rgba(43,38,32,0.18);transition:background-color 0.2s,transform 0.2s;}
.c-btn:hover{background-color:var(--color-gold-text);transform:translateY(-1px);}
.c-btn__icon{flex-shrink:0;width:1.375rem;height:1.375rem;}
.c-btn__arrow{flex-shrink:0;width:1.125rem;height:1.125rem;}
/* 枠線版：外部記事など、LINEのCTAと区別したいリンク用。ホバーで塗りに反転 */
.c-btn--outline{color:var(--color-gold-text);background-color:transparent;border-color:var(--color-gold-deep);box-shadow:none;}
.c-btn--outline:hover{color:var(--color-text-on-dark);background-color:var(--color-gold-deep);}
.c-btn__external{flex-shrink:0;width:0.9375rem;height:0.9375rem;}
.c-btn--large{width:min(100%,26rem);min-height:4rem;font-size:clamp(1rem,4.8vw,1.125rem);}
@media (min-width: 768px) {
  .c-btn{gap:0.5rem;padding:0.875rem 1.5rem;}
}
.c-cta--final{margin-top:3.5rem;}

/* ==========================================
  Common Peek（セクションの境目からスタッフが顔を出す）
  手が次のセクションの上の縁にかかり、顔から上は前のセクションにはみ出す。
  画像の下から約8.5%が縁にかける指なので、translateY(8.5%)（自分の高さ基準）で下げて体の切れ目を縁に合わせる。
  縮んでも比率で下がるので、高さが変わっても指の位置はずれない
  人数は全幅で同じ（SPで減らさない）。--peek-h は上限で、入りきらない幅では flex-shrink で全員が同じ割合で縮む
  （画像は width/height を auto にしているので、縮んだ幅に合わせて高さも比率どおりに縮む）
========================================== */
.c-peek{--peek-h:3.875rem;position:absolute;right:0;bottom:100%;left:0;display:flex;align-items:flex-end;gap:clamp(0.125rem,0.8vw,0.25rem);width:100%;max-width:1080px;margin-inline:auto;padding-inline:var(--gutter);pointer-events:none;}
.c-peek__img{flex:0 1 auto;min-width:0;width:auto;height:auto;max-height:var(--peek-h);transform:translateY(8.5%);}
.c-peek--result{justify-content:flex-start;}
.c-peek--training{justify-content:flex-end;}
.c-peek--tour{justify-content:center;}
/* スタッフ構成のブロック用：見た目は c-peek--tour のまま、上のサロン見学ののぞきと位置をずらして右寄せ */
.c-peek--staffdata{justify-content:flex-end;padding-inline:0.75rem;}
@media (min-width: 768px) {
  .c-peek{--peek-h:4.75rem;gap:0.5rem;}
  .c-peek--result{padding-left:calc(var(--gutter) + 2rem);}
  .c-peek--training{padding-right:calc(var(--gutter) + 2rem);}
  .c-peek--staffdata{padding-inline:var(--gutter) 3rem;}
}
@media (min-width: 1024px) {
  .c-peek{--peek-h:5.625rem;gap:0.75rem;}
}

/* ==========================================
  Target Bar / Header
========================================== */
.c-target-bar{padding:0.5rem var(--gutter);font-size:clamp(0.6875rem,3.5vw,0.75rem);font-weight:700;line-height:1.5;text-align:center;text-wrap:balance;color:var(--color-text-on-dark);background-color:var(--color-gold-deep);}
.l-header{background-color:var(--color-bg-dark);border-bottom:1px solid rgba(214,184,119,0.25);}
.l-header__inner{display:flex;align-items:center;justify-content:space-between;gap:0.75rem;max-width:1080px;height:3.25rem;margin:0 auto;padding:0 var(--gutter);}
.l-header__logo-img{width:auto;height:clamp(0.9375rem,4.6vw,1.125rem);}
.l-header__label{font-family:var(--font-family-serif);font-size:clamp(0.5625rem,2.8vw,0.6875rem);letter-spacing:0.18em;white-space:nowrap;color:var(--color-text-on-dark-sub);}
@media (min-width: 768px) {
  .c-target-bar{font-size:var(--fz-s);}
  .l-header__inner{height:4rem;}
  .l-header__logo-img{height:1.5rem;}
}

/* ==========================================
  FV
========================================== */
.p-fv{color:var(--color-text-on-dark);background:radial-gradient(ellipse at 50% 100%,rgba(204,183,97,0.16) 0%,rgba(43,38,32,0) 60%),var(--color-bg-dark);}
/* スライドショー：コンテナの外に置き、親要素基準の100%で画面幅いっぱいに（100vwはスクロールバー分はみ出すため使わない） */
/* SP画像は5枚とも3:4なので枠も3:4にして切らない。重ねた li を opacity で切り替える */
.p-fv__slides{position:relative;width:100%;aspect-ratio:3 / 4;overflow:hidden;background-color:var(--color-bg-dark);}
.p-fv__slide{position:absolute;inset:0;opacity:0;transition:opacity 1.2s ease;}
.p-fv__slide.is-active{opacity:1;}
.p-fv__picture{display:block;height:100%;}
.p-fv__slide-img{display:block;width:100%;height:100%;}
@media (prefers-reduced-motion: reduce) {
  .p-fv__slide{transition:none;}
}
@media (min-width: 768px) {
  /* PC画像は 16:9 / 4:3 / 3:2 / 4:3 / 5:4（5枚目は元2:1から右のロゴ文字を除いて書き出し）。多い4:3に枠を固定し、ここだけ cover で左右を切る */
  .p-fv__slides{aspect-ratio:4 / 3;}
  .p-fv__slide-img{object-fit:cover;object-position:50% 50%;}
  /* 1枚目（16:9）：左のコピーとLINEボタン・右のハサミを残す */
  .p-fv__slide-img--left{object-position:12% 50%;}
  /* 3枚目（3:2）：左上の ARMONY の文字とボブの毛先を残す */
  .p-fv__slide-img--left-mid{object-position:30% 50%;}
}
.p-fv__inner{position:relative;max-width:1080px;margin:0 auto;padding:1rem var(--gutter) 1.25rem;text-align:center;}
/* 募集地域の丸バッジ（ref-fv 左上）。SPは写真の下端に重ねて、見出しの行とぶつからない高さに置く */
/* SPはスライド5枚とも右上に文字や看板があるため、どの写真でも空いている右下（写真の下端の少し上）に置く */
.p-fv__area{position:absolute;top:-6rem;right:var(--gutter);z-index:1;display:flex;flex-direction:column;align-items:center;justify-content:center;width:5.25rem;height:5.25rem;font-family:var(--font-family-serif);line-height:1.35;text-align:center;color:var(--color-text-on-dark);background-color:rgba(43,38,32,0.92);border:1px solid var(--color-gold-logo);border-radius:50%;box-shadow:inset 0 0 0 3px rgba(43,38,32,0.92),inset 0 0 0 4px rgba(214,184,119,0.35);}
.p-fv__area-label{padding-bottom:0.125rem;margin-bottom:0.1875rem;font-size:0.625rem;letter-spacing:0.12em;color:var(--color-text-on-dark-sub);border-bottom:1px solid rgba(214,184,119,0.5);}
.p-fv__area-list{font-size:0.8125rem;font-weight:700;letter-spacing:0.04em;white-space:nowrap;}
.p-fv__title{display:block;font-family:var(--font-family-serif);font-weight:700;}
.p-fv__lead{display:block;font-size:clamp(1.0625rem,5.4vw,1.25rem);line-height:1.5;letter-spacing:0.04em;}
.p-fv__lead-part{display:inline-block;white-space:nowrap;}
.p-fv__lead-sep{margin:0 0.25em;color:var(--color-gold-logo);}
.p-fv__rate{display:flex;align-items:baseline;justify-content:center;gap:0.25rem;line-height:1;}
.p-fv__rate-label{font-size:1.125rem;line-height:1.2;letter-spacing:0.1em;writing-mode:vertical-rl;align-self:center;}
.p-fv__rate-num{font-size:clamp(6.25rem,32vw,13.5rem);font-weight:900;line-height:0.95;letter-spacing:0;font-variant-numeric:tabular-nums;color:var(--color-gold-logo);}
.p-fv__rate-unit{font-size:clamp(2.25rem,11vw,4.5rem);font-weight:900;color:var(--color-gold-logo);}
/* 達成率の定義の注記：本文より小さく薄め（濃色背景で 5.57:1） */
.p-fv__rate-note{max-width:30rem;margin:0.5rem auto 0;font-size:var(--fz-xs);line-height:1.6;letter-spacing:0.02em;color:var(--color-note-on-dark);text-wrap:balance;}
.p-fv__sub{margin-top:0.25rem;font-size:var(--fz-s);color:var(--color-text-on-dark-sub);}
/* 「まずは指名120万円。その先の200万円へ。」：ref-fv と同じく左右に線を引いた1行。金額だけ明朝・アクセント色で大きく */
.p-fv__next{display:flex;align-items:center;justify-content:center;gap:0.625rem;max-width:36rem;margin:0.875rem auto 0;font-family:var(--font-family-serif);font-size:clamp(0.75rem,3.6vw,0.9375rem);font-weight:700;line-height:1.5;color:var(--color-text-on-dark);}
.p-fv__next::before,.p-fv__next::after{content:"";flex:1 1 0.75rem;max-width:5rem;height:1px;background:linear-gradient(to right,rgba(214,184,119,0),var(--color-gold-logo));}
.p-fv__next::after{background:linear-gradient(to left,rgba(214,184,119,0),var(--color-gold-logo));}
.p-fv__next-text{min-width:0;white-space:nowrap;}
.p-fv__next-num{margin:0 0.05em;font-size:1.6em;font-weight:700;line-height:1;letter-spacing:0;color:var(--color-gold-logo);}
.p-fv__next-unit{font-size:0.62em;letter-spacing:0.02em;}
/* サブコピー：両端が消える金の帯（sanko1「SNS×技術教育で〜」の帯） */
.p-fv__catch{max-width:30rem;margin:0.75rem auto 0;padding:0.5rem 1rem;font-family:var(--font-family-serif);font-size:clamp(0.8125rem,3.8vw,0.9375rem);font-weight:500;line-height:1.7;letter-spacing:0.08em;color:var(--color-text-on-dark);background:linear-gradient(90deg,rgba(204,183,97,0) 0%,rgba(204,183,97,0.22) 18%,rgba(204,183,97,0.22) 82%,rgba(204,183,97,0) 100%);}
/* ref-fv の3カード：左上に番号＋斜めの細線、線画アイコン、ラベル、数字（単位は約1/3） */
.p-fv__badges{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:0.5rem;max-width:30rem;margin:0.875rem auto 0;}
.p-fv__badge{position:relative;display:flex;flex-direction:column;align-items:center;justify-content:flex-start;min-width:0;padding:1.125rem 0.25rem 0.625rem;line-height:1.4;background-color:rgba(255,255,255,0.05);border:1px solid rgba(214,184,119,0.45);border-radius:var(--radius-card);overflow:hidden;}
.p-fv__badge::before{content:"";position:absolute;top:0;left:0;width:2.25rem;height:2.25rem;background:linear-gradient(135deg,rgba(214,184,119,0) 0 60%,var(--color-gold-logo) 60% 63%,rgba(214,184,119,0) 63%);}
.p-fv__badge-no{position:absolute;top:0.125rem;left:0.375rem;font-family:var(--font-family-serif);font-size:0.6875rem;font-weight:500;color:var(--color-gold-logo);}
.p-fv__badge-icon{width:1.625rem;height:1.625rem;color:var(--color-gold-logo);}
.p-fv__badge-label{margin-top:0.25rem;font-size:0.6875rem;line-height:1.4;color:var(--color-text-on-dark-sub);word-break:keep-all;overflow-wrap:anywhere;}
.p-fv__badge-value{margin-top:auto;padding-top:0.125rem;font-family:var(--font-family-serif);font-size:clamp(1.125rem,5.4vw,1.375rem);font-weight:700;line-height:1.2;letter-spacing:0;white-space:nowrap;color:var(--color-gold-logo);}
.p-fv__badge-unit{font-size:0.5em;letter-spacing:0.02em;color:var(--color-text-on-dark);}
.p-fv__cta{margin-top:1rem;}
.p-fv__cta .c-cta__lead{margin-bottom:0.375rem;}
@media (prefers-reduced-motion: no-preference) {
  .p-fv__lead,.p-fv__rate,.p-fv__rate-note,.p-fv__sub,.p-fv__next,.p-fv__catch,.p-fv__badges,.p-fv__cta{animation:fv-up 0.6s ease both;}
  .p-fv__rate,.p-fv__rate-note{animation-delay:0.1s;}
  .p-fv__sub,.p-fv__next{animation-delay:0.2s;}
  .p-fv__catch{animation-delay:0.25s;}
  .p-fv__badges{animation-delay:0.3s;}
  .p-fv__cta{animation-delay:0.4s;}
}
@keyframes fv-up{from{opacity:0;transform:translateY(16px);}to{opacity:1;transform:none;}}
@media (min-width: 768px) {
  .p-fv__inner{padding:1.5rem var(--gutter) 2rem;}
  .p-fv__lead{font-size:1.75rem;}
  .p-fv__rate-num{font-size:clamp(6.25rem,20vw,13.5rem);}
  .p-fv__rate-label{font-size:1.5rem;}
  .p-fv__area{top:-5.5rem;width:6.5rem;height:6.5rem;}
  .p-fv__area-label{font-size:0.6875rem;}
  .p-fv__area-list{font-size:var(--fz-m);}
  .p-fv__rate-note{font-size:0.8125rem;}
  .p-fv__sub{font-size:var(--fz-m);}
  .p-fv__next{margin-top:1.25rem;font-size:1.125rem;}
  .p-fv__catch{margin-top:1rem;font-size:var(--fz-m);}
  .p-fv__badges{gap:0.75rem;max-width:40rem;margin-top:1.25rem;}
  .p-fv__badge{padding:1.5rem 0.5rem 0.875rem;}
  .p-fv__badge::before{width:3rem;height:3rem;}
  .p-fv__badge-no{top:0.25rem;left:0.5rem;font-size:var(--fz-s);}
  .p-fv__badge-icon{width:2.25rem;height:2.25rem;}
  .p-fv__badge-label{margin-top:0.375rem;font-size:var(--fz-s);}
  .p-fv__badge-value{font-size:2rem;}
  .p-fv__cta{margin-top:1.25rem;}
}
@media (min-width: 1024px) {
  .p-fv__inner{padding:2rem var(--gutter) 2.5rem;}
  /* PCは写真に重ねず、見出し左の余白に置く */
  .p-fv__area{top:2.5rem;right:auto;left:var(--gutter);width:7.5rem;height:7.5rem;}
  .p-fv__area-list{font-size:1.125rem;}
  .p-fv__lead{font-size:clamp(1.5rem,2.2vw,2.25rem);}
  .p-fv__rate-num{font-size:clamp(8rem,13vw,15rem);}
}

/* ==========================================
  Reveal（JSが動いたときだけ初期状態を隠す）
========================================== */
.js-reveal-ready [data-reveal]{opacity:0;transform:translateY(16px);transition:opacity 0.6s ease,transform 0.6s ease;transition-delay:var(--reveal-delay,0s);}
.js-reveal-ready [data-reveal].is-revealed{opacity:1;transform:none;}
@media (prefers-reduced-motion: reduce) {
  .js-reveal-ready [data-reveal]{opacity:1;transform:none;transition:none;}
}

/* ==========================================
  Numbers
  参考 sanko1・sanko2：左上に番号＋斜めの金線、アイコンは背景なしで中央、
  ラベルの下に点線、数字は大きく単位は約1/3
========================================== */
.p-numbers__list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));grid-auto-rows:1fr;gap:var(--gap-card);counter-reset:numbers;}
.p-numbers__card{position:relative;display:flex;flex-direction:column;align-items:center;min-width:0;padding:1.5rem 0.625rem var(--pad-card);text-align:center;background-color:var(--color-bg);border:1px solid var(--color-line-gold);border-radius:var(--radius-card);overflow:hidden;counter-increment:numbers;}
.p-numbers__card::before{content:"";position:absolute;top:0;left:0;width:3rem;height:3rem;background:linear-gradient(135deg,rgba(204,183,97,0) 0 60%,var(--color-gold-shine) 60% 63%,rgba(204,183,97,0) 63%);}
.p-numbers__card::after{content:counter(numbers,decimal-leading-zero);position:absolute;top:0.25rem;left:0.5rem;font-family:var(--font-family-serif);font-size:var(--fz-xs);font-weight:700;color:var(--color-gold-deep);}
.p-numbers__icon{width:2rem;height:2rem;color:var(--color-gold-deep);}
.p-numbers__label{margin-top:0.5rem;padding:0 0.25rem 0.375rem;font-size:0.8125rem;font-weight:700;line-height:1.5;word-break:keep-all;overflow-wrap:anywhere;border-bottom:1px dotted var(--color-gold-light);}
.p-numbers__num{display:flex;align-items:baseline;justify-content:center;margin-top:0.375rem;font-family:var(--font-family-serif);font-weight:900;line-height:1.2;color:var(--color-gold-deep);white-space:nowrap;}
.p-numbers__value{font-size:clamp(1.75rem,9vw,4.5rem);letter-spacing:0;font-variant-numeric:tabular-nums;color:var(--color-gold-deep);}
.p-numbers__unit{margin-left:0.125rem;font-size:clamp(0.75rem,3vw,1.5rem);letter-spacing:0;}
.p-numbers__unit--pre{margin:0 0.0625rem 0 0;}
.p-numbers__note{margin-top:0.5rem;font-size:var(--fz-xs);line-height:1.6;color:var(--color-text-sub);}
/* 定義・出典の注記はPCでも12〜13pxに留める（説明文より一段小さく） */
.p-numbers__note.c-note{font-size:var(--fz-xs);}
@media (min-width: 768px) {
  .p-numbers__list{grid-template-columns:repeat(3,minmax(0,1fr));}
  .p-numbers__card{padding:2.25rem var(--pad-card) 1.75rem;}
  .p-numbers__card::before{width:4rem;height:4rem;}
  .p-numbers__card::after{top:0.375rem;left:0.75rem;font-size:var(--fz-m);}
  .p-numbers__icon{width:2.5rem;height:2.5rem;}
  .p-numbers__label{font-size:var(--fz-m);}
  .p-numbers__value{font-size:clamp(2.5rem,5.5vw,4.5rem);}
  .p-numbers__unit{font-size:clamp(0.875rem,1.8vw,1.5rem);}
  .p-numbers__note{font-size:var(--fz-s);}
  .p-numbers__note.c-note{font-size:0.8125rem;}
}

/* ==========================================
  Stylists（実際に入社して、どう変わった？ / ref-stylists）
  カード左上に番号＋斜めの細線、最後の指名売上だけアクセント色で大きく
========================================== */
.p-salary__lead{margin-top:1rem;font-family:var(--font-family-serif);font-size:clamp(0.9375rem,4.4vw,1.0625rem);font-weight:700;line-height:1.6;word-break:keep-all;overflow-wrap:anywhere;}
.p-stylist{display:grid;grid-template-columns:minmax(0,1fr);gap:var(--gap-card);}
.p-stylist__card{position:relative;display:grid;grid-template-columns:clamp(6rem,30vw,7.5rem) minmax(0,1fr);gap:0.875rem 1rem;align-content:start;min-width:0;padding:var(--pad-card);background-color:var(--color-bg);border:1px solid var(--color-line-gold);border-radius:var(--radius-card);overflow:hidden;}
.p-stylist__card::before{content:"";position:absolute;top:0;left:0;z-index:1;width:3rem;height:3rem;background:linear-gradient(135deg,rgba(204,183,97,0) 0 60%,var(--color-gold-shine) 60% 63%,rgba(204,183,97,0) 63%);pointer-events:none;}
.p-stylist__no{position:absolute;top:0.25rem;left:0.5rem;z-index:1;font-family:var(--font-family-serif);font-size:var(--fz-s);font-weight:500;color:var(--color-gold-text);}
/* 写真枠（TODO：支給までのプレースホルダー） */
.p-stylist__photo{display:flex;align-items:center;justify-content:center;aspect-ratio:1 / 1;font-family:var(--font-family-serif);font-size:var(--fz-xs);letter-spacing:0.2em;color:var(--color-text-sub);background:linear-gradient(135deg,var(--color-bg-ivory) 0%,var(--color-bg-beige) 100%);border-radius:4px;}
.p-stylist__photo--img{width:100%;height:auto;object-fit:cover;object-position:50% 40%;}
.p-stylist__head{display:flex;flex-direction:column;align-items:flex-start;justify-content:center;gap:0.375rem;min-width:0;}
.p-stylist__name{font-family:var(--font-family-serif);font-size:clamp(1.375rem,6.4vw,1.75rem);font-weight:700;line-height:1.2;letter-spacing:0.06em;}
.p-stylist__spec{padding:0.1875rem 0.625rem;font-size:var(--fz-xs);font-weight:700;line-height:1.5;color:var(--color-gold-deep);border:1px solid var(--color-gold-light);word-break:keep-all;overflow-wrap:anywhere;}
.p-stylist__ig-link{display:inline-flex;align-items:center;gap:0.25rem;font-size:0.8125rem;line-height:1.4;color:var(--color-text);border-bottom:1px solid transparent;transition:border-color 0.2s;overflow-wrap:anywhere;}
.p-stylist__ig-link:hover{border-bottom-color:var(--color-gold-light);}
.p-stylist__ig-icon{flex-shrink:0;width:1rem;height:1rem;color:var(--color-gold-deep);}
.p-stylist__steps{grid-column:1 / -1;display:flex;flex-wrap:nowrap;align-items:flex-end;justify-content:space-around;gap:0.25rem;padding:0.5rem 0 0.75rem;border-top:1px solid var(--color-line);border-bottom:1px solid var(--color-line);}
.p-stylist__step{display:flex;flex-direction:column;align-items:center;}
.p-stylist__step-label{font-size:var(--fz-xs);font-weight:700;color:var(--color-text-sub);}
.p-stylist__step-value{font-family:var(--font-family-serif);font-size:0.625rem;font-weight:700;line-height:1.2;white-space:nowrap;}
.p-stylist__step-num{margin:0 0.0625rem;font-size:clamp(1.25rem,6vw,1.625rem);font-weight:700;letter-spacing:0;color:var(--color-text);}
.p-stylist__step--goal .p-stylist__step-num{font-size:clamp(1.75rem,8.4vw,2.5rem);font-weight:900;color:var(--color-gold-deep);}
.p-stylist__arrow{align-self:center;padding-top:1rem;}
.p-stylist__arrow-icon{width:0.875rem;height:0.875rem;color:var(--color-gold-light);}
.p-stylist__tags-title{grid-column:1 / -1;display:flex;align-items:center;justify-content:center;gap:0.625rem;font-size:var(--fz-xs);font-weight:700;color:var(--color-text-sub);}
.p-stylist__tags-title::before,.p-stylist__tags-title::after{content:"";flex:1 1 1rem;max-width:3rem;height:1px;background-color:var(--color-line-gold);}
.p-stylist__tags{grid-column:1 / -1;display:flex;flex-wrap:wrap;justify-content:center;gap:0.375rem;margin-top:-0.375rem;}
.p-stylist__tag{padding:0.25rem 0.625rem;font-size:0.6875rem;font-weight:700;line-height:1.5;background-color:var(--color-bg);border:1px solid var(--color-line-gold);border-radius:var(--radius-card);}
/* 締め：両端が消える淡い金の帯 */
.p-salary__closing{margin-top:var(--space-l);padding:1rem 0.5rem;font-family:var(--font-family-serif);font-size:clamp(1.25rem,6vw,1.5rem);font-weight:700;line-height:1.6;text-align:center;background:linear-gradient(90deg,rgba(241,227,194,0) 0%,#f1e3c2 18%,#f1e3c2 82%,rgba(241,227,194,0) 100%);word-break:keep-all;overflow-wrap:anywhere;}
.p-salary__closing-em{margin:0 0.05em;font-size:1.4em;font-weight:900;color:var(--color-gold-text);}
.p-salary__cta{margin-top:var(--gap-block);}
.p-salary__terms{margin-top:var(--space-l);padding:0.25rem var(--pad-card) var(--pad-card);background-color:var(--color-bg);border:1px solid var(--color-line-gold);border-radius:var(--radius-card);}
.p-salary__terms-title{margin:1rem 0 0.5rem;font-size:var(--fz-l);}
.p-salary__terms-row{display:grid;grid-template-columns:6.5em minmax(0,1fr);gap:0.5rem;padding:0.5rem 0;font-size:var(--fz-s);border-bottom:1px dotted var(--color-gold-light);}
.p-salary__terms-row:last-child{border-bottom:none;}
.p-salary__terms-row dt{font-weight:700;color:var(--color-gold-text);}
@media (min-width: 768px) {
  .p-salary__lead{font-size:1.25rem;}
  .p-stylist{grid-template-columns:repeat(2,minmax(0,1fr));gap:1.5rem;}
  .p-stylist__card{grid-template-columns:8.5rem minmax(0,1fr);padding:1.25rem 1.5rem 1.5rem;}
  .p-stylist__card::before{width:3.5rem;height:3.5rem;}
  .p-stylist__no{font-size:var(--fz-l);}
  .p-stylist__step-value{font-size:var(--fz-xs);}
  .p-stylist__step-num{font-size:1.875rem;}
  .p-stylist__arrow-icon{width:1.125rem;height:1.125rem;}
  .p-stylist__step--goal .p-stylist__step-num{font-size:2.75rem;}
  .p-stylist__tag{font-size:var(--fz-xs);}
  .p-salary__closing{padding:1.25rem 1rem;font-size:2rem;}
  .p-salary__terms{max-width:40rem;margin-inline:auto;padding:0.5rem 2rem 1.5rem;}
}

/* ==========================================
  Sales Report（月次の売上実績 / ref-sales）
  項目間は縦の細い区切り線、表は点線の罫線＋見出し行だけ色を敷く
========================================== */
.p-sales__panel{position:relative;max-width:60rem;margin:0 auto;padding:1.75rem var(--pad-card) 1.25rem;background-color:var(--color-bg);border:1px solid var(--color-line-gold);border-radius:var(--radius-card);}
.p-sales__panel::before{content:"";position:absolute;inset:0.375rem;border:1px solid rgba(182,150,108,0.3);pointer-events:none;}
.p-sales__count{position:relative;display:flex;align-items:center;justify-content:center;gap:0.75rem;font-family:var(--font-family-serif);font-size:var(--fz-m);font-weight:700;}
.p-sales__count::before,.p-sales__count::after{content:"";flex:1 1 1rem;max-width:8rem;height:1px;background-color:var(--color-gold-light);}
.p-sales__conds{position:relative;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:0.5rem;margin-top:1rem;}
.p-sales__cond{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:0.25rem;padding:0.5rem 0.25rem;font-size:var(--fz-xs);font-weight:700;line-height:1.4;text-align:center;border:1px solid var(--color-gold-light);border-radius:var(--radius-card);box-shadow:inset 0 0 0 2px var(--color-bg),inset 0 0 0 3px rgba(182,150,108,0.25);word-break:keep-all;overflow-wrap:anywhere;}
.p-sales__cond-icon{flex-shrink:0;width:1.375rem;height:1.375rem;color:var(--color-gold-deep);}
.p-sales__stats{position:relative;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));margin-top:1rem;border:1px solid var(--color-line-gold);border-radius:var(--radius-card);}
.p-sales__stat{display:flex;flex-direction:column;align-items:center;min-width:0;padding:0.875rem 0.375rem 0.75rem;text-align:center;}
.p-sales__stat:nth-child(even){border-left:1px solid var(--color-line-gold);}
.p-sales__stat:nth-child(n+3){border-top:1px solid var(--color-line-gold);}
.p-sales__label{padding:0 0.25rem 0.375rem;font-size:var(--fz-xs);font-weight:700;line-height:1.5;border-bottom:1px dotted var(--color-gold-light);word-break:keep-all;overflow-wrap:anywhere;}
.p-sales__num{display:flex;align-items:baseline;justify-content:center;margin-top:0.375rem;font-family:var(--font-family-serif);font-weight:700;line-height:1.2;color:var(--color-gold-deep);white-space:nowrap;}
.p-sales__value{font-size:clamp(1.625rem,7.4vw,3rem);letter-spacing:0;font-variant-numeric:tabular-nums;color:var(--color-gold-deep);}
.p-sales__unit{margin-left:0.125rem;font-size:clamp(0.6875rem,3vw,1rem);letter-spacing:0;color:var(--color-text);}
.p-sales__formula{margin-top:0.25rem;font-size:0.6875rem;line-height:1.5;color:var(--color-text-sub);}
/* 2段目：平均所得目安は横いっぱい、人数3つは3列 */
.p-sales__stats--sub{grid-template-columns:repeat(3,minmax(0,1fr));}
.p-sales__stats--sub .p-sales__stat{border:none;}
.p-sales__stats--sub .p-sales__stat--income{grid-column:1 / -1;border-bottom:1px solid var(--color-line-gold);}
.p-sales__stats--sub .p-sales__stat:nth-child(n+3){border-left:1px solid var(--color-line-gold);}
.p-sales__stat--income .p-sales__value{font-size:clamp(2.25rem,11vw,3.5rem);}
.p-sales__sub{margin:2rem 0 1rem;}
.p-sales__table{position:relative;width:100%;max-width:40rem;margin:0 auto;border-collapse:separate;border-spacing:0;border:1px solid var(--color-gold-light);border-radius:var(--radius-card);overflow:hidden;}
.p-sales__table thead th{padding:0.5rem;font-family:var(--font-family-serif);font-size:var(--fz-s);font-weight:700;letter-spacing:0.1em;color:var(--color-text-on-dark);background-color:var(--color-gold-deep);}
.p-sales__table thead th + th{border-left:1px solid rgba(255,255,255,0.35);}
.p-sales__table tbody th,.p-sales__table tbody td{padding:0.5rem;font-family:var(--font-family-serif);font-size:0.8125rem;line-height:1.5;text-align:center;border-bottom:1px dotted var(--color-gold-light);}
.p-sales__table tbody th{width:62%;font-weight:500;word-break:keep-all;overflow-wrap:anywhere;}
.p-sales__table tbody td{border-left:1px solid var(--color-line-gold);}
.p-sales__table tbody tr:last-child > *{border-bottom:none;}
.p-sales__table-num{margin-right:0.0625rem;font-size:1.5rem;font-weight:700;line-height:1;color:var(--color-gold-text);}
.p-sales__note{position:relative;max-width:40rem;margin:0.5rem auto 0;text-align:right;text-wrap:balance;}
.p-sales__closing{position:relative;margin-top:var(--gap-block);font-family:var(--font-family-serif);font-size:clamp(1.0625rem,5vw,1.25rem);font-weight:700;line-height:1.7;text-align:center;word-break:keep-all;overflow-wrap:anywhere;}
.p-sales__closing-em{color:var(--color-gold-text);}
.p-sales__tax{position:relative;margin-top:0.75rem;}
@media (min-width: 768px) {
  .p-sales__panel{padding:2.5rem 2.5rem 1.75rem;}
  .p-sales__panel::before{inset:0.5rem;}
  .p-sales__count{font-size:1.25rem;}
  .p-sales__conds{gap:1rem;max-width:44rem;margin:1.25rem auto 0;}
  .p-sales__cond{flex-direction:row;gap:0.5rem;padding:0.75rem;font-size:var(--fz-m);}
  .p-sales__cond-icon{width:1.75rem;height:1.75rem;}
  .p-sales__stats{grid-template-columns:repeat(4,minmax(0,1fr));margin-top:1.5rem;}
  .p-sales__stat{padding:1.25rem 0.75rem 1rem;}
  .p-sales__stat:nth-child(n){border-top:none;border-left:none;}
  .p-sales__stat + .p-sales__stat{border-left:1px solid var(--color-line-gold);}
  .p-sales__label{font-size:var(--fz-s);}
  .p-sales__value{font-size:clamp(1.875rem,3.6vw,2.875rem);}
  .p-sales__unit{font-size:clamp(0.875rem,1.6vw,1.125rem);}
  .p-sales__stats--sub{grid-template-columns:minmax(0,1.6fr) repeat(3,minmax(0,1fr));}
  .p-sales__stats--sub .p-sales__stat--income{grid-column:auto;border-bottom:none;}
  .p-sales__stat--income .p-sales__value{font-size:clamp(3rem,6vw,4rem);}
  .p-sales__formula{font-size:var(--fz-xs);}
  .p-sales__sub{margin-top:3rem;}
  .p-sales__table thead th{padding:0.625rem;font-size:var(--fz-m);}
  .p-sales__table tbody th,.p-sales__table tbody td{padding:0.625rem;font-size:var(--fz-m);}
  .p-sales__table-num{font-size:1.875rem;}
  .p-sales__closing{margin-top:2.5rem;font-size:1.75rem;}
}

/* ==========================================
  Why
  参考 sanko1 下段：アイコンは見出しの左・背景なし、PCは縦の細線で区切る
========================================== */
.p-why__list{display:grid;}
.p-why__item{display:grid;grid-template-columns:2.75rem minmax(0,1fr);column-gap:1rem;align-items:center;padding:1.25rem 0;border-top:1px solid var(--color-line);}
.p-why__item:last-child{border-bottom:1px solid var(--color-line);}
.p-why__icon{grid-row:1 / 3;align-self:start;width:2.75rem;height:2.75rem;color:var(--color-gold-deep);}
.p-why__key{font-family:var(--font-family-serif);font-size:1.25rem;font-weight:700;line-height:1.5;color:var(--color-gold-text);}
.p-why__key-num{margin-right:0.5rem;font-size:var(--fz-s);color:var(--color-gold-light);}
.p-why__text{margin-top:0.25rem;font-size:0.9375rem;color:var(--color-text-sub);}
.p-why__perks{display:flex;flex-wrap:wrap;justify-content:center;gap:0.5rem;margin-top:var(--gap-block);}
.p-why__perk{display:inline-flex;align-items:center;gap:0.375rem;padding:0.5rem 1rem;font-size:var(--fz-s);font-weight:700;background-color:var(--color-bg);border:1px solid var(--color-line-gold);border-radius:var(--radius-card);box-shadow:inset 0 0 0 2px var(--color-bg),inset 0 0 0 3px rgba(182,150,108,0.25);}
.p-why__perk-icon{width:1rem;height:1rem;color:var(--color-gold-deep);}
@media (min-width: 768px) {
  .p-why__list{grid-template-columns:repeat(3,minmax(0,1fr));}
  .p-why__item,.p-why__item:last-child{grid-template-columns:minmax(0,1fr);align-content:start;padding:0.5rem 1.75rem;text-align:center;border:none;}
  .p-why__item + .p-why__item{border-left:1px solid var(--color-line-gold);}
  .p-why__icon{grid-row:auto;justify-self:center;width:3rem;height:3rem;margin-bottom:0.75rem;}
  .p-why__text{margin-top:0.5rem;text-align:left;}
}

/* ==========================================
  Roadmap（売上シミュレーション）
========================================== */
.p-roadmap__sim-title{margin-top:0;}
.p-roadmap__sim{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:var(--gap-card);}
.p-roadmap__step{display:flex;flex-direction:column;min-width:0;padding:var(--pad-card) 0.75rem;background-color:var(--color-bg);border:1px solid var(--color-line-gold);border-radius:var(--radius-card);}
.p-roadmap__step--goal{border:2px solid var(--color-gold-deep);}
.p-roadmap__month{font-family:var(--font-family-serif);font-size:var(--fz-l);font-weight:700;text-align:center;color:var(--color-gold-deep);}
.p-roadmap__note{font-size:0.6875rem;text-align:center;color:var(--color-text-sub);}
.p-roadmap__data{display:flex;flex-direction:column;flex-grow:1;margin-top:0.5rem;}
.p-roadmap__row{display:flex;flex-wrap:wrap;justify-content:space-between;column-gap:0.25rem;padding:0.375rem 0;font-size:0.8125rem;border-bottom:1px solid var(--color-bg-beige);}
.p-roadmap__row dd{margin-left:auto;text-align:right;}
.p-roadmap__row dt{color:var(--color-text-sub);}
.p-roadmap__row--strong dd{font-weight:700;color:var(--color-gold-deep);}
.p-roadmap__row--pay{margin-top:auto;padding:0.5rem;font-weight:700;background-color:var(--color-bg-ivory);border-bottom:none;}
.p-roadmap__row--pay dt{color:var(--color-text);}
@media (min-width: 1024px) {
  .p-roadmap__sim{grid-template-columns:repeat(4,minmax(0,1fr));gap:1.75rem;}
  .p-roadmap__step{position:relative;padding:1.25rem 1rem;}
  .p-roadmap__step:not(:last-child)::after{content:"";position:absolute;top:50%;right:-1.125rem;width:0.75rem;height:0.75rem;border-top:1px solid var(--color-gold-light);border-right:1px solid var(--color-gold-light);transform:translateY(-50%) rotate(45deg);}
  .p-roadmap__row{font-size:var(--fz-s);}
}

/* ==========================================
  Training（育て方）
  6つの支援：右上に番号、アイコンは見出しの左（背景なし）
========================================== */
/* 研修写真：SPは3枚を小さく横並び、どの幅でも高さを揃える（角丸は他セクションの写真と同じ radius-s） */
.p-training__photos{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:0.5rem;margin-bottom:var(--space-l);}
.p-training__photo{overflow:hidden;border-radius:var(--radius-s);}
.p-training__img{width:100%;aspect-ratio:4 / 5;object-fit:cover;}
.p-training__img--top{object-position:50% 20%;}
@media (min-width: 768px) {
  .p-training__photos{gap:var(--gap-card);}
  .p-training__img{aspect-ratio:4 / 3;}
}
.p-training__supports{display:grid;gap:var(--gap-card);}
.p-training__support{position:relative;display:grid;grid-template-columns:2.5rem minmax(0,1fr);column-gap:0.875rem;align-items:center;padding:1.25rem var(--pad-card) var(--pad-card);background-color:var(--color-bg);border:1px solid var(--color-line-gold);border-radius:var(--radius-card);}
.p-training__support-no{position:absolute;top:0.375rem;right:0.75rem;font-family:var(--font-family-serif);font-size:var(--fz-xs);font-weight:700;letter-spacing:0.1em;color:var(--color-gold-light);}
.p-training__support-icon{width:2.5rem;height:2.5rem;color:var(--color-gold-deep);}
.p-training__support-title{font-family:var(--font-family-serif);font-size:1.0625rem;font-weight:700;line-height:1.5;word-break:keep-all;overflow-wrap:anywhere;}
.p-training__support-text{grid-column:1 / -1;margin-top:0.625rem;font-size:var(--fz-s);}
.p-training__support--feature{color:var(--color-text-on-dark);background-color:var(--color-bg-dark);border-color:var(--color-gold-logo);}
.p-training__support--feature .p-training__support-no{color:var(--color-gold-logo);}
.p-training__support--feature .p-training__support-icon{color:var(--color-gold-logo);}
.p-training__support--feature .p-training__support-title{font-size:1.375rem;color:var(--color-gold-logo);}
/* 3つの力：上辺の色で3部門を区別（タイムラインの部門タグと同じ色） */
.p-power{display:grid;gap:var(--gap-card);}
.p-power__item{--power-color:var(--color-dept-tech);display:flex;flex-direction:column;align-items:center;padding:1.5rem var(--pad-card) 1.25rem;text-align:center;background-color:var(--color-bg);border:1px solid var(--color-line-gold);border-radius:var(--radius-card);}
.p-power__item--service{--power-color:var(--color-dept-service);}
.p-power__item--sns{--power-color:var(--color-dept-sns);}
.p-power__head{display:flex;flex-wrap:wrap;align-items:baseline;justify-content:center;gap:0.25rem 0.625rem;font-family:var(--font-family-serif);font-weight:700;color:var(--power-color);}
.p-power__num{font-size:1.75rem;line-height:1;}
.p-power__en{font-size:0.6875rem;letter-spacing:0.2em;}
.p-power__icon{width:2.75rem;height:2.75rem;margin-top:0.875rem;color:var(--power-color);}
.p-power__name{margin-top:0.5rem;font-family:var(--font-family-serif);font-size:1.625rem;font-weight:900;line-height:1.3;}
.p-power__catch{width:100%;margin-top:0.625rem;padding-bottom:0.75rem;font-family:var(--font-family-serif);font-size:var(--fz-m);font-weight:700;line-height:1.6;color:var(--color-gold-text);border-bottom:1px dotted var(--color-gold-light);text-wrap:balance;}
.p-power__text{margin-top:0.75rem;font-size:var(--fz-s);line-height:1.8;text-align:left;color:var(--color-text-sub);}
.c-dept{display:inline-block;padding:0.125rem 0.5rem;font-size:0.6875rem;font-weight:700;line-height:1.6;color:var(--color-text-on-dark);border-radius:var(--radius-card);}
.c-dept--tech{background-color:var(--color-dept-tech);}
.c-dept--service{background-color:var(--color-dept-service);}
.c-dept--sns{background-color:var(--color-dept-sns);}
@media (min-width: 768px) {
  .p-training__supports{grid-template-columns:repeat(2,minmax(0,1fr));}
  .p-training__support{align-content:start;}
  .p-training__support--feature{grid-column:1 / -1;grid-template-columns:3.5rem minmax(0,1fr);column-gap:1.5rem;padding:2rem 2.25rem;}
  .p-training__support--feature .p-training__support-icon{grid-row:1 / 3;width:3.5rem;height:3.5rem;}
  .p-training__support--feature .p-training__support-text{grid-column:2;margin-top:0.25rem;font-size:var(--fz-m);}
  .p-power{grid-template-columns:repeat(3,minmax(0,1fr));}
  .p-power__item{padding:2rem 1.5rem 1.75rem;}
}
@media (min-width: 1024px) {
  .p-training__supports{grid-template-columns:repeat(3,minmax(0,1fr));}
}

/* ==========================================
  Timeline
========================================== */
.p-timeline{max-width:40rem;margin:0 auto;}
.p-timeline__item{display:grid;grid-template-columns:4.5rem minmax(0,1fr);column-gap:0.75rem;}
.p-timeline__period{padding-top:0.125rem;font-family:var(--font-family-serif);font-size:var(--fz-s);font-weight:700;text-align:right;color:var(--color-gold-deep);white-space:nowrap;}
.p-timeline__body{position:relative;padding:0 0 1.5rem 1.25rem;border-left:1px solid var(--color-gold-light);}
.p-timeline__body::before{content:"";position:absolute;top:0.5rem;left:-6.5px;width:12px;height:12px;background-color:var(--color-bg);border:2px solid var(--color-gold-deep);border-radius:50%;}
.p-timeline__depts{display:flex;flex-wrap:wrap;gap:0.25rem;}
.p-timeline__support{margin-top:0.25rem;font-size:var(--fz-s);font-weight:700;line-height:1.6;}
.p-timeline__sales{margin-top:0.25rem;font-size:0.8125rem;color:var(--color-text-sub);}
.p-timeline__sales-label{margin-right:0.375em;}
.p-timeline__sales-value{display:inline-block;white-space:nowrap;}
.p-timeline__sales-num{font-family:var(--font-family-serif);font-size:1.375rem;font-weight:900;letter-spacing:0;color:var(--color-gold-deep);}
.p-timeline__item--goal .p-timeline__body{padding-bottom:0;border-left-color:transparent;}
.p-timeline__item--goal .p-timeline__body::before{background-color:var(--color-gold-deep);}
.p-timeline__item--goal .p-timeline__sales-num{font-size:clamp(1.625rem,7.5vw,2.75rem);}
.p-timeline__monthly{display:flex;align-items:flex-start;gap:0.5rem;max-width:40rem;margin:var(--gap-block) auto 0;padding:var(--pad-card);font-size:var(--fz-s);background-color:var(--color-bg);border:1px solid var(--color-line-gold);border-radius:var(--radius-card);}
.p-timeline__monthly-icon{flex-shrink:0;width:1.25rem;height:1.25rem;margin-top:0.2rem;color:var(--color-gold-deep);}
@media (min-width: 768px) {
  .p-timeline__item{grid-template-columns:6rem minmax(0,1fr);column-gap:1.25rem;}
  .p-timeline__period{font-size:var(--fz-m);}
  .p-timeline__support{font-size:var(--fz-m);}
}

/* ==========================================
  Video（クリックまでiframeを読み込まない）
========================================== */
.c-video{max-width:50rem;margin:2.5rem auto 0;}
.c-video[hidden]{display:none;}
.c-video__frame{position:relative;aspect-ratio:16 / 9;overflow:hidden;background-color:#000;border-radius:var(--radius-s);}
.c-video__button{position:absolute;inset:0;display:block;width:100%;height:100%;}
.c-video__thumb{width:100%;height:100%;object-fit:cover;opacity:0.85;transition:opacity 0.2s;}
.c-video__button:hover .c-video__thumb{opacity:1;}
.c-video__play{position:absolute;top:50%;left:50%;display:flex;align-items:center;justify-content:center;width:4rem;height:4rem;color:var(--color-text-on-dark);background-color:rgba(43,38,32,0.75);border:2px solid var(--color-gold-logo);border-radius:50%;transform:translate(-50%,-50%);}
.c-video__play svg{width:1.75rem;height:1.75rem;margin-left:0.2rem;}
.c-video__iframe{position:absolute;inset:0;width:100%;height:100%;border:0;}
.c-video__caption{margin-top:0.75rem;}
.c-video__label{font-family:var(--font-family-serif);font-size:var(--fz-xs);letter-spacing:0.2em;color:var(--color-gold-deep);}
.c-video__title{font-family:var(--font-family-serif);font-size:var(--fz-l);font-weight:700;line-height:1.5;}
.c-video__desc{margin-top:0.25rem;font-size:var(--fz-s);color:var(--color-text-sub);}
@media (min-width: 768px) {
  .c-video__play{width:5rem;height:5rem;}
  .c-video__play svg{width:2.25rem;height:2.25rem;}
}

/* ==========================================
  Interview
========================================== */
.p-interview .c-video{margin:0 auto 2.5rem;}
.p-interview__list{display:grid;gap:var(--gap-card);}
.p-interview__card{display:grid;grid-template-columns:clamp(4.5rem,22vw,5.5rem) minmax(0,1fr);gap:1rem;align-items:start;padding:var(--pad-card);background-color:var(--color-bg);border:1px solid var(--color-line-gold);border-radius:var(--radius-card);}
.p-interview__photo{overflow:hidden;border-radius:var(--radius-s);}
.p-interview__img{width:100%;aspect-ratio:273 / 382;object-fit:cover;}
.p-interview__meta{font-size:var(--fz-xs);color:var(--color-text-sub);}
.p-interview__name{margin-left:0.5em;font-weight:700;color:var(--color-text);}
.p-interview__title{margin-top:0.25rem;font-family:var(--font-family-serif);font-size:1.0625rem;font-weight:700;line-height:1.6;word-break:keep-all;overflow-wrap:anywhere;}
.p-interview__body{grid-column:1 / -1;font-size:var(--fz-s);line-height:1.9;}
.p-interview__q{margin-top:0.75rem;font-size:0.8125rem;font-weight:700;color:var(--color-gold-deep);}
.p-interview__q:first-child{margin-top:0;}
.p-interview__body.is-collapsed{position:relative;max-height:7.5rem;overflow:hidden;}
.p-interview__body.is-collapsed::after{content:"";position:absolute;right:0;bottom:0;left:0;height:3rem;background:linear-gradient(to bottom,rgba(255,255,255,0) 0%,#fff 100%);}
.p-interview__toggle{grid-column:1 / -1;justify-self:center;padding:0.5rem 1.5rem;font-size:0.8125rem;font-weight:700;color:var(--color-gold-deep);border:1px solid var(--color-gold-deep);border-radius:var(--radius-card);}
.p-interview__toggle[hidden]{display:none;}
@media (min-width: 768px) {
  .p-interview__list{grid-template-columns:repeat(2,minmax(0,1fr));align-items:start;}
  .p-interview__card{grid-template-columns:7rem minmax(0,1fr);}
}

/* ==========================================
  A Day
========================================== */
.p-day .c-video{margin:0 auto 2.5rem;}
.p-day__list{display:grid;gap:var(--gap-card);}
.p-day__item{display:grid;grid-template-columns:clamp(6rem,30vw,7.5rem) minmax(0,1fr);gap:1rem;align-items:start;}
.p-day__photo{overflow:hidden;border-radius:var(--radius-s);}
.p-day__img{width:100%;aspect-ratio:4 / 3;object-fit:cover;}
.p-day__title{display:flex;align-items:center;gap:0.5rem;font-size:0.9375rem;font-weight:700;line-height:1.5;}
.p-day__num{display:inline-flex;align-items:center;justify-content:center;flex-shrink:0;width:1.5rem;height:1.5rem;font-family:var(--font-family-serif);font-size:var(--fz-xs);color:var(--color-text-on-dark);background-color:var(--color-gold-deep);border-radius:50%;}
.p-day__text p{margin-top:0.25rem;font-size:0.8125rem;line-height:1.7;color:var(--color-text-sub);}
@media (min-width: 1024px) {
  .p-day__list{grid-template-columns:repeat(5,minmax(0,1fr));}
  .p-day__item{grid-template-columns:minmax(0,1fr);gap:0.75rem;}
}

/* ==========================================
  Comparison（SPは比較項目ごとのカードに3者を横並び、768px以上は表）
  ARMONYは金の太枠＋淡い金の背景で強調。各セルは記号＋短い一言
========================================== */
.c-mark{display:block;font-family:var(--font-family-serif);font-size:1.375rem;font-weight:700;line-height:1.2;}
.c-mark--best{color:var(--color-gold-deep);}
.c-mark--good{color:var(--color-gold);}
.c-mark--fair,.c-mark--poor{color:#8b8578;}
.p-compare__table{display:block;width:100%;}
.p-compare__table thead{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);}
.p-compare__table tbody{display:grid;gap:var(--gap-card);}
.p-compare__table tr{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:0.375rem;padding:0.875rem 0.625rem 0.75rem;background-color:var(--color-bg);border:1px solid var(--color-line-gold);border-radius:var(--radius-card);}
.p-compare__table tbody th{grid-column:1 / -1;display:flex;align-items:center;justify-content:center;gap:0.625rem;padding-bottom:0.375rem;font-family:var(--font-family-serif);font-size:var(--fz-m);font-weight:700;}
.p-compare__table tbody th::before,.p-compare__table tbody th::after{content:"";width:1.25rem;height:1px;background-color:var(--color-gold-light);}
.p-compare__table td{display:flex;flex-direction:column;align-items:center;min-width:0;padding:0.5rem 0.25rem;text-align:center;background-color:var(--color-mono-bg);}
.p-compare__table td::before{content:attr(data-label);font-size:0.6875rem;font-weight:700;line-height:1.4;color:var(--color-text-sub);}
.p-compare__note{margin-top:0.125rem;font-size:0.6875rem;line-height:1.5;color:var(--color-text-sub);word-break:keep-all;overflow-wrap:anywhere;}
.p-compare__table td.p-compare__armony{background-color:var(--color-bg-gold-pale);box-shadow:inset 0 0 0 1px var(--color-gold-deep);}
.p-compare__table td.p-compare__armony::before{font-family:var(--font-family-serif);letter-spacing:0.1em;color:var(--color-gold-deep);}
.p-compare__armony .p-compare__note{font-weight:700;color:var(--color-text);}
.p-compare__armony .c-mark{font-size:1.625rem;}
.p-compare__legend{display:flex;flex-wrap:wrap;justify-content:center;gap:0.25rem 1rem;margin-top:1rem;font-size:var(--fz-xs);color:var(--color-text-sub);}
@media (min-width: 768px) {
  .p-compare__table{display:table;max-width:56rem;margin:0 auto;table-layout:fixed;border-collapse:separate;border-spacing:0;background-color:var(--color-bg);border:1px solid var(--color-line-gold);border-radius:var(--radius-card);}
  .p-compare__table thead{position:static;display:table-header-group;width:auto;height:auto;overflow:visible;clip:auto;}
  .p-compare__table tbody{display:table-row-group;}
  .p-compare__table tr{display:table-row;padding:0;background:none;border:none;border-radius:0;box-shadow:none;}
  .p-compare__table th,.p-compare__table td{display:table-cell;padding:0.875rem 0.75rem;vertical-align:middle;text-align:center;border-bottom:1px dotted var(--color-gold-light);border-radius:0;background:none;}
  .p-compare__table tbody tr:last-child > *{border-bottom:none;}
  .p-compare__table thead th{padding-block:1rem;font-family:var(--font-family-serif);font-size:var(--fz-m);font-weight:700;color:var(--color-text-sub);border-bottom:1px solid var(--color-line-gold);}
  .p-compare__table thead th:first-child{width:9rem;}
  .p-compare__table tbody th{display:table-cell;padding-bottom:0.875rem;font-size:var(--fz-s);color:var(--color-gold-text);}
  .p-compare__table tbody th::before,.p-compare__table tbody th::after{display:none;}
  .p-compare__table td::before{display:none;}
  .p-compare__note{display:block;font-size:0.8125rem;}
  /* ARMONY列：左右に金の太線、見出しは濃い金の帯 */
  .p-compare__table .p-compare__armony{background-color:var(--color-bg-gold-pale);border-left:1px solid var(--color-gold-deep);border-right:1px solid var(--color-gold-deep);}
  .p-compare__table td.p-compare__armony{box-shadow:none;}
  .p-compare__table thead th.p-compare__armony{color:var(--color-text-on-dark);background-color:var(--color-gold-deep);border-bottom-color:var(--color-gold-deep);border-top-right-radius:var(--radius-card);}
  .p-compare__armony-name{font-size:var(--fz-xl);letter-spacing:0.15em;}
  .p-compare__table tbody tr:last-child td.p-compare__armony{border-bottom:1px solid var(--color-gold-deep);border-bottom-right-radius:var(--radius-card);}
  .p-compare__armony .p-compare__note{font-size:var(--fz-s);}
  .c-mark{font-size:1.625rem;}
  .p-compare__armony .c-mark{font-size:2rem;}
}

/* ==========================================
  Message
  動画 → 要約3行 → 代表写真＋プロフィール → 立ち上げた理由（要約）
========================================== */
.p-message .c-video{margin:0 auto 2.5rem;}
.p-message__lines{display:grid;max-width:44rem;margin:0 auto;border-top:1px dotted var(--color-gold-light);}
.p-message__lines li{padding:0.75rem 0.25rem;font-family:var(--font-family-serif);font-size:var(--fz-m);font-weight:500;line-height:1.9;border-bottom:1px dotted var(--color-gold-light);}
.p-message__body{display:grid;gap:var(--gap-block);max-width:56rem;margin:var(--space-l) auto 0;}
.p-message__photo{width:min(60%,14rem);margin:0 auto;overflow:hidden;border-radius:var(--radius-s);}
.p-message__profile{padding:var(--pad-card);background-color:var(--color-bg);border:1px solid var(--color-line-gold);border-radius:var(--radius-card);}
.p-message__profile-en{font-family:var(--font-family-serif);font-size:var(--fz-xs);font-weight:500;letter-spacing:0.3em;color:var(--color-gold-text);}
.p-message__name{display:flex;align-items:baseline;gap:0.75rem;margin-top:0.5rem;font-family:var(--font-family-serif);font-weight:700;line-height:1.2;}
.p-message__name-en{font-size:clamp(1.75rem,8vw,2.25rem);letter-spacing:0.15em;}
.p-message__name-ja{font-size:var(--fz-s);letter-spacing:0.1em;color:var(--color-text-sub);}
.p-message__role{margin-top:0.25rem;font-size:var(--fz-s);font-weight:700;color:var(--color-gold-text);}
.p-message__career{display:grid;gap:0.375rem;margin-top:1rem;padding-top:1rem;border-top:1px dotted var(--color-gold-light);}
.p-message__career li{position:relative;padding-left:1rem;font-size:0.875rem;line-height:1.75;}
.p-message__career li::before{content:"";position:absolute;top:0.7em;left:0;width:0.375rem;height:0.375rem;background-color:var(--color-gold-light);border-radius:50%;}
.p-message__ig{margin-top:0.875rem;}
.p-message__ig-link{display:inline-flex;align-items:center;gap:0.25rem;font-size:0.8125rem;border-bottom:1px solid transparent;transition:border-color 0.2s;}
.p-message__ig-link:hover{border-bottom-color:var(--color-gold-light);}
.p-message__ig-icon{flex-shrink:0;width:1rem;height:1rem;color:var(--color-gold-deep);}
.p-message__story{max-width:44rem;margin-inline:auto;}
.p-message__story-item + .p-message__story-item{margin-top:1.75rem;}
.p-message__story-head{padding-bottom:0.375rem;font-family:var(--font-family-serif);font-size:var(--fz-l);font-weight:700;line-height:1.5;border-bottom:1px dotted var(--color-gold-light);}
.p-message__story-text{margin-top:0.625rem;font-size:0.9375rem;line-height:1.95;}
.p-message__quote{position:relative;margin-top:2.25rem;padding:2rem var(--pad-card) 1.5rem;font-family:var(--font-family-serif);font-size:var(--fz-m);font-weight:500;line-height:2;background-color:var(--color-bg);border-top:1px solid var(--color-line-gold);border-bottom:1px solid var(--color-line-gold);}
.p-message__quote::before{content:"“";position:absolute;top:-1.25rem;left:50%;padding:0 0.5rem;font-size:3rem;line-height:1;color:var(--color-gold-light);transform:translateX(-50%);}
/* 外部記事へのボタン（プロフィールの下）。SPは横幅いっぱい、768px以上は最大360px */
.p-message__article{max-width:44rem;margin:2.5rem auto 2rem;text-align:center;}
.p-message__article .c-btn{width:100%;}
@media (min-width: 768px) {
  .p-message__lines li{font-size:var(--fz-l);}
  .p-message__body{grid-template-columns:14rem minmax(0,1fr);align-items:center;gap:3rem;}
  .p-message__photo{width:100%;}
  .p-message__profile{padding:1.75rem 2rem;}
  .p-message__article{margin:3.5rem auto 2.5rem;}
  .p-message__article .c-btn{width:min(100%,22.5rem);}
  .p-message__story-text{font-size:var(--fz-m);}
  .p-message__quote{padding:2.5rem 2.5rem 2rem;font-size:var(--fz-l);}
}

/* ==========================================
  Career（ページ後半の山場）＋ まとめ
========================================== */
.p-career{padding-block:calc(var(--section-pad) * 1.3);}
.p-career__list{display:grid;grid-template-columns:minmax(0,1fr);gap:var(--gap-card);}
.p-career__item{position:relative;display:grid;grid-template-columns:2.75rem minmax(0,1fr);column-gap:1rem;align-items:center;min-width:0;padding:1.125rem var(--pad-card);background-color:var(--color-bg);border:1px solid var(--color-line-gold);border-radius:var(--radius-card);}
.p-career__no{position:absolute;top:0.375rem;right:0.75rem;font-family:var(--font-family-serif);font-size:var(--fz-xs);font-weight:700;letter-spacing:0.1em;color:var(--color-gold-light);}
.p-career__icon{grid-row:1 / 3;width:2.75rem;height:2.75rem;color:var(--color-gold-deep);}
.p-career__role{font-family:var(--font-family-serif);font-size:1.125rem;font-weight:700;line-height:1.5;color:var(--color-gold-text);word-break:keep-all;overflow-wrap:anywhere;}
.p-career__desc{margin-top:0.25rem;font-size:0.8125rem;line-height:1.7;color:var(--color-text-sub);}
/* まとめ：細い金の内枠（sanko2）。3つはグレーで控えめ、ARMONYだけ濃色＋金 */
.p-summary{position:relative;margin-top:calc(var(--gap-block) * 2);padding:2rem var(--pad-card) var(--pad-card);background-color:var(--color-bg);border:1px solid var(--color-line-gold);border-radius:var(--radius-card);}
.p-summary::before{content:"";position:absolute;inset:0.375rem;border:1px solid rgba(182,150,108,0.3);pointer-events:none;}
.p-summary__title{position:relative;font-family:var(--font-family-serif);font-size:clamp(1.1875rem,5.8vw,1.5rem);font-weight:700;line-height:1.6;text-align:center;word-break:keep-all;overflow-wrap:anywhere;}
.p-summary__title::after{content:"";display:block;width:8.5rem;height:0.75rem;margin:0.75rem auto 0;background:var(--swash) center / contain no-repeat;}
.p-summary__list{position:relative;display:grid;gap:0.5rem;max-width:44rem;margin:1.5rem auto 0;}
.p-summary__row{display:grid;gap:0.125rem;padding:0.75rem 1rem;color:var(--color-mono-text);background-color:var(--color-mono-bg);}
.p-summary__type{font-size:0.8125rem;font-weight:700;}
.p-summary__text{font-size:var(--fz-s);}
.p-summary__row--armony{justify-items:center;gap:0.75rem;margin-top:0.5rem;padding:1.5rem 1rem;text-align:center;color:var(--color-text-on-dark);background:radial-gradient(ellipse at 50% 0%,rgba(204,183,97,0.22) 0%,rgba(43,38,32,0) 70%),var(--color-bg-dark);border:1px solid var(--color-gold-logo);}
.p-summary__brand{font-family:var(--font-family-serif);font-size:clamp(1.75rem,8.5vw,2.25rem);font-weight:700;line-height:1.2;letter-spacing:0.15em;color:var(--color-gold-deep);}
.p-summary__keys{display:grid;grid-template-columns:repeat(2,auto);justify-content:center;gap:0.5rem;}
.p-summary__key{position:relative;display:inline-flex;align-items:center;justify-content:center;gap:0.375rem;padding:0.375rem 0.75rem;font-family:var(--font-family-serif);font-size:clamp(0.9375rem,4.4vw,1.125rem);font-weight:700;line-height:1.4;white-space:nowrap;border:1px solid var(--color-gold-logo);border-radius:var(--radius-card);}
.p-summary__key + .p-summary__key::before{content:"×";position:absolute;left:-1.375rem;display:none;font-weight:400;color:var(--color-gold-logo);}
.p-summary__key-icon{width:1.125rem;height:1.125rem;color:var(--color-gold-logo);}
@media (min-width: 768px) {
  .p-career__list{grid-template-columns:repeat(2,minmax(0,1fr));}
  .p-summary{padding:3rem 2.5rem 2.5rem;}
  .p-summary::before{inset:0.5rem;}
  .p-summary__title{font-size:2rem;}
  .p-summary__title::after{width:10rem;height:0.875rem;}
  .p-summary__list{margin-top:2rem;}
  .p-summary__row{grid-template-columns:11rem minmax(0,1fr);align-items:center;gap:1rem;padding:0.875rem 1.5rem;}
  .p-summary__type{font-size:var(--fz-s);}
  .p-summary__text{font-size:var(--fz-m);}
  .p-summary__row--armony{grid-template-columns:minmax(0,1fr);gap:1rem;padding:2rem 1.5rem;}
  .p-summary__keys{gap:0.75rem;}
  .p-summary__key{padding:0.5rem 1.25rem;font-size:1.375rem;}
  .p-summary__key-icon{width:1.375rem;height:1.375rem;}
}
@media (min-width: 1024px) {
  .p-career__list{grid-template-columns:repeat(4,minmax(0,1fr));}
  .p-career__item{grid-template-columns:minmax(0,1fr);align-content:start;justify-items:center;padding:2rem 1.25rem 1.5rem;text-align:center;}
  .p-career__icon{grid-row:auto;width:3rem;height:3rem;margin-bottom:0.75rem;}
  .p-career__desc{margin-top:0.5rem;text-align:left;}
  .p-summary__keys{display:flex;gap:0.75rem 2rem;}
  .p-summary__key + .p-summary__key::before{display:block;}
}

/* ==========================================
  Brand（4つのサロンブランド / ref-brand）
========================================== */
.p-brand__en-sep{display:block;height:0.25rem;}
.p-brand .c-sec-head__en{flex-direction:column;gap:0;letter-spacing:0.22em;}
.p-brand .c-sec-head__en::before,.p-brand .c-sec-head__en::after{display:none;}
.p-brand__lead{max-width:46em;}
/* 締めのブロック：上下の細線と大きな引用符で「引用的」に見せる */
.p-brand__closing{position:relative;max-width:48rem;margin:3.5rem auto 0;padding:2.75rem var(--pad-card) 2rem;text-align:center;border-top:1px solid var(--color-line-gold);border-bottom:1px solid var(--color-line-gold);}
.p-brand__closing::before{content:"“";position:absolute;top:-1.75rem;left:50%;padding:0 0.75rem;font-family:var(--font-family-serif);font-size:4rem;line-height:1;color:var(--color-gold-light);background-color:var(--color-bg);transform:translateX(-50%);}
.p-brand__closing-lead{font-family:var(--font-family-serif);font-size:clamp(1.25rem,6vw,1.625rem);font-weight:700;line-height:1.6;word-break:keep-all;overflow-wrap:anywhere;}
.p-brand__closing-text{margin-top:1.25rem;font-size:0.9375rem;line-height:1.9;text-align:left;color:var(--color-text-sub);}
.p-brand__closing-em{margin-top:1.5rem;font-family:var(--font-family-serif);font-size:clamp(0.9375rem,4.4vw,1.375rem);line-height:1.8;color:var(--color-gold-text);word-break:keep-all;overflow-wrap:anywhere;}
.p-brand__closing-em strong{font-weight:900;}
.p-brand__list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:var(--gap-card);}
.p-brand__card{--brand-color:var(--color-brand-armony);display:flex;flex-direction:column;min-width:0;background-color:var(--color-bg);border:1px solid var(--color-line-gold);border-radius:var(--radius-card);overflow:hidden;}
.p-brand__card:nth-child(2){--brand-color:var(--color-brand-selune);}
.p-brand__card:nth-child(3){--brand-color:var(--color-brand-mela);}
.p-brand__card:nth-child(4){--brand-color:var(--color-brand-relights);}
.p-brand__logo{display:block;height:4.5rem;padding:0.5rem;background-color:var(--color-bg);}
.p-brand__logo-img{width:100%;height:100%;object-fit:contain;}
/* 写真の上に載ったロゴ（MELA・Re:lights）は枠いっぱいに敷く */
.p-brand__logo--photo{padding:0;}
.p-brand__logo--photo .p-brand__logo-img{object-fit:cover;}
/* 名刺写真から切り出したロゴ（Re:lights）は切れないよう全体を収める */
.p-brand__logo--card{padding:0.375rem;}
.p-brand__logo--card .p-brand__logo-img{object-fit:contain;}
.p-brand__genre{padding:0.5rem 0.375rem;font-family:var(--font-family-serif);font-size:0.8125rem;font-weight:700;line-height:1.4;text-align:center;background-color:var(--brand-color);word-break:keep-all;overflow-wrap:anywhere;}
/* 写真枠（TODO：支給までのプレースホルダー） */
.p-brand__photo{display:flex;align-items:center;justify-content:center;aspect-ratio:3 / 4;font-family:var(--font-family-serif);font-size:var(--fz-xs);letter-spacing:0.2em;color:var(--color-text-sub);background:linear-gradient(160deg,var(--color-bg-ivory) 0%,var(--brand-color) 100%);}
/* 支給写真は 3:4 に切り出し済み。枠の比率が変わっても顔が切れないよう上寄せにする */
.p-brand__photo--img{width:100%;height:auto;object-fit:cover;object-position:50% 20%;}
.p-brand__data{display:grid;grid-template-columns:auto minmax(0,1fr);align-items:baseline;gap:0.25rem 0;flex-grow:1;padding:0.75rem 0.625rem 0.875rem;}
.p-brand__term{grid-column:1 / -1;font-size:0.6875rem;font-weight:700;color:var(--color-text-sub);}
.p-brand__target{grid-column:1 / -1;padding-bottom:0.5rem;font-size:0.75rem;line-height:1.6;border-bottom:1px dotted var(--color-gold-light);word-break:keep-all;overflow-wrap:anywhere;}
.p-brand__term--price{grid-column:auto;margin-top:0.375rem;}
.p-brand__price{margin-top:0.375rem;padding-left:0.5rem;font-family:var(--font-family-serif);font-size:clamp(1.25rem,5.8vw,1.625rem);font-weight:700;line-height:1.2;letter-spacing:0.02em;text-align:right;color:var(--color-gold-text);}
.p-brand__price-unit{margin-right:0.0625rem;font-size:0.6em;}
@media (min-width: 768px) {
  .p-brand .c-sec-head__en{flex-direction:row;gap:0.75em;}
  .p-brand .c-sec-head__en::before,.p-brand .c-sec-head__en::after{display:block;}
  .p-brand__en-sep{width:2em;height:auto;}
  .p-brand__list{grid-template-columns:repeat(4,minmax(0,1fr));gap:1rem;}
  .p-brand__closing{margin-top:4.5rem;padding:3.25rem 2rem 2.5rem;}
  .p-brand__closing-lead{font-size:2.25rem;}
  .p-brand__closing-text{font-size:var(--fz-m);text-align:center;}
  .p-brand__closing-em{font-size:1.625rem;}
  .p-brand__logo{height:6rem;padding:0.75rem;}
  .p-brand__genre{font-size:var(--fz-m);}
  .p-brand__data{padding:1rem 1rem 1.125rem;}
  .p-brand__term{font-size:var(--fz-xs);}
  .p-brand__target{font-size:0.8125rem;}
  .p-brand__price{font-size:1.75rem;}
}

/* ==========================================
  Brand Positioning（横軸：年齢層 / 縦軸：客単価）
  楕円の位置・大きさは ref-brand に合わせた％指定。SPは横軸を縮め、楕円は少し大きくして文字を収める
========================================== */
.p-position{display:grid;gap:1.25rem;margin-top:3rem;padding:1.5rem var(--pad-card) 1.25rem;background-color:var(--color-bg-ivory);border-radius:var(--radius-card);}
.p-position__head{display:grid;gap:0.5rem;}
.p-position__en{font-family:var(--font-family-serif);font-size:1.125rem;font-weight:500;line-height:1.3;letter-spacing:0.14em;color:var(--color-gold-text);overflow-wrap:normal;}
.p-position__title{font-family:var(--font-family-serif);font-size:var(--fz-s);font-weight:700;line-height:1.7;}
.p-position__text{font-size:0.8125rem;line-height:1.7;color:var(--color-text-sub);}
.p-position__chart{position:relative;height:clamp(13rem,62vw,17rem);margin:1.25rem 0.75rem 3.25rem 3.5rem;border-left:1px solid var(--color-text-sub);border-bottom:1px solid var(--color-text-sub);}
/* 軸の矢印 */
.p-position__chart::before,.p-position__chart::after{content:"";position:absolute;width:6px;height:6px;border-top:1px solid var(--color-text-sub);border-right:1px solid var(--color-text-sub);}
.p-position__chart::before{top:-3px;left:-4px;transform:rotate(-45deg);}
.p-position__chart::after{right:-3px;bottom:-4px;transform:rotate(45deg);}
.p-position__y-title{position:absolute;top:-1.25rem;right:calc(100% + 0.375rem);font-size:0.6875rem;font-weight:700;line-height:1.4;white-space:nowrap;color:var(--color-text-sub);}
/* 縦軸の目盛：ラベルの右に点線を伸ばす */
.p-position__y{position:absolute;left:-3.5rem;right:0;display:flex;align-items:center;gap:0.375rem;font-family:var(--font-family-serif);font-size:0.6875rem;line-height:1;color:var(--color-text);transform:translateY(-50%);}
.p-position__y::after{content:"";flex:1;margin-left:0.125rem;border-top:1px dashed var(--color-gold-light);}
.p-position__y--high{top:15%;}
.p-position__y--low{top:88%;}
.p-position__brands{position:absolute;inset:0;}
.p-position__brand{position:absolute;display:flex;flex-direction:column;align-items:center;justify-content:center;padding:0.25rem;line-height:1.3;text-align:center;border-radius:50%;}
.p-position__brand-name{font-family:var(--font-family-serif);font-size:clamp(0.75rem,3.4vw,1.125rem);font-weight:700;letter-spacing:0.1em;white-space:nowrap;}
.p-position__brand-genre{font-size:clamp(0.625rem,2.6vw,0.75rem);letter-spacing:0;white-space:nowrap;color:var(--color-text);}
.p-position__brand--armony{top:-2%;left:15%;width:48%;height:30%;background-color:var(--color-brand-armony);}
.p-position__brand--selune{top:30%;left:20%;width:40%;height:28%;background-color:var(--color-brand-selune);}
.p-position__brand--mela{top:62%;left:1%;width:34%;height:33%;background-color:var(--color-brand-mela);}
.p-position__brand--relights{top:37%;left:64%;width:36%;height:30%;background-color:var(--color-brand-relights);}
.p-position__x{position:absolute;top:100%;right:0;left:0;height:1.5rem;}
.p-position__x-item{position:absolute;top:0.375rem;font-size:0.625rem;line-height:1.2;white-space:nowrap;color:var(--color-text);transform:translateX(-50%);}
/* SPは「10代後半」を軸の左端から始め、「20代」と重ならないようにする */
.p-position__x-item:nth-child(1){left:0;transform:none;}
.p-position__x-item:nth-child(2){left:24%;}
.p-position__x-item:nth-child(3){left:37%;}
.p-position__x-item:nth-child(4){left:54%;}
.p-position__x-item:nth-child(5){left:70%;}
.p-position__x-item:nth-child(6){left:87%;}
.p-position__x-title{position:absolute;top:calc(100% + 1.75rem);right:0;font-size:0.6875rem;font-weight:700;line-height:1.2;color:var(--color-text-sub);}
@media (min-width: 768px) {
  .p-position{grid-template-columns:13rem minmax(0,1fr);align-items:center;gap:2rem;padding:2.5rem 2.5rem 2rem;}
  .p-position__en{font-size:1.25rem;}
  .p-position__title{font-size:var(--fz-m);}
  .p-position__chart{height:17rem;margin:1.5rem 1rem 3rem 4rem;}
  .p-position__y{left:-4rem;font-size:var(--fz-xs);}
  .p-position__x-item{font-size:var(--fz-xs);}
  .p-position__x-item:nth-child(1){left:6%;transform:translateX(-50%);}
  .p-position__x-item:nth-child(2){left:21%;}
  .p-position__brand-name{font-size:1.125rem;}
  .p-position__brand-genre{font-size:var(--fz-xs);}
  .p-position__brand--armony{top:-3%;left:17%;width:45%;height:30%;}
  .p-position__brand--selune{top:31%;left:22%;width:36%;height:28%;}
  .p-position__brand--mela{top:62%;left:3%;width:27%;height:33%;}
  .p-position__brand--relights{top:38%;left:68%;width:31%;height:30%;}
}

/* ==========================================
  Multi-brand Merit（番号＋線画アイコン＋見出し＋2行、縦の区切り線 / ref-brand 下段）
========================================== */
.p-merit{margin-top:3rem;}
.p-merit__head{display:flex;flex-direction:column;align-items:center;gap:0.25rem;padding-bottom:0.75rem;text-align:center;border-bottom:1px solid var(--color-line-gold);}
.p-merit__en{font-family:var(--font-family-serif);font-size:1.25rem;font-weight:500;line-height:1.3;letter-spacing:0.18em;color:var(--color-gold-text);}
.p-merit__title{font-family:var(--font-family-serif);font-size:var(--fz-s);font-weight:700;line-height:1.6;word-break:keep-all;overflow-wrap:anywhere;}
.p-merit__list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));}
.p-merit__item{position:relative;display:flex;flex-direction:column;align-items:center;min-width:0;padding:1.5rem 0.5rem 1.25rem;text-align:center;}
.p-merit__item:nth-child(even){border-left:1px solid var(--color-line-gold);}
.p-merit__item:nth-child(n+3){border-top:1px solid var(--color-line-gold);}
.p-merit__no{position:absolute;top:0.75rem;left:0.625rem;font-family:var(--font-family-serif);font-size:var(--fz-s);font-weight:500;color:var(--color-gold-text);}
.p-merit__icon{width:2.25rem;height:2.25rem;color:var(--color-gold-deep);}
.p-merit__name{margin-top:0.625rem;font-family:var(--font-family-serif);font-size:clamp(0.9375rem,4.4vw,1.125rem);font-weight:700;line-height:1.4;word-break:keep-all;overflow-wrap:anywhere;}
.p-merit__text{margin-top:0.5rem;font-size:0.6875rem;line-height:1.7;color:var(--color-text-sub);text-wrap:balance;}
@media (min-width: 768px) {
  .p-merit{margin-top:4rem;}
  .p-merit__head{flex-direction:row;align-items:baseline;justify-content:space-between;text-align:left;}
  .p-merit__en{font-size:1.5rem;}
  .p-merit__title{font-size:var(--fz-m);}
  .p-merit__list{grid-template-columns:repeat(4,minmax(0,1fr));}
  .p-merit__item{padding:2rem 1rem 1.5rem;}
  .p-merit__item:nth-child(n){border-top:none;border-left:none;}
  .p-merit__item + .p-merit__item{border-left:1px solid var(--color-line-gold);}
  .p-merit__no{top:1rem;left:1rem;font-size:var(--fz-l);}
  .p-merit__icon{width:2.75rem;height:2.75rem;}
  .p-merit__name{margin-top:0.875rem;font-size:1.25rem;}
  .p-merit__text{font-size:var(--fz-s);}
}

/* ==========================================
  Style（スタイルギャラリー。横スクロールで1枚ずつ scroll-snap で止める）
  SPは1枚が画面幅の約78%で次の写真の端を見せる。768px以上は1枚 360〜420px、左右の矢印ボタン付き
  はみ出しはリスト自身のスクロールで受け、ページ全体を横に広げない
========================================== */
.p-style__title{display:flex;flex-direction:column;align-items:center;gap:0.625rem;}
.p-style__en{font-family:var(--font-family-serif);font-size:clamp(3rem,16vw,4.5rem);font-weight:500;line-height:1;letter-spacing:0.14em;color:var(--color-gold-text);}
.p-style__label{display:inline-flex;align-items:center;gap:0.75em;font-size:var(--fz-s);font-weight:700;letter-spacing:0.2em;}
.p-style__label::before,.p-style__label::after{content:"";width:1.75rem;height:1px;background-color:var(--color-gold-light);}
.p-style__lead{text-align:center;word-break:keep-all;}
/* 画面の端まで写真を流すため、コンテナの左右余白ぶん外へ広げる */
.p-style__gallery{position:relative;margin-inline:calc(var(--gutter) * -1);}
.p-style__list{display:flex;gap:var(--gap-card);padding-inline:var(--gutter);overflow-x:auto;scroll-snap-type:x mandatory;scroll-padding-inline:var(--gutter);overscroll-behavior-x:contain;scrollbar-width:none;}
.p-style__list::-webkit-scrollbar{display:none;}
.p-style__list:focus-visible{outline:2px solid var(--color-gold-deep);outline-offset:-2px;}
/* SP：2枚＋3枚目の端（約19px）が見える幅。左の余白20px＋カード2枚＋間隔2つ＝約95vw */
.p-style__item{flex:0 0 42vw;overflow:hidden;border-radius:var(--radius-s);scroll-snap-align:start;}
.p-style__img{width:100%;aspect-ratio:3 / 4;object-fit:cover;}
/* 矢印ボタン：JS が動いたときだけ hidden を外す（768px以上）。写真の上下中央に重ねる */
.p-style__nav{position:absolute;top:50%;z-index:1;display:none;align-items:center;justify-content:center;width:3rem;height:3rem;color:var(--color-gold-deep);background-color:rgba(255,255,255,0.92);border:1px solid var(--color-line-gold);border-radius:50%;transform:translateY(-50%);transition:opacity 0.2s,background-color 0.2s;}
.p-style__nav:hover{background-color:var(--color-bg);}
.p-style__nav:disabled{opacity:0.35;cursor:default;}
.p-style__nav--prev{left:0.75rem;}
.p-style__nav--next{right:0.75rem;}
.p-style__nav--prev .p-style__nav-icon{transform:scaleX(-1);}
.p-style__nav-icon{width:1.25rem;height:1.25rem;}
.p-style__hint{margin-top:0.75rem;font-size:var(--fz-xs);letter-spacing:0.1em;color:var(--color-text-sub);text-align:center;}
@media (min-width: 768px) {
  /* PCは1枚220〜240px。リスト幅1080px（コンテナ＋左右の余白）で4枚強が見え、次があることが分かる */
  .p-style__item{flex-basis:clamp(13.75rem,18vw,15rem);}
  .p-style__nav{display:flex;}
  .p-style__nav[hidden]{display:none;}
}

/* ==========================================
  Together（写真＋文章。写真の端を mask で背景色へ溶かす）
========================================== */
.p-together{padding-top:0;}
.p-together__photo{margin-bottom:var(--space-m);}
.p-together__img{width:100%;aspect-ratio:4 / 3;object-fit:cover;object-position:50% 30%;-webkit-mask-image:linear-gradient(to bottom,#000 65%,transparent 100%);mask-image:linear-gradient(to bottom,#000 65%,transparent 100%);}
.p-together__body{max-width:36rem;margin-inline:auto;padding-inline:var(--gutter);}
.p-together__title{display:flex;flex-direction:column;align-items:flex-start;gap:0.375rem;margin-top:1rem;font-family:var(--font-family-serif);font-size:clamp(1.375rem,6.6vw,1.875rem);font-weight:700;line-height:1.4;}
.p-together__band{padding:0.125em 0.5em;color:var(--color-text-on-dark);background-color:var(--color-gold-text);}
.p-together__text{margin-top:var(--space-m);font-size:0.9375rem;line-height:2;word-break:keep-all;}
.p-together__text p + p{margin-top:1.25em;}
@media (min-width: 1024px) {
  .p-together{padding-block:0;}
  .p-together__inner{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);align-items:center;}
  .p-together__photo{align-self:stretch;margin-bottom:0;}
  .p-together__img{height:100%;min-height:42rem;aspect-ratio:auto;object-position:50% 35%;-webkit-mask-image:linear-gradient(to right,#000 55%,transparent 100%);mask-image:linear-gradient(to right,#000 55%,transparent 100%);}
  .p-together__body{max-width:35rem;margin:0;padding:var(--section-pad) var(--gutter) var(--section-pad) 3rem;}
  .p-together__title{font-size:2.125rem;}
  .p-together__text{font-size:var(--fz-m);}
}

/* ==========================================
  Salon Tour（サロン見学）
  上の縁ののぞきは共通の .c-peek--tour。店舗写真のループのはみ出しはスライダー側で隠す
  店舗写真は同じ列を2回並べ、-50% まで流して継ぎ目なくループさせる
========================================== */
.p-tour__panel{position:relative;z-index:1;padding:var(--space-l) var(--pad-card);background-color:var(--color-bg-ivory);border:1px solid var(--color-line-gold);border-radius:var(--radius-card);}
.p-tour__head{margin-bottom:var(--space-m);}
.p-tour__lead{text-align:center;word-break:keep-all;}
.p-tour__points{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:var(--gap-card);max-width:56rem;margin-inline:auto;}
.p-tour__point{display:flex;flex-direction:column;align-items:center;padding:1rem 0.5rem;text-align:center;background-color:var(--color-bg);border:1px solid var(--color-line-gold);border-radius:var(--radius-card);}
/* 線画イラスト：線の太さは表示サイズに関係なく一定に見せる */
.p-tour__illust{width:3.5rem;height:3.5rem;fill:none;stroke:var(--color-gold-deep);stroke-width:1.6;stroke-linecap:round;stroke-linejoin:round;}
.p-tour__illust-dot{fill:var(--color-gold-deep);stroke:none;}
.p-tour__point-label{margin-top:0.5rem;font-size:var(--fz-xs);font-weight:700;letter-spacing:0.1em;color:var(--color-gold-text);}
.p-tour__point-value{margin-top:0.25rem;font-family:var(--font-family-serif);font-size:clamp(0.875rem,4vw,1rem);font-weight:700;line-height:1.5;word-break:keep-all;overflow-wrap:anywhere;}
.p-tour__slider{margin-top:var(--space-l);overflow:hidden;}
.p-tour__track{display:flex;width:max-content;animation:p-tour-loop 70s linear infinite;}
.p-tour__slider:hover .p-tour__track{animation-play-state:paused;}
.p-tour__item{flex-shrink:0;padding-right:var(--gap-card);}
.p-tour__img{width:auto;max-width:none;height:12rem;object-fit:cover;border-radius:1.5rem;}
@keyframes p-tour-loop{from{transform:translateX(0);}to{transform:translateX(-50%);}}
/* 見学の流れ：番号の丸を縦の細線でつなぐ */
.p-tour__flow{max-width:40rem;margin-inline:auto;}
.p-tour__steps{display:grid;gap:0;}
.p-tour__step{position:relative;display:grid;grid-template-columns:2.75rem minmax(0,1fr);align-items:start;gap:1rem;padding-bottom:1.5rem;}
.p-tour__step:last-child{padding-bottom:0;}
.p-tour__step:not(:last-child)::before{content:"";position:absolute;top:2.75rem;bottom:0;left:calc(1.375rem - 0.5px);width:1px;background-color:var(--color-gold-light);}
.p-tour__step-no{display:flex;align-items:center;justify-content:center;width:2.75rem;height:2.75rem;font-family:var(--font-family-serif);font-size:var(--fz-m);font-weight:700;color:var(--color-text-on-dark);background-color:var(--color-gold-deep);border-radius:50%;}
.p-tour__step-text{padding-top:0.5rem;font-size:0.9375rem;line-height:1.8;word-break:keep-all;overflow-wrap:anywhere;}
.p-tour__after-arrow{width:1.75rem;height:1.75rem;margin:1.5rem auto 0.75rem;color:var(--color-gold-light);}
.p-tour__after{padding:1rem;font-family:var(--font-family-serif);font-size:clamp(0.9375rem,4.4vw,1.125rem);font-weight:700;line-height:1.6;text-align:center;background:linear-gradient(90deg,rgba(241,227,194,0) 0%,#f1e3c2 18%,#f1e3c2 82%,rgba(241,227,194,0) 100%);word-break:keep-all;overflow-wrap:anywhere;}
.p-tour__cta{margin-top:var(--gap-block);}
@media (min-width: 768px) {
  .p-tour__panel{padding:3rem 2rem;}
  .p-tour__points{grid-template-columns:repeat(4,minmax(0,1fr));}
  .p-tour__illust{width:4.25rem;height:4.25rem;}
  .p-tour__img{height:17rem;border-radius:2rem;}
  .p-tour__step-text{font-size:var(--fz-m);}
}
/* 動きを減らす設定では止めて、複製を消し、横スクロールで全枚数を見られるようにする */
@media (prefers-reduced-motion: reduce) {
  .p-tour__slider{overflow-x:auto;padding-inline:var(--gutter);scroll-snap-type:x mandatory;scroll-padding-inline:var(--gutter);}
  .p-tour__track{animation:none;}
  .p-tour__item{scroll-snap-align:start;}
  .p-tour__item[aria-hidden="true"]{display:none;}
}

/* ==========================================
  Staff Stats（スタッフ構成のインフォグラフィック / サロン見学内）
  人型アイコンは1つが10%。年齢層の棒の長さは JS が数値から --ratio を設定し、JS無効時は修飾クラスの値を使う
  人型は左から順に出現、数字はカウントアップ（一度きり・reduced-motion では動かさない）
========================================== */
/* のぞきの手がかかる縁になるよう ivory の面と1pxの枠を付け、顔が店舗写真にかからない分だけ上を空ける */
.c-staff-stats{--color-male:#906e25;--color-female:#b0705f;position:relative;margin-top:calc(var(--space-l) + 3.5rem);padding:1.75rem var(--pad-card) 1.25rem;background-color:var(--color-bg-ivory);border:1px solid var(--color-line-gold);border-radius:var(--radius-card);}
.c-staff-stats__title{margin-top:0;}
.c-staff-stats__grid{display:grid;gap:var(--gap-card);}
.c-staff-stats__block{padding:1.25rem var(--pad-card);background-color:var(--color-bg);border:1px solid var(--color-line-gold);border-radius:var(--radius-card);}
.c-staff-stats__label{font-size:var(--fz-s);font-weight:700;letter-spacing:0.1em;color:var(--color-gold-text);}
.c-staff-stats__people{display:flex;}
.c-staff-stats__person{flex:0 0 10%;}
.c-staff-stats__person-icon{width:100%;height:auto;aspect-ratio:1;}
.c-staff-stats__person--male{color:var(--color-male);}
.c-staff-stats__person--female{color:var(--color-female);}
.c-staff-stats__person--young{color:var(--color-gold-deep);}
.c-staff-stats__person--adult{color:var(--color-gold-light);}
.c-staff-stats__people--gender{margin-top:0.75rem;}
.c-staff-stats__ratio{display:flex;align-items:baseline;justify-content:center;gap:0.25rem;margin-top:0.75rem;font-family:var(--font-family-serif);font-size:var(--fz-s);font-weight:700;}
.c-staff-stats__ratio-num{margin-left:0.25rem;font-size:clamp(2.5rem,12vw,3rem);line-height:1;font-variant-numeric:tabular-nums;}
.c-staff-stats__ratio-item--male{color:var(--color-male);}
.c-staff-stats__ratio-item--female{color:var(--color-female);}
.c-staff-stats__ratio-sep{font-size:1.75rem;color:var(--color-text-sub);}
.c-staff-stats__ages{display:grid;gap:1rem;margin-top:0.75rem;}
.c-staff-stats__age{display:grid;grid-template-columns:2.75rem minmax(0,1fr);align-items:end;gap:0.5rem;}
.c-staff-stats__age-label{padding-bottom:0.125rem;font-size:var(--fz-s);font-weight:700;}
.c-staff-stats__age-data{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:end;gap:0 0.5rem;}
.c-staff-stats__people--age{grid-column:1;}
.c-staff-stats__bar{grid-column:1;display:block;height:0.625rem;margin-top:0.25rem;background-color:var(--color-bg-ivory);overflow:hidden;}
.c-staff-stats__bar-fill{display:block;width:var(--ratio,0%);height:100%;background-color:var(--color-gold-deep);}
.c-staff-stats__bar-fill--70{--ratio:70%;}
.c-staff-stats__bar-fill--30{--ratio:30%;}
.c-staff-stats__age-value{grid-column:2;grid-row:1 / span 2;align-self:end;font-family:var(--font-family-serif);font-size:var(--fz-s);font-weight:700;color:var(--color-gold-text);}
.c-staff-stats__age-num{font-size:1.75rem;line-height:1;font-variant-numeric:tabular-nums;}
.c-staff-stats__block--year{display:flex;flex-direction:column;align-items:center;justify-content:center;}
.c-staff-stats__year{display:flex;align-items:baseline;gap:0.25rem;margin-top:0.25rem;font-family:var(--font-family-serif);font-weight:900;color:var(--color-gold-deep);}
.c-staff-stats__year-num{font-size:clamp(4.5rem,22vw,5.5rem);line-height:1;}
.c-staff-stats__year-unit{font-size:var(--fz-xl);color:var(--color-text);}
.c-staff-stats__note{margin-top:0.5rem;text-align:right;}
.js-reveal-ready .c-staff-stats__people[data-reveal-stage] .c-staff-stats__person{opacity:0;transform:translateY(6px);transition:opacity 0.3s ease var(--d,0s),transform 0.3s ease var(--d,0s);}
.js-reveal-ready .c-staff-stats__people[data-reveal-stage].is-revealed .c-staff-stats__person{opacity:1;transform:none;}
.c-staff-stats__person:nth-child(2){--d:0.08s;}
.c-staff-stats__person:nth-child(3){--d:0.16s;}
.c-staff-stats__person:nth-child(4){--d:0.24s;}
.c-staff-stats__person:nth-child(5){--d:0.32s;}
.c-staff-stats__person:nth-child(6){--d:0.4s;}
.c-staff-stats__person:nth-child(7){--d:0.48s;}
.c-staff-stats__person:nth-child(8){--d:0.56s;}
.c-staff-stats__person:nth-child(9){--d:0.64s;}
.c-staff-stats__person:nth-child(10){--d:0.72s;}
.js-reveal-ready .c-staff-stats__bar-fill{transform:scaleX(0);transform-origin:left;transition:transform 0.8s ease 0.2s;}
.js-reveal-ready .c-staff-stats__bar.is-revealed .c-staff-stats__bar-fill{transform:none;}
@media (min-width: 768px) {
  .c-staff-stats{margin-top:calc(var(--space-l) + 4.75rem);padding:2.25rem 2rem 1.5rem;}
  .c-staff-stats__grid{grid-template-columns:minmax(0,1.1fr) minmax(0,1.3fr) minmax(0,0.8fr);}
  .c-staff-stats__block{padding:1.5rem;}
}
@media (min-width: 1024px) {
  .c-staff-stats{margin-top:calc(var(--space-l) + 5.5rem);}
}

/* ==========================================
  Culture（イベント）＋ 理念（クライアント支給の図の画像＋写真＋本文）
  図は透過WebPを親の幅いっぱいに表示（切らない）
  PCは写真を右に置き、左端と下端を mask で背景色（ivory）へ溶かす
========================================== */
.p-culture__sub:first-of-type{margin-top:0;}
.p-culture__text{font-size:0.9375rem;text-align:center;}
.p-culture__photos{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:var(--gap-card);margin-top:var(--gap-block);}
.p-culture__photo{overflow:hidden;border-radius:var(--radius-s);}
.p-culture__img{width:100%;aspect-ratio:4 / 3;object-fit:cover;}
@media (min-width: 768px) {
  .p-culture__photos{grid-template-columns:repeat(4,minmax(0,1fr));}
}
/* SP：写真をブロックの背景として敷く。画像の高さは150vw（あご≒75vw・肩≒84vw）。
   図の上端は80vw（あごの少し下＝肩の高さ）に置き、写真の枠は図の高さの半分まで。見出しの min-height で図の位置を決める */
.p-philo{--philo-img-h:150vw;--philo-diagram-top:80vw;--philo-diagram-w:min(100vw - var(--gutter) * 2,30rem);position:relative;display:grid;gap:var(--gap-block);max-width:1080px;margin:var(--space-l) auto 0;padding-inline:var(--gutter);}
.p-philo__head{position:relative;z-index:1;min-height:calc(var(--philo-diagram-top) - var(--gap-block));padding-top:1.25rem;}
.p-philo__en{font-family:var(--font-family-serif);font-size:clamp(1.875rem,9.6vw,3rem);white-space:nowrap;font-weight:500;line-height:1;letter-spacing:0.08em;color:var(--color-gold-text);}
.p-philo__title{display:flex;align-items:center;gap:0.75rem;margin-top:0.75rem;font-family:var(--font-family-serif);font-size:var(--fz-m);font-weight:700;letter-spacing:0.1em;}
.p-philo__title::before,.p-philo__title::after{content:"";width:1.75rem;height:1px;background-color:var(--color-gold-light);}
/* 写真の下端は図の中ほどで終わり、下40%を背景色へ溶かす（図の下に写真がはみ出さない） */
.p-philo__photo{position:absolute;top:0;left:0;right:0;height:calc(var(--philo-diagram-top) + var(--philo-diagram-w) / 2);overflow:hidden;-webkit-mask-image:linear-gradient(to bottom,#000 60%,transparent 100%);mask-image:linear-gradient(to bottom,#000 60%,transparent 100%);}
/* 顔（元画像の左右42%）が画面の約70%に来るよう、画像の左端を22.5vwに置く。画像の左端は背景色へ溶かす */
.p-philo__img{position:absolute;top:0;left:22.5vw;width:auto;max-width:none;height:var(--philo-img-h);-webkit-mask-image:linear-gradient(to right,transparent 0%,#000 18%);mask-image:linear-gradient(to right,transparent 0%,#000 18%);}
/* 見出しが乗る左上に背景色の半透明グラデーションを重ね、文字のコントラストを確保する */
.p-philo__photo::after{content:"";position:absolute;inset:0;background:linear-gradient(160deg,color-mix(in srgb,var(--color-bg-ivory) 95%,transparent) 0%,color-mix(in srgb,var(--color-bg-ivory) 75%,transparent) 30%,transparent 55%);}
.p-philo__diagram{position:relative;z-index:1;width:min(100%,30rem);margin-inline:auto;}
.p-philo__diagram-img{display:block;width:100%;height:auto;}
.p-philo__text{position:relative;z-index:1;display:grid;gap:0.5rem;font-family:var(--font-family-serif);font-size:var(--fz-m);font-weight:500;line-height:1.9;word-break:keep-all;overflow-wrap:anywhere;}
/* 写真：ふわっと浮かび上がる（共通の reveal より少し長く、20px から） */
.js-reveal-ready .p-philo__photo[data-reveal]{transform:translateY(20px);transition-duration:0.8s;}
/* 図：画像全体を一度だけふわっと（写真と同じ 20px・0.8秒。reduced-motion では共通ルールで無効） */
.js-reveal-ready .p-philo__diagram[data-reveal]{transform:translateY(20px);transition-duration:0.8s;}
/* 上の2行は共通の is-revealed より詳細度が高いので、表示後の位置もここで戻す */
.js-reveal-ready .p-philo__photo[data-reveal].is-revealed,.js-reveal-ready .p-philo__diagram[data-reveal].is-revealed{transform:none;}
@media (min-width: 768px) {
  /* SP用の重ね配置を解除し、従来どおり 見出し → 写真 → 図 → 本文 の縦並びにする */
  .p-philo__head{min-height:0;padding-top:0;}
  .p-philo__photo{position:static;top:auto;left:auto;right:auto;height:auto;margin-inline:0;overflow:visible;-webkit-mask-image:none;mask-image:none;}
  .p-philo__photo::after{content:none;}
  .p-philo__img{position:static;width:100%;max-width:100%;height:auto;aspect-ratio:16 / 10;object-fit:cover;object-position:50% 25%;-webkit-mask-image:linear-gradient(to bottom,#000 60%,transparent 100%);mask-image:linear-gradient(to bottom,#000 60%,transparent 100%);}
  .p-philo__title{font-size:var(--fz-l);}
  .p-philo__text{max-width:30rem;margin-inline:auto;font-size:var(--fz-l);}
}
@media (min-width: 1024px) {
  .p-philo{grid-template-columns:minmax(0,1.1fr) minmax(0,0.9fr);grid-template-rows:auto auto;gap:2.5rem 2rem;padding-bottom:1rem;}
  .p-philo__head{grid-column:1;grid-row:1;}
  .p-philo__en{font-size:clamp(3rem,4.6vw,4rem);}
  /* 写真は本文の上で終わらせ、下端を背景色へ溶かして本文と人物が重ならないようにする */
  .p-philo__photo{position:absolute;top:0;right:0;bottom:11rem;width:52%;}
  .p-philo__img{height:100%;aspect-ratio:auto;object-position:50% 20%;-webkit-mask-image:linear-gradient(to right,transparent 0%,#000 40%),linear-gradient(to bottom,#000 55%,transparent 100%);mask-image:linear-gradient(to right,transparent 0%,#000 40%),linear-gradient(to bottom,#000 55%,transparent 100%);-webkit-mask-composite:source-in;mask-composite:intersect;}
  .p-philo__diagram{grid-column:1;grid-row:2;width:100%;max-width:32rem;margin-inline:0 auto;}
  .p-philo__text{grid-column:2;grid-row:2;align-self:end;margin:0;padding:1.25rem 0 0.5rem;}
}

/* ==========================================
  Entry（募集要項・応募フロー）
========================================== */
.p-entry__list{max-width:48rem;margin:0 auto;border-top:1px solid var(--color-bg-beige);}
.p-entry__row{padding:1rem 0;border-bottom:1px solid var(--color-bg-beige);}
.p-entry__term{font-size:0.8125rem;font-weight:700;color:var(--color-gold-deep);}
.p-entry__desc{margin-top:0.25rem;font-size:0.9375rem;}
.p-entry__perks li{position:relative;padding-left:1em;}
.p-entry__perks li::before{content:"・";position:absolute;left:0;}
.p-entry__flow{display:grid;gap:var(--gap-card);max-width:48rem;margin:0 auto;}
.p-entry__step{display:flex;align-items:center;gap:0.75rem;padding:0.75rem 1rem;font-weight:700;background-color:var(--color-bg);border-radius:var(--radius-card);}
.p-entry__step-num{font-family:var(--font-family-serif);font-size:var(--fz-xs);letter-spacing:0.1em;color:var(--color-gold-deep);white-space:nowrap;}
@media (min-width: 768px) {
  .p-entry__row{display:grid;grid-template-columns:9rem minmax(0,1fr);gap:1.5rem;padding:1.25rem 0;}
  .p-entry__term{font-size:var(--fz-s);}
  .p-entry__desc{margin-top:0;}
  .p-entry__flow{grid-template-columns:repeat(5,minmax(0,1fr));}
  .p-entry__step{flex-direction:column;gap:0.25rem;padding:1rem 0.5rem;font-size:var(--fz-s);text-align:center;}
}

/* ==========================================
  Footer
========================================== */
.l-footer{padding:2.5rem var(--gutter) 6rem;text-align:center;background-color:var(--color-bg-dark);}
.l-footer__logo-img{width:auto;height:1.125rem;margin:0 auto;}
.l-footer__copy{margin-top:1rem;font-size:var(--fz-xs);color:var(--color-text-on-dark-sub);}
@media (min-width: 1024px) {
  .l-footer{padding-bottom:3rem;}
}

/* ==========================================
  Sticky CTA（FVのCTAが見えなくなったら出す）
========================================== */
.c-sticky-cta{position:fixed;right:0;bottom:0;left:0;z-index:50;padding:0.625rem var(--gutter) calc(0.625rem + env(safe-area-inset-bottom));text-align:center;background-color:rgba(43,38,32,0.94);transform:translateY(110%);visibility:hidden;transition:transform 0.3s ease,visibility 0.3s;}
.c-sticky-cta.is-visible{transform:none;visibility:visible;}
.c-btn--sticky{min-height:3rem;padding:0.625rem 1.25rem;font-size:var(--fz-s);box-shadow:none;}
@media (prefers-reduced-motion: reduce) {
  .c-sticky-cta{transition:none;}
}
@media (min-width: 1024px) {
  .c-sticky-cta{right:1.5rem;bottom:1.5rem;left:auto;padding:0;background:none;}
  .c-btn--sticky{width:auto;box-shadow:0 6px 20px rgba(43,38,32,0.3);}
}
