:root{
  --navy:#0A2A6B; --navy-deep:#05163A; --navy-mid:#0D3282;
  --blue:#1D4ED8; --blue-lt:#4D8DF7; --blue-pale:#9FBDEE;
  --pale:#DCE8FB; --bg:#F4F7FC; --line:#D7DFEC; --line-dk:#1B4A9E;
  --ink:#121A26; --gray:#5B6675;
  --wrap:1200px;
  --sans:"Helvetica Neue",Arial,"Hiragino Kaku Gothic ProN","Hiragino Sans","Yu Gothic",Meiryo,sans-serif;
}
*{box-sizing:border-box}
html{scroll-behavior:smooth;scroll-padding-top:80px}
body{margin:0;font-family:var(--sans);color:var(--ink);line-height:1.85;
  font-feature-settings:"palt";-webkit-font-smoothing:antialiased;background:#fff;overflow-x:hidden}
img{max-width:100%;display:block}
a{color:inherit;text-decoration:none}
.wrap{max-width:var(--wrap);margin:0 auto;padding:0 28px}
@media(max-width:640px){.wrap{padding:0 20px}}

/* ============ セクション枠 ============ */
.sec{padding:clamp(72px,10vw,140px) 0}
.sec--bg{background:var(--bg)}
.sec--navy{background:var(--navy-deep);color:#fff}
.sec--navy2{background:linear-gradient(165deg,var(--navy) 0%,var(--navy-deep) 100%);color:#fff}

/* 章見出し：番号 + 英語 + 日本語（CEREBRIX 的な静かな入り） */
.shead{margin:0 0 clamp(40px,5vw,68px)}
.shead__no{display:inline-block;font-size:12px;font-weight:700;letter-spacing:.2em;
  color:var(--blue);margin-bottom:18px}
.sec--navy .shead__no,.sec--navy2 .shead__no{color:var(--blue-lt)}
.shead__en{display:block;font-size:clamp(34px,5.2vw,58px);font-weight:800;letter-spacing:.04em;
  line-height:1.1;margin:0 0 14px;color:var(--navy)}
.sec--navy .shead__en,.sec--navy2 .shead__en{color:#fff}
.shead__ja{display:block;font-size:clamp(16px,2vw,20px);font-weight:700;letter-spacing:.04em;margin-bottom:16px}
.shead__lead{font-size:clamp(14px,1.6vw,16px);color:var(--gray);margin:0;max-width:44em;line-height:2}
.sec--navy .shead__lead,.sec--navy2 .shead__lead{color:var(--blue-pale)}

/* ============ ヘッダー ============ */
.hd{position:fixed;inset:0 0 auto;z-index:60;transition:.35s;
  background:transparent;border-bottom:1px solid transparent}
.hd.is-on{background:rgba(5,22,58,.92);backdrop-filter:blur(10px);border-bottom-color:rgba(255,255,255,.1)}
.hd__in{max-width:var(--wrap);margin:0 auto;padding:0 28px;height:76px;display:flex;align-items:center;gap:32px}
.hd__logo{font-size:22px;font-weight:800;letter-spacing:.12em;color:#fff}
.nav{margin-left:auto;display:flex;gap:30px}
.nav a{font-size:13px;font-weight:600;letter-spacing:.06em;color:rgba(255,255,255,.78)}
.nav a:hover{color:#fff}
@media(max-width:900px){.nav{display:none}.hd__in{padding:0 20px;height:64px}}

/* ============ ボタン ============ */
.btn{display:inline-flex;align-items:center;justify-content:center;gap:10px;
  padding:17px 38px;font-weight:700;font-size:15px;letter-spacing:.04em;
  border:1.5px solid transparent;transition:.25s;white-space:nowrap;border-radius:2px}
.btn--main{background:var(--blue-lt);color:#fff}
.btn--main:hover{background:#6BA0FF}
.btn--ghost{border-color:rgba(255,255,255,.45);color:#fff}
.btn--ghost:hover{background:rgba(255,255,255,.12)}
.btn--ink{background:var(--navy);color:#fff}
.btn--ink:hover{background:var(--blue)}
.btn--sm{padding:11px 24px;font-size:13px}
.btn--arw:after{content:"→";font-size:15px}

/* ============ HERO（CEREBRIX 型：全画面・中央・静か） ============ */
.hero{position:relative;min-height:100svh;display:flex;align-items:center;justify-content:center;
  text-align:center;color:#fff;overflow:hidden;
  background:radial-gradient(1200px 800px at 50% 42%,var(--navy-mid) 0%,var(--navy) 45%,var(--navy-deep) 100%)}
.hero__video{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;opacity:.28;
  /* ▼ 素材が入るまでのプレースホルダ（ここに <video> を置く） */
  background:
    repeating-linear-gradient(115deg,rgba(255,255,255,.045) 0 2px,transparent 2px 9px),
    radial-gradient(900px 500px at 72% 28%,rgba(77,141,247,.5),transparent 60%),
    radial-gradient(700px 600px at 22% 74%,rgba(29,78,216,.45),transparent 62%)}
.hero__in{position:relative;z-index:2;padding:0 24px}
.hero__tag{font-size:clamp(12px,1.5vw,15px);font-weight:700;letter-spacing:.34em;
  margin:0 0 clamp(22px,3vw,34px);text-indent:.34em;color:#fff}
.hero__logo{font-size:clamp(56px,13vw,160px);font-weight:800;letter-spacing:.02em;
  line-height:1;margin:0 0 clamp(26px,3.4vw,40px);color:#fff}
.hero__sub{font-size:clamp(13.5px,1.7vw,17px);color:#C9DCF8;margin:0 auto;max-width:30em;
  line-height:2.1;letter-spacing:.04em}
.scroll{position:absolute;left:50%;bottom:38px;transform:translateX(-50%);z-index:2;
  font-size:11px;letter-spacing:.22em;color:rgba(255,255,255,.75)}
.scroll:after{content:"";display:block;width:1px;height:62px;margin:12px auto 0;
  background:rgba(255,255,255,.45);animation:sc 2.2s ease-in-out infinite;transform-origin:top}
@keyframes sc{0%{transform:scaleY(0);opacity:0}30%{opacity:1}100%{transform:scaleY(1);opacity:0}}

/* ============ ステートメント ============ */
.stm{text-align:center}
.stm p{font-size:clamp(21px,3.6vw,40px);font-weight:800;line-height:1.75;letter-spacing:.03em;margin:0}
.stm em{font-style:normal;color:var(--blue-lt)}
.stm__sub{font-size:clamp(14px,1.6vw,16px);color:var(--blue-pale);margin:clamp(26px,3vw,38px) auto 0;
  max-width:40em;line-height:2.1}

/* ============ 数字 ============ */
.nums{display:grid;grid-template-columns:repeat(3,1fr);gap:1px;background:rgba(255,255,255,.18);
  margin-top:clamp(52px,6vw,80px)}
.num{background:var(--navy-deep);padding:clamp(28px,3.4vw,42px) 26px;text-align:center}
.num b{display:block;font-size:clamp(30px,4.6vw,52px);font-weight:800;line-height:1.2;letter-spacing:.02em}
.num b small{font-size:.46em;font-weight:700;margin-left:2px}
.num span{display:block;font-size:12.5px;color:var(--blue-pale);margin-top:10px;letter-spacing:.04em}
@media(max-width:760px){.nums{grid-template-columns:1fr}}

/* ============ WORKS（CINEMATO 型：映像が主役） ============ */
.works{display:grid;grid-template-columns:repeat(4,1fr);gap:16px}
@media(max-width:900px){.works{grid-template-columns:repeat(2,1fr)}}
.work{position:relative;aspect-ratio:9/16;overflow:hidden;background:#0B2456;
  border:1px solid rgba(255,255,255,.14);transition:.3s}
.work:hover{transform:translateY(-4px);border-color:var(--blue-lt)}
.work__ph{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;
  color:rgba(255,255,255,.3);font-size:12px;letter-spacing:.14em;
  background:linear-gradient(160deg,rgba(77,141,247,.18),rgba(5,22,58,.5))}
.work__meta{position:absolute;left:0;right:0;bottom:0;padding:18px 16px;z-index:2;
  background:linear-gradient(to top,rgba(5,22,58,.94),transparent)}
.work__cat{font-size:10.5px;font-weight:700;letter-spacing:.14em;color:var(--blue-lt)}
.work__ttl{font-size:13.5px;font-weight:700;margin-top:5px;line-height:1.6;color:#fff}
.works__note{margin-top:26px;font-size:13px;color:var(--blue-pale)}

/* ============ 課題 ============ */
.issues{border-top:1px solid var(--line)}
.issue{display:flex;gap:clamp(20px,3.5vw,52px);align-items:flex-start;
  padding:clamp(28px,3.6vw,44px) 4px;border-bottom:1px solid var(--line)}
.issue__no{font-size:clamp(28px,4vw,44px);font-weight:800;color:var(--pale);line-height:1;flex:none}
.issue h3{font-size:clamp(17px,2.1vw,21px);font-weight:700;margin:0 0 10px;letter-spacing:.03em}
.issue p{margin:0;font-size:15px;color:var(--gray);line-height:2}

/* ============ フロー図 ============ */
.flow{background:#fff;border:1px solid var(--line);padding:clamp(26px,3.4vw,40px)}
.sec--navy2 .flow{background:rgba(255,255,255,.05);border-color:rgba(255,255,255,.18)}
.flow__label{font-size:12px;font-weight:700;letter-spacing:.14em;color:var(--blue);margin:0 0 22px}
.sec--navy2 .flow__label{color:var(--blue-lt)}
.flow__row{display:flex;align-items:stretch;gap:8px}
.flow__step{flex:1;background:var(--bg);border-top:3px solid var(--blue);
  padding:26px 8px;text-align:center;font-weight:700;font-size:14.5px;letter-spacing:.03em}
.sec--navy2 .flow__step{background:rgba(255,255,255,.08);border-top-color:var(--blue-lt);color:#fff}
.flow__arw{display:flex;align-items:center;color:var(--blue);font-size:12px}
.sec--navy2 .flow__arw{color:var(--blue-lt)}
.flow__back{margin-top:14px;background:var(--pale);color:var(--navy);
  padding:15px 20px;font-size:13.5px;font-weight:700;letter-spacing:.03em}
.sec--navy2 .flow__back{background:rgba(77,141,247,.2);color:#fff}
@media(max-width:780px){.flow__row{flex-direction:column}.flow__arw{justify-content:center;transform:rotate(90deg)}}

/* ============ 特徴（大きく 3 本） ============ */
.feats{display:grid;gap:1px;background:rgba(255,255,255,.18);border:1px solid rgba(255,255,255,.18)}
.feat{background:var(--navy-deep);padding:clamp(30px,4vw,48px);display:grid;
  grid-template-columns:150px 1fr;gap:clamp(16px,3vw,44px);align-items:start}
.feat__no{font-size:11.5px;font-weight:700;letter-spacing:.18em;color:var(--blue-lt);padding-top:8px}
.feat h3{font-size:clamp(19px,2.6vw,27px);font-weight:800;margin:0 0 14px;letter-spacing:.03em;line-height:1.55}
.feat p{margin:0;font-size:15px;color:#C3D5F2;line-height:2.1}
@media(max-width:760px){.feat{grid-template-columns:1fr;gap:12px}.feat__no{padding-top:0}}

/* ============ カードグリッド ============ */
.grid{display:grid;gap:18px}
.g3{grid-template-columns:repeat(3,1fr)}
.g4{grid-template-columns:repeat(4,1fr)}
@media(max-width:900px){.g3,.g4{grid-template-columns:repeat(2,1fr)}}
@media(max-width:600px){.g3,.g4{grid-template-columns:1fr}}
.card{background:#fff;border:1px solid var(--line);padding:30px 28px}
.card--flat{background:var(--bg);border-color:transparent}
.card__no{font-size:11.5px;font-weight:700;color:var(--blue);letter-spacing:.14em;margin-bottom:12px}
.card h3{font-size:17.5px;font-weight:700;margin:0 0 12px;line-height:1.6;letter-spacing:.02em}
.card p{font-size:14px;color:var(--gray);margin:0;line-height:2}

/* ============ 比較表 ============ */
.tblwrap{overflow-x:auto;border:1px solid var(--line);background:#fff}
table{border-collapse:collapse;width:100%;min-width:760px;font-size:14px}
th,td{padding:16px 18px;border-bottom:1px solid var(--line);text-align:left;vertical-align:middle}
thead th{background:var(--navy);color:#fff;font-weight:700;font-size:13px;letter-spacing:.06em;border-bottom:none}
tbody th{font-weight:700;background:#fff;width:21%}
td{color:var(--gray)}
.col-own{background:#F2F6FE;color:var(--ink);font-weight:700}
tbody tr:last-child th,tbody tr:last-child td{border-bottom:none}

/* ============ STEP ============ */
.steps{display:grid;grid-template-columns:repeat(5,1fr);gap:12px}
@media(max-width:960px){.steps{grid-template-columns:repeat(2,1fr)}}
@media(max-width:560px){.steps{grid-template-columns:1fr}}
.step{background:#fff;border:1px solid var(--line);border-top:3px solid var(--blue);padding:26px 20px}
.step span{font-size:11px;font-weight:700;letter-spacing:.14em;color:var(--blue)}
.step h3{font-size:16.5px;margin:10px 0 10px;font-weight:700;letter-spacing:.02em}
.step p{font-size:13px;color:var(--gray);margin:0;line-height:1.95}

/* ============ 料金 ============ */
.plans{display:grid;grid-template-columns:repeat(3,1fr);gap:18px;align-items:start}
@media(max-width:880px){.plans{grid-template-columns:1fr}}
.plan{background:#fff;border:1px solid var(--line);padding:34px 30px;position:relative}
.plan--rec{border:2px solid var(--blue)}
.plan__badge{position:absolute;top:-14px;left:30px;background:var(--blue);color:#fff;
  font-size:11px;font-weight:700;padding:6px 16px;letter-spacing:.1em}
.plan h3{font-size:20px;margin:0;font-weight:800;letter-spacing:.04em}
.plan__price{font-size:clamp(26px,3.2vw,34px);font-weight:800;color:var(--navy);margin:12px 0 22px;line-height:1.3}
.plan__price small{font-size:13px;font-weight:600;color:var(--gray)}
.plan ul{list-style:none;margin:0;padding:0;border-top:1px solid var(--line)}
.plan li{font-size:14px;padding:13px 0 13px 24px;border-bottom:1px solid var(--line);position:relative;color:var(--gray)}
.plan li:last-child{border-bottom:none}
.plan li:before{content:"";position:absolute;left:3px;top:23px;width:8px;height:8px;
  background:var(--blue-lt)}
.note{font-size:13px;color:var(--gray);margin:24px 0 0;line-height:1.95}

/* ============ FAQ ============ */
.faq{border-top:1px solid var(--line)}
.faq details{border-bottom:1px solid var(--line)}
.faq summary{cursor:pointer;list-style:none;padding:24px 60px 24px 4px;font-weight:700;
  font-size:16px;position:relative;letter-spacing:.02em}
.faq summary::-webkit-details-marker{display:none}
.faq summary:after{content:"＋";position:absolute;right:8px;top:23px;color:var(--blue);font-weight:700}
.faq details[open] summary:after{content:"−"}
.faq p{margin:0;padding:0 60px 26px 4px;font-size:14.5px;color:var(--gray);line-height:2.05}

/* ============ 会社概要 ============ */
.dl{border-top:1px solid rgba(255,255,255,.2)}
.dl__row{display:flex;gap:28px;padding:19px 4px;border-bottom:1px solid rgba(255,255,255,.2);font-size:15px}
.dl__row dt{flex:0 0 190px;font-weight:700;color:var(--blue-pale);margin:0;font-size:13px;letter-spacing:.08em}
.dl__row dd{margin:0}
@media(max-width:600px){.dl__row{flex-direction:column;gap:5px}.dl__row dt{flex:none}}

/* ============ CTA ============ */
.cta{text-align:center}
.cta h2{font-size:clamp(23px,3.6vw,38px);font-weight:800;margin:0 0 18px;line-height:1.6;letter-spacing:.03em}
.cta p{color:var(--blue-pale);margin:0 0 clamp(32px,4vw,44px);font-size:15px;line-height:2}
.cta__btns{display:flex;gap:14px;justify-content:center;flex-wrap:wrap}

/* ============ フッター ============ */
.ft{background:#030F2A;color:#7BA3DE;padding:52px 0;font-size:12.5px}
.ft__in{max-width:var(--wrap);margin:0 auto;padding:0 28px;display:flex;
  justify-content:space-between;gap:20px;flex-wrap:wrap;align-items:center}
.ft a{margin-left:22px}
.ft a:hover{color:#fff}

/* ============ スクロール表示 ============ */
/* .rv = Studio でフェードインを付ける想定のブロック（骨子では演出なし） */
@media(prefers-reduced-motion:reduce){.scroll:after{animation:none}}

/* ===== 章番号の自動採番 ===== */
body{counter-reset:sec}
.shead{counter-increment:sec}
.shead__no:before{content:counter(sec,decimal-leading-zero)}

/* ===== HERO 下部の導線バー（CINEMATO 型） ===== */
.hero__cta{position:absolute;left:0;right:0;bottom:0;z-index:3;
  border-top:1px solid rgba(255,255,255,.18);background:rgba(5,22,58,.35);backdrop-filter:blur(6px)}
.hero__cta ul{max-width:var(--wrap);margin:0 auto;padding:0;list-style:none;display:grid;
  grid-template-columns:repeat(4,1fr)}
.hero__cta li{border-left:1px solid rgba(255,255,255,.18)}
.hero__cta li:last-child{border-right:1px solid rgba(255,255,255,.18)}
.hero__cta a{display:block;padding:22px 18px;text-align:center;font-size:13.5px;font-weight:700;
  letter-spacing:.04em;color:#fff;transition:.25s}
.hero__cta a:hover{background:rgba(77,141,247,.28)}
.hero__cta small{display:block;font-size:10px;letter-spacing:.18em;color:var(--blue-lt);margin-bottom:6px}
@media(max-width:820px){.hero__cta ul{grid-template-columns:repeat(2,1fr)}
  .hero__cta li:nth-child(-n+2){border-bottom:1px solid rgba(255,255,255,.18)}
  .hero__cta a{padding:15px 10px;font-size:12px}}
.hero.has-cta .scroll{bottom:150px}
@media(max-width:820px){.hero.has-cta .scroll{bottom:190px}}

/* ===== ナビ（日英 2 段） ===== */
.nav a{display:flex;flex-direction:column;align-items:center;gap:3px;line-height:1.3}
.nav a i{font-style:normal;font-size:9.5px;letter-spacing:.16em;color:var(--blue-lt);opacity:.85}

/* ===== 導入企業ロゴ ===== */
.clients{display:grid;grid-template-columns:repeat(6,1fr);gap:1px;background:var(--line);border:1px solid var(--line)}
@media(max-width:900px){.clients{grid-template-columns:repeat(3,1fr)}}
@media(max-width:560px){.clients{grid-template-columns:repeat(2,1fr)}}
.client{background:#fff;aspect-ratio:16/9;display:flex;align-items:center;justify-content:center;
  color:#9AA7B8;font-size:11px;letter-spacing:.12em}

/* ===== 実績カードのタグ ===== */
.work__tags{display:flex;gap:6px;flex-wrap:wrap;margin-top:8px}
.work__tags span{font-size:9.5px;font-weight:700;letter-spacing:.06em;color:#CFE0FA;
  border:1px solid rgba(255,255,255,.3);padding:3px 8px}

/* ===== お客様の声 ===== */
.voices{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}
@media(max-width:900px){.voices{grid-template-columns:1fr}}
.voice{background:#fff;border:1px solid var(--line);padding:32px 30px;display:flex;flex-direction:column}
.voice__q{font-size:17px;font-weight:700;line-height:1.75;margin:0 0 16px;letter-spacing:.02em}
.voice__b{font-size:14px;color:var(--gray);line-height:2.05;margin:0 0 22px;flex:1}
.voice__who{display:flex;align-items:center;gap:12px;border-top:1px solid var(--line);padding-top:18px}
.voice__ph{width:42px;height:42px;background:var(--bg);flex:none;border-radius:50%;
  display:flex;align-items:center;justify-content:center;font-size:9px;color:#9AA7B8}
.voice__name{font-size:12.5px;color:var(--gray);line-height:1.6}
.voice__name b{display:block;color:var(--ink);font-size:13.5px}

/* ===== 資料ダウンロード ===== */
.doc{display:grid;grid-template-columns:1.15fr 1fr;gap:clamp(28px,5vw,64px);align-items:center}
@media(max-width:820px){.doc{grid-template-columns:1fr}}
.doc h3{font-size:clamp(20px,2.8vw,28px);font-weight:800;margin:0 0 16px;line-height:1.6;letter-spacing:.03em}
.doc p{font-size:15px;color:var(--blue-pale);line-height:2.05;margin:0 0 28px}
.doc ul{list-style:none;margin:0 0 30px;padding:0}
.doc li{font-size:14.5px;padding:9px 0 9px 22px;position:relative;color:#DCE8FB}
.doc li:before{content:"";position:absolute;left:0;top:19px;width:9px;height:2px;background:var(--blue-lt)}
.doc__cover{aspect-ratio:16/9;border:1px solid rgba(255,255,255,.24);overflow:hidden;
  box-shadow:0 24px 60px rgba(0,0,0,.35)}
.doc__cover img{width:100%;height:100%;object-fit:cover;display:block}

/* ===== 運営責任者 ===== */
.members{display:grid;grid-template-columns:repeat(2,1fr);gap:18px}
@media(max-width:760px){.members{grid-template-columns:1fr}}
.member{background:#fff;border:1px solid var(--line);padding:32px 30px;display:flex;gap:24px;align-items:flex-start}
/* 写真が届くまではイニシャル。届いたら <img class="member__ph" src="/img/xxx.jpg" alt="氏名"> に差し替え */
.member__ph{width:96px;height:96px;flex:none;background:var(--navy);border-radius:50%;object-fit:cover;
  display:flex;align-items:center;justify-content:center;font-size:34px;font-weight:800;color:#fff}
.member__role{font-size:11.5px;font-weight:700;letter-spacing:.12em;color:var(--blue)}
.member h3{font-size:21px;font-weight:800;margin:6px 0 12px;letter-spacing:.04em}
.member p{font-size:14px;color:var(--gray);line-height:2;margin:0}

/* ===== お問い合わせフォーム ===== */
.form{background:#fff;color:var(--ink);max-width:820px;margin:clamp(36px,4vw,52px) auto 0;
  padding:clamp(28px,4vw,48px);text-align:left}
.form__row{display:grid;grid-template-columns:1fr 1fr;gap:0 18px}
@media(max-width:640px){.form__row{grid-template-columns:1fr}}
.field{margin:0 0 22px;border:0;padding:0;min-width:0}
.field label,.field legend{display:block;font-size:13.5px;font-weight:700;margin:0 0 8px;padding:0}
.req,.opt{display:inline-block;font-size:10.5px;font-weight:700;margin-left:8px;padding:1px 7px;letter-spacing:.06em;vertical-align:1px}
.req{background:var(--blue);color:#fff}
.opt{background:var(--bg);color:var(--gray)}
.field input[type=text],.field input[type=email],.field input[type=tel],.field textarea{
  width:100%;font:inherit;font-size:15px;padding:13px 14px;border:1px solid var(--line);border-radius:2px;
  background:#fff;color:var(--ink)}
.field textarea{min-height:140px;resize:vertical;line-height:1.8}
.field input:focus,.field textarea:focus{outline:2px solid var(--blue-lt);outline-offset:1px;border-color:var(--blue-lt)}
.choices{display:grid;grid-template-columns:repeat(3,1fr);gap:10px}
@media(max-width:640px){.choices{grid-template-columns:1fr}}
.choice{position:relative;display:block;margin:0}
.choice input{position:absolute;opacity:0;width:1px;height:1px}
.choice span{display:block;border:1px solid var(--line);padding:14px 10px;text-align:center;font-size:14px;
  font-weight:700;cursor:pointer;transition:.15s}
.choice input:checked+span{border-color:var(--blue);background:#F2F6FE;color:var(--navy);box-shadow:inset 0 0 0 1px var(--blue)}
.choice input:focus-visible+span{outline:2px solid var(--blue-lt);outline-offset:2px}
.agree{display:flex;gap:10px;align-items:flex-start;font-size:13.5px;margin:4px 0 26px;cursor:pointer}
.agree input{margin-top:5px;width:16px;height:16px;flex:none}
.agree a{color:var(--blue);text-decoration:underline}
.form .btn{width:100%}
.hp{position:absolute;left:-9999px;width:1px;height:1px;overflow:hidden}
.form__note{font-size:12px;color:var(--gray);margin:14px 0 0;text-align:center}

/* ===== 下層ページ（プライバシーポリシー・送信完了・404） ===== */
.hd--solid{background:rgba(5,22,58,.96);border-bottom-color:rgba(255,255,255,.1)}
.subhero{background:linear-gradient(165deg,var(--navy) 0%,var(--navy-deep) 100%);color:#fff;
  padding:clamp(130px,15vw,180px) 0 clamp(52px,6vw,76px)}
.subhero__en{display:block;font-size:12px;font-weight:700;letter-spacing:.2em;color:var(--blue-lt);margin-bottom:14px}
.subhero h1{font-size:clamp(26px,4vw,42px);font-weight:800;margin:0;letter-spacing:.03em;line-height:1.5}
.subhero p{color:var(--blue-pale);margin:16px 0 0;font-size:15px;line-height:2}
.prose{max-width:800px}
.prose h2{font-size:18px;font-weight:800;margin:46px 0 12px;color:var(--navy);letter-spacing:.02em}
.prose h2:first-child{margin-top:0}
.prose p,.prose li{font-size:15px;line-height:2.05;color:var(--ink)}
.prose p{margin:0 0 14px}
.prose ul,.prose ol{padding-left:1.4em;margin:0 0 14px}
.prose a{color:var(--blue);text-decoration:underline}
.prose .meta{color:var(--gray);font-size:13.5px;margin-top:48px}
.center{text-align:center}
.btns{display:flex;gap:14px;justify-content:center;flex-wrap:wrap;margin-top:32px}

/* ===== FV：下の導線バーの分だけ中身を持ち上げ、低い画面では SCROLL を隠す ===== */
.hero.has-cta{padding-bottom:84px}
.hero.has-cta .scroll{bottom:96px}
.hero.has-cta .scroll:after{height:34px;margin-top:8px}
@media(max-width:820px){.hero.has-cta .scroll{bottom:128px}}
@media(max-height:680px){.hero.has-cta .scroll{display:none}}
@media(max-width:900px){.hd__in>.btn{margin-left:auto}}
@media(max-width:560px){.member{flex-direction:column;gap:16px;padding:28px 24px}.member__ph{width:72px;height:72px;font-size:26px}}
