/* ================================================================
   げんきのしるし  共通スタイル  v14
   方針
   ・本文 12px / 脚注 10px / 見出し 最大 16px（強調はほどほど）
   ・改行は段落単位。一文ごとの改行はしない
   ・比喩を使わない、率直で丁寧な文章に合わせた落ち着いた組版
   ・色は 藍(#165E83) が主役／朱(#B93A2B) は印影のみ／緑(#06C755) は CTA のみ
   ・見出しは明朝、本文はゴシック、数字は Inter
   ================================================================ */

:root{
  /* 色 */
  --bg:#FFFFFF;
  --surface:#FFFFFF;
  --cream:#F6F6F8;
  --cream-d:#EEEEF1;
  --line:#DADADF;
  --line-2:#E6E6EA;
  --t1:#1D1D1F;   /* 本文 */
  --t2:#6E6E73;   /* 補助 */
  --o:#165E83;    /* 藍 */
  --o-h:#124F6E;  /* 藍・濃 */
  --o-t:#EAF1F5;  /* 藍・淡面 */
  --o-t2:#F3F7F9; /* 藍・極淡面 */
  --shu:#B93A2B;  /* 朱：印影専用 */
  --line-g:#06C755; /* CTA専用 */
  --line-g-h:#05b34c;

  /* 書体 */
  --mr:"Zen Old Mincho","Noto Serif JP","Hiragino Mincho ProN",serif;
  --gt:"Noto Sans JP",sans-serif;
  --en:"Inter","Noto Sans JP",sans-serif;

  /* 文字サイズ：読みやすさを優先 */
  --fs-note:12px;   /* 脚注・注記 */
  --fs-cap:13px;    /* ラベル・キャプション */
  --fs-body:15px;   /* 本文 */
  --fs-lead:17px;   /* リード・やや強め本文 */
  --fs-h3:19px;     /* 小見出し */
  --fs-h2:28px;     /* 見出し */

  /* 行間・字間（詰めすぎず、行数は増やさない） */
  --lh-body:1.85;
  --lh-head:1.5;
  --ls-body:.01em;
  --ls-head:.03em;

  /* 余白（従来より圧縮） */
  --gutter:clamp(16px,4vw,32px);
  --sec-y:clamp(56px,7vw,88px);   /* セクション上下 */
  --blk:clamp(24px,4vw,36px);     /* ブロック間 */
  --r:14px;
  --r-s:10px;
  --sh:0 1px 2px rgba(16,40,60,.05), 0 4px 14px rgba(16,40,60,.05);
  --sh-2:0 6px 22px -8px rgba(16,40,60,.14);
  --maxw:1040px;
}

*{box-sizing:border-box;}
html{-webkit-text-size-adjust:100%;background:var(--bg);scroll-behavior:smooth;}
body{
  margin:0;background:var(--bg);color:var(--t1);
  font-family:var(--gt);font-size:var(--fs-body);line-height:var(--lh-body);
  letter-spacing:var(--ls-body);
  font-feature-settings:"palt";
  -webkit-font-smoothing:antialiased;
  overflow-x:hidden;
  line-break:strict;word-break:normal;overflow-wrap:break-word;
}
h1,h2,h3,h4{font-family:var(--mr);margin:0;font-weight:500;
  line-height:var(--lh-head);letter-spacing:var(--ls-head);text-wrap:balance;}
p{margin:0;text-wrap:pretty;}
ul,ol,dl,dd{margin:0;padding:0;}
li{list-style:none;}
a{color:inherit;text-decoration:none;}
img,svg{display:block;max-width:100%;}
button{font:inherit;color:inherit;background:none;border:none;cursor:pointer;}
:focus-visible{outline:2px solid var(--o);outline-offset:2px;}
strong{font-weight:700;color:var(--o);}   /* 強調はほどほど（下線マーカー等は使わない） */

/* 余分な行間を作らない：min-width:0 で横あふれ防止 */
.wrap>*,.grid>*,.row>*,[class*="__grid"]>*{min-width:0;}

/* レイアウト土台 */
.wrap{max-width:var(--maxw);margin:0 auto;padding:0 var(--gutter);}
.narrow{max-width:720px;margin:0 auto;padding:0 var(--gutter);}
.sec{padding:var(--sec-y) 0;}
.band{background:var(--cream);}
.band-o{background:var(--o-t2);}
.center{text-align:center;}
.mt-s{margin-top:12px;} .mt-m{margin-top:var(--blk);}

/* 本文 */
.lead{font-size:var(--fs-lead);color:var(--t1);line-height:1.85;max-width:36em;}
.body{font-size:var(--fs-body);color:var(--t1);max-width:40em;}
.body+.body{margin-top:.9em;}
.muted{color:var(--t2);}
.note{font-size:var(--fs-note);color:var(--t2);line-height:1.7;}
.note li{padding-left:1.1em;text-indent:-1.1em;}
.note li+li{margin-top:.3em;}

/* ── ヘッダー ─────────────────────────── */
.hd{position:sticky;top:0;z-index:60;background:rgba(255,255,255,.92);
  backdrop-filter:saturate(1.1) blur(8px);border-bottom:1px solid var(--line-2);}
.hd__in{max-width:var(--maxw);margin:0 auto;padding:0 var(--gutter);
  height:56px;display:flex;align-items:center;gap:20px;}
.hd__lg{display:flex;align-items:center;gap:8px;font-family:var(--mr);
  font-size:15px;font-weight:600;letter-spacing:.06em;color:var(--t1);white-space:nowrap;}
.hd__nav{display:flex;gap:18px;margin-left:8px;}
.hd__nav a{font-size:var(--fs-cap);color:var(--t1);padding:4px 0;
  border-bottom:2px solid transparent;transition:color .2s,border-color .2s;}
.hd__nav a:hover{color:var(--o);border-color:var(--o);}
.hd__right{margin-left:auto;display:flex;align-items:center;gap:14px;}
.hd__tel{text-align:right;line-height:1.3;display:none;}
.hd__tel b{font-family:var(--en);font-size:13px;color:var(--o);letter-spacing:.02em;}
.hd__tel span{display:block;font-size:9px;color:var(--t2);}
.hd__line{display:inline-flex;align-items:center;gap:6px;background:var(--line-g);
  color:#fff;font-size:var(--fs-cap);font-weight:700;padding:8px 14px;border-radius:980px;
  transition:background .2s;white-space:nowrap;}
.hd__line:hover{background:var(--line-g-h);}
.hd__line svg{width:14px;height:14px;}

/* ハンバーガー */
.hb{display:none;width:40px;height:40px;position:relative;margin-left:4px;}
.hb span{position:absolute;left:9px;right:9px;height:1.6px;background:var(--t1);
  transition:transform .25s,opacity .2s;}
.hb span:nth-child(1){top:14px;} .hb span:nth-child(2){top:19px;} .hb span:nth-child(3){top:24px;}
.hb.open span:nth-child(1){transform:translateY(5px) rotate(45deg);}
.hb.open span:nth-child(2){opacity:0;}
.hb.open span:nth-child(3){transform:translateY(-5px) rotate(-45deg);}

/* ドロワー */
.drw{position:fixed;inset:56px 0 0 auto;width:min(80vw,300px);background:#fff;
  border-left:1px solid var(--line);transform:translateX(100%);transition:transform .3s cubic-bezier(.4,0,.2,1);
  z-index:55;padding:16px 22px;overflow-y:auto;box-shadow:var(--sh-2);}
.drw.open{transform:none;}
.drw a{display:block;font-size:var(--fs-body);padding:12px 0;border-bottom:1px solid var(--line-2);}
.drw a:last-child{border:none;}
.drw__line{margin-top:14px;background:var(--line-g);color:#fff;text-align:center;
  border-radius:980px;font-weight:700;padding:12px;}
.drw__line:hover{background:var(--line-g-h);}
.drw-back{position:fixed;inset:0;background:rgba(20,30,40,.3);opacity:0;visibility:hidden;
  transition:opacity .3s;z-index:54;}
.drw-back.open{opacity:1;visibility:visible;}

/* ── 見出し（セクション） ───────────────── */
.sh{margin-bottom:var(--blk);}
.sh__en{font-family:var(--en);font-size:var(--fs-cap);font-weight:500;letter-spacing:.16em;
  color:var(--o);text-transform:uppercase;display:flex;align-items:center;gap:9px;margin-bottom:8px;}
.sh__en::before{content:"";width:20px;height:1px;background:currentColor;opacity:.6;}
.sh h2{font-size:var(--fs-h2);font-weight:600;color:var(--t1);}
.sh p{margin-top:10px;font-size:var(--fs-body);color:var(--t2);max-width:40em;}
.sh.mid{text-align:center;}
.sh.mid .sh__en{justify-content:center;}
.sh.mid p{margin-left:auto;margin-right:auto;}

/* ── 詳細ページ・ヒーロー ──────────────── */
.dt-hero{position:relative;isolation:isolate;overflow:hidden;
  padding-top:calc(56px + 5vw);padding-bottom:clamp(28px,4vw,44px);}
.dt-hero::before{content:"";position:absolute;inset:0;z-index:-2;
  background:linear-gradient(180deg,var(--o-t) 0%,var(--o-t2) 44%,transparent 100%);}
