/* =========================================================
   おおさかバレーボールスクール — 共有スタイル v2
   ターゲット: 予約するのは保護者（お母さん）→ 温かく・やわらかく・信頼感
   配色: 温かいクリーム地 × やわらかネイビー × コーラル
   フォント: M PLUS Rounded 1c（見出し・丸ゴ）/ Quicksand（英字・数字）/ Noto Sans JP（本文）
   ※色相系統は3つ: クリーム系ニュートラル・ネイビー系・コーラル系
   ========================================================= */
:root{
  --bg:#FDFAF5;          /* ベース。真っ白でなく温かみのある白 */
  --bg2:#FAF2E8;         /* 交互セクション。クリーム */
  --bg3:#F5ECDF;
  --navy:#31517C;        /* 見出し。硬すぎないネイビー */
  --navy-2:#41668F;      /* 明るいネイビー */
  --navy-deep:#2A4468;   /* 濃色面（stats/CTA/フッター）の基点 */
  --ink:#3A4150;         /* 本文。紺寄りのソフトな黒 */
  --ink-soft:#5B6070;    /* 補足文。bg(#FDFAF5)上で4.5:1以上 */
  --orange:#EE7B50;      /* 効かせ色（面・装飾用の鮮やかコーラル） */
  --orange-text:#C2461F; /* コーラルの文字用（クリーム上で4.5:1確保） */
  --orange-deep:#E0603A; /* CTAグラデ下端・hover */
  --orange-pale:#FCEDE4; /* アイコン円・淡い面 */
  --gold:#B8894B;        /* 補助アクセント（★・二次情報用のくすみ金） */
  --line:#EFE3D3;        /* ヘアライン。境界は全部これ */
  --white:#FFFFFF;
  --shadow-card:0 8px 24px rgba(93,72,52,.08);   /* 温色の影＝上品 */
  --shadow-cta:0 10px 24px rgba(238,123,80,.32);
  --maxw:1080px;
}

*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{
  margin:0;
  font-family:-apple-system,BlinkMacSystemFont,"Hiragino Sans","Noto Sans JP",sans-serif;
  color:var(--ink);
  background:var(--bg);
  line-height:1.95;
  -webkit-font-smoothing:antialiased;
  overflow-x:hidden;
}
img{max-width:100%;display:block}
a{color:inherit;text-decoration:none}

/* 見出し系フォント（JSでWebフォント注入。未注入でもヒラギノ丸ゴで綺麗に見える） */
.jp-head{font-family:"M PLUS Rounded 1c","Hiragino Maru Gothic ProN","Hiragino Kaku Gothic ProN",sans-serif;font-weight:800}
.en{font-family:"Outfit","Hiragino Kaku Gothic ProN",sans-serif;font-weight:700;letter-spacing:.16em}