.dt-hero::after{content:"";position:absolute;inset:0;z-index:-1;
  background-image:
    linear-gradient(to right,rgba(22,94,131,.04) 1px,transparent 1px),
    linear-gradient(to bottom,rgba(22,94,131,.04) 1px,transparent 1px);
  background-size:24px 24px;
  -webkit-mask-image:linear-gradient(180deg,#000,transparent 88%);
          mask-image:linear-gradient(180deg,#000,transparent 88%);}
.dt-hero .wrap{position:relative;}
.dt-hero__seal{position:absolute;top:8%;right:-14px;width:clamp(96px,14vw,150px);
  height:clamp(96px,14vw,150px);border-radius:50%;border:1px solid rgba(22,94,131,.14);
  box-shadow:inset 0 0 0 6px rgba(22,94,131,.03);pointer-events:none;z-index:0;}
.back-link{display:inline-flex;align-items:center;gap:6px;font-size:var(--fs-cap);
  color:var(--t2);margin-bottom:14px;transition:color .2s;}
.back-link:hover{color:var(--o);}
.back-link svg{width:13px;height:13px;}
.dt-hero .sh h2{font-size:var(--fs-h2);}
.dt-hero .lead{margin-top:14px;}
.dt-hero.mid .lead{margin-left:auto;margin-right:auto;}

/* ── カード共通 ──────────────────────── */
.grid{display:grid;gap:14px;}
.g2{grid-template-columns:repeat(2,1fr);}
.g3{grid-template-columns:repeat(3,1fr);}
.g4{grid-template-columns:repeat(4,1fr);}
.card{background:var(--surface);border:1px solid var(--line);border-radius:var(--r);
  padding:18px 20px;transition:transform .3s cubic-bezier(.19,1,.22,1),box-shadow .3s,border-color .3s;}
.card:hover{transform:translateY(-3px);box-shadow:var(--sh);border-color:var(--o-t);}
.card h3{font-size:var(--fs-h3);font-weight:600;color:var(--t1);margin-bottom:8px;}
.card p{font-size:var(--fs-body);color:var(--t2);}
.card__cap{font-family:var(--en);font-size:var(--fs-note);letter-spacing:.14em;
  color:var(--o);text-transform:uppercase;margin-bottom:6px;}

/* 番号つきカード（本当に手順の時だけ） */
.step__no{font-family:var(--en);font-size:20px;font-weight:500;color:var(--o);line-height:1;}

/* 統計 */
.stat{background:var(--surface);border:1px solid var(--line);border-radius:var(--r);padding:18px 20px;}
.stat__n{font-family:var(--en);font-weight:600;color:var(--o);font-size:24px;line-height:1.1;}
.stat__n small{font-size:12px;font-weight:500;margin-left:2px;}
.stat__l{font-size:var(--fs-body);color:var(--t1);margin-top:6px;font-weight:500;}
.stat__d{font-size:var(--fs-body);color:var(--t2);margin-top:6px;}
.stat__src{font-size:var(--fs-note);color:var(--t2);margin-top:10px;
  border-top:1px solid var(--line-2);padding-top:8px;}

/* 写真プレースホルダ */
.ph{position:relative;background:repeating-linear-gradient(135deg,#f0f0f2 0 10px,#eaeaee 10px 20px);
  border-radius:var(--r-s);overflow:hidden;aspect-ratio:16/10;display:grid;place-items:center;}
.ph span{font-size:var(--fs-note);color:#9a9aa0;padding:10px 14px;text-align:center;line-height:1.6;}
.ph img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;}
.ph:has(img) span{display:none;}

/* ボタン */
.btn{display:inline-flex;align-items:center;justify-content:center;gap:7px;
  font-size:var(--fs-body);font-weight:700;padding:12px 22px;border-radius:980px;
  transition:background .2s,transform .2s,box-shadow .2s;line-height:1;min-height:44px;}
.btn svg{width:16px;height:16px;}
.btn--line{background:var(--line-g);color:#fff;}
.btn--line:hover{background:var(--line-g-h);}
.btn--o{background:var(--o);color:#fff;}
.btn--o:hover{background:var(--o-h);}
.btn--ghost{background:#fff;color:var(--o);border:1px solid var(--o);}
.btn--ghost:hover{background:var(--o-t);}

/* CTA帯 */
.cta{background:var(--o);color:#fff;text-align:center;}
.cta h2{color:#fff;font-size:var(--fs-h2);}
.cta p{color:rgba(255,255,255,.86);font-size:var(--fs-body);margin-top:10px;}
.cta .btn--line{margin-top:18px;}

/* 区切り線 */
.hr{height:1px;background:var(--line-2);border:0;margin:0;}

/* 表（特商法・料金など） */
.tbl{width:100%;border-collapse:collapse;font-size:var(--fs-body);}
.tbl th,.tbl td{border:1px solid var(--line-2);padding:10px 14px;text-align:left;vertical-align:top;}
.tbl th{background:var(--cream);font-weight:600;white-space:nowrap;width:34%;color:var(--t1);}
.tbl td{color:var(--t1);}

/* 定義リスト（プライバシー等） */
.doc h3{font-size:var(--fs-h3);color:var(--o);margin:var(--blk) 0 8px;}
.doc p{font-size:var(--fs-body);color:var(--t1);margin-bottom:.6em;}
.doc ul{margin:.4em 0 .8em;}
.doc li{font-size:var(--fs-body);color:var(--t1);padding-left:1.1em;position:relative;margin-bottom:.3em;}
.doc li::before{content:"・";position:absolute;left:0;color:var(--o);}

/* ── フッター ──────────────────────── */
.ft{background:#20242A;color:#C9CCD1;padding:40px 0 28px;font-size:var(--fs-body);}
.ft__lg{display:flex;align-items:center;gap:8px;font-family:var(--mr);font-size:15px;
  color:#fff;margin-bottom:12px;}
.ft__grid{display:grid;grid-template-columns:1.4fr 1fr 1fr 1fr;gap:24px;margin-top:8px;}
.ft__grid h4{font-size:var(--fs-cap);color:#fff;font-weight:600;margin-bottom:10px;letter-spacing:.04em;}
.ft__grid a{display:block;color:#C9CCD1;font-size:var(--fs-body);padding:5px 0;transition:color .2s;}
.ft__grid a:hover{color:#fff;}
.ft__info{color:#9CA0A6;font-size:var(--fs-note);line-height:1.9;}
.ft__cp{margin-top:24px;padding-top:16px;border-top:1px solid #33373E;color:#8A8E94;font-size:var(--fs-note);}

/* ── 追従CTA（モバイル） ─────────────── */
.spbar{position:fixed;left:0;right:0;bottom:0;z-index:50;display:none;
  background:rgba(255,255,255,.96);border-top:1px solid var(--line);
  padding:8px 12px calc(8px + env(safe-area-inset-bottom));gap:8px;}
.spbar a{flex:1;display:flex;align-items:center;justify-content:center;gap:6px;
  min-height:44px;border-radius:980px;font-size:var(--fs-body);font-weight:700;}
.spbar .l{background:var(--line-g);color:#fff;}
.spbar .t{background:#fff;color:var(--o);border:1px solid var(--o);}

/* ── スクロール出現（軽め） ──────────── */
.js .rv{opacity:0;transform:translateY(12px);transition:opacity .6s ease,transform .6s cubic-bezier(.19,1,.22,1);}
.js .rv.show{opacity:1;transform:none;}
.rv.d1{transition-delay:.06s;} .rv.d2{transition-delay:.12s;} .rv.d3{transition-delay:.18s;}

/* ── レスポンシブ ─────────────────── */
@media(max-width:900px){
  .ft__grid{grid-template-columns:1fr 1fr;gap:18px 24px;}
}
@media(max-width:768px){
  .hd__nav,.hd__tel{display:none;}
  .hb{display:block;}
  .hd__right{margin-left:auto;}
  .spbar{display:flex;}
  body{padding-bottom:0;}
  .g3,.g4{grid-template-columns:repeat(2,1fr);}
  .dt-hero__seal{opacity:.8;}
}
@media(max-width:560px){
  .g2,.g3,.g4{grid-template-columns:1fr;}
  .tbl th{width:38%;white-space:normal;}
  .dt-hero__seal{width:80px;height:80px;right:-16px;top:6%;}
  .ft__grid{grid-template-columns:1fr 1fr;}
}
@media(max-width:380px){
  :root{--gutter:14px;}
  .ft__grid{grid-template-columns:1fr;}
}
@media(prefers-reduced-motion:reduce){
  html{scroll-behavior:auto;}
  .js .rv{opacity:1;transform:none;transition:none;}
  .card:hover{transform:none;}
}

/* FAQ (details/summary) */
.faq details{border-bottom:1px solid var(--line-2);}
.faq summary{list-style:none;cursor:pointer;font-size:var(--fs-h3);font-weight:600;color:var(--t1);
  padding:16px 28px 16px 0;position:relative;font-family:var(--mr);}
.faq summary::-webkit-details-marker{display:none;}
.faq summary::after{content:"";position:absolute;right:4px;top:50%;width:9px;height:9px;
  border-right:1.5px solid var(--o);border-bottom:1.5px solid var(--o);
  transform:translateY(-70%) rotate(45deg);transition:transform .25s;}
.faq details[open] summary::after{transform:translateY(-30%) rotate(225deg);}
.faq details p{padding:0 0 16px;color:var(--t2);}


/* ================================================================
   最終調整：読みやすさと操作性を優先
   ================================================================ */
body{font-size:var(--fs-body);}
.hd__nav a,.drw a{font-size:14px;font-weight:600;}
.hd__tel span{font-size:12px;}
.sh{margin-bottom:22px;}
.sh__en{font-family:var(--gt);font-size:13px;font-weight:700;color:var(--o);letter-spacing:.04em;}
.sh h2{font-size:var(--fs-h2);font-weight:700;line-height:1.45;letter-spacing:.02em;}
.sh p:not(.sh__en){font-size:15px;line-height:1.8;max-width:44em;}
.lead{font-size:var(--fs-lead);line-height:1.9;max-width:42em;}
.body{font-size:var(--fs-body);line-height:1.9;max-width:46em;}
.card{padding:24px;border-radius:var(--r);}
.card h3{font-size:var(--fs-h3);font-weight:700;line-height:1.55;margin-bottom:8px;}
.card p,.card li,.faq p,.faq summary{font-size:15px;line-height:1.85;}
.card__cap{font-size:13px;font-weight:700;letter-spacing:.02em;}
.stat__n{font-size:34px;font-weight:700;line-height:1.25;}
.stat__l{font-size:16px;font-weight:700;margin-top:10px;}
.stat__d{font-size:15px;line-height:1.85;}
.btn{min-height:48px;padding:13px 18px;font-size:15px;font-weight:700;border-radius:999px;}
.note{font-size:12px;line-height:1.8;}
.back-link{font-size:14px;font-weight:600;}
.ftr{font-size:13px;}
.spbar a{min-height:50px;font-size:14px;font-weight:700;}
@media (max-width:720px){
  :root{--fs-body:16px;--fs-lead:17px;--fs-h3:20px;--fs-h2:24px;}
  .wrap,.narrow{padding-left:18px;padding-right:18px;}
  .sec{padding-top:48px;padding-bottom:48px;}
  .sh h2{font-size:24px;}
  .card{padding:20px;}
  .btn{width:100%;justify-content:center;}
}


/* ================================================================
   v3 最終可読性調整
   目的：おしゃれさよりも、何のページか・何をすればよいかが一読で分かることを優先
   ================================================================ */
:root{
  --fs-note:13px;
  --fs-cap:13px;
  --fs-body:16px;
  --fs-lead:17px;
  --fs-h3:20px;
  --fs-h2:28px;
  --sec-y:clamp(52px,7vw,88px);
  --blk:clamp(24px,4vw,40px);
  --r:16px;
  --r-s:12px;
}
body{font-size:var(--fs-body);line-height:1.9;letter-spacing:.015em;background:#fff;color:#151515;}
h1{font-size:clamp(28px,5.8vw,46px)!important;font-weight:700!important;line-height:1.45!important;letter-spacing:.02em!important;}
h2{font-size:clamp(24px,4.6vw,36px)!important;font-weight:700!important;line-height:1.45!important;letter-spacing:.02em!important;}
h3{font-size:clamp(18px,3.2vw,24px)!important;font-weight:700!important;line-height:1.55!important;}
p,li,td,th,summary{font-size:16px;}
.note,.note li{font-size:13px;line-height:1.75;}
.lead{font-size:clamp(17px,2.4vw,20px);line-height:1.9;max-width:42em;color:#222;}
.body{font-size:16px;line-height:1.95;max-width:44em;color:#222;}
.hd__nav a,.drw a{font-size:15px;font-weight:700;}
.hd__tel span{font-size:12px;}
.btn{min-height:56px;padding:15px 24px;font-size:16px;font-weight:700;border-radius:999px;box-shadow:0 6px 16px rgba(0,0,0,.08);}
.card{padding:clamp(22px,3vw,32px);border-radius:16px;border:1px solid #d6d6d6;background:#fff;box-shadow:0 6px 20px rgba(15,40,60,.06);}
.card p,.card li{font-size:15px;line-height:1.85;}
.card__cap{font-size:13px;font-weight:700;color:#165E83;letter-spacing:.02em;}
.sh{margin-bottom:24px;}
.sh__en{font-family:var(--gt);font-size:14px;font-weight:700;color:#165E83;letter-spacing:.08em;margin-bottom:8px;}
.sh p:not(.sh__en){font-size:16px;line-height:1.9;max-width:48em;color:#333;margin-top:10px;}
.dt-hero{padding:clamp(44px,7vw,84px) 0!important;background:linear-gradient(180deg,#f3f7f9 0%,#fff 100%);border-bottom:1px solid #e6e6ea;}
.dt-hero .wrap{max-width:980px!important;}
.back-link{display:inline-flex;align-items:center;gap:8px;font-size:15px;font-weight:700;color:#165E83;text-decoration:underline;text-underline-offset:4px;}
.page-intro{margin-top:24px;padding:22px 24px;border:2px solid #165E83;border-radius:16px;background:#fff;box-shadow:0 8px 24px rgba(22,94,131,.08);}
.page-intro__label{font-size:14px;font-weight:700;color:#165E83;margin-bottom:8px;}
.page-intro p{font-size:16px;line-height:1.85;color:#222;}
.page-intro ul{margin-top:10px;display:grid;gap:6px;}
.page-intro li{list-style:none;position:relative;padding-left:1.25em;font-size:15px;line-height:1.7;}
.page-intro li:before{content:'・';position:absolute;left:0;color:#165E83;font-weight:700;}
.photo-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;margin:24px 0 0;}
.photo-grid--three{grid-template-columns:repeat(3,minmax(0,1fr));}
.photo-shot{position:relative;min-height:clamp(180px,28vw,280px);border-radius:18px;overflow:hidden;border:1px solid #d9dfe3;background:linear-gradient(135deg,#e9f1f5 0%,#f7f7f7 55%,#fff 100%);box-shadow:0 8px 24px rgba(15,40,60,.08);display:flex;align-items:flex-end;}
.photo-shot:before{content:'写真';position:absolute;top:14px;left:14px;background:#165E83;color:#fff;font-size:13px;font-weight:700;border-radius:999px;padding:4px 12px;}
.photo-shot span{display:block;width:100%;padding:42px 16px 16px;font-size:14px;line-height:1.6;color:#333;background:linear-gradient(180deg,rgba(255,255,255,0),rgba(255,255,255,.92));}
.section-guide{margin:18px 0 0;padding:14px 18px;border-left:5px solid #165E83;background:#f3f7f9;border-radius:10px;font-size:15px;line-height:1.75;}
.bottom-guide{padding:clamp(40px,6vw,64px) 0;background:#f6f6f8;border-top:1px solid #e2e2e6;}
.bottom-guide__box{display:grid;grid-template-columns:1.2fr 1fr;gap:24px;align-items:start;background:#fff;border:2px solid #165E83;border-radius:18px;padding:clamp(24px,4vw,40px);box-shadow:0 10px 28px rgba(22,94,131,.1);}
.bottom-guide h2{font-size:clamp(22px,3.8vw,30px)!important;margin-bottom:10px;}
.bottom-actions{display:flex;flex-wrap:wrap;gap:12px;margin-top:18px;}
.bottom-links{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;}
.bottom-links a{display:block;padding:12px 14px;border:1px solid #d6d6d6;border-radius:12px;background:#fff;font-size:15px;font-weight:700;color:#165E83;}
.tbl th,.tbl td{font-size:15px;line-height:1.75;padding:15px;vertical-align:top;}
.faq summary{font-size:16px;font-weight:700;padding:18px 0;}
.ft a,.ft__info,.ft__cp{font-size:14px;line-height:1.8;}
.spbar a{font-size:15px;font-weight:700;min-height:54px;}
@media (max-width:720px){
  :root{--fs-body:16px;--fs-lead:17px;--fs-h3:19px;--fs-h2:26px;}
  .wrap,.narrow{padding-left:18px;padding-right:18px;}
  .photo-grid,.photo-grid--three{grid-template-columns:1fr;}
  .photo-shot{min-height:210px;}
  .bottom-guide__box{grid-template-columns:1fr;}
  .bottom-links{grid-template-columns:1fr;}
  .grid.g4,.grid.g3,.grid.g2{grid-template-columns:1fr!important;}
  .card{padding:22px 20px;}
  .hd__tel{display:none;}
}


/* v3 フォームの見やすさ */
.contact-form{display:grid;gap:16px;}
.contact-form label{display:grid;gap:7px;font-size:15px;font-weight:700;color:#222;}
.contact-form input,.contact-form textarea{width:100%;border:1px solid #cfcfd4;border-radius:12px;padding:14px 15px;font:inherit;font-size:16px;background:#fff;}
.contact-form textarea{resize:vertical;min-height:160px;}
.contact-form input:focus,.contact-form textarea:focus{outline:2px solid #165E83;outline-offset:2px;border-color:#165E83;}


/* ================================================================
   v4 導線・事例ページ強化
   JSONパーツ辞書／医療サイトDBを参考に、分割ヒーロー、状況フィルター、
   写真帯、追従ナビ、進捗表示、ページトップ導線を追加。
   ================================================================ */
.hd.is-compact{box-shadow:0 10px 24px rgba(15,40,60,.08);background:rgba(255,255,255,.97);}
.hd__nav{gap:12px;}
.hd__nav a{white-space:nowrap;}
.progress-bar{position:fixed;left:0;top:0;height:3px;width:0;background:var(--o);z-index:100;transition:width .08s linear;}
.case-hero{position:relative;padding:clamp(48px,8vw,96px) 0 44px;background:linear-gradient(135deg,#f3f7f9 0%,#fff 52%,#eef5f8 100%);overflow:hidden;border-bottom:1px solid #dde7ec;}
.case-hero:before{content:"";position:absolute;inset:0;background-image:linear-gradient(to right,rgba(22,94,131,.06) 1px,transparent 1px),linear-gradient(to bottom,rgba(22,94,131,.06) 1px,transparent 1px);background-size:34px 34px;mask-image:linear-gradient(180deg,#000,transparent 86%);pointer-events:none;}
.case-hero__grid{position:relative;display:grid;grid-template-columns:minmax(0,1.05fr) minmax(320px,.95fr);gap:clamp(28px,5vw,58px);align-items:center;}
.case-kicker{display:inline-flex;align-items:center;gap:10px;margin-bottom:12px;font-weight:700;color:var(--o);font-size:15px;letter-spacing:.04em;}
.case-kicker:before{content:"";width:34px;height:2px;background:var(--o);}
.case-hero h1{margin-bottom:18px;}
.case-hero__actions{display:flex;gap:12px;flex-wrap:wrap;margin-top:24px;}
.case-hero__media{display:grid;gap:14px;}
.case-main-photo,.case-mini-photo,.scene-card__photo,.consult-panel__photo{position:relative;overflow:hidden;border-radius:22px;background:linear-gradient(135deg,#e7eff3,#fff);border:1px solid #d5e0e6;box-shadow:0 18px 38px rgba(15,40,60,.12);}
.case-main-photo{min-height:390px;display:flex;align-items:flex-end;}
.case-mini-stack{display:grid;grid-template-columns:1fr 1fr;gap:14px;}
.case-mini-photo{min-height:140px;display:flex;align-items:flex-end;}
.case-main-photo:before,.case-mini-photo:before,.scene-card__photo:before,.consult-panel__photo:before{content:"写真";position:absolute;top:14px;left:14px;background:var(--o);color:#fff;font-weight:700;border-radius:999px;padding:4px 12px;font-size:13px;z-index:2;}
.case-main-photo span,.case-mini-photo span,.scene-card__photo span,.consult-panel__photo span{display:block;width:100%;padding:52px 18px 18px;font-size:14px;line-height:1.65;color:#333;background:linear-gradient(180deg,rgba(255,255,255,0),rgba(255,255,255,.94));position:relative;z-index:1;}
.case-main-photo img,.case-mini-photo img,.scene-card__photo img,.consult-panel__photo img,.photo-shot img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;}
.case-main-photo:has(img) span,.case-mini-photo:has(img) span,.scene-card__photo:has(img) span,.consult-panel__photo:has(img) span,.photo-shot:has(img) span{display:none;}
.case-local-nav{position:sticky;top:56px;z-index:45;background:rgba(255,255,255,.94);backdrop-filter:blur(10px);border-bottom:1px solid #dfe6ea;box-shadow:0 6px 18px rgba(15,40,60,.04);}
.case-local-nav__inner{display:flex;gap:8px;overflow-x:auto;padding-top:10px;padding-bottom:10px;scrollbar-width:none;}
.case-local-nav__inner a{flex:0 0 auto;border:1px solid #d2dce2;background:#fff;border-radius:999px;padding:9px 14px;font-size:14px;font-weight:700;color:#165E83;transition:background .2s,color .2s,border-color .2s;}
.case-local-nav__inner a.is-active,.case-local-nav__inner a:hover{background:#165E83;color:#fff;border-color:#165E83;}
.case-filter{display:flex;flex-wrap:wrap;gap:10px;margin:0 0 22px;}
.case-filter__btn{border:1px solid #cdd9df;border-radius:999px;background:#fff;padding:10px 16px;font-size:15px;font-weight:700;color:#165E83;transition:.2s;}
.case-filter__btn:hover,.case-filter__btn.is-active{background:#165E83;color:#fff;border-color:#165E83;box-shadow:0 8px 18px rgba(22,94,131,.18);}
.case-finder-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px;}
.case-finder-card{display:grid;gap:8px;min-height:178px;padding:20px;border:1px solid #d7e0e5;border-radius:18px;background:#fff;box-shadow:0 8px 22px rgba(15,40,60,.06);transition:transform .22s,box-shadow .22s,border-color .22s;}
.case-finder-card:hover{transform:translateY(-4px);box-shadow:0 16px 30px rgba(15,40,60,.13);border-color:#165E83;}
.case-finder-card span{font-size:13px;font-weight:700;color:#165E83;}
.case-finder-card strong{font-size:18px;line-height:1.5;color:#151515;}
.case-finder-card em{font-style:normal;font-size:14px;line-height:1.65;color:#555;}
.case-finder-card.is-hidden{display:none;}
.scene-card{display:grid;grid-template-columns:minmax(300px,.9fr) minmax(0,1.1fr);gap:clamp(22px,4vw,42px);align-items:stretch;margin-top:28px;padding:clamp(18px,3vw,28px);background:#fff;border:1px solid #dce4e8;border-radius:26px;box-shadow:0 12px 32px rgba(15,40,60,.08);}
.scene-card--reverse{grid-template-columns:minmax(0,1.1fr) minmax(300px,.9fr);}
.scene-card--reverse .scene-card__photo{order:2;}
.scene-card__photo{min-height:360px;display:flex;align-items:flex-end;}
.scene-card__body{padding:4px 0;display:flex;flex-direction:column;justify-content:center;}
.scene-card__label{width:max-content;background:#eaf1f5;color:#165E83;border-radius:999px;padding:5px 12px;font-size:13px;font-weight:700;margin-bottom:12px;}
.scene-card__body h3{margin-bottom:12px;}
.scene-card__body p{font-size:16px;line-height:1.9;color:#222;}
.scene-points{display:grid;gap:10px;margin:18px 0;}
.scene-points div{display:grid;grid-template-columns:120px 1fr;gap:12px;padding:12px 0;border-top:1px solid #e4e8eb;}
.scene-points dt{font-weight:700;color:#165E83;font-size:15px;}
.scene-points dd{font-size:15px;line-height:1.75;color:#333;margin:0;}
.scene-card__links{display:flex;flex-wrap:wrap;gap:9px;margin-top:4px;}
.scene-card__links a{display:inline-flex;align-items:center;gap:5px;border:1px solid #cfdbe1;border-radius:999px;padding:8px 12px;font-size:14px;font-weight:700;color:#165E83;background:#fff;}
.scene-card__links a:after{content:"→";display:inline-block;transition:transform .2s;}
.scene-card__links a:hover:after{transform:translateX(3px);}
.case-photo-band{padding:42px 0;background:#f3f7f9;border-top:1px solid #e2e8ec;border-bottom:1px solid #e2e8ec;overflow:hidden;}
.case-marquee{overflow:hidden;margin-bottom:22px;}
.case-marquee__track{display:flex;width:max-content;gap:18px;white-space:nowrap;animation:caseMarquee 44s linear infinite;}
.case-marquee__track span{font-size:clamp(28px,5vw,56px);font-family:var(--mr);font-weight:700;color:rgba(22,94,131,.18);}
@keyframes caseMarquee{to{transform:translateX(-50%);}}
.photo-grid--four{grid-template-columns:repeat(4,minmax(0,1fr));}
.matrix-wrap{overflow-x:auto;background:#fff;border-radius:18px;border:1px solid #d8e2e7;box-shadow:0 10px 28px rgba(15,40,60,.08);}
.case-matrix{width:100%;min-width:860px;border-collapse:separate;border-spacing:0;}
.case-matrix th,.case-matrix td{padding:16px;border-bottom:1px solid #e1e7eb;text-align:left;vertical-align:top;font-size:15px;line-height:1.7;}
.case-matrix th{background:#165E83;color:#fff;font-weight:700;position:sticky;top:0;}
.case-matrix tr:last-child td{border-bottom:0;}
.case-matrix td:first-child{font-weight:700;color:#151515;}
.case-matrix a{color:#165E83;font-weight:700;text-decoration:underline;text-underline-offset:4px;}
.notice-flow{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px;counter-reset:notice;}
.notice-card{position:relative;background:#fff;border:1px solid #d8e2e7;border-radius:18px;padding:22px;box-shadow:0 8px 22px rgba(15,40,60,.06);}
.notice-card:before{counter-increment:notice;content:counter(notice);display:grid;place-items:center;width:34px;height:34px;border-radius:50%;background:#165E83;color:#fff;font-weight:700;margin-bottom:12px;}
.notice-card span{display:inline-block;margin-bottom:6px;color:#165E83;font-size:13px;font-weight:700;}
.notice-card h3{font-size:18px!important;margin-bottom:8px;}
.notice-card p{font-size:15px;line-height:1.75;color:#444;}
.case-compare{display:grid;grid-template-columns:1fr 1fr;gap:16px;margin-top:24px;}
.case-compare>div{padding:24px;border-radius:18px;border:1px solid #d8e2e7;background:#fff;}
.case-compare>div:nth-child(2){background:#f3f7f9;border-color:#165E83;}
.consult-panel{display:grid;grid-template-columns:minmax(0,1.1fr) minmax(280px,.9fr);gap:28px;align-items:center;background:#fff;border:2px solid #165E83;border-radius:26px;padding:clamp(24px,5vw,48px);box-shadow:0 18px 40px rgba(22,94,131,.13);}
.consult-panel p{font-size:16px;line-height:1.9;color:#222;}
.consult-list{display:grid;gap:8px;margin:18px 0 0;}
.consult-list li{position:relative;padding-left:1.4em;font-size:15px;line-height:1.75;}
.consult-list li:before{content:"✓";position:absolute;left:0;color:#165E83;font-weight:700;}
.consult-panel__photo{min-height:330px;display:flex;align-items:flex-end;}
.page-top-btn{position:fixed;right:18px;bottom:92px;z-index:70;width:54px;height:54px;border-radius:50%;background:#165E83;color:#fff;display:grid;place-items:center;box-shadow:0 10px 24px rgba(0,0,0,.18);font-weight:700;opacity:0;visibility:hidden;transform:translateY(12px);transition:.25s;}
.page-top-btn.is-visible{opacity:1;visibility:visible;transform:none;}
@media (max-width:980px){
  .hd__nav{display:none;}.hb{display:block;}
  .case-hero__grid,.scene-card,.scene-card--reverse,.consult-panel{grid-template-columns:1fr;}
  .scene-card--reverse .scene-card__photo{order:0;}
  .case-finder-grid{grid-template-columns:repeat(2,minmax(0,1fr));}
  .notice-flow,.photo-grid--four{grid-template-columns:repeat(2,minmax(0,1fr));}
}
@media (max-width:640px){
  .case-hero{padding-top:34px;}.case-main-photo{min-height:280px;}.case-mini-stack{grid-template-columns:1fr;}.case-mini-photo{min-height:120px;}
  .case-finder-grid,.notice-flow,.case-compare,.photo-grid--four{grid-template-columns:1fr;}
  .scene-card{padding:16px;border-radius:20px;}.scene-card__photo{min-height:250px;}.scene-points div{grid-template-columns:1fr;gap:4px;}
  .case-local-nav{top:56px;}.case-local-nav__inner a{font-size:13px;padding:8px 12px;}
  .page-top-btn{bottom:84px;right:14px;width:48px;height:48px;}
}
@media (prefers-reduced-motion: reduce){
  .case-marquee__track,.arrow-attention{animation:none!important;}
  .case-finder-card,.scene-card__links a:after,.page-top-btn{transition:none!important;}
}


/* ================================================================
   v5 全体改善：読みやすさ・導線・控えめな動き
   JSONパーツ辞書 / 医療系デザインDBのパターンを、案件向けに再実装
   ================================================================ */
:root{
  --v5-blue:#165E83;
  --v5-blue-dark:#0F4D6A;
  --v5-blue-soft:#EAF3F7;
  --v5-ink:#1C252B;
  --v5-muted:#66737C;
  --v5-border:#DCE5EA;
  --v5-warm:#FFF8F3;
  --v5-green:#06C755;
  --v5-shadow:0 14px 36px rgba(16,40,60,.12);
}
body.site-v5{font-size:16px;line-height:1.85;color:var(--v5-ink);background:#fff;opacity:0;transition:opacity .35s ease;}
html.is-loaded body.site-v5{opacity:1;}
.site-v5 .hd{box-shadow:0 1px 0 rgba(22,94,131,.08);transition:box-shadow .25s ease, transform .25s ease, background .25s ease;}
.site-v5 .hd.is-compact{background:rgba(255,255,255,.96);box-shadow:0 8px 28px rgba(16,40,60,.10);}
.site-v5 .hd__nav a{position:relative;font-size:14px;font-weight:700;padding:14px 0;border-bottom:0;background:linear-gradient(var(--v5-blue),var(--v5-blue)) no-repeat 0 100%/0 2px;transition:background-size .25s ease,color .25s ease;}
.site-v5 .hd__nav a:hover,.site-v5 .hd__nav a.is-current{background-size:100% 2px;color:var(--v5-blue);}
.site-v5 .hd__line,.site-v5 .btn--line{box-shadow:0 8px 20px rgba(6,199,85,.22);}
.site-v5 .dt-hero,.site-v5 #top{position:relative;overflow:hidden;background:linear-gradient(180deg,#F3F8FB 0%,#fff 78%);}
.site-v5 .dt-hero:before{background:radial-gradient(circle at 18% 20%,rgba(22,94,131,.16),transparent 30%),linear-gradient(180deg,#F3F8FB 0%,#fff 78%);}
.site-v5 h1{font-size:clamp(30px,4vw,46px)!important;line-height:1.45!important;font-weight:700!important;letter-spacing:.02em;}
.site-v5 h2{font-size:clamp(24px,3vw,36px)!important;line-height:1.5!important;font-weight:700!important;letter-spacing:.02em;}
.site-v5 h3{font-size:clamp(18px,2vw,22px)!important;font-weight:700!important;}
.site-v5 .lead{font-size:clamp(17px,2vw,20px);line-height:1.9;color:#25313A;}
.site-v5 .body,.site-v5 .card p,.site-v5 p{font-size:16px;}
.site-v5 .note{font-size:13px;}
.site-v5 .sh__en{text-transform:none;letter-spacing:.04em;font-family:var(--gt);font-weight:700;color:var(--v5-blue);}
.site-v5 .sh__en::before{width:28px;height:3px;border-radius:99px;}
.fx-heading-reveal{position:relative;display:block;color:rgba(28,37,43,.56);overflow:hidden;}
.fx-heading-reveal::after{content:attr(data-text);position:absolute;inset:0 auto auto 0;width:100%;color:var(--v5-ink);clip-path:inset(0 100% 0 0);transition:clip-path .9s cubic-bezier(.19,1,.22,1);}
.fx-heading-reveal.show::after{clip-path:inset(0 0 0 0);}
.fx-line-reveal{position:relative;}
.fx-line-reveal::before{content:"";position:absolute;left:0;right:0;top:0;height:1px;background:var(--v5-border);}
.fx-line-reveal::after{content:"";position:absolute;left:0;top:0;height:2px;width:100%;background:var(--v5-blue);transform:scaleX(0);transform-origin:left;transition:transform 1.2s cubic-bezier(.19,1,.22,1);}
.fx-line-reveal.show::after{transform:scaleX(1);}
.site-v5 .rv{opacity:0;transform:translateY(18px);transition:opacity .7s ease,transform .7s cubic-bezier(.19,1,.22,1);}
.site-v5 .rv.show{opacity:1;transform:none;}
.sec-tight{padding:24px 0;}
.page-path{position:relative;z-index:10;background:linear-gradient(180deg,#fff,rgba(255,255,255,.92));}
.path-panel{display:grid;grid-template-columns:1.05fr 1.45fr;gap:22px;align-items:center;background:#fff;border:1px solid var(--v5-border);border-radius:22px;padding:22px;box-shadow:var(--v5-shadow);}
.path-panel__label{display:inline-block;margin-bottom:8px;padding:4px 10px;border-radius:99px;background:var(--v5-blue-soft);color:var(--v5-blue);font-size:13px;font-weight:700;}
.path-panel strong{display:block;font-size:22px;line-height:1.45;}
.path-panel p{margin-top:6px;color:var(--v5-muted);font-size:15px;}
.path-panel__links{display:flex;flex-wrap:wrap;gap:10px;justify-content:flex-end;}
.path-panel__links a{display:inline-flex;align-items:center;min-height:40px;padding:8px 14px;border-radius:999px;border:1px solid var(--v5-border);background:#fff;color:var(--v5-ink);font-weight:700;font-size:14px;transition:transform .2s ease,background .2s ease,border-color .2s ease;}
.path-panel__links a:hover,.path-panel__links a.is-active{transform:translateY(-2px);background:var(--v5-blue-soft);border-color:rgba(22,94,131,.35);color:var(--v5-blue);}
.deep-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:16px;margin-top:24px;}
.deep-card{display:block;background:#fff;border:1px solid var(--v5-border);border-radius:18px;padding:18px;min-height:165px;transition:transform .25s ease,box-shadow .25s ease,border-color .25s ease;}
.deep-card:hover{transform:translateY(-5px);box-shadow:var(--v5-shadow);border-color:rgba(22,94,131,.35);}
.deep-card span{display:inline-block;color:var(--v5-blue);font-weight:700;font-size:13px;margin-bottom:8px;}
.deep-card strong{display:block;font-size:18px;line-height:1.5;margin-bottom:8px;}
.deep-card p{color:var(--v5-muted);font-size:15px;}
.photo-marquee{overflow:hidden;margin-top:28px;padding:8px 0;}
.photo-marquee__track{display:flex;gap:14px;animation:v5marquee 38s linear infinite;width:max-content;}
.photo-marquee .photo-shot{width:min(56vw,300px);flex:0 0 auto;aspect-ratio:4/3;border-radius:20px;}
@keyframes v5marquee{from{transform:translateX(0)}to{transform:translateX(calc(-50% - 7px))}}
.site-v5 .photo-shot,.site-v5 .ph,.case-main-photo,.case-mini-photo,.scene-card__photo,.scenario-row__photo{background:linear-gradient(135deg,#E8EEF2,#F8FAFB);border:1px solid var(--v5-border);position:relative;overflow:hidden;}
.site-v5 .photo-shot::after,.site-v5 .ph::after,.case-main-photo::after,.scene-card__photo::after,.scenario-row__photo::after{content:"写真を差し替え";position:absolute;right:10px;bottom:10px;background:rgba(255,255,255,.92);color:var(--v5-blue);font-weight:700;font-size:12px;border-radius:99px;padding:3px 9px;border:1px solid rgba(22,94,131,.18);}
.site-v5 .photo-shot:has(img)::after,.site-v5 .ph:has(img)::after,.case-main-photo:has(img)::after,.scene-card__photo:has(img)::after,.scenario-row__photo:has(img)::after{display:none;}
.case-expanded .scenario-stack{display:grid;gap:18px;}
.scenario-row{display:grid;grid-template-columns:1.15fr .85fr;gap:22px;align-items:stretch;background:#fff;border:1px solid var(--v5-border);border-radius:24px;padding:22px;box-shadow:0 8px 24px rgba(16,40,60,.06);}
.scenario-row h3{margin:4px 0 10px;}
.scenario-row span{color:var(--v5-blue);font-weight:700;font-size:13px;}
.scenario-row p{color:#33424B;}
.scenario-row ul{margin-top:12px;display:grid;gap:6px;}
.scenario-row li{list-style:none;padding-left:1.2em;position:relative;color:var(--v5-muted);font-size:15px;}
.scenario-row li::before{content:"・";position:absolute;left:0;color:var(--v5-blue);font-weight:700;}
.scenario-row__photo{border-radius:18px;min-height:230px;display:grid;place-items:center;}
.decision-grid,.toolkit-grid,.estimate-grid,.logic-grid,.example-grid,.prepare-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:16px;}
.decision-card,.toolkit-grid>div,.estimate-grid>article,.logic-grid>div,.example-grid>div,.prepare-grid>div{background:#fff;border:1px solid var(--v5-border);border-radius:18px;padding:18px;box-shadow:0 8px 24px rgba(16,40,60,.05);}
.estimate-grid{grid-template-columns:repeat(3,1fr)}.logic-grid{grid-template-columns:repeat(3,1fr)}
.decision-card span,.estimate-grid span,.logic-grid span{display:inline-block;color:var(--v5-blue);font-size:13px;font-weight:700;margin-bottom:6px;}
.estimate-grid a{display:inline-flex;margin-top:12px;color:var(--v5-blue);font-weight:700;text-decoration:underline;text-underline-offset:4px;}
.day-list{counter-reset:day;display:grid;grid-template-columns:repeat(4,1fr);gap:16px;}
.day-list li{list-style:none;background:#fff;border:1px solid var(--v5-border);border-radius:18px;padding:20px;position:relative;}
.day-list li::before{counter-increment:day;content:counter(day);display:grid;place-items:center;width:34px;height:34px;border-radius:50%;background:var(--v5-blue);color:#fff;font-weight:700;margin-bottom:12px;}
.conversion-panel{background:linear-gradient(135deg,var(--v5-blue-dark),var(--v5-blue));color:#fff;}
.conversion-panel__inner{display:grid;grid-template-columns:1.15fr .85fr;gap:28px;align-items:center;}
.conversion-panel span{display:inline-block;font-weight:700;background:rgba(255,255,255,.12);border:1px solid rgba(255,255,255,.2);border-radius:99px;padding:5px 12px;margin-bottom:12px;}
.conversion-panel h2,.conversion-panel p{color:#fff!important;}
.conversion-panel__actions{display:grid;gap:12px;}
.conversion-panel .btn--ghost{border-color:rgba(255,255,255,.4);color:#fff;background:rgba(255,255,255,.08);}
.arrow-cta{position:relative;overflow:hidden;}
.arrow-cta::after{content:"→";display:inline-block;margin-left:8px;animation:arrow-attention 2.4s infinite;}
@keyframes arrow-attention{0%{opacity:1;transform:translateX(0)}42%{opacity:0;transform:translateX(22px)}46%{opacity:0;transform:translateX(-12px)}100%{opacity:1;transform:translateX(0)}}
.float-journey{position:fixed;left:50%;bottom:18px;transform:translateX(-50%);z-index:70;display:flex;gap:6px;align-items:center;padding:8px;background:rgba(255,255,255,.86);backdrop-filter:blur(12px);border:1px solid rgba(22,94,131,.14);border-radius:999px;box-shadow:var(--v5-shadow);}
.float-journey a{display:inline-flex;align-items:center;justify-content:center;min-height:40px;padding:8px 14px;border-radius:999px;font-size:13px;font-weight:700;white-space:nowrap;}
.float-journey a:last-child{background:var(--v5-green);color:#fff;}
.progress-bar{height:4px;background:linear-gradient(90deg,var(--v5-blue),var(--v5-green));}
.page-top-btn{right:18px;bottom:90px;width:48px;height:48px;border-radius:50%;background:var(--v5-blue);color:#fff;box-shadow:var(--v5-shadow);}
@media (max-width: 900px){
  .path-panel,.scenario-row,.conversion-panel__inner{grid-template-columns:1fr;}
  .path-panel__links{justify-content:flex-start;}
  .deep-grid,.decision-grid,.toolkit-grid,.day-list,.example-grid,.prepare-grid{grid-template-columns:repeat(2,1fr);}
  .estimate-grid,.logic-grid{grid-template-columns:1fr;}
  .float-journey{left:10px;right:10px;bottom:12px;transform:none;justify-content:space-between;overflow-x:auto;border-radius:18px;}
  .float-journey a{min-width:max-content;}
}
@media (max-width: 560px){
  body.site-v5{font-size:16px;}
  .site-v5 h1{font-size:28px!important;}
  .site-v5 h2{font-size:23px!important;}
  .deep-grid,.decision-grid,.toolkit-grid,.day-list,.example-grid,.prepare-grid{grid-template-columns:1fr;}
  .path-panel{padding:16px;border-radius:18px;}
  .scenario-row{padding:16px;border-radius:18px;}
  .scenario-row__photo{min-height:190px;}
  .conversion-panel__actions{grid-template-columns:1fr;}
}
@media (prefers-reduced-motion: reduce){
  body.site-v5,.site-v5 *{animation:none!important;transition:none!important;scroll-behavior:auto!important;}
  .site-v5 .rv{opacity:1!important;transform:none!important;}
}


/* ================================================================
   v6 整理版：白基調・重複削除・余白改善・動きは控えめ
   ================================================================ */
:root{
  --bg:#fff;
  --surface:#fff;
  --cream:#fff;
  --cream-d:#F4F5F6;
  --o-t:#fff;
  --o-t2:#fff;
  --fs-body:15px;
  --fs-lead:16px;
  --fs-h3:18px;
  --fs-h2:26px;
  --sec-y:clamp(72px,8vw,112px);
  --blk:clamp(30px,4vw,48px);
  --gutter:clamp(20px,5vw,44px);
}
html{background:#fff;}
body.site-v5{font-size:15px;line-height:1.9;background:#fff;color:#1D1D1F;opacity:1;}
.band,.band-o,.page-path,.bottom-guide,.case-photo-band{background:#fff!important;}
.sec + .sec{border-top:1px solid #ECEEF1;}
.site-v5 .dt-hero,.site-v5 #top,.dt-hero,.case-hero{background:#fff!important;border-bottom:1px solid #ECEEF1!important;}
.site-v5 .dt-hero:before,.site-v5 .dt-hero::before,.site-v5 #top:before,.dt-hero::before,.dt-hero::after,.case-hero:before{display:none!important;}
.dt-hero__seal{display:none!important;}
.site-v5 h1{font-size:clamp(28px,3.4vw,40px)!important;line-height:1.45!important;letter-spacing:.01em;}
.site-v5 h2{font-size:clamp(22px,2.6vw,30px)!important;line-height:1.55!important;letter-spacing:.01em;}
.site-v5 h3{font-size:clamp(17px,1.8vw,21px)!important;line-height:1.6!important;}
.site-v5 .lead{font-size:clamp(15px,1.6vw,17px)!important;line-height:1.95!important;max-width:42em;color:#30363A;}
.site-v5 .body,.site-v5 .card p,.site-v5 p{font-size:15px;line-height:1.9;}
.sh{margin-bottom:clamp(24px,3vw,36px)!important;}
.sh__en{font-size:13px!important;color:#165E83!important;margin-bottom:10px!important;letter-spacing:.03em!important;}
.sh__en::before{height:2px!important;width:22px!important;}
.card,.decision-card,.toolkit-grid>div,.estimate-grid>article,.logic-grid>div,.example-grid>div,.prepare-grid>div,.scenario-row,.scene-card,.notice-card,.case-compare>div,.stat,.bottom-guide__box{background:#fff!important;border:1px solid #E1E4E8!important;box-shadow:none!important;}
.card:hover,.deep-card:hover,.scenario-row:hover{transform:none!important;box-shadow:none!important;}
.card,.scene-card,.scenario-row{padding:clamp(20px,3vw,32px)!important;}
.photo-grid{gap:clamp(16px,2vw,24px)!important;margin-top:clamp(24px,3vw,36px)!important;}
.photo-grid--three{grid-template-columns:repeat(3,minmax(0,1fr));}
.photo-shot,.ph,.case-main-photo,.case-mini-photo,.scene-card__photo,.scenario-row__photo{background:#F7F8F9!important;border:1px solid #E1E4E8!important;box-shadow:none!important;}
.photo-marquee,.case-marquee,.float-journey,.progress-bar{display:none!important;}
.fx-heading-reveal{color:#1D1D1F!important;}
.fx-heading-reveal::after{display:none!important;}
.fx-line-reveal::before,.fx-line-reveal::after{display:none!important;}
.page-intro,.page-path,.section-guide{display:none!important;}
.bottom-guide{padding:clamp(56px,7vw,88px) 0!important;}
.bottom-guide__box{border-radius:18px!important;padding:clamp(24px,4vw,40px)!important;}
.bottom-links a{background:#fff!important;color:#165E83!important;border:1px solid #D8DDE3!important;}
.conversion-panel{background:#fff!important;color:#1D1D1F!important;border:1px solid #165E83!important;}
.conversion-panel .btn--line,.bottom-actions .btn--line,.hd__line{background:#06C755!important;color:#fff!important;}
.case-local-nav{background:#fff!important;box-shadow:none!important;border-bottom:1px solid #ECEEF1!important;}
.case-local-nav__inner{padding-top:12px!important;padding-bottom:12px!important;}
.case-local-nav a,.case-finder-card,.scene-card__links a{background:#fff!important;border-color:#D8DDE3!important;color:#165E83!important;}
.case-finder-card.is-active,.case-local-nav a.is-active{background:#F7F9FA!important;}
.case-matrix th{background:#F7F8F9!important;color:#1D1D1F!important;border-bottom:1px solid #D8DDE3!important;}
.notice-card:before,.day-list li::before{background:#165E83!important;color:#fff;}
.page-top-btn{background:#fff!important;color:#165E83!important;border:1px solid #D8DDE3!important;box-shadow:0 8px 20px rgba(0,0,0,.08)!important;}
.rv{transition:opacity .45s ease,transform .45s ease!important;}
@media (max-width:980px){
  .photo-grid--three,.photo-grid--four,.deep-grid,.decision-grid,.toolkit-grid,.estimate-grid,.logic-grid,.example-grid,.prepare-grid,.day-list{grid-template-columns:1fr 1fr!important;}
}
@media (max-width:640px){
  :root{--sec-y:64px;--gutter:20px;}
  body.site-v5{font-size:15px;}
  .site-v5 h1{font-size:27px!important;}
  .site-v5 h2{font-size:22px!important;}
  .photo-grid--three,.photo-grid--four,.deep-grid,.decision-grid,.toolkit-grid,.estimate-grid,.logic-grid,.example-grid,.prepare-grid,.day-list{grid-template-columns:1fr!important;}
  .card,.scene-card,.scenario-row{padding:20px!important;}
}

/* ================================================================
   v7 統一デザイン調整
   方針：白基調、余白を広く、改行を自然に、動きは控えめに効かせる
   ================================================================ */
:root{
  --bg:#fff;
  --surface:#fff;
  --cream:#FAFAFB;
  --cream-d:#F3F5F7;
  --line:#E1E5E8;
  --line-2:#EDF0F2;
  --t1:#17191C;
  --t2:#5F6872;
  --o:#165E83;
  --o-h:#0F4967;
  --o-t:#EEF6FA;
  --o-t2:#F8FBFC;
  --line-g:#06C755;
  --line-g-h:#05AD49;
  --fs-note:12px;
  --fs-cap:13px;
  --fs-body:15px;
  --fs-lead:16px;
  --fs-h3:18px;
  --fs-h2:26px;
  --lh-body:1.9;
  --lh-head:1.45;
  --gutter:clamp(22px,5vw,52px);
  --sec-y:clamp(68px,8vw,108px);
  --blk:clamp(26px,4vw,44px);
  --maxw:1180px;
  --r:18px;
  --r-s:14px;
  --sh:0 10px 30px rgba(22,94,131,.08);
  --sh-2:0 18px 42px rgba(22,94,131,.12);
}
html{background:#fff;scroll-padding-top:82px;}
body{
  background:#fff!important;color:var(--t1);font-size:var(--fs-body);line-height:var(--lh-body);
  letter-spacing:.01em;line-break:loose;word-break:normal;overflow-wrap:normal;
  font-feature-settings:"palt" 1;
}
h1,h2,h3,h4,p,li,dt,dd,summary{overflow-wrap:normal;word-break:normal;text-wrap:normal!important;}
h1,h2,h3,h4{line-height:var(--lh-head)!important;letter-spacing:.015em!important;}
h1{font-size:clamp(28px,4.2vw,42px)!important;font-weight:700!important;}
h2{font-size:clamp(22px,3.2vw,32px)!important;font-weight:700!important;}
h3{font-size:clamp(17px,2vw,21px)!important;font-weight:700!important;}
p,li,td,th,summary{font-size:15px;line-height:1.9;}
.wrap{max-width:var(--maxw)!important;padding-left:var(--gutter);padding-right:var(--gutter);}
.narrow{max-width:900px!important;padding-left:var(--gutter);padding-right:var(--gutter);}
.sec{padding:var(--sec-y) 0;}
.band,.band-o{background:#fff!important;border-top:1px solid var(--line-2);border-bottom:1px solid var(--line-2);}
.lead{font-size:var(--fs-lead)!important;line-height:1.95;max-width:54em!important;color:#2B3035;}
.body{font-size:var(--fs-body)!important;line-height:1.95;max-width:58em!important;color:#2B3035;}
.note,.note li{font-size:12px!important;line-height:1.75;color:var(--t2);}
.muted{color:var(--t2);}

/* ヘッダー */
.hd{background:rgba(255,255,255,.9);backdrop-filter:saturate(1.25) blur(14px);border-bottom:1px solid rgba(22,94,131,.1);transition:box-shadow .25s,background .25s;}
.hd.is-compact{box-shadow:0 10px 28px rgba(15,40,60,.08);background:rgba(255,255,255,.96);}
.hd__in{height:66px;gap:18px;}
.hd__lg{font-size:16px;font-weight:700;letter-spacing:.04em;}
.hd__nav{gap:18px;}
.hd__nav a{position:relative;font-size:14px!important;font-weight:700;padding:8px 1px;border:0;color:#2A3036;}
.hd__nav a::after{content:"";position:absolute;left:0;right:0;bottom:3px;height:2px;border-radius:99px;background:var(--o);transform:scaleX(0);transform-origin:left;transition:transform .26s cubic-bezier(.19,1,.22,1);}
.hd__nav a:hover::after,.hd__nav a.is-current::after{transform:scaleX(1);}
.hd__line{min-height:42px;padding:10px 18px;border-radius:999px;box-shadow:0 8px 18px rgba(6,199,85,.18);transition:transform .22s,box-shadow .22s,background .22s;}
.hd__line:hover{transform:translateY(-2px);box-shadow:0 12px 24px rgba(6,199,85,.24);}
.drw{top:66px;border-left:1px solid var(--line-2);box-shadow:-18px 0 40px rgba(15,40,60,.12);}
.drw a{font-size:15px!important;font-weight:700;}

/* 見出し */
.sh{margin-bottom:clamp(26px,4vw,42px);}
.sh__en{font-family:var(--gt)!important;font-size:13px!important;font-weight:800!important;letter-spacing:.06em!important;color:var(--o);text-transform:none!important;margin-bottom:10px;}
.sh__en::before{width:34px;height:2px;border-radius:99px;opacity:1;background:linear-gradient(90deg,var(--o),rgba(22,94,131,.18));}
.sh h2{max-width:28em;}
.sh.mid h2{margin-left:auto;margin-right:auto;}
.sh p:not(.sh__en){font-size:15px!important;line-height:1.9;max-width:60em!important;color:var(--t2);}
.fx-heading-reveal{position:relative;color:var(--t1);}
.fx-heading-reveal::after{content:"";position:absolute;left:0;bottom:-8px;width:0;height:3px;border-radius:99px;background:linear-gradient(90deg,var(--o),rgba(22,94,131,.08));transition:width .9s cubic-bezier(.19,1,.22,1);}
.fx-heading-reveal.show::after{width:min(120px,45%);}

/* 詳細ページの冒頭 */
.dt-hero{padding:clamp(58px,7vw,96px) 0 clamp(42px,5vw,72px)!important;background:#fff!important;border-bottom:1px solid var(--line-2);}
.dt-hero::before{background:radial-gradient(circle at 84% 12%,rgba(22,94,131,.08),transparent 32%),linear-gradient(180deg,#fff 0%,#fff 70%,#FAFBFC 100%)!important;}
.dt-hero::after{opacity:.55;background-size:34px 34px!important;}
.dt-hero .wrap{max-width:1120px!important;}
.dt-hero .lead{margin-top:18px;}
.dt-hero__seal{opacity:.35;}
.back-link{font-size:13px!important;font-weight:800;text-decoration:none!important;color:var(--o);padding:7px 12px;border:1px solid rgba(22,94,131,.18);border-radius:999px;background:#fff;transition:transform .22s,box-shadow .22s,border-color .22s;}
.back-link:hover{transform:translateX(-3px);box-shadow:0 8px 18px rgba(22,94,131,.08);border-color:rgba(22,94,131,.34);}

/* カード */
.grid{gap:clamp(18px,2.4vw,28px);}
.card,.stat,.notice-card,.case-finder-card,.scene-card,.case-compare>div{
  background:#fff!important;border:1px solid var(--line)!important;border-radius:var(--r)!important;
  box-shadow:0 6px 22px rgba(15,40,60,.045)!important;transition:transform .28s cubic-bezier(.19,1,.22,1),box-shadow .28s,border-color .28s,background .28s;
}
.card{padding:clamp(24px,3vw,34px)!important;}
.card:hover,.stat:hover,.notice-card:hover,.case-finder-card:hover{transform:translateY(-5px);box-shadow:0 18px 38px rgba(22,94,131,.12)!important;border-color:rgba(22,94,131,.32)!important;}
.card h3{margin-bottom:10px;color:#161A1D;}
.card p,.card li{font-size:15px!important;line-height:1.9;color:#3F474F;}
.card__cap{display:inline-flex;align-items:center;gap:8px;font-size:12px!important;font-weight:800;color:var(--o);letter-spacing:.03em;text-transform:none!important;margin-bottom:10px;}
.card__cap::before{content:"";width:8px;height:8px;border-radius:50%;background:var(--o);box-shadow:0 0 0 5px rgba(22,94,131,.08);}
.step__no{display:inline-grid;place-items:center;width:38px;height:38px;border-radius:50%;background:var(--o-t);color:var(--o);font-size:15px!important;font-weight:800;}
.stat{padding:clamp(24px,3vw,34px)!important;}
.stat__n{font-size:clamp(28px,4vw,40px)!important;font-weight:800;color:var(--o);}
.stat__l{font-size:15px!important;font-weight:800;color:#1F2428;}
.stat__d{font-size:14px!important;line-height:1.85;color:var(--t2);}

/* ボタン */
.btn{position:relative;overflow:hidden;min-height:50px!important;padding:13px 22px!important;font-size:15px!important;font-weight:800;border-radius:999px!important;box-shadow:none!important;transition:transform .22s cubic-bezier(.19,1,.22,1),box-shadow .22s,background .22s,border-color .22s;}
.btn::after{content:"→";display:inline-block;margin-left:2px;transition:transform .22s cubic-bezier(.19,1,.22,1),opacity .22s;}
.btn:hover{transform:translateY(-2px);box-shadow:0 14px 28px rgba(22,94,131,.13)!important;}
.btn:hover::after{transform:translateX(4px);}
.btn--line{background:linear-gradient(135deg,var(--line-g),var(--line-g-h))!important;color:#fff!important;}
.btn--o{background:linear-gradient(135deg,var(--o),var(--o-h))!important;color:#fff!important;}
.btn--ghost{background:#fff!important;color:var(--o)!important;border:1px solid rgba(22,94,131,.36)!important;}
.btn--ghost:hover{background:var(--o-t2)!important;border-color:var(--o)!important;}

/* 写真 */
.ph,.photo-shot{background:linear-gradient(135deg,#F7F9FA 0%,#fff 48%,#EEF6FA 100%)!important;border:1px solid var(--line)!important;border-radius:var(--r)!important;box-shadow:0 10px 28px rgba(15,40,60,.055);overflow:hidden;transition:transform .3s cubic-bezier(.19,1,.22,1),box-shadow .3s,border-color .3s;}
.ph:hover,.photo-shot:hover{transform:translateY(-4px);box-shadow:0 20px 42px rgba(22,94,131,.12);border-color:rgba(22,94,131,.28)!important;}
.ph::after,.photo-shot::after{content:"";position:absolute;inset:0;background:linear-gradient(120deg,transparent 0%,rgba(255,255,255,.55) 38%,transparent 70%);transform:translateX(-120%);transition:transform .8s cubic-bezier(.19,1,.22,1);pointer-events:none;}
.ph:hover::after,.photo-shot:hover::after{transform:translateX(120%);}
.ph img,.photo-shot img{transition:transform .6s cubic-bezier(.19,1,.22,1);}
.ph:hover img,.photo-shot:hover img{transform:scale(1.035);}
.ph span,.photo-shot span{font-size:13px!important;line-height:1.75;color:#59636D;}
.photo-grid{gap:clamp(18px,2.4vw,28px)!important;margin-top:clamp(24px,3vw,36px)!important;}

/* CTAと下部導線：白ベースで目立たせる */
.cta,.bottom-guide{background:#fff!important;border-top:1px solid var(--line-2);border-bottom:1px solid var(--line-2);color:var(--t1)!important;}
.cta h2,.cta p{color:var(--t1)!important;}
.cta .wrap,.bottom-guide__box,.consult-panel{background:#fff!important;border:1px solid rgba(22,94,131,.22)!important;border-radius:24px!important;box-shadow:0 18px 42px rgba(22,94,131,.09)!important;}
.cta .wrap{padding-top:clamp(28px,4vw,44px);padding-bottom:clamp(28px,4vw,44px);}
.bottom-guide__box,.consult-panel{padding:clamp(28px,4vw,44px)!important;}
.bottom-links a{transition:transform .22s,background .22s,color .22s;border-radius:12px;padding:10px 12px;}
.bottom-links a:hover{transform:translateX(4px);background:var(--o-t2);color:var(--o);}

/* 表・FAQ */
.tbl{border:1px solid var(--line);border-radius:16px;overflow:hidden;border-collapse:separate;border-spacing:0;background:#fff;}
.tbl th,.tbl td{padding:14px 18px;border-color:var(--line-2);font-size:14px;line-height:1.85;}
.tbl th{background:#FAFBFC!important;color:#1A1E22;}
.faq details{background:#fff;border:1px solid var(--line);border-radius:16px;margin-bottom:12px;overflow:hidden;transition:box-shadow .22s,border-color .22s;}
.faq details:hover{border-color:rgba(22,94,131,.28);box-shadow:0 10px 24px rgba(22,94,131,.07);}
.faq summary{padding:18px 44px 18px 22px!important;font-size:16px!important;font-family:var(--gt)!important;}
.faq details p{padding:0 22px 20px!important;font-size:15px!important;line-height:1.9;color:var(--t2);}

/* 出現演出 */
.js .rv{opacity:0;transform:translateY(18px);filter:blur(4px);transition:opacity .7s ease,transform .7s cubic-bezier(.19,1,.22,1),filter .7s ease;}
.js .rv.show{opacity:1;transform:none;filter:none;}
.rv.d1{transition-delay:.08s}.rv.d2{transition-delay:.16s}.rv.d3{transition-delay:.24s}

/* 不要な横流れ演出は停止 */
.photo-marquee,.case-marquee,.float-journey,.progress-bar{display:none!important;}

/* ページ上部へ戻る */
.page-top-btn{right:22px;bottom:22px;width:48px;height:48px;background:#fff;color:var(--o);border:1px solid rgba(22,94,131,.35);box-shadow:0 12px 28px rgba(22,94,131,.14);font-size:13px;transition:opacity .25s,visibility .25s,transform .25s,background .25s,color .25s;}
.page-top-btn:hover{background:var(--o);color:#fff;transform:translateY(-3px);}

@media(max-width:980px){
  .hd__nav,.hd__tel{display:none!important}.hb{display:block!important}
  .wrap{max-width:100%!important;}
  .g3,.g4,.photo-grid--three,.photo-grid--four{grid-template-columns:repeat(2,minmax(0,1fr))!important;}
  .bottom-guide__box,.consult-panel{grid-template-columns:1fr!important;}
}
@media(max-width:720px){
  :root{--gutter:20px;--fs-body:15px;--fs-lead:15.5px;--fs-h3:18px;--fs-h2:24px;--sec-y:56px;}
  html{scroll-padding-top:72px;}
  body{font-size:15px;line-height:1.9;}
  .hd__in{height:60px;}
  .drw{top:60px;}
  h1{font-size:clamp(25px,7vw,34px)!important;line-height:1.42!important;}
  h2{font-size:clamp(21px,6vw,28px)!important;line-height:1.45!important;}
  h3{font-size:18px!important;}
  p,li,td,th,summary{font-size:15px;}
  .lead{font-size:15.5px!important;line-height:1.9;}
  .body{font-size:15px!important;line-height:1.95;}
  .sec{padding:56px 0;}
  .dt-hero{padding:50px 0 42px!important;}
  .grid,.g2,.g3,.g4,.photo-grid,.photo-grid--three,.photo-grid--four{grid-template-columns:1fr!important;}
  .card{padding:22px!important;}
  .btn{width:100%;justify-content:center;}
  .spbar{display:flex;background:rgba(255,255,255,.96);box-shadow:0 -12px 28px rgba(15,40,60,.08);}
  .page-top-btn{bottom:84px;}
  .tbl{display:block;overflow-x:auto;white-space:normal;}
}
@media(max-width:390px){
  :root{--gutter:18px;}
  h1{font-size:24px!important;}
  h2{font-size:22px!important;}
}
@media(prefers-reduced-motion:reduce){
  *,*::before,*::after{animation:none!important;transition:none!important;scroll-behavior:auto!important;}
  .js .rv{opacity:1!important;transform:none!important;filter:none!important;}
}


/* ================================================================
   v8 visual direction: 白基調 + ゴシック + 視覚で伝えるUI
   ================================================================ */
:root{
  --mr:"Noto Sans JP",system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;
  --gt:"Noto Sans JP",system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;
  --en:"Inter","Noto Sans JP",system-ui,sans-serif;
  --bg:#FFFFFF; --surface:#FFFFFF; --cream:#FFFFFF; --cream-d:#F5F7F9;
  --t1:#182028; --t2:#59636D; --o:#165E83; --o-h:#0F4D6D; --o-t:#EAF4F8; --o-t2:#F7FBFD;
  --line:#DDE5EA; --line-2:#EEF2F5; --sec-y:clamp(64px,7vw,104px); --maxw:1180px;
}
html{background:#fff;scroll-padding-top:84px;}
body.site-v8{background:#fff;color:var(--t1);font-family:var(--gt);font-size:14.5px;line-height:1.82;letter-spacing:.015em;word-break:normal;overflow-wrap:break-word;}
body.site-v8 h1,body.site-v8 h2,body.site-v8 h3,body.site-v8 h4{font-family:var(--gt)!important;font-weight:800;letter-spacing:.015em;text-wrap:auto;}
body.site-v8 h1{font-size:clamp(30px,4vw,52px)!important;line-height:1.28!important;max-width:980px;margin-inline:auto;}
body.site-v8 h2{font-size:clamp(24px,3vw,38px)!important;line-height:1.36!important;}
body.site-v8 h3{font-size:clamp(17px,1.5vw,21px)!important;line-height:1.5!important;}
body.site-v8 p,body.site-v8 li{line-height:1.86;}
body.site-v8 .wrap{max-width:min(1180px,100%);}
body.site-v8 .narrow{max-width:860px;}
body.site-v8 .lead{max-width:760px!important;font-size:clamp(15px,1.45vw,17px)!important;line-height:1.9;}
body.site-v8 .body{max-width:760px;font-size:15px!important;}
body.site-v8 .sec{padding:var(--sec-y) 0;}
body.site-v8 .band,body.site-v8 .band-o{background:#fff!important;border-block:1px solid var(--line-2);}
body.site-v8 strong{background:linear-gradient(transparent 62%,rgba(22,94,131,.16) 0);color:#123F59;padding:0 .06em;}

/* header */
body.site-v8 .hd{background:rgba(255,255,255,.94);border-bottom:1px solid var(--line-2);box-shadow:0 4px 18px rgba(20,50,70,.04);}
body.site-v8 .hd__in{height:72px;max-width:1240px;}
body.site-v8 .hd__lg{font-family:var(--gt)!important;font-weight:800;font-size:17px;letter-spacing:.02em;}
body.site-v8 .hd__nav{gap:clamp(14px,1.7vw,24px);}
body.site-v8 .hd__nav a{font-size:14px;font-weight:800;color:#25313A;position:relative;}
body.site-v8 .hd__nav a::after{bottom:-7px;height:3px;border-radius:999px;background:linear-gradient(90deg,var(--o),#75AFC9);}
body.site-v8 .hd__line{font-weight:800;border-radius:16px;background:#06C755;color:#fff;box-shadow:0 10px 24px rgba(6,199,85,.17);}
body.site-v8 .hd__line:hover{transform:translateY(-3px) scale(1.015);}

/* hero */
body.site-v8 #top,body.site-v8 .dt-hero{position:relative;background:#fff!important;overflow:hidden;}
body.site-v8 #top::before,body.site-v8 .dt-hero::before{content:"";position:absolute;inset:0;background:radial-gradient(circle at 10% 12%,rgba(22,94,131,.08),transparent 28%),radial-gradient(circle at 88% 10%,rgba(185,58,43,.07),transparent 24%);pointer-events:none;}
body.site-v8 #top>.wrap,body.site-v8 .dt-hero>.wrap{position:relative;z-index:1;}
body.site-v8 .dt-hero .wrap{max-width:1180px!important;}
body.site-v8 .back-link{font-family:var(--gt)!important;border-radius:999px;background:#fff;border:1px solid var(--line);box-shadow:0 8px 22px rgba(20,50,70,.05);}

/* Visual board */
.v8-visual{background:#fff;padding:clamp(30px,4vw,58px) 0;border-bottom:1px solid var(--line-2);}
.v8-visual__wrap{position:relative;display:grid;grid-template-columns:minmax(260px,.82fr) 1.35fr;gap:clamp(24px,4vw,64px);align-items:center;}
.v8-intro{position:relative;z-index:2;}
.v8-tag{display:inline-flex;align-items:center;gap:10px;margin:0 0 12px!important;font-size:13px!important;font-weight:800;color:var(--o);letter-spacing:.04em;}
.v8-tag::before{content:"";width:34px;height:3px;border-radius:99px;background:linear-gradient(90deg,var(--o),rgba(22,94,131,.15));}
.v8-title{font-size:clamp(22px,2.6vw,34px)!important;line-height:1.38!important;margin:0;}
.v8-lead{margin-top:12px!important;max-width:30em;color:var(--t2);font-size:15px!important;line-height:1.85;}
.v8-board{position:relative;z-index:2;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px;}
.v8-tile{min-height:168px;background:rgba(255,255,255,.88);border:1px solid var(--line);border-radius:26px;padding:20px 16px;box-shadow:0 16px 38px rgba(20,50,70,.08);display:flex;flex-direction:column;justify-content:center;align-items:center;text-align:center;transition:transform .28s cubic-bezier(.19,1,.22,1),box-shadow .28s,border-color .28s;background-image:linear-gradient(180deg,#fff,#FAFCFD);}
.v8-tile:hover{transform:translateY(-7px);box-shadow:0 24px 54px rgba(22,94,131,.14);border-color:rgba(22,94,131,.35);}
.v8-mark{display:grid;place-items:center;width:64px;height:64px;border-radius:22px;margin-bottom:14px;background:linear-gradient(135deg,var(--o),#6CA9C3);color:#fff;font-size:28px;font-weight:800;line-height:1;box-shadow:0 10px 24px rgba(22,94,131,.18);}
.v8-tile strong{background:none;color:#17212A;font-size:16px;line-height:1.45;padding:0;}
.v8-tile small{display:block;margin-top:7px;color:var(--t2);font-size:12.5px;line-height:1.65;}
.v8-art{position:absolute;inset:-22px -16px -22px auto;width:44%;z-index:1;pointer-events:none;opacity:.9;}
.v8-shape{position:absolute;display:block;border:1px solid rgba(22,94,131,.13);background:#fff;box-shadow:0 18px 50px rgba(22,94,131,.08);}
.v8-shape--1{right:14%;top:0;width:120px;height:120px;border-radius:50%;background:var(--o-t2);}
.v8-shape--2{right:2%;bottom:8%;width:88px;height:88px;border-radius:28px;transform:rotate(10deg);}
.v8-shape--3{right:40%;bottom:-4%;width:72px;height:72px;border-radius:50%;background:rgba(185,58,43,.06);}
.v8-shape--4{right:28%;top:40%;width:34px;height:34px;border-radius:12px;transform:rotate(18deg);background:#fff;}
.v8-shape--5{right:8%;top:32%;width:22px;height:22px;border-radius:50%;background:var(--o);opacity:.18;}

/* reduce text-heavy visuals */
body.site-v8 .sh{margin-bottom:clamp(24px,3vw,38px);}
body.site-v8 .sh__en{font-family:var(--gt)!important;font-weight:800!important;font-size:13px!important;color:var(--o);letter-spacing:.05em;}
body.site-v8 .sh h2{max-width:24em;}
body.site-v8 .sh p:not(.sh__en){max-width:760px!important;color:var(--t2);font-size:15px!important;}
body.site-v8 .fx-heading-reveal::after{height:4px;bottom:-10px;background:linear-gradient(90deg,var(--o),rgba(22,94,131,.1));}

/* cards and icons */
body.site-v8 .card,body.site-v8 .stat,body.site-v8 .notice-card,body.site-v8 .case-finder-card,body.site-v8 .scene-card{position:relative;overflow:hidden;border-radius:24px!important;border:1px solid var(--line)!important;background:#fff!important;box-shadow:0 12px 34px rgba(20,50,70,.055)!important;}
body.site-v8 .card::before,body.site-v8 .case-finder-card::before,body.site-v8 .scene-card::before{content:"";position:absolute;top:18px;right:18px;width:42px;height:42px;border-radius:15px;background:linear-gradient(135deg,rgba(22,94,131,.12),rgba(22,94,131,.03));}
body.site-v8 .card:hover,body.site-v8 .stat:hover,body.site-v8 .case-finder-card:hover,body.site-v8 .scene-card:hover{transform:translateY(-6px);box-shadow:0 24px 52px rgba(22,94,131,.12)!important;border-color:rgba(22,94,131,.32)!important;}
body.site-v8 .card p,body.site-v8 .card li{font-size:14.5px!important;line-height:1.82;}
body.site-v8 .card__cap{background:var(--o-t2);border:1px solid rgba(22,94,131,.13);border-radius:999px;padding:6px 11px;margin-bottom:14px;}
body.site-v8 .card__cap::before{display:none;}
body.site-v8 .step__no{font-family:var(--en);width:44px;height:44px;border-radius:16px;background:linear-gradient(135deg,var(--o),#6CA9C3);color:#fff;box-shadow:0 12px 24px rgba(22,94,131,.16);}
body.site-v8 .stat__n{font-family:var(--en);font-weight:800;color:var(--o);}

/* buttons */
body.site-v8 .btn{min-height:48px!important;padding:12px 21px!important;border-radius:16px!important;font-weight:800;letter-spacing:.02em;}
body.site-v8 .btn--line,body.site-v8 .btn--o{box-shadow:0 14px 30px rgba(22,94,131,.16)!important;}
body.site-v8 .btn--line:hover,body.site-v8 .btn--o:hover{transform:translateY(-3px) scale(1.015);}
body.site-v8 .btn--ghost{border:1px solid rgba(22,94,131,.28)!important;background:#fff!important;}
body.site-v8 .btn::after{font-weight:800;}

/* photo/design boxes */
body.site-v8 .ph,body.site-v8 .photo-shot{border-radius:28px!important;background:linear-gradient(135deg,#F8FBFD 0%,#FFFFFF 54%,#EDF6FA 100%)!important;border:1px solid var(--line)!important;min-height:160px;position:relative;}
body.site-v8 .ph::before,body.site-v8 .photo-shot::before{content:"";position:absolute;inset:18px;border:1px dashed rgba(22,94,131,.22);border-radius:20px;pointer-events:none;}
body.site-v8 .ph span,body.site-v8 .photo-shot span{display:grid;place-items:center;width:100%;height:100%;font-size:13px!important;font-weight:700;color:#6C7882;text-align:center;padding:28px;}
body.site-v8 .ph span::before,body.site-v8 .photo-shot span::before{content:"＋";display:grid;place-items:center;width:46px;height:46px;margin:0 auto 10px;border-radius:50%;background:#fff;border:1px solid rgba(22,94,131,.16);color:var(--o);font-size:24px;box-shadow:0 10px 24px rgba(22,94,131,.08);}
body.site-v8 .ph:hover,body.site-v8 .photo-shot:hover{transform:translateY(-6px);}
body.site-v8 .photo-grid{grid-template-columns:repeat(3,minmax(0,1fr));}

/* line emphasis */
.hl{background:linear-gradient(transparent 62%,rgba(22,94,131,.17) 0);font-weight:800;color:#123F59;}
.kicker{display:inline-flex;align-items:center;gap:8px;color:var(--o);font-weight:800;font-size:13px;}
.kicker::before{content:"";width:10px;height:10px;border-radius:50%;background:var(--o);box-shadow:0 0 0 6px rgba(22,94,131,.08);}

/* tables and FAQ */
body.site-v8 .tbl th,body.site-v8 .tbl td{font-size:14px;padding:15px 18px;}
body.site-v8 .faq summary{font-size:15.5px!important;font-weight:800;}

/* motion */
.js body.site-v8 .rv{opacity:0;transform:translateY(22px) scale(.985);filter:blur(5px);transition:opacity .72s ease,transform .72s cubic-bezier(.19,1,.22,1),filter .72s ease;}
.js body.site-v8 .rv.show{opacity:1;transform:none;filter:none;}
.js body.site-v8 .v8-tile{animation:none;}
body.site-v8 .v8-tile:nth-child(2){transition-delay:.04s;} body.site-v8 .v8-tile:nth-child(3){transition-delay:.08s;} body.site-v8 .v8-tile:nth-child(4){transition-delay:.12s;}
body.site-v8 .v8-shape--1{animation:v8Float 5.6s ease-in-out infinite alternate;} body.site-v8 .v8-shape--2{animation:v8Float 6.4s ease-in-out -.7s infinite alternate;} body.site-v8 .v8-shape--3{animation:v8Float 7s ease-in-out -1.2s infinite alternate;}
@keyframes v8Float{from{transform:translateY(-4px) rotate(0deg)}to{transform:translateY(8px) rotate(4deg)}}

/* responsive */
@media(max-width:1100px){.v8-visual__wrap{grid-template-columns:1fr}.v8-art{display:none}.v8-board{grid-template-columns:repeat(4,minmax(0,1fr));}.v8-intro{text-align:left}}
@media(max-width:900px){body.site-v8 .hd__nav,body.site-v8 .hd__tel{display:none!important}.v8-board{grid-template-columns:repeat(2,minmax(0,1fr));}body.site-v8 .photo-grid{grid-template-columns:repeat(2,minmax(0,1fr));}}
@media(max-width:720px){body.site-v8{font-size:14.5px;line-height:1.86;}body.site-v8 .hd__in{height:62px;}body.site-v8 h1{font-size:clamp(27px,8vw,38px)!important;line-height:1.32!important;}body.site-v8 h2{font-size:clamp(22px,6.4vw,30px)!important;}body.site-v8 .lead{font-size:15px!important}.v8-visual{padding:34px 0}.v8-board{grid-template-columns:1fr 1fr;gap:12px}.v8-tile{min-height:138px;padding:16px 10px;border-radius:22px}.v8-mark{width:52px;height:52px;border-radius:18px;font-size:23px}.v8-tile strong{font-size:14px}.v8-tile small{font-size:11.5px}.v8-title{font-size:22px!important}.v8-lead{font-size:14.5px!important}body.site-v8 .photo-grid{grid-template-columns:1fr!important}body.site-v8 .btn{width:100%;justify-content:center}}
@media(max-width:420px){.v8-board{grid-template-columns:1fr}body.site-v8 h1{font-size:26px!important}.v8-tile{min-height:120px;display:grid;grid-template-columns:auto 1fr;text-align:left;align-items:center;column-gap:14px}.v8-mark{grid-row:1/3;margin:0}.v8-tile small{margin-top:2px}}
@media(prefers-reduced-motion:reduce){body.site-v8 .v8-shape{animation:none!important}.js body.site-v8 .rv{opacity:1!important;transform:none!important;filter:none!important}}

body.site-v8 .v8-tile::after,body.site-v8 .card::after,body.site-v8 .case-finder-card::after,body.site-v8 .scene-card::after{content:"";position:absolute;inset:0;background:radial-gradient(circle at var(--mx,50%) var(--my,30%),rgba(22,94,131,.09),transparent 34%);opacity:0;transition:opacity .24s;pointer-events:none;}
body.site-v8 .v8-tile:hover::after,body.site-v8 .card:hover::after,body.site-v8 .case-finder-card:hover::after,body.site-v8 .scene-card:hover::after{opacity:1;}
body.site-v8 .v8-tile>*,body.site-v8 .card>*,body.site-v8 .case-finder-card>*,body.site-v8 .scene-card>*{position:relative;z-index:1;}


/* ================================================================
   v9 Design System — less text, more visual explanation
   方針：白基調、ゴシック、図解、選択カード、控えめな動き。
   ================================================================ */
body.site-v9{
  --maxw:1180px;
  --gutter:clamp(22px,4vw,44px);
  --sec-y:clamp(58px,7vw,92px);
  --r:22px;
  --r-s:16px;
  font-family:var(--gt)!important;
  font-size:14.5px;
  line-height:1.86;
  color:#202428;
  background:#fff;
}
body.site-v9 h1,body.site-v9 h2,body.site-v9 h3,body.site-v9 h4{
  font-family:var(--gt)!important;
  font-weight:800!important;
  letter-spacing:.01em!important;
  text-wrap:normal!important;
  word-break:keep-all;
  overflow-wrap:break-word;
}
body.site-v9 h1{font-size:clamp(34px,4.4vw,58px)!important;line-height:1.16!important;max-width:15em;margin-inline:auto;}
body.site-v9 h2{font-size:clamp(24px,3vw,38px)!important;line-height:1.32!important;}
body.site-v9 h3{font-size:clamp(18px,1.8vw,24px)!important;line-height:1.42!important;}
body.site-v9 p,body.site-v9 li{word-break:normal;overflow-wrap:break-word;}
body.site-v9 .wrap{max-width:var(--maxw)!important;padding-inline:var(--gutter)!important;}
body.site-v9 .narrow{max-width:840px!important;}
body.site-v9 .lead{max-width:46em!important;font-size:clamp(15px,1.55vw,17px)!important;line-height:1.88!important;color:#4D565F!important;}
body.site-v9 .body{max-width:52em!important;font-size:14.5px!important;line-height:1.95!important;color:#3D454D;}
body.site-v9 .sec{padding:var(--sec-y) 0!important;background:#fff!important;}
body.site-v9 .band,body.site-v9 .band-o{background:#fff!important;border-top:1px solid #EEF0F2;border-bottom:1px solid #EEF0F2;}
body.site-v9 .dt-hero,body.site-v9 #top,body.site-v9 .case-hero{padding-top:clamp(64px,8vw,112px)!important;padding-bottom:clamp(38px,5vw,64px)!important;background:#fff!important;border-bottom:1px solid #EEF0F2!important;text-align:center;}
body.site-v9 .dt-hero::before,body.site-v9 .dt-hero::after{display:none!important;}
body.site-v9 .dt-hero__seal{display:none!important;}
body.site-v9 .back-link{display:inline-flex;margin-bottom:24px;background:#fff;border:1px solid #E2E7EA;border-radius:999px;color:#165E83;box-shadow:none;}
body.site-v9 .back-link:hover{background:#F7FAFB;transform:translateY(-1px);}

/* 見出し：装飾は控えめ、情報の区切りを明確に */
body.site-v9 .sh{margin-bottom:clamp(28px,3.5vw,48px)!important;}
body.site-v9 .sh__en{font-family:var(--gt)!important;font-size:12px!important;font-weight:800!important;letter-spacing:.04em!important;color:#165E83!important;background:#F4F8FA;border:1px solid #E3EEF3;border-radius:999px;padding:6px 12px;display:inline-flex!important;gap:8px;align-items:center;margin-bottom:13px!important;}
body.site-v9 .sh__en::before{content:"";width:8px!important;height:8px!important;border-radius:50%;background:#165E83!important;opacity:1!important;}
body.site-v9 .sh h2{position:relative;display:inline;box-decoration-break:clone;-webkit-box-decoration-break:clone;background:linear-gradient(transparent 70%,rgba(22,94,131,.13) 0);}
body.site-v9 .sh p:not(.sh__en){max-width:720px!important;margin-top:18px!important;color:#59636D!important;font-size:14.5px!important;line-height:1.88!important;}

/* v9 utility headings */
.v9-head{max-width:780px;margin:0 auto clamp(28px,4vw,46px);text-align:center;}
.v9-head span{display:inline-flex;align-items:center;gap:8px;margin-bottom:12px;padding:6px 12px;border:1px solid #E1EBF0;border-radius:999px;background:#F7FAFB;color:#165E83;font-size:12px;font-weight:800;}
.v9-head span::before{content:"";width:8px;height:8px;border-radius:50%;background:#165E83;box-shadow:0 0 0 5px rgba(22,94,131,.08);}
.v9-head h2{margin:0!important;}
.v9-head p{margin:14px auto 0!important;max-width:44em;color:#59636D;font-size:14.5px;line-height:1.9;}

/* Visual cards for confusing areas */
.v9-clarity,.v9-decision,.v9-board-section,.v9-compare,.v9-legal{position:relative;overflow:hidden;}
.v9-clarity::before,.v9-decision::before,.v9-board-section::before,.v9-compare::before{content:"";position:absolute;inset:auto 0 0 0;height:1px;background:#EEF0F2;}
.v9-flow{display:grid;grid-template-columns:1fr auto 1fr auto 1fr auto 1fr;align-items:stretch;gap:12px;}
.v9-flow--five{grid-template-columns:1fr auto 1fr auto 1fr auto 1fr auto 1fr;}
.v9-flow__item,.v9-choice,.v9-lane,.v9-room,.v9-price-stack>div,.v9-two>div,.v9-mini-cta,.v9-photo-box{
  position:relative;overflow:hidden;background:#fff;border:1px solid #DDE7EC;border-radius:24px;box-shadow:0 14px 38px rgba(20,50,70,.07);transition:transform .28s cubic-bezier(.19,1,.22,1),box-shadow .28s,border-color .28s,background .28s;
}
.v9-flow__item:hover,.v9-choice:hover,.v9-lane:hover,.v9-room:hover,.v9-price-stack>div:hover,.v9-two>div:hover,.v9-mini-cta:hover,.v9-photo-box:hover{transform:translateY(-6px);box-shadow:0 24px 56px rgba(22,94,131,.13);border-color:rgba(22,94,131,.35);background:#FEFFFF;}
.v9-flow__item{min-height:168px;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;padding:22px 14px;}
.v9-flow__item i,.v9-mini-cta i,.v9-two i{display:grid;place-items:center;width:62px;height:62px;border-radius:22px;background:linear-gradient(135deg,#165E83,#67A8C0);color:#fff;font-style:normal;font-size:26px;font-weight:900;margin-bottom:13px;box-shadow:0 12px 28px rgba(22,94,131,.18);}
.v9-flow__item strong,.v9-choice strong,.v9-lane strong,.v9-room strong,.v9-price-stack strong,.v9-two strong,.v9-mini-cta strong{display:block;color:#172028;font-size:17px;line-height:1.45;font-weight:900;}
.v9-flow__item small,.v9-choice small,.v9-lane span,.v9-room small,.v9-price-stack small,.v9-two small,.v9-mini-cta small{display:block;margin-top:7px;color:#626D76;font-size:12.8px;line-height:1.65;}
.v9-flow__arrow{display:grid;place-items:center;color:#165E83;font-weight:900;font-size:26px;opacity:.55;}

.v9-bento{display:grid;gap:16px;}
.v9-bento--four{grid-template-columns:repeat(4,minmax(0,1fr));}
.v9-bento--three{grid-template-columns:repeat(3,minmax(0,1fr));}
.v9-choice{display:flex;flex-direction:column;min-height:154px;padding:22px;text-decoration:none;color:inherit;}
.v9-choice b{display:grid;place-items:center;width:48px;height:48px;border-radius:18px;background:#F1F7FA;color:#165E83;font-weight:900;font-size:20px;margin-bottom:14px;border:1px solid #DDEBF1;}
.v9-choice::after,.v9-flow__item::after,.v9-room::after,.v9-photo-box::after{content:"";position:absolute;inset:0;background:radial-gradient(circle at var(--mx,72%) var(--my,22%),rgba(22,94,131,.10),transparent 36%);opacity:0;transition:opacity .22s;pointer-events:none;}
.v9-choice:hover::after,.v9-flow__item:hover::after,.v9-room:hover::after,.v9-photo-box:hover::after{opacity:1;}
.v9-choice>* ,.v9-flow__item>* ,.v9-room>* ,.v9-photo-box>*{position:relative;z-index:1;}

.v9-lanes{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:16px;counter-reset:lane;}
.v9-lane{min-height:160px;padding:24px;text-align:left;}
.v9-lane em{display:grid;place-items:center;width:40px;height:40px;border-radius:50%;background:#165E83;color:#fff;font-style:normal;font-weight:900;margin-bottom:14px;}
.v9-lane + .v9-lane::before{content:"";position:absolute;left:-15px;top:50%;width:28px;height:2px;background:#C9DCE6;}

.v9-house{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px;background:linear-gradient(135deg,#FAFCFD,#FFFFFF);border:1px solid #E2EAF0;border-radius:32px;padding:18px;box-shadow:0 20px 56px rgba(20,50,70,.07);}
.v9-room{min-height:150px;padding:22px;display:flex;flex-direction:column;justify-content:center;background:#fff;}
.v9-room i{display:grid;place-items:center;width:52px;height:52px;border-radius:18px;background:#F4F8FA;border:1px solid #DFEBF1;color:#165E83;font-style:normal;font-size:22px;font-weight:900;margin-bottom:12px;}

.v9-price-stack{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px;align-items:stretch;}
.v9-price-stack>div{min-height:170px;padding:26px;text-align:center;}
.v9-price-stack i{display:grid;place-items:center;width:56px;height:56px;border-radius:50%;margin:0 auto 16px;background:#165E83;color:#fff;font-style:normal;font-size:22px;font-weight:900;}
.v9-price-stack>div:nth-child(2) i{background:#2B788F}.v9-price-stack>div:nth-child(3) i{background:#6B8E9B}

.v9-two{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;}
.v9-two--three{grid-template-columns:repeat(3,minmax(0,1fr));}
.v9-two>div,.v9-mini-cta{min-height:178px;padding:26px;text-decoration:none;color:inherit;display:flex;flex-direction:column;align-items:flex-start;justify-content:center;}
.v9-mini-cta:hover{color:inherit;}
.v9-split-card{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px;}
.v9-split-card>div{background:#fff;border:1px solid #DDE7EC;border-radius:24px;padding:24px;box-shadow:0 14px 38px rgba(20,50,70,.07);}
.v9-badge{display:inline-flex;margin-bottom:12px;background:#F4F8FA;color:#165E83;border:1px solid #DDEBF1;border-radius:999px;padding:6px 10px;font-size:12px;}
.v9-split-card strong{display:block;font-weight:900;font-size:17px;}.v9-split-card small{display:block;margin-top:8px;color:#626D76;}

.v9-photo-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:16px;}
.v9-photo-box{min-height:210px;padding:22px;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;background:linear-gradient(135deg,#F8FBFD,#fff 55%,#F0F7FA);}
.v9-photo-box::before{content:"";position:absolute;inset:18px;border:1px dashed rgba(22,94,131,.24);border-radius:18px;}
.v9-photo-box i{display:grid;place-items:center;width:62px;height:62px;border-radius:50%;background:#fff;border:1px solid #DDEBF1;color:#165E83;font-style:normal;font-size:24px;font-weight:900;margin-bottom:14px;box-shadow:0 12px 28px rgba(20,50,70,.08);}
.v9-photo-box span{font-weight:800;color:#4C5660;line-height:1.6;}

/* Cards/Buttons: stronger but controlled */
body.site-v9 .card,body.site-v9 .stat,body.site-v9 .notice-card,body.site-v9 .case-finder-card,body.site-v9 .scene-card{border-radius:24px!important;border:1px solid #DDE7EC!important;background:#fff!important;box-shadow:0 12px 34px rgba(20,50,70,.055)!important;}
body.site-v9 .card:hover,body.site-v9 .stat:hover,body.site-v9 .notice-card:hover,body.site-v9 .case-finder-card:hover,body.site-v9 .scene-card:hover{transform:translateY(-5px);box-shadow:0 22px 50px rgba(22,94,131,.12)!important;}
body.site-v9 .card__cap{background:#F5F9FB;border:1px solid #E1EBF0;border-radius:999px;color:#165E83;font-size:12px!important;padding:6px 11px;font-weight:900;}
body.site-v9 .btn{border-radius:18px!important;min-height:48px!important;padding:12px 22px!important;font-size:14.5px!important;font-weight:900!important;letter-spacing:.01em;}
body.site-v9 .btn--o,body.site-v9 .btn--line{box-shadow:0 14px 30px rgba(22,94,131,.16)!important;}
body.site-v9 .btn:hover{transform:translateY(-3px);box-shadow:0 18px 42px rgba(22,94,131,.16)!important;}
body.site-v9 .btn::after{content:"›";font-size:20px;line-height:0;margin-left:6px;}

/* Text emphasis */
body.site-v9 strong,.v9-em{color:#143F59;font-weight:900;background:linear-gradient(transparent 62%,rgba(22,94,131,.15) 0);padding:0 .05em;}
body.site-v9 a:not(.btn):not(.hd__lg):not(.hd__line):not(.v9-choice):not(.v9-mini-cta){text-underline-offset:.22em;text-decoration-thickness:1px;}

/* Tables and legal pages */
body.site-v9 .tbl{border-radius:22px;border:1px solid #DDE7EC;box-shadow:0 12px 34px rgba(20,50,70,.045);}
body.site-v9 .tbl th,body.site-v9 .tbl td{padding:16px 18px;font-size:14px;line-height:1.85;}
body.site-v9 .tbl th{background:#F8FAFB!important;font-weight:900;}
body.site-v9 .v9-text-page .wrap,body.site-v9 .v9-text-page .narrow{max-width:960px!important;}

/* Keep old v8 intro hidden if any remains */
body.site-v9 .v8-visual{display:none!important;}

/* Motion: present, but not noisy */
.js body.site-v9 .rv,.js body.site-v9 .v9-flow__item,.js body.site-v9 .v9-choice,.js body.site-v9 .v9-lane,.js body.site-v9 .v9-room,.js body.site-v9 .v9-price-stack>div,.js body.site-v9 .v9-two>div,.js body.site-v9 .v9-photo-box{opacity:0;transform:translateY(18px);filter:blur(4px);transition:opacity .68s ease,transform .68s cubic-bezier(.19,1,.22,1),filter .68s ease,box-shadow .28s,border-color .28s,background .28s;}
.js body.site-v9 .show,.js body.site-v9 .v9-flow__item.show,.js body.site-v9 .v9-choice.show,.js body.site-v9 .v9-lane.show,.js body.site-v9 .v9-room.show,.js body.site-v9 .v9-price-stack>div.show,.js body.site-v9 .v9-two>div.show,.js body.site-v9 .v9-photo-box.show{opacity:1;transform:none;filter:none;}

@media(max-width:1080px){
  .v9-flow,.v9-flow--five{grid-template-columns:1fr!important;}
  .v9-flow__arrow{transform:rotate(90deg);height:18px;}
  .v9-bento--four,.v9-photo-grid,.v9-lanes{grid-template-columns:repeat(2,minmax(0,1fr));}
  .v9-lane + .v9-lane::before{display:none;}
}
@media(max-width:820px){
  body.site-v9 h1{font-size:clamp(30px,8vw,42px)!important;line-height:1.22!important;}
  body.site-v9 h2{font-size:clamp(23px,6.2vw,32px)!important;}
  body.site-v9 .lead{font-size:15px!important;}
  .v9-house,.v9-price-stack,.v9-two,.v9-two--three,.v9-split-card{grid-template-columns:1fr!important;}
  .v9-bento--four,.v9-bento--three,.v9-photo-grid,.v9-lanes{grid-template-columns:1fr!important;}
  .v9-flow__item,.v9-choice,.v9-room,.v9-price-stack>div,.v9-two>div,.v9-mini-cta,.v9-photo-box{min-height:132px;}
}
@media(max-width:520px){
  body.site-v9{font-size:14px;line-height:1.88;}
  body.site-v9 .sec{padding:52px 0!important;}
  body.site-v9 .dt-hero,body.site-v9 #top,body.site-v9 .case-hero{padding-top:48px!important;}
  .v9-flow__item{display:grid;grid-template-columns:auto 1fr;text-align:left;column-gap:14px;align-items:center;justify-items:start;}
  .v9-flow__item i{grid-row:1/3;margin:0;width:52px;height:52px;border-radius:18px;font-size:22px;}
  .v9-flow__item small{margin-top:2px;}
  body.site-v9 .btn{width:100%;justify-content:center;}
}
@media(prefers-reduced-motion:reduce){
  .js body.site-v9 .rv,.js body.site-v9 .v9-flow__item,.js body.site-v9 .v9-choice,.js body.site-v9 .v9-lane,.js body.site-v9 .v9-room,.js body.site-v9 .v9-price-stack>div,.js body.site-v9 .v9-two>div,.js body.site-v9 .v9-photo-box{opacity:1!important;transform:none!important;filter:none!important;transition:none!important;}
}



/* ================================================================
   v10 Premium Design System
   方針：白基調、ゴシック、余白、線、情報階層。装飾は「理解を助ける場所」だけに使う。
   ================================================================ */
body.site-v10{
  --maxw:1280px;
  --gutter:clamp(24px,4.8vw,64px);
  --sec-y:clamp(72px,8vw,124px);
  --ink:#121820;
  --ink-2:#2A323A;
  --muted:#66717D;
  --muted-2:#8A949E;
  --paper:#FFFFFF;
  --soft:#F7F9FA;
  --soft-2:#F2F5F7;
  --line:#E4E9ED;
  --line-strong:#D4DDE4;
  --accent:#165E83;
  --accent-dark:#0F425D;
  --accent-soft:#EDF5F8;
  --green:#06C755;
  --green-dark:#05A945;
  --radius-card:28px;
  --radius-small:18px;
  --shadow-card:0 18px 50px rgba(17,41,58,.075);
  --shadow-hover:0 26px 70px rgba(17,41,58,.13);
  font-family:"Noto Sans JP", system-ui, -apple-system, BlinkMacSystemFont, "Hiragino Sans", "Yu Gothic", sans-serif!important;
  color:var(--ink);
  background:#fff;
  font-size:14px;
  line-height:1.88;
  letter-spacing:.015em;
  -webkit-font-smoothing:antialiased;
}
body.site-v10 h1,body.site-v10 h2,body.site-v10 h3,body.site-v10 h4,
body.site-v10 .hd__lg,body.site-v10 .ft__lg{
  font-family:"Noto Sans JP", system-ui, -apple-system, BlinkMacSystemFont, "Hiragino Sans", "Yu Gothic", sans-serif!important;
  font-weight:800!important;
  letter-spacing:.005em!important;
  color:var(--ink);
  text-wrap:normal!important;
  word-break:keep-all;
  line-break:strict;
}
body.site-v10 h1{font-size:clamp(34px,4.1vw,56px)!important;line-height:1.14!important;max-width:17em!important;margin-inline:auto;}
body.site-v10 h2{font-size:clamp(25px,2.65vw,38px)!important;line-height:1.28!important;}
body.site-v10 h3{font-size:clamp(17px,1.45vw,22px)!important;line-height:1.44!important;}
body.site-v10 p,body.site-v10 li{overflow-wrap:break-word;word-break:normal;}
body.site-v10 .wrap{max-width:var(--maxw)!important;padding-inline:var(--gutter)!important;}
body.site-v10 .narrow{max-width:900px!important;}
body.site-v10 .sec{padding:var(--sec-y) 0!important;background:#fff!important;}
body.site-v10 .band,body.site-v10 .band-o{background:#fff!important;border-top:1px solid var(--line);border-bottom:1px solid var(--line);}
body.site-v10 .lead{font-size:clamp(15px,1.35vw,17px)!important;line-height:1.92!important;color:var(--muted)!important;max-width:52em!important;}
body.site-v10 .body{font-size:14px!important;line-height:1.95!important;color:#3B4650!important;max-width:58em!important;}
body.site-v10 .note{font-size:12.5px!important;line-height:1.75!important;color:#707B86!important;}

/* Header */
body.site-v10 .hd{background:rgba(255,255,255,.86)!important;border-bottom:1px solid rgba(212,221,228,.74)!important;backdrop-filter:saturate(1.2) blur(18px)!important;box-shadow:0 10px 30px rgba(17,41,58,.04);}
body.site-v10 .hd__in{height:72px!important;max-width:var(--maxw)!important;padding-inline:var(--gutter)!important;gap:24px!important;}
body.site-v10 .hd.is-compact .hd__in{height:62px!important;}
body.site-v10 .hd__lg{font-size:16px!important;letter-spacing:.04em!important;}
body.site-v10 .hd__nav{gap:22px!important;}
body.site-v10 .hd__nav a{position:relative;border:0!important;color:#3E4852!important;font-size:13px!important;font-weight:700!important;padding:24px 0!important;}
body.site-v10 .hd__nav a::after{content:"";position:absolute;left:0;right:0;bottom:17px;height:2px;background:var(--accent);transform:scaleX(0);transform-origin:left;transition:transform .28s cubic-bezier(.19,1,.22,1);}
body.site-v10 .hd__nav a:hover,body.site-v10 .hd__nav a.is-current{color:var(--accent)!important;}
body.site-v10 .hd__nav a:hover::after,body.site-v10 .hd__nav a.is-current::after{transform:scaleX(1);}
body.site-v10 .hd__line{background:var(--green)!important;border-radius:999px!important;padding:11px 17px!important;font-size:13px!important;box-shadow:0 12px 26px rgba(6,199,85,.18);transition:transform .24s ease,box-shadow .24s ease,background .24s ease;}
body.site-v10 .hd__line:hover{background:var(--green-dark)!important;transform:translateY(-2px);box-shadow:0 18px 38px rgba(6,199,85,.24);}

/* Hero / Page heading */
body.site-v10 .dt-hero,body.site-v10 #top,body.site-v10 .case-hero{
  background:
    radial-gradient(circle at 15% 18%,rgba(22,94,131,.07),transparent 30%),
    linear-gradient(180deg,#fff 0%,#fff 68%,#F8FAFB 100%)!important;
  border-bottom:1px solid var(--line)!important;
  padding-top:clamp(78px,8.5vw,128px)!important;
  padding-bottom:clamp(52px,6vw,88px)!important;
  text-align:center!important;
}
body.site-v10 .dt-hero::before,body.site-v10 .dt-hero::after{display:none!important;}
body.site-v10 .dt-hero__seal{display:none!important;}
body.site-v10 .back-link{padding:8px 13px!important;border:1px solid var(--line)!important;border-radius:999px!important;background:rgba(255,255,255,.74)!important;color:var(--accent)!important;font-weight:700!important;box-shadow:0 8px 24px rgba(17,41,58,.05);transition:transform .2s ease,border-color .2s ease,background .2s ease;}
body.site-v10 .back-link:hover{transform:translateY(-2px);border-color:#BBD0DA!important;background:#fff!important;}

/* Section heading */
body.site-v10 .sh,body.site-v10 .v9-head{margin-bottom:clamp(34px,4.2vw,58px)!important;}
body.site-v10 .sh__en,body.site-v10 .v9-head span{
  display:inline-flex!important;align-items:center;gap:8px!important;width:max-content;
  padding:7px 12px!important;border:1px solid var(--line)!important;border-radius:999px!important;
  background:#fff!important;color:var(--accent)!important;font-size:12px!important;font-weight:800!important;letter-spacing:.04em!important;
  box-shadow:0 8px 22px rgba(17,41,58,.035);text-transform:none!important;margin-bottom:14px!important;
}
body.site-v10 .sh__en::before,body.site-v10 .v9-head span::before{content:"";display:block;width:8px!important;height:8px!important;border-radius:50%;background:var(--accent)!important;opacity:1!important;box-shadow:0 0 0 5px rgba(22,94,131,.08);}
body.site-v10 .sh h2,body.site-v10 .v9-head h2{display:inline!important;background:linear-gradient(transparent 72%,rgba(22,94,131,.14) 0)!important;box-decoration-break:clone;-webkit-box-decoration-break:clone;}
body.site-v10 .sh p:not(.sh__en),body.site-v10 .v9-head p{max-width:760px!important;color:var(--muted)!important;font-size:14px!important;line-height:1.9!important;margin-top:18px!important;}
body.site-v10 .sh.mid .sh__en,body.site-v10 .v9-head{text-align:center;margin-inline:auto;}

/* Premium cards */
body.site-v10 .card,
body.site-v10 .stat,
body.site-v10 .case-finder-card,
body.site-v10 .scene-card,
body.site-v10 .decision-card,
body.site-v10 .faq,
body.site-v10 .v9-flow__item,
body.site-v10 .v9-choice,
body.site-v10 .v9-lane,
body.site-v10 .v9-room,
body.site-v10 .v9-price-stack>div,
body.site-v10 .v9-two>div,
body.site-v10 .v9-mini-cta,
body.site-v10 .v9-photo-box,
body.site-v10 .v9-split-card>div{
  position:relative;overflow:hidden;background:rgba(255,255,255,.96)!important;
  border:1px solid var(--line)!important;border-radius:var(--radius-card)!important;
  box-shadow:0 1px 0 rgba(255,255,255,.8) inset, var(--shadow-card)!important;
  transition:transform .32s cubic-bezier(.19,1,.22,1),box-shadow .32s ease,border-color .32s ease,background .32s ease!important;
}
body.site-v10 .card::before,
body.site-v10 .case-finder-card::before,
body.site-v10 .scene-card::before,
body.site-v10 .v9-flow__item::before,
body.site-v10 .v9-choice::before,
body.site-v10 .v9-lane::before,
body.site-v10 .v9-room::before,
body.site-v10 .v9-price-stack>div::before,
body.site-v10 .v9-two>div::before,
body.site-v10 .v9-mini-cta::before,
body.site-v10 .v9-photo-box::before{
  content:"";position:absolute;inset:0 0 auto 0;height:4px;background:linear-gradient(90deg,var(--accent),rgba(22,94,131,.18));opacity:.88;
}
body.site-v10 .card:hover,
body.site-v10 .case-finder-card:hover,
body.site-v10 .scene-card:hover,
body.site-v10 .decision-card:hover,
body.site-v10 .v9-flow__item:hover,
body.site-v10 .v9-choice:hover,
body.site-v10 .v9-lane:hover,
body.site-v10 .v9-room:hover,
body.site-v10 .v9-price-stack>div:hover,
body.site-v10 .v9-two>div:hover,
body.site-v10 .v9-mini-cta:hover,
body.site-v10 .v9-photo-box:hover{
  transform:translateY(-5px)!important;border-color:#C7D8E0!important;box-shadow:var(--shadow-hover)!important;background:#fff!important;
}
body.site-v10 .card{padding:clamp(22px,2.4vw,34px)!important;}
body.site-v10 .card h3,body.site-v10 .case-finder-card h3,body.site-v10 .scene-card h3{margin-bottom:10px!important;}
body.site-v10 .card p,body.site-v10 .case-finder-card p,body.site-v10 .scene-card p{font-size:13.5px!important;line-height:1.86!important;color:#58636E!important;}
body.site-v10 .card__cap{font-family:inherit!important;text-transform:none!important;letter-spacing:.04em!important;color:var(--accent)!important;background:var(--accent-soft);border:1px solid #D7E7EE;border-radius:999px;padding:5px 9px;display:inline-flex;width:max-content;margin-bottom:12px!important;font-size:11.5px!important;font-weight:800!important;}

/* Diagram system: professional, not childish */
body.site-v10 .v9-flow{position:relative;gap:18px!important;}
body.site-v10 .v9-flow__arrow{font-size:0!important;opacity:1!important;position:relative;width:30px;}
body.site-v10 .v9-flow__arrow::before{content:"";position:absolute;top:50%;left:0;right:0;height:1px;background:#C7D8E0;}
body.site-v10 .v9-flow__arrow::after{content:"";position:absolute;right:0;top:calc(50% - 4px);width:8px;height:8px;border-top:1px solid #8FAEBD;border-right:1px solid #8FAEBD;transform:rotate(45deg);}
body.site-v10 .v9-flow__item{min-height:176px!important;padding:28px 20px!important;}
body.site-v10 .v9-flow__item i,
body.site-v10 .v9-mini-cta i,
body.site-v10 .v9-two i,
body.site-v10 .v9-price-stack i{
  width:54px!important;height:54px!important;border-radius:50%!important;margin-bottom:14px!important;
  background:#fff!important;color:var(--accent)!important;border:1px solid #CFE0E8!important;font-size:15px!important;font-weight:900!important;
  box-shadow:0 10px 22px rgba(17,41,58,.06)!important;font-style:normal!important;letter-spacing:.02em;
}
body.site-v10 .v9-flow__item strong,
body.site-v10 .v9-choice strong,
body.site-v10 .v9-lane strong,
body.site-v10 .v9-room strong,
body.site-v10 .v9-price-stack strong,
body.site-v10 .v9-two strong,
body.site-v10 .v9-mini-cta strong{font-size:16px!important;line-height:1.5!important;color:var(--ink)!important;font-weight:900!important;}
body.site-v10 .v9-flow__item small,
body.site-v10 .v9-choice small,
body.site-v10 .v9-lane span,
body.site-v10 .v9-room small,
body.site-v10 .v9-price-stack small,
body.site-v10 .v9-two small,
body.site-v10 .v9-mini-cta small{font-size:12.5px!important;line-height:1.65!important;color:#6C7782!important;}
body.site-v10 .v9-choice{padding:26px!important;min-height:164px!important;}
body.site-v10 .v9-choice b,
body.site-v10 .v9-lane em,
body.site-v10 .v9-room i,
body.site-v10 .v9-photo-box i{
  display:inline-grid!important;place-items:center!important;width:48px!important;height:48px!important;border-radius:16px!important;
  background:var(--soft)!important;color:var(--accent)!important;border:1px solid #D7E5EC!important;box-shadow:none!important;
  font-size:15px!important;font-weight:900!important;font-style:normal!important;margin-bottom:14px!important;
}
body.site-v10 .v9-lanes{gap:18px!important;}
body.site-v10 .v9-lane{padding:28px!important;min-height:172px!important;}
body.site-v10 .v9-lane + .v9-lane::before{display:none!important;}
body.site-v10 .v9-house{border:1px solid var(--line)!important;border-radius:34px!important;background:linear-gradient(135deg,#fff,#F8FAFB)!important;box-shadow:var(--shadow-card)!important;padding:22px!important;gap:16px!important;}
body.site-v10 .v9-room{padding:24px!important;min-height:152px!important;}
body.site-v10 .v9-price-stack{gap:18px!important;}
body.site-v10 .v9-price-stack>div{padding:30px 26px!important;min-height:188px!important;}
body.site-v10 .v9-split-card{gap:18px!important;}
body.site-v10 .v9-badge{background:var(--accent-soft)!important;color:var(--accent)!important;border:1px solid #D7E5EC!important;border-radius:999px!important;font-weight:900!important;}

/* Photo and illustration placeholders: premium frames */
body.site-v10 .ph,
body.site-v10 .photo-shot,
body.site-v10 .v9-photo-box,
body.site-v10 .case-mini-photo,
body.site-v10 .scene-card__photo,
body.site-v10 .scenario-row__photo{
  background:
    linear-gradient(135deg,rgba(22,94,131,.045),transparent 38%),
    linear-gradient(180deg,#FFFFFF 0%,#F7FAFB 100%)!important;
  border:1px solid var(--line)!important;border-radius:30px!important;box-shadow:var(--shadow-card)!important;
  min-height:clamp(180px,18vw,260px);position:relative;overflow:hidden!important;
}
body.site-v10 .ph::before,
body.site-v10 .photo-shot::before,
body.site-v10 .v9-photo-box::after,
body.site-v10 .case-mini-photo::before,
body.site-v10 .scene-card__photo::before,
body.site-v10 .scenario-row__photo::before{
  content:"";position:absolute;inset:18px;border:1px solid rgba(22,94,131,.16);border-radius:22px;background:
  linear-gradient(135deg,transparent 49.5%,rgba(22,94,131,.16) 50%,transparent 50.5%);
  pointer-events:none;
}
body.site-v10 .ph span,body.site-v10 .photo-shot span,body.site-v10 .v9-photo-box span{
  position:relative;z-index:1;color:#64717C!important;font-size:12.5px!important;font-weight:800!important;letter-spacing:.03em!important;
}
body.site-v10 .ph span::before,body.site-v10 .photo-shot span::before{content:""!important;display:block!important;width:42px!important;height:42px!important;border-radius:50%!important;margin:0 auto 10px!important;border:1px solid #CFE0E8!important;background:#fff!important;box-shadow:0 10px 22px rgba(17,41,58,.06)!important;}
body.site-v10 [data-slot] img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;z-index:2;}
body.site-v10 .photo-grid{gap:clamp(20px,2.2vw,30px)!important;margin-top:clamp(30px,3.2vw,44px)!important;}

/* Buttons: refined */
body.site-v10 .btn{min-height:48px!important;padding:12px 21px!important;border-radius:999px!important;font-size:14px!important;font-weight:900!important;letter-spacing:.01em!important;box-shadow:none!important;transition:transform .24s ease,box-shadow .24s ease,background .24s ease,border-color .24s ease!important;}
body.site-v10 .btn--o{background:var(--accent)!important;color:#fff!important;box-shadow:0 14px 30px rgba(22,94,131,.18)!important;}
body.site-v10 .btn--line{background:var(--green)!important;color:#fff!important;box-shadow:0 14px 30px rgba(6,199,85,.16)!important;}
body.site-v10 .btn--ghost{background:#fff!important;color:var(--accent)!important;border:1px solid #CFE0E8!important;}
body.site-v10 .btn:hover{transform:translateY(-3px)!important;box-shadow:0 22px 48px rgba(17,41,58,.16)!important;}
body.site-v10 .btn::after{content:""!important;width:7px;height:7px;border-top:2px solid currentColor;border-right:2px solid currentColor;transform:rotate(45deg);margin-left:4px;transition:transform .24s ease;}
body.site-v10 .btn:hover::after{transform:translateX(3px) rotate(45deg);}
body.site-v10 .hd__line::after{display:none!important;}

/* Link / emphasis */
body.site-v10 strong,body.site-v10 .v9-em,.hl{color:var(--ink)!important;font-weight:900!important;background:linear-gradient(transparent 68%,rgba(22,94,131,.17) 0)!important;padding:0 .04em!important;}
body.site-v10 a:not(.btn):not(.hd__lg):not(.hd__line):not(.v9-choice):not(.v9-mini-cta):not(.drw__line){text-decoration-thickness:1px;text-underline-offset:.28em;}

/* Tables / forms / legal */
body.site-v10 .tbl,body.site-v10 table{border-radius:22px!important;overflow:hidden!important;box-shadow:var(--shadow-card)!important;border:1px solid var(--line)!important;}
body.site-v10 .tbl th,body.site-v10 .tbl td{padding:16px 18px!important;font-size:13.5px!important;border-color:var(--line)!important;}
body.site-v10 input,body.site-v10 textarea,body.site-v10 select{border-radius:16px!important;border:1px solid var(--line-strong)!important;background:#fff!important;box-shadow:0 8px 24px rgba(17,41,58,.04)!important;}
body.site-v10 input:focus,body.site-v10 textarea:focus,body.site-v10 select:focus{outline:2px solid rgba(22,94,131,.18)!important;border-color:#9AB9C8!important;}

/* CTA / footer */
body.site-v10 .cta{background:#fff!important;color:var(--ink)!important;border-top:1px solid var(--line)!important;border-bottom:1px solid var(--line)!important;}
body.site-v10 .cta .wrap,body.site-v10 .consult-panel,body.site-v10 .bottom-guide__box{
  background:linear-gradient(135deg,#fff,#F8FAFB)!important;border:1px solid var(--line)!important;border-radius:34px!important;padding:clamp(34px,4vw,56px)!important;box-shadow:var(--shadow-card)!important;
}
body.site-v10 .cta h2,body.site-v10 .cta p{color:var(--ink)!important;}
body.site-v10 .ft{background:#111820!important;color:#D3DAE0!important;padding-top:54px!important;}
body.site-v10 .ft__grid a:hover{color:#fff!important;}
body.site-v10 .spbar{background:rgba(255,255,255,.92)!important;backdrop-filter:blur(14px)!important;border-top:1px solid var(--line)!important;box-shadow:0 -16px 42px rgba(17,41,58,.09)!important;}
body.site-v10 .spbar a{font-weight:900!important;}

/* Motion: controlled and polished */
.js body.site-v10 .rv,
.js body.site-v10 .v9-flow__item,
.js body.site-v10 .v9-choice,
.js body.site-v10 .v9-lane,
.js body.site-v10 .v9-room,
.js body.site-v10 .v9-price-stack>div,
.js body.site-v10 .v9-two>div,
.js body.site-v10 .v9-mini-cta,
.js body.site-v10 .v9-photo-box{
  opacity:0;transform:translateY(20px);filter:none;transition:opacity .68s ease,transform .68s cubic-bezier(.19,1,.22,1),box-shadow .32s ease,border-color .32s ease,background .32s ease!important;
}
.js body.site-v10 .show,
.js body.site-v10 .v9-flow__item.show,
.js body.site-v10 .v9-choice.show,
.js body.site-v10 .v9-lane.show,
.js body.site-v10 .v9-room.show,
.js body.site-v10 .v9-price-stack>div.show,
.js body.site-v10 .v9-two>div.show,
.js body.site-v10 .v9-mini-cta.show,
.js body.site-v10 .v9-photo-box.show{opacity:1;transform:none!important;}
body.site-v10 .fx-heading-reveal{position:relative;color:inherit!important;}
body.site-v10 .fx-heading-reveal::after{display:none!important;}
body.site-v10 .page-top-btn{right:22px!important;bottom:22px!important;border-radius:999px!important;background:var(--ink)!important;color:#fff!important;box-shadow:0 18px 40px rgba(17,24,32,.2)!important;}

/* Responsive */
@media(max-width:1120px){
  body.site-v10 .hd__nav,body.site-v10 .hd__tel{display:none!important;}
  body.site-v10 .hb{display:block!important;}
  body.site-v10 .v9-flow,body.site-v10 .v9-flow--five{grid-template-columns:1fr!important;}
  body.site-v10 .v9-flow__arrow{display:none!important;}
  body.site-v10 .v9-bento--four,body.site-v10 .v9-photo-grid,body.site-v10 .v9-lanes{grid-template-columns:repeat(2,minmax(0,1fr))!important;}
}
@media(max-width:820px){
  body.site-v10{font-size:14px;line-height:1.86;}
  body.site-v10 h1{font-size:clamp(29px,8vw,42px)!important;line-height:1.22!important;}
  body.site-v10 h2{font-size:clamp(22px,6vw,31px)!important;}
  body.site-v10 .lead{font-size:14.5px!important;}
  body.site-v10 .sec{padding:clamp(54px,12vw,78px) 0!important;}
  body.site-v10 .dt-hero,body.site-v10 #top,body.site-v10 .case-hero{padding-top:54px!important;padding-bottom:44px!important;}
  body.site-v10 .grid,body.site-v10 .g2,body.site-v10 .g3,body.site-v10 .g4,
  body.site-v10 .v9-house,body.site-v10 .v9-price-stack,body.site-v10 .v9-two,body.site-v10 .v9-two--three,body.site-v10 .v9-split-card{grid-template-columns:1fr!important;}
  body.site-v10 .v9-bento--four,body.site-v10 .v9-bento--three,body.site-v10 .v9-photo-grid,body.site-v10 .v9-lanes,body.site-v10 .photo-grid,body.site-v10 .photo-grid--three,body.site-v10 .photo-grid--four{grid-template-columns:1fr!important;}
  body.site-v10 .v9-flow__item{display:grid;grid-template-columns:auto 1fr;text-align:left;column-gap:14px;align-items:center;justify-items:start;min-height:128px!important;}
  body.site-v10 .v9-flow__item i{grid-row:1/3;margin:0!important;}
  body.site-v10 .btn{width:100%;justify-content:center;}
}
@media(prefers-reduced-motion:reduce){
  .js body.site-v10 .rv,.js body.site-v10 .v9-flow__item,.js body.site-v10 .v9-choice,.js body.site-v10 .v9-lane,.js body.site-v10 .v9-room,.js body.site-v10 .v9-price-stack>div,.js body.site-v10 .v9-two>div,.js body.site-v10 .v9-mini-cta,.js body.site-v10 .v9-photo-box{opacity:1!important;transform:none!important;transition:none!important;}
}

/* ============================================================
   v11: index hero + before/after flow + who-strip
   3色ルール厳守（藍 --o / 朱 --shu=印影 / 緑 --line-g=CTA）
   ============================================================ */

/* --- ヒーロー --- */
.hero-v11{padding:clamp(52px,8vw,96px) 0 clamp(32px,5vw,56px);text-align:center;
  background:linear-gradient(180deg,var(--o-t) 0%,var(--o-t2) 46%,transparent 100%);}
.hero-v11__copy{max-width:38em;margin:0 auto;}
.hero-v11__ttl{font-family:var(--mr);font-weight:600;color:var(--o);
  font-size:clamp(30px,6.4vw,54px);line-height:1.28;letter-spacing:.04em;}
.hero-v11__sub{margin:18px auto 0;max-width:34em;color:var(--t1);
  font-size:var(--fs-lead);line-height:1.9;font-feature-settings:"palt";}

/* --- 対象の並列ストリップ（対象を絞らない） --- */
.who-strip{display:flex;flex-wrap:wrap;align-items:center;justify-content:center;
  gap:8px 10px;margin:26px auto 0;max-width:760px;}
.who-strip__lead{font-family:var(--gt);font-size:var(--fs-note);font-weight:700;
  color:var(--t2);letter-spacing:.08em;}
.who-strip__item{font-family:var(--gt);font-size:var(--fs-cap);font-weight:700;
  color:var(--o);background:var(--o-t);border:1px solid var(--o-t);
  border-radius:999px;padding:6px 14px;line-height:1;}

/* --- before/after/解決 の3列＋矢印 --- */
.ba-flow{display:grid;grid-template-columns:1fr auto 1fr auto 1fr;
  align-items:stretch;gap:14px;margin-top:8px;}
.ba-flow__col{background:var(--surface);border:1px solid var(--line-2);
  border-radius:var(--r);padding:20px 18px;box-shadow:var(--sh);
  display:flex;flex-direction:column;}
.ba-flow__col--fix{border-color:var(--o);background:var(--o-t2);}
.ba-flow__tag{font-family:var(--gt);font-size:var(--fs-note);font-weight:700;
  letter-spacing:.06em;color:var(--t2);margin-bottom:8px;}
.ba-flow__col--fix .ba-flow__tag{color:var(--o);}
.ba-flow__col h3{font-family:var(--mr);font-size:var(--fs-h3);color:var(--t1);
  margin-bottom:8px;line-height:1.5;}
.ba-flow__col--fix h3{color:var(--o);}
.ba-flow__col p{font-size:var(--fs-body);line-height:1.8;color:var(--t1);}
.ba-flow__arrow{display:flex;align-items:center;justify-content:center;color:var(--o);}
.ba-flow__arrow svg{width:38px;height:22px;}
.ba-result{margin-top:16px;background:var(--o-t2);border:1px solid var(--o-t);
  border-radius:var(--r);padding:18px 20px;}
.ba-result p{font-size:var(--fs-body);line-height:1.85;}

@media(max-width:760px){
  .ba-flow{grid-template-columns:1fr;}
  .ba-flow__arrow{transform:rotate(90deg);height:26px;}
  .ba-flow__arrow svg{width:30px;height:18px;}
}