/* ---------- レイアウト ---------- */
.container{max-width:var(--maxw);margin:0 auto;padding:0 22px}
.section{padding:80px 0}
.section--tight{padding:56px 0}
.section--navy{background:linear-gradient(150deg,var(--navy-deep),#375780);color:#F3EEE6}
.section--bg2{background:var(--bg2)}
.section--bg3{background:var(--bg3)}

.eyebrow{
  font-family:"Outfit","Hiragino Kaku Gothic ProN",sans-serif;
  font-weight:700;letter-spacing:.22em;text-transform:uppercase;
  font-size:12.5px;color:var(--orange-text);
  display:inline-flex;align-items:center;gap:10px;margin:0 0 14px;
}
.eyebrow::before{content:"";width:8px;height:8px;border-radius:50%;background:var(--orange);display:inline-block}
.section--navy .eyebrow{color:#FFC5A6}

.h2{
  font-family:"M PLUS Rounded 1c","Hiragino Maru Gothic ProN","Hiragino Kaku Gothic ProN",sans-serif;
  font-weight:800;color:var(--navy);
  font-size:clamp(23px,5.6vw,32px);line-height:1.5;letter-spacing:.02em;margin:0 0 16px;
}
.section--navy .h2{color:#fff}
.lead{font-size:clamp(15px,3.8vw,16.5px);color:var(--ink-soft);max-width:640px;line-height:2.05;margin:0}
.section--navy .lead{color:#D9E2EE}
.center{text-align:center}
.center .eyebrow{justify-content:center}
.center .lead{margin-left:auto;margin-right:auto}

.mark{background:linear-gradient(transparent 62%, rgba(238,123,80,.26) 62%);padding:0 .05em}
.txt-orange{color:var(--orange)}

/* ---------- ボタン ---------- */
.btn{
  display:inline-flex;align-items:center;justify-content:center;gap:9px;
  font-family:"M PLUS Rounded 1c","Hiragino Maru Gothic ProN",sans-serif;
  font-weight:800;font-size:15.5px;letter-spacing:.04em;
  padding:15px 32px;border-radius:99px;border:2px solid transparent;
  transition:transform .22s ease,box-shadow .22s ease,background .22s ease,color .22s ease,filter .22s ease;
  cursor:pointer;line-height:1.25;text-align:center;
}
.btn-primary{background:linear-gradient(180deg,var(--orange),var(--orange-deep));color:#fff;box-shadow:var(--shadow-cta)}
.btn-primary:hover{transform:translateY(-2px);box-shadow:0 14px 30px rgba(238,123,80,.42)}
.btn-ghost{background:transparent;border-color:rgba(255,255,255,.6);color:#fff}
.btn-ghost:hover{background:rgba(255,255,255,.14);transform:translateY(-2px)}
.btn-navy{background:var(--navy);color:#fff;box-shadow:0 8px 20px rgba(49,81,124,.24)}
.btn-navy:hover{background:var(--navy-2);transform:translateY(-2px)}
.btn-line{background:#06c755;color:#fff;box-shadow:0 8px 20px rgba(6,199,85,.24)}
.btn-line:hover{filter:brightness(1.05);transform:translateY(-2px)}
.btn-sm{padding:11px 24px;font-size:14px}
.btn small{display:block;font-size:10.5px;font-weight:500;letter-spacing:.1em;opacity:.92;margin-top:2px}
.btn-row{display:flex;flex-wrap:wrap;gap:14px}
.center .btn-row{justify-content:center}
/* CTAバンド内では主ボタンを白反転（温かい背景に浮かせる） */
.cta-band .btn-primary{background:#fff;color:var(--orange-deep);box-shadow:0 10px 26px rgba(60,32,14,.25)}
.cta-band .btn-primary:hover{box-shadow:0 14px 32px rgba(60,32,14,.32)}

/* ---------- ヘッダー ---------- */
.site-header{
  position:sticky;top:0;z-index:60;
  background:rgba(253,250,245,.92);backdrop-filter:blur(10px);
  border-bottom:1px solid var(--line);
}
.nav{display:flex;align-items:center;justify-content:space-between;height:68px}
.brand{display:flex;flex-direction:column;line-height:1.1}
.brand b{font-family:"M PLUS Rounded 1c","Hiragino Maru Gothic ProN",sans-serif;font-weight:800;color:var(--navy);font-size:16.5px;letter-spacing:.02em}
.brand span{font-family:"Outfit",sans-serif;font-size:9.5px;font-weight:700;letter-spacing:.28em;color:var(--orange);margin-top:3px}
.nav-links{display:flex;align-items:center;gap:26px}
.nav-links a{font-family:"M PLUS Rounded 1c","Hiragino Maru Gothic ProN",sans-serif;font-weight:700;font-size:14.5px;color:var(--navy);position:relative;padding:6px 0}
.nav-links a:not(.btn)::after{content:"";position:absolute;left:0;right:0;bottom:0;height:3px;border-radius:3px;background:var(--orange);transform:scaleX(0);transform-origin:left;transition:transform .25s}
.nav-links a:not(.btn):hover::after,.nav-links a.active::after{transform:scaleX(1)}
.nav-toggle{display:none;background:none;border:0;padding:8px;cursor:pointer}
.nav-toggle span{display:block;width:24px;height:2.5px;border-radius:3px;background:var(--navy);margin:5px 0;transition:.3s}

@media(max-width:860px){
  .nav-toggle{display:block}
  .nav-links{
    position:fixed;inset:68px 0 auto 0;flex-direction:column;gap:0;
    background:var(--bg);border-bottom:1px solid var(--line);
    padding:8px 22px 22px;transform:translateY(-120%);transition:transform .32s ease;
    box-shadow:0 20px 30px rgba(93,72,52,.1);align-items:stretch;
  }
  .nav.open .nav-links{transform:translateY(0)}
  .nav-links a:not(.btn){padding:15px 4px;border-bottom:1px solid var(--line);font-size:15.5px}
  .nav-links a:not(.btn)::after{display:none}
  .nav-links .btn{margin-top:14px}
  .nav.open .nav-toggle span:nth-child(1){transform:translateY(7.5px) rotate(45deg)}
  .nav.open .nav-toggle span:nth-child(2){opacity:0}
  .nav.open .nav-toggle span:nth-child(3){transform:translateY(-7.5px) rotate(-45deg)}
}

/* ---------- ヒーロー（トップ） ---------- */
.hero{position:relative;color:#fff;overflow:hidden}
.hero-media{position:absolute;inset:0;z-index:0}
.hero-media img{width:100%;height:100%;object-fit:cover;object-position:center 38%}
.hero-media::after{content:"";position:absolute;inset:0;
  background:
    linear-gradient(90deg,rgba(18,34,60,.86) 0%,rgba(18,34,60,.6) 44%,rgba(18,34,60,.42) 100%),
    linear-gradient(180deg,rgba(18,34,60,.26) 0%,rgba(18,34,60,.3) 45%,rgba(14,26,48,.72) 100%)}
.hero-inner{position:relative;z-index:2;padding:clamp(72px,16vw,132px) 0 clamp(56px,11vw,96px)}
.hero .eyebrow{color:#FFD1B5}
.hero .eyebrow::before{background:#FFD1B5}
.hero h1{
  font-family:"M PLUS Rounded 1c","Hiragino Maru Gothic ProN","Hiragino Kaku Gothic ProN",sans-serif;font-weight:900;
  font-size:clamp(32px,9vw,58px);line-height:1.28;letter-spacing:.02em;margin:0 0 20px;
  text-shadow:0 3px 26px rgba(0,0,0,.4);
}
.hero h1 em{color:#FF9C6B;font-style:normal}
.hero-sub{font-size:clamp(15px,3.9vw,17.5px);line-height:2.0;max-width:560px;color:#F6EEE5;margin:0 0 30px;text-shadow:0 2px 14px rgba(0,0,0,.4)}
.hero-tags{display:flex;flex-wrap:wrap;gap:10px;margin-top:30px}
.hero-tags span{
  font-size:12.5px;font-weight:700;letter-spacing:.03em;
  background:rgba(255,255,255,.16);border:1px solid rgba(255,255,255,.3);
  padding:8px 16px;border-radius:99px;backdrop-filter:blur(4px);
}

/* ---------- ページヘッダー（下層） ---------- */
.page-head{background:linear-gradient(150deg,var(--navy-deep),#3A5B84);color:#fff;position:relative;overflow:hidden}
.page-head::before{content:"";position:absolute;right:-60px;top:-70px;width:300px;height:300px;
  background:radial-gradient(circle,rgba(238,123,80,.4),transparent 68%);pointer-events:none}
.page-head::after{content:"";position:absolute;left:-70px;bottom:-110px;width:260px;height:260px;border-radius:50%;
  border:38px solid rgba(255,255,255,.05);pointer-events:none}
.page-head-inner{position:relative;z-index:2;padding:58px 0 52px}
.page-head .en{color:#FFC5A6;font-size:12.5px;display:block;margin-bottom:10px}
.page-head h1{font-family:"M PLUS Rounded 1c","Hiragino Maru Gothic ProN",sans-serif;font-weight:800;
  font-size:clamp(26px,6.4vw,38px);margin:0;line-height:1.4}
.page-head p{color:#D9E2EE;margin:14px 0 0;font-size:15px;max-width:620px}
.crumbs{font-size:12px;color:#9AA6B8;padding:14px 0;letter-spacing:.02em}
.crumbs a:hover{color:var(--navy)}

/* ---------- 汎用グリッド ---------- */
.grid{display:grid;gap:22px}
.grid-2{grid-template-columns:repeat(2,1fr)}
.grid-3{grid-template-columns:repeat(3,1fr)}
@media(max-width:820px){.grid-3{grid-template-columns:1fr}.grid-2{grid-template-columns:1fr}}

/* カード共通 */
.card{background:#fff;border:1px solid var(--line);border-radius:18px;box-shadow:var(--shadow-card)}
.card-pad{padding:26px 24px}

/* 特徴（3本柱） */
.pillar{background:#fff;border:1px solid var(--line);border-radius:18px;padding:32px 28px;box-shadow:var(--shadow-card);position:relative;transition:transform .25s ease,box-shadow .25s ease}
.pillar:hover{transform:translateY(-4px);box-shadow:0 14px 32px rgba(93,72,52,.12)}
.pillar .num{font-family:"Outfit",sans-serif;font-weight:700;font-size:13px;color:var(--orange);letter-spacing:.14em}
.pillar .ico{width:60px;height:60px;border-radius:50%;background:var(--orange-pale);display:flex;align-items:center;justify-content:center;margin:16px 0 18px}
.pillar h3{font-family:"M PLUS Rounded 1c","Hiragino Maru Gothic ProN",sans-serif;font-weight:800;color:var(--navy);font-size:19px;margin:0 0 10px;line-height:1.55}
.pillar p{margin:0;font-size:14px;color:var(--ink-soft);line-height:2.0}

/* 線画SVGアイコン共通（絵文字は使わない） */
.ico svg{width:28px;height:28px;stroke:var(--orange-deep);fill:none;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round}
.ci svg{width:30px;height:30px;stroke:var(--orange-deep);fill:none;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round}

/* 悩みチェックリスト */
.checks{display:grid;gap:12px}
@media(min-width:640px){.checks{grid-template-columns:1fr 1fr}}
.check{background:#fff;border:1px solid var(--line);border-radius:14px;padding:16px 18px 16px 54px;position:relative;font-weight:700;color:var(--navy);font-size:14.5px;line-height:1.75;box-shadow:var(--shadow-card)}
.check::before{content:"✓";position:absolute;left:16px;top:50%;transform:translateY(-50%);
  width:26px;height:26px;border-radius:50%;background:var(--orange);color:#fff;font-size:13px;
  display:flex;align-items:center;justify-content:center;font-weight:900}

/* クラスカード（レベル付き） */
.class-card{background:#fff;border:1px solid var(--line);border-radius:18px;box-shadow:var(--shadow-card);overflow:hidden;display:flex;flex-direction:column;transition:transform .25s ease,box-shadow .25s ease}
.class-card:hover{transform:translateY(-3px);box-shadow:0 14px 32px rgba(93,72,52,.12)}
.class-card .cc-top{padding:22px 24px 18px;border-bottom:1px dashed var(--line);background:linear-gradient(180deg,#fff, #FEFBF7)}
.class-card .cc-cat{font-family:"Outfit",sans-serif;font-weight:700;font-size:11px;letter-spacing:.16em;color:var(--orange);text-transform:uppercase}
.class-card h3{font-family:"M PLUS Rounded 1c","Hiragino Maru Gothic ProN",sans-serif;font-weight:800;color:var(--navy);font-size:20px;margin:8px 0 0;line-height:1.45}
.class-card .cc-body{padding:18px 24px 24px;flex:1}
.class-card .cc-body p{margin:0 0 14px;font-size:13.8px;color:var(--ink-soft);line-height:1.95}
.class-card .cc-target{font-size:12.5px;color:var(--navy);background:var(--bg2);border-radius:10px;padding:10px 14px;line-height:1.75}
.class-card .cc-target b{color:var(--orange-deep)}

/* レベル★ */
.level{display:inline-flex;align-items:center;gap:8px;margin-top:14px}
.level .lb{font-size:11px;font-weight:700;color:var(--ink-soft);letter-spacing:.08em}
.stars{font-size:15px;letter-spacing:2px;line-height:1}
.stars .on{color:var(--orange)}
.stars .off{color:#E9DCC9}

/* お知らせ */
.news{display:flex;flex-direction:column;border-top:1px solid var(--line)}
.news-item{display:flex;gap:18px;padding:19px 4px;border-bottom:1px solid var(--line);align-items:flex-start}
.news-item time{font-family:"Outfit",sans-serif;font-weight:600;font-size:13px;color:var(--ink-soft);letter-spacing:.06em;white-space:nowrap;padding-top:2px;min-width:88px}
.news-item .nt{font-size:14.5px;color:var(--ink);line-height:1.8}
.news-item .nt b{color:var(--navy);font-weight:700}
.tag{display:inline-block;font-size:10.5px;font-weight:700;letter-spacing:.06em;color:#fff;background:var(--navy-2);border-radius:99px;padding:2.5px 11px;margin-right:10px;vertical-align:1px}
.tag--event{background:var(--orange)}
.tag--result{background:#4B9B72}

/* 統計バンド */
.stats{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}
@media(max-width:640px){.stats{grid-template-columns:1fr}}
.stat{text-align:center;padding:26px 14px;border:1px solid rgba(255,255,255,.16);border-radius:18px;background:rgba(255,255,255,.06)}
.stat .num{font-family:"Outfit",sans-serif;font-weight:700;font-size:clamp(34px,9vw,46px);color:#fff;line-height:1;letter-spacing:.02em}
.stat .num span{font-size:.5em;color:#FFC5A6;margin-left:4px}
.stat .lb{font-size:13px;color:#D9E2EE;margin-top:12px;line-height:1.7}

/* 助成バナー */
.subsidy{display:flex;gap:22px;align-items:center;flex-wrap:wrap;
  background:linear-gradient(120deg,#FFF7F1,#FCEBDD);border:1px solid #F4D8C2;border-radius:20px;padding:28px 30px;box-shadow:var(--shadow-card)}
.subsidy .badge{width:70px;height:70px;border-radius:50%;background:linear-gradient(180deg,var(--orange),var(--orange-deep));color:#fff;
  display:flex;flex-direction:column;align-items:center;justify-content:center;flex:0 0 auto;line-height:1.15;text-align:center;box-shadow:0 8px 18px rgba(238,123,80,.3)}
.subsidy .badge b{font-size:15px;font-family:"M PLUS Rounded 1c","Hiragino Maru Gothic ProN",sans-serif;font-weight:800}
.subsidy .badge span{font-size:8.5px;letter-spacing:.08em;font-weight:700}
.subsidy .st{flex:1;min-width:220px}
.subsidy .st h3{margin:0 0 6px;color:var(--navy);font-size:17px;font-family:"M PLUS Rounded 1c","Hiragino Maru Gothic ProN",sans-serif;font-weight:800}
.subsidy .st p{margin:0;font-size:13.5px;color:var(--ink-soft);line-height:1.85}

/* ステップ */
.steps{display:grid;gap:18px}
@media(min-width:760px){.steps{grid-template-columns:repeat(4,1fr)}}
.step{background:#fff;border:1px solid var(--line);border-radius:18px;padding:26px 22px;box-shadow:var(--shadow-card);position:relative}
.step .sn{font-family:"Outfit",sans-serif;font-weight:700;font-size:15px;letter-spacing:.05em;color:#fff;
  background:linear-gradient(180deg,var(--orange),var(--orange-deep));width:42px;height:42px;border-radius:50%;display:flex;align-items:center;justify-content:center;margin-bottom:16px;box-shadow:0 6px 14px rgba(238,123,80,.28)}
.step h3{margin:0 0 8px;color:var(--navy);font-size:16.5px;font-family:"M PLUS Rounded 1c","Hiragino Maru Gothic ProN",sans-serif;font-weight:800}
.step p{margin:0;font-size:13.5px;color:var(--ink-soft);line-height:1.9}

/* 料金テーブル */
.price-table{width:100%;border-collapse:separate;border-spacing:0;border:1px solid var(--line);border-radius:18px;overflow:hidden;box-shadow:var(--shadow-card);background:#fff}
.price-table th,.price-table td{padding:17px 20px;text-align:left;font-size:14.5px;border-bottom:1px solid var(--line)}
.price-table thead th{background:var(--navy);color:#fff;font-weight:700;letter-spacing:.03em;font-family:"M PLUS Rounded 1c","Hiragino Maru Gothic ProN",sans-serif}
.price-table tbody th{background:var(--bg2);color:var(--navy);font-weight:700;width:44%}
.price-table td{color:var(--ink)}
.price-table .yen{font-family:"Outfit",sans-serif;font-weight:700;color:var(--orange-deep);font-size:16px}
.price-table tr:last-child th,.price-table tr:last-child td{border-bottom:0}

/* FAQ */
.faq details{background:#fff;border:1px solid var(--line);border-radius:14px;margin-bottom:12px;box-shadow:var(--shadow-card);overflow:hidden}
.faq summary{list-style:none;cursor:pointer;padding:18px 52px 18px 54px;position:relative;font-weight:700;color:var(--navy);font-size:15px;line-height:1.65;font-family:"M PLUS Rounded 1c","Hiragino Maru Gothic ProN",sans-serif}
.faq summary::-webkit-details-marker{display:none}
.faq summary::before{content:"Q";position:absolute;left:20px;top:16px;font-family:"Outfit",sans-serif;font-weight:700;color:var(--orange);font-size:18px}
.faq summary::after{content:"+";position:absolute;right:20px;top:14px;font-size:24px;color:var(--orange);transition:transform .25s;line-height:1}
.faq details[open] summary::after{transform:rotate(45deg)}
.faq .fa{padding:0 22px 20px 54px;color:var(--ink-soft);font-size:14px;line-height:2.0}

/* 連絡カード */
.contact-cards{display:grid;gap:18px}
@media(min-width:760px){.contact-cards{grid-template-columns:repeat(3,1fr)}}
.contact-card{background:#fff;border:1px solid var(--line);border-radius:18px;padding:30px 24px;text-align:center;box-shadow:var(--shadow-card);transition:transform .25s ease,box-shadow .25s ease}
.contact-card:hover{transform:translateY(-3px);box-shadow:0 14px 32px rgba(93,72,52,.12)}
.contact-card .ci{width:64px;height:64px;border-radius:50%;background:var(--orange-pale);display:flex;align-items:center;justify-content:center;margin:0 auto 18px}
.contact-card h3{margin:0 0 8px;color:var(--navy);font-size:18px;font-family:"M PLUS Rounded 1c","Hiragino Maru Gothic ProN",sans-serif;font-weight:800}
.contact-card p{margin:0 0 18px;font-size:13.5px;color:var(--ink-soft);line-height:1.85}
.contact-card .big{font-family:"Outfit",sans-serif;font-weight:700;font-size:22px;color:var(--navy);letter-spacing:.02em}

/* フォーム */
.form{display:grid;gap:18px;max-width:620px}
.field label{display:block;font-weight:700;font-size:13.5px;color:var(--navy);margin-bottom:7px}
.field label .req{color:#fff;background:var(--orange);border-radius:99px;font-size:10px;padding:1.5px 9px;margin-left:8px;vertical-align:1px}
.field input,.field textarea,.field select{
  width:100%;padding:13px 16px;border:1.5px solid var(--line);border-radius:12px;
  font-size:15px;font-family:inherit;color:var(--ink);background:#fff;transition:border-color .2s,box-shadow .2s}
.field input:focus,.field textarea:focus,.field select:focus{outline:none;border-color:var(--orange);box-shadow:0 0 0 3px rgba(238,123,80,.14)}
.field textarea{min-height:130px;resize:vertical}

/* 画像ブロック */
.media-split{display:grid;gap:0;align-items:stretch;grid-template-columns:1fr 1fr;border-radius:20px;overflow:hidden;box-shadow:var(--shadow-card);border:1px solid var(--line)}
@media(max-width:820px){.media-split{grid-template-columns:1fr}}
.media-split .ms-img{min-height:280px}
.media-split .ms-img img{width:100%;height:100%;object-fit:cover}
.media-split .ms-body{padding:40px 36px;background:#fff;display:flex;flex-direction:column;justify-content:center}
.media-split.rev .ms-img{order:2}
@media(max-width:820px){.media-split.rev .ms-img{order:0}}

.note-box{background:var(--bg2);border-left:4px solid var(--orange);border-radius:0 12px 12px 0;padding:17px 21px;font-size:13.5px;color:var(--ink-soft);line-height:1.9}
.note-box b{color:var(--navy)}

/* CTAセクション（温かいコーラルグラデ＝お母さんに寄せる） */
.cta-band{background:linear-gradient(135deg,#EF8155 0%,#E2603A 100%);color:#fff;text-align:center;position:relative;overflow:hidden}
.cta-band::before{content:"";position:absolute;left:-50px;bottom:-90px;width:260px;height:260px;border-radius:50%;border:34px solid rgba(255,255,255,.1)}
.cta-band::after{content:"";position:absolute;right:-40px;top:-70px;width:200px;height:200px;border-radius:50%;background:rgba(255,255,255,.08)}
.cta-band .inner{position:relative;z-index:2}
.cta-band .eyebrow{color:#FFE3D2}
.cta-band .eyebrow::before{background:#FFE3D2}
.cta-band .h2{color:#fff}
.cta-band .lead{color:#FFE9DC}

/* ---------- フッター ---------- */
.site-footer{background:var(--navy-deep);color:#BCC9DB;font-size:13.5px}
.footer-top{padding:56px 0 40px;display:grid;gap:34px;grid-template-columns:1.4fr 1fr 1fr}
@media(max-width:820px){.footer-top{grid-template-columns:1fr}}
.footer-brand b{font-family:"M PLUS Rounded 1c","Hiragino Maru Gothic ProN",sans-serif;font-weight:800;color:#fff;font-size:18px;display:block}
.footer-brand span{font-family:"Outfit",sans-serif;font-weight:700;font-size:10px;letter-spacing:.24em;color:#FFC5A6}
.footer-brand p{margin:14px 0 0;line-height:1.95;color:#A8B7CC;max-width:320px}
.footer-col h4{color:#fff;font-size:13px;letter-spacing:.06em;margin:0 0 14px;font-family:"M PLUS Rounded 1c","Hiragino Maru Gothic ProN",sans-serif;font-weight:800}
.footer-col a{display:block;padding:6px 0;color:#BCC9DB}
.footer-col a:hover{color:#fff}
.footer-sns{display:flex;gap:12px;margin-top:6px}
.footer-sns a{display:inline-flex;align-items:center;justify-content:center;width:42px;height:42px;border-radius:50%;background:rgba(255,255,255,.1);font-size:12px;font-weight:700;color:#fff}
.footer-sns a:hover{background:var(--orange)}
.footer-bottom{border-top:1px solid rgba(255,255,255,.12);padding:18px 0;display:flex;flex-wrap:wrap;gap:10px;justify-content:space-between;align-items:center;font-size:12px;color:#8FA0B8}
.footer-disclaimer{background:#233A58;color:#7A8CA6;font-size:11.5px;line-height:1.8;padding:14px 0}

/* ---------- リビール（フェイルセーフ：JS無効なら常時表示） ---------- */
.js .reveal{opacity:0;transform:translateY(24px);transition:opacity .7s ease,transform .7s ease}
.js .reveal.in{opacity:1;transform:none}
.js .reveal.d1{transition-delay:.08s}
.js .reveal.d2{transition-delay:.16s}
.js .reveal.d3{transition-delay:.24s}
@media(prefers-reduced-motion:reduce){
  .js .reveal{opacity:1;transform:none;transition:none}
  html{scroll-behavior:auto}
}

/* ---------- 練習の風景ギャラリー ---------- */
.gallery-grid{display:grid;gap:16px;grid-template-columns:repeat(3,1fr)}
@media(max-width:760px){.gallery-grid{grid-template-columns:1fr;max-width:420px;margin-left:auto;margin-right:auto}}
.gallery-item{position:relative;margin:0;border-radius:16px;overflow:hidden;box-shadow:0 10px 26px rgba(0,0,0,.28);aspect-ratio:4/5}
.gallery-item img{width:100%;height:100%;object-fit:cover;transition:transform .55s ease}
.gallery-item:hover img{transform:scale(1.06)}
.gallery-item figcaption{position:absolute;left:0;right:0;bottom:0;padding:26px 18px 15px;
  color:#fff;font-size:13.5px;font-weight:700;letter-spacing:.02em;
  font-family:"M PLUS Rounded 1c","Hiragino Maru Gothic ProN",sans-serif;
  background:linear-gradient(transparent,rgba(10,22,40,.82))}

/* ---------- 「どんな子にも」タイプ別カード ---------- */
.shine-grid{display:grid;gap:20px;grid-template-columns:1fr 1fr}
@media(max-width:820px){.shine-grid{grid-template-columns:1fr}}
.shine-card{background:#fff;border:1px solid var(--line);border-radius:18px;padding:26px 26px 28px 30px;box-shadow:var(--shadow-card);position:relative;overflow:hidden;transition:transform .25s ease,box-shadow .25s ease}
.shine-card:hover{transform:translateY(-4px);box-shadow:0 14px 32px rgba(93,72,52,.12)}
.shine-card::before{content:"";position:absolute;left:0;top:0;bottom:0;width:5px;background:linear-gradient(180deg,var(--orange),var(--orange-deep))}
.shine-card .sc-meta{display:inline-block;font-size:11.5px;font-weight:700;color:var(--orange-deep);background:var(--orange-pale);border-radius:99px;padding:5px 14px;margin-bottom:14px}
.shine-card h3{font-family:"M PLUS Rounded 1c","Hiragino Maru Gothic ProN",sans-serif;font-weight:800;color:var(--navy);font-size:18.5px;line-height:1.55;margin:0 0 10px}
.shine-card p{margin:0;font-size:14px;color:var(--ink-soft);line-height:2.0}

/* ---------- 保護者にうれしい理由 ---------- */
.reason-grid{display:grid;gap:20px;grid-template-columns:1fr 1fr}
@media(max-width:820px){.reason-grid{grid-template-columns:1fr}}
.reason-card{background:#fff;border:1px solid var(--line);border-radius:18px;padding:26px;box-shadow:var(--shadow-card);display:flex;gap:18px;align-items:flex-start;transition:transform .25s ease,box-shadow .25s ease}
.reason-card:hover{transform:translateY(-3px);box-shadow:0 14px 32px rgba(93,72,52,.12)}
.reason-card .ri{flex:0 0 auto;width:54px;height:54px;border-radius:50%;background:var(--orange-pale);display:flex;align-items:center;justify-content:center}
.reason-card .ri svg{width:27px;height:27px;stroke:var(--orange-deep);fill:none;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round}
.reason-card h3{margin:2px 0 8px;font-family:"M PLUS Rounded 1c","Hiragino Maru Gothic ProN",sans-serif;font-weight:800;color:var(--navy);font-size:17px;line-height:1.5}
.reason-card p{margin:0 0 9px;font-size:13.8px;color:var(--ink-soft);line-height:1.95}
.reason-card .rc-meta{font-size:11.5px;font-weight:700;color:var(--orange-deep);line-height:1.6}

/* ---------- 保護者の声 ---------- */
.voice-grid{display:grid;gap:20px;grid-template-columns:1fr 1fr}
@media(max-width:820px){.voice-grid{grid-template-columns:1fr}}
.voice-card{background:#fff;border:1px solid var(--line);border-radius:18px;padding:30px 26px 22px;box-shadow:var(--shadow-card);position:relative}
.voice-card::before{content:"\201C";position:absolute;top:12px;left:22px;font-family:Georgia,serif;font-size:58px;color:var(--orange);opacity:.26;line-height:1}
.voice-card h3{margin:18px 0 10px;font-family:"M PLUS Rounded 1c","Hiragino Maru Gothic ProN",sans-serif;font-weight:800;color:var(--navy);font-size:16.5px;line-height:1.6;position:relative}
.voice-card p{margin:0 0 14px;font-size:13.8px;color:var(--ink);line-height:2.0}
.voice-card .vc-meta{font-size:11.5px;color:var(--ink-soft);border-top:1px dashed var(--line);padding-top:12px}
.voice-card .vc-meta .smp{color:var(--orange-deep);font-weight:700}

/* ---------- コーチ・スタッフ紹介（サンバーズ風メンバーUI） ---------- */
.member-grid{display:grid;gap:22px;grid-template-columns:repeat(3,1fr)}
@media(max-width:820px){.member-grid{grid-template-columns:repeat(2,1fr);gap:14px}}
.member-card{position:relative;border-radius:18px;overflow:hidden;background:#fff;border:1px solid var(--line);box-shadow:var(--shadow-card);transition:transform .25s ease,box-shadow .25s ease;display:block}
.member-card:hover{transform:translateY(-4px);box-shadow:0 16px 36px rgba(93,72,52,.14)}
.member-card .mc-ph{aspect-ratio:3/3.4;overflow:hidden;position:relative}
.member-card .mc-ph img{width:100%;height:100%;object-fit:cover;transition:transform .5s ease}
.member-card:hover .mc-ph img{transform:scale(1.05)}
.member-card .mc-no{position:absolute;top:12px;left:12px;z-index:2;
  font-family:"Outfit",sans-serif;font-weight:700;font-size:15px;color:#fff;
  background:linear-gradient(180deg,var(--orange),var(--orange-deep));
  width:38px;height:38px;border-radius:50%;display:flex;align-items:center;justify-content:center;box-shadow:0 4px 12px rgba(238,123,80,.4)}
.member-card .mc-body{padding:16px 18px 18px}
.member-card .mc-pos{font-family:"Outfit",sans-serif;font-weight:700;font-size:10.5px;letter-spacing:.16em;color:var(--orange);text-transform:uppercase}
.member-card h3{margin:4px 0 2px;font-family:"M PLUS Rounded 1c","Hiragino Maru Gothic ProN",sans-serif;font-weight:800;color:var(--navy);font-size:18px;line-height:1.4}
.member-card .mc-en{font-family:"Outfit",sans-serif;font-weight:600;font-size:11.5px;letter-spacing:.12em;color:var(--ink-soft);text-transform:uppercase}
.member-card .mc-arrow{position:absolute;right:16px;bottom:18px;color:var(--orange);font-weight:900}

/* 詳細ページ：プロフィールヒーロー */
.profile-hero{background:linear-gradient(150deg,var(--navy-deep),#3A5B84);color:#fff;position:relative;overflow:hidden}
.profile-hero .big-no{position:absolute;right:-10px;top:-40px;font-family:"Outfit",sans-serif;font-weight:700;
  font-size:clamp(180px,34vw,340px);line-height:1;color:rgba(255,255,255,.07);pointer-events:none;user-select:none}
.profile-hero-inner{position:relative;z-index:2;display:grid;grid-template-columns:1.2fr 1fr;gap:34px;align-items:center;padding:56px 0}
@media(max-width:820px){.profile-hero-inner{grid-template-columns:1fr;padding:44px 0 0}}
.pos-pill{display:inline-block;font-size:12.5px;font-weight:700;letter-spacing:.1em;color:#fff;
  background:linear-gradient(180deg,var(--orange),var(--orange-deep));border-radius:99px;padding:7px 18px;margin-bottom:16px}
.profile-hero h1{font-family:"M PLUS Rounded 1c","Hiragino Maru Gothic ProN",sans-serif;font-weight:900;
  font-size:clamp(34px,8vw,54px);line-height:1.25;margin:0 0 6px}
.profile-hero .romaji{font-family:"Outfit",sans-serif;font-weight:600;font-size:15px;letter-spacing:.22em;color:#FFC5A6;text-transform:uppercase}
.profile-hero .lic{display:flex;flex-wrap:wrap;gap:9px;margin-top:22px}
.profile-hero .lic span{font-size:12px;font-weight:700;background:rgba(255,255,255,.14);border:1px solid rgba(255,255,255,.3);border-radius:99px;padding:7px 15px}
.profile-hero .ph-wrap{position:relative;justify-self:center;width:min(340px,86%)}
.profile-hero .ph-wrap::before{content:"";position:absolute;inset:auto -14px -14px 14px;top:14px;border-radius:24px;background:rgba(238,123,80,.35);z-index:0}
.profile-hero .ph-wrap img{position:relative;z-index:1;border-radius:24px;width:100%;aspect-ratio:3/3.6;object-fit:cover;box-shadow:0 18px 44px rgba(0,0,0,.32)}
@media(max-width:820px){.profile-hero .ph-wrap{margin-bottom:-1px;width:min(300px,80%)}}

/* 詳細ページ：プロフィール表 */
.profile-table{width:100%;border-collapse:collapse;background:#fff;border:1px solid var(--line);border-radius:18px;overflow:hidden;box-shadow:var(--shadow-card)}
.profile-table th,.profile-table td{padding:15px 20px;font-size:14px;text-align:left;border-bottom:1px dashed var(--line);vertical-align:top;line-height:1.85}
.profile-table tr:last-child th,.profile-table tr:last-child td{border-bottom:0}
.profile-table th{width:38%;color:var(--navy);font-weight:700;background:#FEFBF6}
.profile-table td{color:var(--ink)}
@media(max-width:640px){.profile-table th{width:36%;padding:13px 14px;font-size:13px}.profile-table td{padding:13px 14px;font-size:13.5px}}
.profile-msg{background:linear-gradient(120deg,#FFF7F1,#FCEBDD);border:1px solid #F4D8C2;border-radius:20px;padding:28px 30px;box-shadow:var(--shadow-card)}
.profile-msg .pm-label{font-family:"Outfit",sans-serif;font-weight:700;font-size:11.5px;letter-spacing:.2em;color:var(--orange-deep);text-transform:uppercase;margin-bottom:10px}
.profile-msg p{margin:0;color:var(--navy);font-weight:700;font-size:15.5px;line-height:2.05;font-family:"M PLUS Rounded 1c","Hiragino Maru Gothic ProN",sans-serif}

/* 前後ナビ */
.member-nav{display:flex;justify-content:space-between;gap:12px}
.member-nav a{display:inline-flex;align-items:center;gap:8px;font-weight:700;color:var(--navy);font-size:14px;background:#fff;border:1px solid var(--line);border-radius:99px;padding:11px 20px;box-shadow:var(--shadow-card);transition:transform .2s,box-shadow .2s}
.member-nav a:hover{transform:translateY(-2px);color:var(--orange-deep)}

.mt-s{margin-top:14px}.mt-m{margin-top:26px}.mt-l{margin-top:44px}

/* ==========================================================
   ¥300k lift — a11y / interaction / brand / method / photo
   ========================================================== */

/* --- skip link --- */
.skip-link{position:fixed;left:14px;top:-70px;z-index:200;background:var(--navy);color:#fff;
  padding:11px 18px;border-radius:12px;font-weight:800;font-size:14px;box-shadow:0 8px 20px rgba(0,0,0,.2);transition:top .2s ease}
.skip-link:focus{top:14px}

/* --- focus-visible（キーボード時のみ可視リング） --- */
a:focus-visible,button:focus-visible,summary:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible,
.member-card:focus-visible,.gallery-item:focus-visible{outline:3px solid var(--navy);outline-offset:3px;border-radius:8px}
.section--navy a:focus-visible,.cta-band a:focus-visible,.hero a:focus-visible,.page-head a:focus-visible,
.profile-hero a:focus-visible,.mobile-cta a:focus-visible,.site-footer a:focus-visible{outline-color:#fff}
:focus:not(:focus-visible){outline:none}

/* --- 押下フィードバック --- */
.btn:active{transform:translateY(1px) scale(.99)}
.pillar:active,.class-card:active,.shine-card:active,.reason-card:active,.contact-card:active,.member-card:active,.voice-card:active{transform:translateY(0) scale(.995)}

/* --- スクロール反応ヘッダー --- */
.nav{transition:height .28s ease}
.site-header{transition:background .28s ease,box-shadow .28s ease}
.site-header.scrolled{background:rgba(253,250,245,.97);box-shadow:0 6px 22px rgba(49,81,124,.09)}
.site-header.scrolled .nav{height:58px}

/* --- ロゴロックアップ（バレーボールのシーム・マーク＋和文） --- */
.brand{flex-direction:row;align-items:center;gap:11px}
.brand-mark{flex:0 0 auto;width:38px;height:38px;display:block}
.brand-txt{display:flex;flex-direction:column;line-height:1.1}
@media(max-width:400px){.brand-mark{width:33px;height:33px}.brand b{font-size:15px}}

/* --- 追従モバイルCTAバー --- */
.mobile-cta{position:fixed;left:0;right:0;bottom:0;z-index:80;display:none;grid-template-columns:1fr 1fr;gap:1px;
  background:var(--line);transform:translateY(115%);transition:transform .35s cubic-bezier(.4,0,.2,1);
  box-shadow:0 -6px 22px rgba(49,81,124,.14);padding-bottom:env(safe-area-inset-bottom)}
.mobile-cta.show{transform:translateY(0)}
.mobile-cta a{display:flex;align-items:center;justify-content:center;gap:8px;height:56px;
  font-family:"M PLUS Rounded 1c","Hiragino Maru Gothic ProN",sans-serif;font-weight:800;font-size:15px;color:#fff}
.mobile-cta a svg{width:19px;height:19px;stroke:#fff;fill:none;stroke-width:2;stroke-linecap:round;stroke-linejoin:round}
.mobile-cta .m-line{background:#06c755}
.mobile-cta .m-book{background:linear-gradient(180deg,var(--orange),var(--orange-deep))}
@media(max-width:860px){.mobile-cta{display:grid}.site-footer{padding-bottom:60px}}

/* --- back to top --- */
.to-top{position:fixed;right:18px;bottom:18px;z-index:70;width:46px;height:46px;border-radius:50%;
  background:var(--navy);color:#fff;display:flex;align-items:center;justify-content:center;border:0;cursor:pointer;
  box-shadow:0 8px 20px rgba(49,81,124,.28);opacity:0;transform:translateY(12px);pointer-events:none;transition:opacity .3s,transform .3s}
.to-top.show{opacity:1;transform:none;pointer-events:auto}
.to-top svg{width:20px;height:20px;stroke:#fff;fill:none;stroke-width:2.2;stroke-linecap:round;stroke-linejoin:round}
@media(max-width:860px){.to-top{bottom:72px}}

/* --- 写真の統一グレード＋ブランドオーバーレイ（別撮りを1シリーズに寄せる） --- */
.hero-media img,.ms-img img,.gallery-item img,.mc-ph img,.profile-hero .ph-wrap img,.member-card .mc-ph img{
  filter:saturate(.92) contrast(1.03) brightness(1.02)}
.ms-img,.mc-ph{position:relative}
.ms-img::after,.mc-ph::after{content:"";position:absolute;inset:0;pointer-events:none;
  background:linear-gradient(160deg,rgba(49,81,124,.10),rgba(238,123,80,.06) 60%,transparent);mix-blend-mode:multiply}

/* --- コントラストAA微修正 --- */
.price-table .yen{color:var(--orange-text)}
.crumbs{color:#77859A}
.txt-orange{color:var(--orange-text)}

/* --- 罫線を破線→実線に統一（安っぽさ回避） --- */
.class-card .cc-top{border-bottom:1px solid var(--line)}
.profile-table th,.profile-table td{border-bottom:1px solid var(--line)}

/* --- 指導メソッド（"塾"の中身＝上達のしくみを見せる） --- */
.method-wrap{display:grid;grid-template-columns:.85fr 1.15fr;gap:44px;align-items:start}
@media(max-width:820px){.method-wrap{grid-template-columns:1fr;gap:28px}}
.method-list{position:relative;margin:0}
.method-list::before{content:"";position:absolute;left:21px;top:14px;bottom:14px;width:2px;background:var(--line)}
.method-item{position:relative;display:grid;grid-template-columns:auto 1fr;gap:20px;padding:0 0 26px}
.method-item:last-child{padding-bottom:0}
.method-item .mn{position:relative;z-index:2;width:44px;height:44px;border-radius:50%;flex:0 0 auto;
  background:linear-gradient(180deg,var(--orange),var(--orange-deep));color:#fff;
  display:flex;align-items:center;justify-content:center;font-family:"Outfit",sans-serif;font-weight:700;font-size:16px;
  box-shadow:0 6px 14px rgba(238,123,80,.3)}
.method-item h3{margin:6px 0 7px;font-family:"M PLUS Rounded 1c","Hiragino Maru Gothic ProN",sans-serif;font-weight:800;color:var(--navy);font-size:18px;line-height:1.5}
.method-item p{margin:0;font-size:14px;color:var(--ink-soft);line-height:1.95}
.method-item .mtag{display:inline-block;margin-top:9px;font-size:11.5px;font-weight:700;color:var(--orange-text);background:var(--orange-pale);border-radius:99px;padding:4px 12px}
.method-side .h2{margin-bottom:14px}
.method-badge{display:inline-flex;align-items:center;gap:9px;margin-top:18px;background:#fff;border:1px solid var(--line);border-radius:14px;padding:14px 18px;box-shadow:var(--shadow-card)}
.method-badge svg{width:26px;height:26px;stroke:var(--orange-deep);fill:none;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round;flex:0 0 auto}
.method-badge b{color:var(--navy);font-size:13.5px;font-family:"M PLUS Rounded 1c","Hiragino Maru Gothic ProN",sans-serif}
.method-badge span{display:block;font-size:11.5px;color:var(--ink-soft);margin-top:2px;font-weight:400}

/* --- reduced-motion 完全対応 --- */
@media(prefers-reduced-motion:reduce){
  *{scroll-behavior:auto !important}
  .btn:active,.pillar:active{transform:none}
  .gallery-item img,.member-card .mc-ph img,.class-card,.pillar,.shine-card,.reason-card,.contact-card{transition:none}
}

/* 電話番号リンク（tap発信） */
a.big{display:inline-block;transition:color .2s}
a.big:hover{color:var(--orange-deep)}

/* 同意チェック */
.consent{display:flex;align-items:flex-start;gap:10px;font-size:13px;color:var(--ink-soft);line-height:1.7;cursor:pointer}
.consent input{width:18px;height:18px;margin-top:2px;accent-color:var(--orange);flex:0 0 auto}
.consent a{color:var(--orange-text);text-decoration:underline}

/* ==========================================================
   Pro art-direction — 署名モチーフ / 質感 / ヒーロー作り込み
   ========================================================== */

/* --- 見出しの権威付け（スケール・字間） --- */
.h2{font-size:clamp(24px,5.8vw,37px);line-height:1.42;letter-spacing:.005em}
.eyebrow{gap:11px}

/* --- 暗部セクションにグレイン質感（深み・高級感） --- */
.section--navy{background:url(grain.png) repeat, linear-gradient(150deg,var(--navy-deep),#375780);background-size:150px auto,auto;background-blend-mode:soft-light,normal}
.cta-band{background:url(grain.png) repeat, linear-gradient(135deg,#EF8155 0%,#E2603A 100%);background-size:150px auto,auto;background-blend-mode:soft-light,normal}
.page-head{background:url(grain.png) repeat, linear-gradient(150deg,var(--navy-deep),#3A5B84);background-size:150px auto,auto;background-blend-mode:soft-light,normal}
.profile-hero{background:url(grain.png) repeat, linear-gradient(150deg,var(--navy-deep),#3A5B84);background-size:150px auto,auto;background-blend-mode:soft-light,normal}
.site-footer{background:url(grain.png) repeat, #0f2033;background-size:150px auto,auto;background-blend-mode:soft-light,normal}

/* --- ヒーローのグラフィックレイヤー（署名モチーフ） --- */
.hero-graphic{position:absolute;inset:0;z-index:1;pointer-events:none;overflow:hidden}
.hero-seam{position:absolute;right:-70px;top:46%;transform:translateY(-50%);width:min(600px,62vw);height:auto;opacity:.14}
@media(max-width:820px){.hero-seam{right:-130px;top:34%;width:440px;opacity:.11}}
.hero-arc{position:absolute;left:-4%;bottom:1%;width:108%;height:66%;opacity:.6}
.hero-grain{position:absolute;inset:0;background:url(grain.png) repeat;background-size:150px auto;mix-blend-mode:overlay;opacity:.55;z-index:1;pointer-events:none}

/* --- ヒーロー タグ（プレミアム化） --- */
.hero-tags span{background:rgba(255,255,255,.09);border:1px solid rgba(255,255,255,.24);backdrop-filter:blur(7px);display:inline-flex;align-items:center;gap:8px}
.hero-tags span::before{content:"";width:6px;height:6px;border-radius:50%;background:#FF9C6B;flex:0 0 auto}

/* --- スクロールキュー --- */
.scroll-cue{position:absolute;left:50%;bottom:24px;transform:translateX(-50%);z-index:3;color:rgba(255,255,255,.85);
  display:flex;flex-direction:column;align-items:center;gap:8px;font-family:"Outfit",sans-serif;font-size:9.5px;letter-spacing:.24em;font-weight:600}
.scroll-cue .sc-line{width:1.5px;height:36px;background:linear-gradient(#fff,rgba(255,255,255,0));border-radius:2px;
  animation:scDrop 1.9s ease-in-out infinite}
@keyframes scDrop{0%{transform:scaleY(.15);transform-origin:top;opacity:.4}50%{transform:scaleY(1);opacity:1}100%{transform:scaleY(.15);transform-origin:bottom;opacity:.35}}
@media(max-width:600px){.scroll-cue{display:none}}

/* --- セクション見出しの署名アクセント（中央見出しの下に短いコーラル罫＋点） --- */
.center .h2{position:relative;padding-bottom:4px}

/* --- 装飾ブロブ（深み） --- */
.section--bg2{position:relative}
.section .container{position:relative;z-index:2}

/* --- reduced-motion --- */
@media(prefers-reduced-motion:reduce){.scroll-cue .sc-line{animation:none}}

/* ==========================================================
   Hero motion — 入場stagger / 行マスク / Ken Burns / 軌道描画 / 浮遊
   （すべて prefers-reduced-motion では無効。CSSのみ・フェイルセーフ）
   ========================================================== */
@media (prefers-reduced-motion: no-preference){
  /* Ken Burns（LCP安全＝transformのみ） */
  .hero-media img{animation:heroKB 18s ease-out both}
  @keyframes heroKB{from{transform:scale(1.09)}to{transform:scale(1)}}

  /* 入場stagger */
  .hero-inner .eyebrow,.hero-inner .hero-sub,.hero-inner .btn-row,.hero-inner .hero-tags{opacity:0;animation:heroUp .9s cubic-bezier(.2,.7,.2,1) forwards}
  .hero-inner .eyebrow{animation-delay:.12s}
  .hero-inner .hero-sub{animation-delay:.66s}
  .hero-inner .btn-row{animation-delay:.82s}
  .hero-inner .hero-tags{animation-delay:.96s}
  @keyframes heroUp{from{opacity:0;transform:translateY(24px)}to{opacity:1;transform:none}}

  /* H1 行マスク・リビール */
  .hero h1 .ln{display:block;overflow:hidden;padding-bottom:.04em}
  .hero h1 .ln>span{display:inline-block;transform:translateY(112%);animation:lnUp 1.05s cubic-bezier(.2,.75,.2,1) forwards}
  .hero h1 .ln:nth-child(1)>span{animation-delay:.28s}
  .hero h1 .ln:nth-child(2)>span{animation-delay:.42s}
  @keyframes lnUp{to{transform:none}}

  /* ゴーストボールの浮遊 */
  .hero-seam{animation:heroFloat 10s ease-in-out infinite}
  @keyframes heroFloat{0%,100%{transform:translateY(-50%)}50%{transform:translateY(calc(-50% - 16px))}}

  /* コーラル軌道の描画 */
  .hero-arc path{stroke-dasharray:1;stroke-dashoffset:1;animation:heroDraw 2.6s ease-out .5s forwards}
  @keyframes heroDraw{to{stroke-dashoffset:0}}

  /* SCROLLキューの遅延フェード */
  .scroll-cue{opacity:0;animation:heroUp 1s ease 1.4s forwards}
}

/* ==========================================================
   Duotone imagery — 寄せ集め写真をネイビー単色に統一し
   "意図した1つのビジュアル作品" に見せる（プレミアムの定石）
   ========================================================== */
.hero-media img{filter:grayscale(.72) contrast(1.06) brightness(1.0)}
.ms-img img,.gallery-item img,.mc-ph img,.member-card .mc-ph img,.profile-hero .ph-wrap img{
  filter:grayscale(1) contrast(1.14) brightness(1.06)}
.ms-img,.gallery-item,.mc-ph,.member-card .mc-ph,.profile-hero .ph-wrap{position:relative;isolation:isolate}
.ms-img::after,.gallery-item::before,.mc-ph::after,.member-card .mc-ph::after,.profile-hero .ph-wrap::after{
  content:"";position:absolute;inset:0;pointer-events:none;z-index:1;
  background:linear-gradient(155deg,#15274733 0%,#1c3358 12%,#33578a 60%,#e0603a 150%);
  mix-blend-mode:color}
/* キャプション・バッジは色面より前面に */
.gallery-item figcaption{z-index:2}
.member-card .mc-no,.mc-ph .mc-no{z-index:3}
/* ホバーで一瞬だけ色が戻る（"生きている"感） */
@media (prefers-reduced-motion: no-preference) and (hover:hover){
  .gallery-item img,.ms-img img{transition:filter .5s ease}
  .gallery-item:hover img,.media-split:hover .ms-img img{filter:grayscale(.15) contrast(1.05) brightness(1.03)}
  .gallery-item:hover::before,.media-split:hover .ms-img::after{opacity:.35;transition:opacity .5s ease}
}

/* Duotone 修正: color→multiply（明部が飛ぶのを防ぎ、被写体を残す） */
.ms-img img,.gallery-item img,.mc-ph img,.member-card .mc-ph img,.profile-hero .ph-wrap img{
  filter:grayscale(1) contrast(1.02) brightness(1.06)}
.ms-img::after,.gallery-item::before,.mc-ph::after,.member-card .mc-ph::after,.profile-hero .ph-wrap::after{
  background:linear-gradient(160deg,#122a4c,#2a4a76);mix-blend-mode:multiply;opacity:.58}
.gallery-item:hover::before,.media-split:hover .ms-img::after{opacity:.3}

/* H1行マスクの土台は常時適用（reduced-motionでも2行を保つ） */
.hero h1 .ln{display:block;overflow:hidden}
