/* ブレーメンの片付け隊 ORDO JAPAN ─ site.css
   構成：1 変数と下地／2 ヘッダー／3 共通部品／4 FV／5 私たちについて／6 状況／7 進め方／8 料金／9 強み
        10 資格／11 FAQ／12 対応エリア／13 ご相談／14 会社概要／15 フッター・固定バー／16 印刷
   方針：静的（JSなし・動き軽減）を既定とし、.js-motion の中でだけ演出を足す。 */

/* ───────── 1 変数と下地 ───────── */
:root{--navy:#143A52;--paper:#F7F4EE;--green:#2F7552;--ink:#17364b;--line:#d9d6ce;--muted:#52616b;
  --serif:'Shippori Mincho B1',serif;--sans:'Zen Kaku Gothic New',sans-serif;--header-h:94px}
*{box-sizing:border-box}
html{scroll-behavior:smooth;scroll-padding-top:0}
html.js-motion{scroll-behavior:auto}
body{margin:0;background:var(--paper);color:var(--ink);font-family:var(--sans);font-size:18px;line-height:1.85;word-break:auto-phrase;line-break:strict}
img{display:block;max-width:100%;height:auto}
a{color:inherit}
h1,h2,h3,p,figure,ol,ul,dl,dd{margin:0}
ol,ul{padding:0;list-style:none}
h1,h2,h3{font-family:var(--serif);font-weight:600;line-height:1.45}
button,input,textarea{font:inherit}
button,a{touch-action:manipulation}
.vh{position:absolute!important;width:1px!important;height:1px!important;padding:0!important;margin:-1px!important;overflow:hidden!important;clip:rect(0 0 0 0)!important;white-space:nowrap!important;border:0!important}
.pending{color:var(--muted);font-size:.92em}
.skip{position:absolute;left:12px;top:-100px;z-index:30;background:#fff;color:var(--navy);padding:12px 16px;text-decoration:underline}
.skip:focus-visible{top:12px;outline:2px solid var(--paper);outline-offset:2px;box-shadow:0 0 0 4px var(--navy)}
.skip-tel:focus-visible{top:70px}
:focus-visible{outline:3px solid var(--green);outline-offset:3px}

/* ───────── 2 ヘッダー ───────── */
.header{position:fixed;top:0;left:0;right:0;height:var(--header-h);z-index:20;display:flex;align-items:center;justify-content:space-between;gap:clamp(14px,2vw,30px);padding:0 clamp(18px,4vw,70px);color:var(--navy);transition:background-color .25s,color .25s,box-shadow .25s}
.header.is-solid{background:var(--paper);box-shadow:0 1px 0 var(--line)}
.header .wordmark{display:grid;grid-template-columns:42px auto;column-gap:10px;align-items:center;text-decoration:none;line-height:1.1;white-space:nowrap}
.header .wordmark img{grid-row:span 2;width:42px;height:42px;object-fit:contain}
.wordmark span{grid-column:2;font-family:var(--serif);font-size:clamp(18px,1.9vw,28px);font-weight:600}
.wordmark small{grid-column:2;font-size:11px;letter-spacing:.28em}
.nav{display:flex;align-items:center;justify-content:flex-end;gap:clamp(10px,1.4vw,26px);margin-left:auto}
.nav a{font-size:14px;font-weight:700;white-space:nowrap;text-decoration:none;min-height:48px;display:flex;align-items:center}
.nav a:hover,.header-cta:hover{text-decoration:underline}
.header-tel{display:flex;align-items:center;gap:10px;min-height:58px;padding:8px 14px;border:1px solid currentColor;text-decoration:none;line-height:1.15;white-space:nowrap;flex:none}
.header-tel-icon{width:22px;height:22px;flex:none}
.header-tel-copy{display:flex;flex-direction:column;align-items:flex-start;gap:3px}
.header-tel-number{font-family:var(--sans);font-size:21px;font-weight:700;letter-spacing:.015em;font-variant-numeric:tabular-nums}
.header-tel-hours{font-family:var(--sans);font-size:14px;font-weight:400;letter-spacing:0;opacity:.82}
.header-cta,.button{display:inline-flex;align-items:center;justify-content:center;min-height:52px;padding:12px 25px;text-decoration:none;border:1px solid transparent;font-weight:700}
.header-cta,.button-green{background:var(--navy);color:var(--paper)}
.header-cta{font-size:14px;white-space:nowrap;min-height:58px}
.burger{display:none}
.mobile-menu[hidden]{display:none}
.hero-dark .header:not(.is-solid){color:var(--paper)}
.hero-dark .header:not(.is-solid) .header-cta{background:var(--paper);color:var(--navy)}
@media(min-width:1441px){
  .header{gap:12px;padding-inline:clamp(24px,2.5vw,40px)}
  .header .wordmark span{font-size:20px}
  .nav{gap:10px}
  .nav a{font-size:14px}
  .header-cta{padding-inline:12px}
  .mobile-menu{display:none!important}}

@media(max-width:1440px){.nav{display:none}.header-tel{margin-left:auto}
  .burger{display:flex;flex-direction:column;justify-content:center;gap:6px;width:48px;height:48px;flex:none;border:1px solid currentColor;background:transparent;color:inherit;padding:10px;cursor:pointer}
  .burger span{height:2px;background:currentColor;width:100%}
  .mobile-menu{position:fixed;top:var(--header-h);left:0;right:0;background:var(--paper);color:var(--ink);z-index:25;padding:20px 28px;box-shadow:0 12px 20px #0003}
  .mobile-menu a{display:block;text-decoration:none;padding:11px;border-bottom:1px solid var(--line);min-height:48px}}
@media(max-width:1050px){:root{--header-h:76px}
  .header-cta{display:none}
  .burger{margin-left:0}}
@media(max-width:700px){body{font-size:17px}
  .header{padding:0 16px;gap:8px}
  .header .wordmark{grid-template-columns:34px auto;column-gap:6px}.header .wordmark img{width:34px;height:34px}
  .wordmark span{font-size:15px}.wordmark small{font-size:8px}
  .header-tel{display:none}}
@media(min-width:701px) and (max-width:899px){.header-tel{display:none}}

/* ───────── 3 共通部品 ───────── */
.section{padding:clamp(72px,8vw,128px) clamp(24px,5vw,80px)}
.section[id],.story[id],#contact,#form{scroll-margin-top:calc(var(--header-h) + 16px)}
.section h2{font-size:clamp(30px,3.6vw,52px);letter-spacing:.05em}
.section-head{margin-bottom:clamp(28px,3.4vw,52px)}
.section-head p{margin-top:14px;max-width:38em;color:var(--muted)}
.small-label{font-size:14px;letter-spacing:.12em;margin-bottom:26px;color:var(--muted)}
.button{border-radius:0}
.finale-action{margin-top:28px}.finale-action p{margin-bottom:12px}

/* ───────── 4 FV（左：縦書きの言葉と電話・メール／右：荷物を積む絵 → 最後に、ロゴが中央へ） ───────── */
@font-face{font-family:'Yuji Syuku FV';src:url('fonts/yuji-syuku-fv.woff2') format('woff2');font-weight:400;font-display:swap}
@font-face{font-family:'Shippori FV Fallback';src:local('Hiragino Mincho ProN'),local('Yu Mincho'),local('YuMincho');size-adjust:98%;ascent-override:90%;descent-override:24%}
.hero{--art-h:min(54svh,520px);--art-top:calc(var(--header-h) + (100svh - var(--header-h) - var(--art-h)) / 2);--ground-y:calc(var(--art-top) + var(--art-h));--logo-h:min(34svh,calc((100vw - 32px) / 1.7));--fv-serif:'Yuji Syuku FV','Shippori FV Fallback','Shippori Mincho B1',serif}
.hero-stage{position:relative;background:var(--paper);color:var(--navy)}
/* 動きなし／JSなし：上から順に読む形（紙→ネイビー） */
.hero-paper{display:flex;flex-direction:column;align-items:center;gap:26px;padding:calc(var(--header-h) + 22px) 20px 44px}
.hero-h1{font-family:var(--fv-serif);font-weight:400;font-size:clamp(26px,3.2vw,38px);letter-spacing:.08em;line-height:1.35;text-align:center}
.hero-lines{display:flex;flex-direction:row-reverse;align-items:flex-start;justify-content:center;gap:1.1em;height:min(54svh,420px);font-size:min(30px,3.2svh)}
.hero-line{position:relative;overflow:hidden;writing-mode:vertical-rl;text-orientation:mixed;white-space:nowrap;font-family:var(--fv-serif);font-weight:400;font-size:inherit;line-height:1.85;letter-spacing:.04em;color:var(--navy);display:block}
.hero-line>span:not(.hero-line-cover){display:block}
.js-motion .hero-line-part{position:relative;overflow:hidden}
.hero-line>span+span:not(.hero-line-cover){margin-right:1.1em}
.hero-line-cover{display:none}
.hero-navy{position:relative;display:flex;flex-direction:column;align-items:center;background:var(--navy);color:var(--paper);padding:48px 20px 56px}
.hero-bg,.hero-wipe-edge,.hero-ground,.hero-vts,.hero-cta,.hero-skip{display:none}
.hero-illustration{position:relative;width:min(49.1svh,75vw);height:min(54svh,520px);margin:0 auto 32px}
.hero-illustration>img{position:absolute;bottom:0;max-width:none;height:auto}
.hero-illustration>.hero-tower,.hero-illustration>.hero-tower-umbrella{left:0;width:43.34%}
.hero-illustration>.hero-worker-static{left:56%;width:35%}
.hero-illustration>.hero-pose,.hero-illustration>.hero-item{display:none}
.hero-world{display:contents}
.hero-finale-art{position:relative;width:calc(var(--logo-h) * 1.111);height:var(--logo-h);flex:none;margin:0 auto calc(var(--logo-h) * .42);color:var(--paper)}
.hero-finale-art>img{display:block;max-width:none}
.hero-finale-art>.logo-frame{position:absolute;inset:0;width:100%;height:100%}
.hero-finale-art>.hero-animals{position:absolute;left:26%;top:37.4%;width:39.2%;height:49.1%;transform-origin:50% 100%}
.hero-finale-art>.logo-text{position:absolute;left:50%;top:calc(100% + 8px);width:140%;height:auto;transform:translateX(-50%)}
.hero-notes{position:absolute;inset:0;pointer-events:none}
.hero-notes img{position:absolute;width:5.5%;height:8%;object-fit:contain;filter:brightness(0) invert(96%) sepia(6%) saturate(210%);transform-origin:center bottom}
.hero-notes img:nth-child(1){left:-9%;top:30%}.hero-notes img:nth-child(2){left:-17%;top:18%}.hero-notes img:nth-child(3){left:108%;top:16%}.hero-notes img:nth-child(4){left:115%;top:30%}.hero-notes img:nth-child(5){left:-3%;top:8%}
.hero-ending{position:relative;width:100%;display:flex;flex-direction:column;align-items:center;text-align:center}
.hero-ending .finale-action p{margin-bottom:12px;font-size:16px}

/* 電話・メールのボタン（ネイビー地用。紙地の時は .cta-light で反転） */
.finale-buttons{display:grid;grid-template-columns:minmax(0,1fr);gap:12px;width:min(480px,calc(100vw - 40px));margin:0 auto;text-align:left}
.fb{position:relative;display:flex;color:var(--paper);text-decoration:none;border:2px solid var(--paper);box-shadow:5px 5px 0 #f7f4ee3d;transition:transform .18s,box-shadow .18s,background .18s,color .18s,border-color .18s}
.fb:hover,.fb:focus-visible{transform:translate(3px,3px);box-shadow:2px 2px 0 #f7f4ee3d}
.fb svg{flex:none;width:24px;height:24px}
.fb-text{display:flex;flex-direction:column;gap:3px;min-width:0}
.fb-text strong{font-family:var(--sans);font-weight:700;line-height:1.3}
.fb-text small{font-size:13px;line-height:1.4;opacity:.78}
.fb-tel{align-items:center;justify-content:center;gap:16px;background:var(--paper);color:var(--navy);padding:12px 20px}
.fb-tel svg{width:30px;height:30px;padding:9px;box-sizing:content-box;border-radius:50%;background:var(--navy);color:var(--paper);stroke-width:2}
.fb-tel .fb-text{align-items:flex-start;gap:1px}
.fb-tel .fb-text strong{font-size:30px;letter-spacing:.04em;font-variant-numeric:tabular-nums;order:2;line-height:1.15}
.fb-tel .fb-text small{order:1;font-size:13px;opacity:.7}
.fb-tel:hover{background:#fff}
.fb-mail{align-items:center;gap:14px;padding:12px 20px;background:#f7f4ee14}
.fb-mail .fb-text strong{font-size:18px}
.fb-mail .fb-arrow{margin-left:auto;width:20px;height:20px;transition:transform .18s}
.fb-mail:hover,.fb-mail:focus-visible{background:var(--paper);color:var(--navy)}
.fb-mail:hover .fb-arrow{transform:translateX(3px)}
.fb-sub{display:flex;justify-content:center;gap:clamp(20px,4vw,40px);margin-top:6px;font-size:14.5px}
.fb-sub a{display:inline-flex;align-items:center;gap:6px;min-height:44px;color:var(--paper);text-decoration:underline;text-underline-offset:5px;text-decoration-color:#f7f4ee80}
.fb-sub a:hover{text-decoration-color:var(--paper)}
.fb-sub .fb-arrow{width:15px;height:15px}
/* 紙の地に置く時は色を反転 */
.cta-light .fb{color:var(--navy);border-color:var(--navy);box-shadow:5px 5px 0 #14394f2e}
.cta-light .fb:hover,.cta-light .fb:focus-visible{box-shadow:2px 2px 0 #14394f2e}
.cta-light .fb-tel{background:var(--navy);color:var(--paper)}
.cta-light .fb-tel:hover{background:#0d2a3c}
.cta-light .fb-tel svg{background:var(--paper);color:var(--navy)}
.cta-light .fb-mail{background:transparent}
.cta-light .fb-mail:hover,.cta-light .fb-mail:focus-visible{background:var(--navy);color:var(--paper)}
.cta-light .fb-sub a{color:var(--navy);text-decoration-color:#14394f80}
.cta-light .fb-sub a:hover{text-decoration-color:var(--navy)}
@media(max-width:560px){
  .finale-buttons{gap:10px}.fb{box-shadow:4px 4px 0 #f7f4ee3d}
  .fb-tel .fb-text strong{font-size:26px}.fb-tel svg{width:22px;height:22px;padding:8px}
  .fb-mail{padding:10px 16px}.fb-mail .fb-text strong{font-size:16px}
}
@media(max-height:780px){.fb-tel{padding:9px 18px}.fb-tel .fb-text strong{font-size:26px}.fb-mail{padding:8px 18px}.fb-sub a{min-height:38px}}

/* ───── 動きあり：1画面の中で、時間で自動再生（スクロールは使わない） ───── */
.js-motion .hero-stage{height:100svh;min-height:620px;overflow:hidden}
.js-motion .hero-paper{position:absolute;inset:0;display:block;padding:0;background:var(--paper)}
.js-motion .hero-h1{position:absolute;left:50%;top:calc(var(--header-h) + 2.2svh);transform:translateX(-50%);width:max-content;max-width:calc(100% - 32px)}
.js-motion .hero-lines{position:absolute;left:50%;top:calc(var(--header-h) + 14svh);transform:translateX(-50%);height:min(50svh,520px);font-size:min(40px,2.8svh);width:max-content}
.js-motion .hero-line-cover{display:block;position:absolute;inset:0;z-index:1;background:var(--paper);transform:translateY(0);pointer-events:none}
.js-motion .hero-navy{position:absolute;inset:0;display:block;padding:0;overflow:visible;transform:translateY(calc(100% + 48px));pointer-events:none;will-change:transform}
.js-motion .hero-bg{display:block;position:absolute;inset:0;overflow:hidden;pointer-events:none}
.js-motion .hero-bg img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;opacity:0;filter:grayscale(.75) contrast(.92) brightness(.9)}
.js-motion .hero-bg:after{content:'';position:absolute;inset:0;background:radial-gradient(ellipse at 50% 55%,#143a5266 0%,#143a52d9 80%)}
.js-motion .hero-wipe-edge{display:block;position:absolute;left:0;top:-32px;width:100%;height:32px;overflow:visible;pointer-events:none}
.hero-wipe-fill{fill:var(--navy)}.hero-wipe-halo{fill:var(--navy);opacity:.16}.hero-wipe-halo-two{opacity:.08}
.js-motion .hero-world{display:block;position:absolute;inset:0;transform-origin:50% calc((100% + var(--header-h)) / 2)}
.hero-glow{display:none}
.js-motion .hero-glow{display:block;position:absolute;left:50%;top:calc(var(--art-top) + var(--art-h) * .5);width:min(80svh,90vw);height:min(80svh,90vw);margin:calc(min(80svh,90vw) / -2) 0 0 calc(min(80svh,90vw) / -2);border-radius:50%;background:radial-gradient(circle,#f7f4ee38 0%,#f7f4ee14 38%,transparent 66%);opacity:0;pointer-events:none}
.js-motion .hero-illustration{display:block;position:absolute;left:50%;top:var(--art-top);width:min(49.1svh,75vw);height:var(--art-h);margin:0;transform:translateX(-50%);clip-path:inset(-80svh -30vw 0 -30vw)}
.js-motion .hero-illustration>img{position:absolute;display:block;max-width:none;height:auto;object-fit:contain;transform-origin:center bottom;opacity:0}
.js-motion .hero-illustration>.hero-pose,.js-motion .hero-illustration>.hero-item{display:block;position:absolute;bottom:0;left:0;max-width:none;height:auto;opacity:0;pointer-events:none}
.js-motion .hero-illustration>.hero-pose{z-index:2;transform-origin:center bottom}
.js-motion .hero-illustration>.hero-item{z-index:3;filter:brightness(0) invert(.96)}
.js-motion .hero-illustration>.hero-item-box{height:62px;background:var(--paper);filter:none;box-shadow:inset 0 0 0 2px #14394f66}
.hero-item-box:before{content:'';position:absolute;left:50%;top:0;width:2px;height:100%;background:#14394f66}
.js-motion .hero-worker-static{display:none}
.js-motion .hero-tower,.js-motion .hero-tower-umbrella{width:43.34%;left:0;bottom:0}
.js-motion .hero-ground{display:block;position:absolute;left:calc(50% - var(--logo-h) * .8);top:var(--ground-y);width:calc(var(--logo-h) * 1.6);height:3px;background:var(--paper);opacity:0;z-index:3;pointer-events:none;transform-origin:0 50%}
.js-motion .hero-finale-art{position:absolute;left:50%;top:calc(var(--ground-y) - var(--logo-h) * .87);margin:0;transform:translateX(-50%);transform-origin:50% 87%}
.js-motion .hero-finale-art>img,.js-motion .hero-notes img{opacity:0}
.js-motion .hero-vts{display:flex;flex-direction:row-reverse;gap:.9em;position:absolute;top:calc((100svh + var(--header-h)) / 2);transform:translateY(-50%);left:calc(50% + min(49.1svh,75vw) / 2 + 32px);z-index:2;pointer-events:none}
.js-motion .hero-vt{margin:0;writing-mode:vertical-rl;text-orientation:mixed;white-space:nowrap;font-family:var(--fv-serif);font-weight:400;color:var(--paper);letter-spacing:.14em;line-height:1.5;text-shadow:0 2px 18px #143a52,0 0 6px #143a52;opacity:0}
.js-motion .hero-vt-one{font-size:clamp(24px,2.2vw,36px)}
.js-motion .hero-vt-two{font-size:clamp(28px,2.6vw,42px)}
.js-motion .hero-ending{position:absolute;left:-9999px;top:0;width:1px;height:1px;overflow:hidden}
.js-motion .hero-ending .finale-action{display:none}
/* 時間で動く電話・メール（左半分→最後に中央へ） */
.js-motion .hero-cta{display:block;position:absolute;left:0;top:0;width:50%;z-index:6;padding:0 20px;will-change:transform}
.cta-facts{display:none;text-align:center;font-size:14px;letter-spacing:.04em;margin:0 auto 12px;color:var(--muted)}
.js-motion .cta-facts{display:block}
.cta-dark .cta-facts{color:#f7f4eecc}
.js-motion .hero-skip{display:flex;position:absolute;align-items:center;justify-content:center;min-width:64px;min-height:44px;bottom:14px;right:20px;z-index:7;font-size:14px;line-height:1.4;color:var(--navy);background:transparent;border:0;padding:7px 10px;text-decoration:underline;text-underline-offset:3px}
.hero-dark .hero-skip,.hero-skip.is-dark{color:var(--paper)}
.hero-skip.is-end{display:none}
.hero-contact-ready .sticky-contact{visibility:hidden}
/* 広い画面：左半分＝紙、右半分＝ネイビー */
@media(min-width:900px){
  .js-motion .hero-paper{right:50%;width:auto}
  .js-motion .hero-h1{left:50%}
  .js-motion .hero-cta{width:50%}
}
/* 狭い画面：全面で順に。絵の場面は省く */
@media(max-width:899px){
  .hero{--art-top:33svh;--art-h:min(75vw,40svh)}
  .js-motion .hero-illustration,.js-motion .hero-ground{display:none}
  .js-motion .hero-cta{width:100%}
  .js-motion .hero-vts{left:auto;right:12px;top:16svh;transform:none;gap:.7em}
  .js-motion .hero-vt-one{font-size:19px}.js-motion .hero-vt-two{font-size:22px}
}
@media(max-height:520px){.hero-line{white-space:normal}}
@media(max-width:899px){.js-motion .hero-skip{bottom:auto;top:calc(var(--header-h) + 8px);right:12px}.cta-facts{font-size:12.5px}}

/* ───────── 5 私たちについて／私たちが大切にしていること ───────── */
.story{position:relative;background:var(--paper)}
.story-stage{position:relative;display:grid;grid-template-rows:auto auto;min-height:640px;padding:clamp(72px,9vw,140px) clamp(24px,6vw,110px) clamp(40px,5vw,80px);align-content:center}
.story-copy{max-width:36em}
.story h2{font-size:clamp(34px,3.9vw,58px);margin-bottom:30px}
.story h2 span{display:block}
.story-lead,.story-after{max-width:33em;font-size:18px}
.story-after{margin-top:20px;color:var(--muted)}
.story-track{position:relative;height:clamp(150px,18vw,230px);margin-top:clamp(30px,4vw,60px)}
.story-ground{position:absolute;left:0;right:0;bottom:0;height:2px;background:var(--navy);opacity:.8}
.story-train{--u:min(.8vw,11px);position:absolute;left:0;bottom:2px;display:flex;align-items:flex-end;gap:calc(var(--u) * 1.4);width:max-content}
.story-train img{display:block;width:auto;max-width:none;flex:none}
.story-train .tr-clock{height:calc(var(--u) * 14)}.story-train .tr-umbrella{height:calc(var(--u) * 10)}.story-train .tr-chair{height:calc(var(--u) * 7)}.story-train .tr-kettle{height:calc(var(--u) * 3.6)}.story-train .tr-animals{height:calc(var(--u) * 12)}.story-train .tr-walk{height:calc(var(--u) * 15)}.story-train .story-house{position:static;height:calc(var(--u) * 18);width:auto}
@media(max-width:700px){.story-train{--u:1.5vw}.story-train .tr-umbrella,.story-train .tr-chair,.story-train .tr-kettle{display:none}}
.js-motion .story{height:190svh}
.js-motion .story-stage{position:sticky;top:0;height:100svh;min-height:0;overflow:hidden;padding-top:calc(var(--header-h) + 3svh);padding-bottom:0;align-content:start}
.js-motion .story-track{position:absolute;left:0;right:0;bottom:12svh;height:clamp(150px,22svh,230px);margin:0}
.js-motion .story-ground{transform-origin:left center}
.js-motion .story-train{will-change:transform}
.js-motion .story-copy>*{will-change:opacity,transform}
@media(max-width:700px){
  .story-stage{min-height:0;padding:96px 24px 36px}
  .story h2{font-size:33px}
  .js-motion .story{height:170svh}
  .js-motion .story-stage{padding-top:calc(var(--header-h) + 2svh)}
  .js-motion .story-track{bottom:9svh;height:clamp(110px,22svh,170px)}
}
.thoughts h2{margin-bottom:clamp(30px,4vw,56px)}
.thoughts-list{display:grid;grid-template-columns:repeat(3,1fr);gap:clamp(24px,3.4vw,56px)}
.thoughts article{border-top:1px solid var(--navy);padding-top:22px}
@media(min-width:901px){.thoughts article:nth-child(2){margin-top:clamp(28px,4vw,64px)}.thoughts article:nth-child(3){margin-top:clamp(56px,8vw,128px)}}
.thoughts h3{font-size:clamp(22px,2vw,30px);margin-bottom:14px}
.thoughts p{max-width:30em;font-size:17px}
.thoughts-name img{width:120px;height:auto;margin-top:22px}
@media(max-width:900px){.thoughts-list{grid-template-columns:1fr;gap:34px}.thoughts-name img{width:96px}}

/* ───────── 6 ご相談の例（右から左へ流れるカード） ───────── */
.situ-marquee{overflow-x:auto;margin:0 calc(clamp(24px,5vw,80px) * -1);padding:0 clamp(24px,5vw,80px) 8px;scroll-snap-type:x proximity}
.situ-list{display:flex;gap:clamp(14px,1.6vw,24px);width:max-content}
.situ-list li{flex:none;width:clamp(250px,24vw,340px);scroll-snap-align:start;background:#fff;border:1px solid var(--line);display:grid;grid-template-rows:auto 1fr}
.situ-list li img{width:100%;aspect-ratio:3/2;object-fit:cover;display:block}
.situ-list li>div{padding:18px 20px 22px}
.situ-list h3{font-size:clamp(20px,1.7vw,25px);margin-bottom:8px}
.situ-list p{color:var(--muted);font-size:16px;line-height:1.75}
.js-motion .situ-marquee{overflow:hidden;scroll-snap-type:none}
.js-motion .situ-list.is-marquee{animation:situ-flow var(--situ-dur,70s) linear infinite}
.js-motion .situ-marquee:hover .situ-list.is-marquee,.js-motion .situ-marquee:focus-within .situ-list.is-marquee,.situ-marquee.is-touch-paused .situ-list.is-marquee{animation-play-state:paused}
@keyframes situ-flow{from{transform:translateX(0)}to{transform:translateX(calc(-50% - clamp(7px,.8vw,12px)))}}
.service-catalog{margin-top:clamp(44px,5vw,70px)}
.service-catalog h3{font-size:22px;margin-bottom:16px}
.service-catalog ul{display:grid;grid-template-columns:repeat(4,1fr);column-gap:30px}
.service-catalog li{padding:12px 0;border-bottom:1px solid var(--line)}
@media(max-width:1050px){.service-catalog ul{grid-template-columns:repeat(2,1fr)}}
@media(max-width:700px){.situ-list li{width:78vw}.situ-list p{font-size:15px}.service-catalog ul{column-gap:16px}.service-catalog li{font-size:14px}}

/* ───────── 7 進め方 ───────── */
.flow{display:grid;grid-template-columns:repeat(5,1fr);gap:clamp(34px,4vw,60px);position:relative}
.flow li{position:relative;min-width:0}
.flow-photo{position:relative}
.flow-photo img{width:100%;aspect-ratio:4/3;object-fit:cover;display:block}
.flow li:not(:last-child) .flow-photo:after{content:'';position:absolute;top:50%;right:calc(clamp(34px,4vw,60px) * -.5 - 14px);width:28px;height:28px;margin-top:-14px;background:var(--navy) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 28 28'%3E%3Cpath d='M9 7l8 7-8 7' fill='none' stroke='%23F7F4EE' stroke-width='3' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E") center/100% no-repeat;border-radius:50%;z-index:2}
.flow-name{display:flex;align-items:baseline;gap:10px;margin:16px 0 8px}
.flow-number{font-family:var(--sans);font-size:14px;font-weight:700;letter-spacing:.1em;color:var(--green);font-variant-numeric:tabular-nums}
.flow h3{font-size:clamp(21px,1.8vw,26px)}
.flow p{font-size:16px;line-height:1.8}
.js-motion .flow li{opacity:.35;transition:opacity .6s}
.js-motion .flow li.is-lit{opacity:1}
@media(max-width:900px){
  .flow{grid-template-columns:1fr;gap:44px}
  .flow li{display:grid;grid-template-columns:38% 1fr;column-gap:16px;align-items:start}
  .flow-photo{grid-row:span 2}.flow-name{margin:0 0 6px}
  .flow li:not(:last-child) .flow-photo:after{top:auto;right:auto;left:50%;bottom:-36px;margin:0 0 0 -14px;transform:rotate(90deg)}
}

/* ───────── 8 料金の考え方 ───────── */
.price{background:#fff}
.price-layout{display:grid;grid-template-columns:minmax(0,1.05fr) minmax(0,1fr);gap:clamp(30px,5vw,80px);align-items:start}
.price-table{width:100%;border-collapse:collapse;font-variant-numeric:tabular-nums}
.price-table caption{text-align:left;font-family:var(--serif);font-weight:600;font-size:20px;margin-bottom:12px}
.price-table th,.price-table td{padding:13px 10px;border-bottom:1px solid var(--line);text-align:left}
.price-table thead th{color:var(--muted);font-weight:700;border-bottom:1px solid var(--navy)}
.price-table tbody th{font-family:var(--serif);font-size:18px;font-weight:600;white-space:nowrap}
.price-table td:last-child{display:flex;align-items:center;justify-content:flex-end;gap:12px;font-size:20px;white-space:nowrap;color:var(--navy)}
.price-table td:last-child b{font-weight:700;min-width:6.4em;text-align:right}
.price-bar{flex:1;display:block;height:12px;background:#ddd8ca;min-width:60px;max-width:200px}
.price-bar i{display:block;height:100%;background:var(--navy)}
.price-note{margin-top:14px;font-size:16px;color:var(--muted)}
.price-facts>div{display:grid;grid-template-columns:9.5em 1fr;gap:14px;padding:15px 0;border-top:1px solid var(--line)}
.price-facts>div:last-child{border-bottom:1px solid var(--line)}
.price-facts dt{font-weight:700}
.price-facts dd{font-size:16.5px}
@media(max-width:900px){.price-layout{grid-template-columns:1fr}}
@media(max-width:700px){
  .price-facts>div{grid-template-columns:1fr;gap:4px}
  .price-table th,.price-table td{padding:11px 6px}.price-table tbody th{font-size:16px}.price-table td:last-child{font-size:17px}.price-bar{display:none}
  .price-table td:nth-child(2){white-space:nowrap;padding-left:2px;padding-right:2px}
}

/* ───────── 9 弊社に頼む強み ───────── */
.strength{background:var(--navy);color:var(--paper);overflow:hidden}
.strength .section-head p{color:#f7f4eecc}
.strength-hub{display:flex;flex-direction:column;align-items:center;gap:6px;width:min(100%,520px);margin:0 auto clamp(40px,5vw,64px);padding:22px 20px;border:2px solid var(--paper);text-align:center;position:relative}
.strength-hub span{font-size:15px;letter-spacing:.2em;color:#f7f4eecc}
.strength-hub strong{font-family:var(--serif);font-size:clamp(26px,3vw,40px);letter-spacing:.06em;line-height:1.3}
.strength-hub:after{content:'';position:absolute;left:50%;top:100%;width:2px;height:clamp(24px,3vw,38px);background:var(--paper);transform:translateX(-1px)}
.strength-list{display:grid;grid-template-columns:repeat(3,1fr);gap:clamp(16px,2vw,30px)}
.strength-list li{position:relative;background:var(--paper);color:var(--navy);padding:clamp(22px,2.4vw,34px) clamp(20px,2.2vw,30px) clamp(24px,2.6vw,36px);overflow:hidden;transition:transform .35s,box-shadow .35s}
.strength-list li:hover{transform:translateY(-6px);box-shadow:0 14px 28px #0a1e2c66}
.strength-list .st-num{position:absolute;right:14px;top:-6px;font-family:var(--serif);font-size:clamp(72px,7vw,104px);line-height:1;font-weight:600;color:var(--green);opacity:.16;pointer-events:none}
.strength-list .st-icon{width:64px;height:64px;color:var(--green);margin-bottom:16px}
.strength-list h3{font-size:clamp(22px,2vw,30px);margin-bottom:10px;position:relative}
.strength-list p{font-size:16.5px;max-width:24em;position:relative}
.js-motion .strength-list li{opacity:0;transform:translateY(34px) scale(.97);transition:opacity .7s,transform .7s cubic-bezier(.22,.7,.2,1),box-shadow .35s}
.js-motion .strength-list.is-in li{opacity:1;transform:none}
.js-motion .strength-list.is-in li:nth-child(2){transition-delay:.08s}.js-motion .strength-list.is-in li:nth-child(3){transition-delay:.16s}.js-motion .strength-list.is-in li:nth-child(4){transition-delay:.24s}.js-motion .strength-list.is-in li:nth-child(5){transition-delay:.32s}.js-motion .strength-list.is-in li:nth-child(6){transition-delay:.4s}
.strength-note{margin-top:18px;max-width:42em;font-size:16px;color:#f7f4eecc}
@media(max-width:1000px){.strength-list{grid-template-columns:1fr 1fr}}
@media(max-width:640px){.strength-list{grid-template-columns:1fr}}

/* ───────── 10 資格と許認可 ───────── */
.credentials{display:grid;grid-template-columns:1fr 1fr;gap:clamp(30px,5vw,80px);border-top:1px solid var(--line);border-bottom:1px solid var(--line)}
.credentials h2{margin-bottom:24px}
.credentials-main ul{display:grid;grid-template-columns:repeat(3,1fr);gap:12px}
.credentials-main li{background:#fffdf8;border:1px solid var(--navy);outline:1px solid var(--navy);outline-offset:-7px;letter-spacing:.08em;min-height:120px;display:flex;align-items:center;justify-content:center;text-align:center;font-family:var(--serif);font-size:clamp(18px,1.7vw,24px);font-weight:600;padding:8px}
.credentials-permits{align-self:end}
.credentials-permits table{width:100%;border-collapse:collapse}
.credentials-permits th,.credentials-permits td{text-align:left;padding:14px 8px;border-bottom:1px solid var(--line);vertical-align:top}
.credentials-permits th{width:12em;font-weight:700}
.credentials-permits p{margin-top:14px;font-size:15px;color:var(--muted)}
@media(max-width:900px){.credentials{grid-template-columns:1fr}.credentials-main ul{grid-template-columns:1fr}.credentials-main li{min-height:72px}.credentials-permits th{width:auto;display:block;border-bottom:0;padding-bottom:0}.credentials-permits td{display:block;padding-top:2px}}

/* ───────── 11 よくあるご質問 ───────── */
.faq-section{background:#fff}
.faq-section h2{margin-bottom:40px}
.faq{max-width:980px;margin:auto}
@media(min-width:1000px){.faq-section{display:grid;grid-template-columns:minmax(220px,.42fr) minmax(0,1.6fr);gap:clamp(30px,5vw,80px);align-items:start}.faq-section h2{margin-bottom:0}.faq{max-width:none;margin:0}}
.faq details{border-top:1px solid var(--line);padding:0 8px}
.faq details:last-child{border-bottom:1px solid var(--line)}
.faq summary{cursor:pointer;min-height:68px;padding:18px 32px 18px 0;font-size:18px;font-weight:700;position:relative;list-style:none}
.faq summary::-webkit-details-marker{display:none}
.faq summary:after{content:'+';position:absolute;right:4px;top:50%;transform:translateY(-50%);font-size:24px;font-weight:400;color:var(--green)}
.faq details[open] summary:after{content:'−'}
.faq p{padding:0 0 24px;max-width:50em;font-size:17px}

/* ───────── 13 ご相談 ───────── */
.contact-band{background:var(--paper)}
.contact-stage{background:var(--navy);color:var(--paper);padding:clamp(60px,7vw,110px) clamp(24px,6vw,100px)}
.contact-band h2{font-size:clamp(34px,3.4vw,46px);margin-bottom:12px}
.contact-tel{display:inline-block;text-decoration:none;font-size:clamp(40px,6vw,84px);font-weight:700;letter-spacing:.05em;line-height:1.2;margin:10px 0 14px;font-variant-numeric:tabular-nums;border-bottom:3px solid var(--paper)}
.contact-copy p{max-width:34em}
.contact-copy .button{margin-top:22px;min-width:240px;background:var(--paper);color:var(--navy)}
.form-section{display:grid;grid-template-columns:1fr 1.5fr;gap:clamp(30px,5vw,80px);padding:clamp(56px,6vw,96px) clamp(24px,6vw,100px)}
.form-intro h3{font-size:26px;margin-bottom:10px}
.form-intro p{color:var(--muted);max-width:24em}
.form-section form{display:grid;gap:18px}
.form-section label{display:grid;gap:7px;font-weight:700}
.form-section .lab{display:flex;align-items:baseline;gap:10px}.form-section .lab em{font-style:normal;font-size:14px;color:var(--green)}
.form-section input[type=text],.form-section input[type=tel],.form-section input[type=email],.form-section textarea{width:100%;border:1px solid #bbb7ae;background:#fff;min-height:52px;padding:12px;color:var(--ink);border-radius:0}
.form-section textarea{resize:vertical}
.form-kind{border:0;padding:0;margin:0;display:grid;gap:8px}
.form-kind legend{font-weight:700;margin-bottom:6px}
.radio{display:flex!important;align-items:center;gap:10px;font-weight:400!important;min-height:48px}
.radio input{width:22px;height:22px;accent-color:var(--green);flex:none}
.radio span{font-size:16px}
.form-section form p{font-size:14px}
.form-section button{border:0;cursor:pointer;justify-self:start;min-width:200px}
@media(max-width:900px){.form-section{grid-template-columns:1fr;gap:26px}}

/* ───────── 14 会社概要 ───────── */
.company h2{margin-bottom:36px}
.company-layout{display:grid;grid-template-columns:minmax(0,1fr);gap:clamp(24px,4vw,64px);align-items:start}
.company-layout{max-width:1100px}
.company table{border-collapse:collapse;width:100%}
.company tr{border-bottom:1px solid var(--line)}
.company th,.company td{text-align:left;padding:16px 14px;vertical-align:top}
.company th{width:11em;font-weight:700}
@media(max-width:900px){.company-layout{grid-template-columns:1fr}}
@media(max-width:700px){.company th,.company td{display:block;width:100%;padding:8px 2px}.company th{padding-top:18px}.company td{padding-bottom:18px;overflow-wrap:anywhere}}

/* ───────── 15 フッター・固定バー ───────── */
footer{background:#ebe8e0;padding:45px clamp(24px,5vw,80px) 25px}
footer>div{display:flex;justify-content:space-between;gap:30px}
.footer-brand{display:flex;align-items:center;gap:12px;text-decoration:none;font-family:var(--serif);font-weight:600}
.footer-brand img{width:46px;height:auto}
.footer-brand small{display:block;font-size:12px;letter-spacing:.2em;font-family:var(--sans);font-weight:400}
footer nav{display:flex;flex-wrap:wrap;justify-content:flex-end;gap:4px 20px}
footer nav a{font-size:14px;min-height:48px;display:flex;align-items:center;text-decoration:none}
footer>p{font-size:14px;margin-top:26px}
.sticky-contact{display:none}
@media(max-width:700px){
  footer{padding-bottom:95px}footer>div{display:block}footer nav{justify-content:flex-start;margin-top:22px}
  .sticky-contact{position:fixed;z-index:15;bottom:0;left:0;right:0;display:grid;grid-template-columns:1fr 1fr;background:var(--paper);padding:8px;gap:8px;box-shadow:0 -3px 16px #0002}
  .sticky-contact a{min-height:50px;display:flex;align-items:center;justify-content:center;text-decoration:none;font-size:15px;font-weight:700}
  .sticky-contact a:first-child{background:var(--navy);color:var(--paper)}
  .sticky-contact a:last-child{border:1px solid var(--navy);color:var(--navy)}
}

/* ───────── プライバシーポリシー ───────── */
.legal{max-width:880px;margin:0 auto;padding-top:calc(var(--header-h) + 40px)}
.legal h1{font-size:clamp(30px,3.4vw,44px);margin-bottom:34px}
.legal .doc h2{font-size:22px;margin:38px 0 10px}
.legal .doc p,.legal .doc li{max-width:46em}
.legal .doc ul{list-style:disc;padding-left:1.4em;margin:10px 0}
.legal-table{border-collapse:collapse;width:100%;margin-top:10px}
.legal-table th,.legal-table td{text-align:left;padding:12px 8px;border-bottom:1px solid var(--line);vertical-align:top}
.legal-table th{width:8em}
.legal-back{margin-top:44px}

/* ───────── 16 印刷 ───────── */
@media print{
  *{color:#000!important;box-shadow:none!important}
  .header,.mobile-menu,.sticky-contact,.hero-skip{display:none!important}
  .hero-navy{background:#143A52!important}.hero-navy *{color:#F7F4EE!important}
  .hero-navy,.hero-paper{min-height:0!important;padding:14mm 0!important;break-inside:avoid}
  .hero-finale-art{height:80mm!important;color:#F7F4EE!important}
  .situ-list img,.flow-photo img{max-height:40mm}
  .faq details p{display:block!important}
  .section{padding:8mm 0}
  a[href^="tel"]:after{content:''}
}

/* ───────── 章の境：床の線と切り絵 ───────── */
.divider{position:relative;height:var(--ih,110px);margin:0 clamp(24px,5vw,80px) clamp(24px,3vw,44px);border-bottom:2px solid var(--navy);overflow:visible}
.divider img{position:absolute;bottom:-1px;right:var(--ix,8%);height:var(--ih,110px);width:auto}
.divider-chair{--ih:clamp(70px,8vw,112px);--ix:12%}
.divider-kettle{--ih:clamp(46px,5vw,70px);--ix:20%}
.divider-umbrella{--ih:clamp(76px,9vw,130px);--ix:6%}
.divider-clock{--ih:clamp(110px,13vw,190px);--ix:14%}
.js-motion .divider img{opacity:0;transform:translateX(24px);transition:opacity .7s,transform .7s}
.js-motion .divider.is-in img{opacity:1;transform:none}
.strength{margin-top:0}
.divider-umbrella+.strength{border-top:0}
/* 進め方：歩く人（広い画面だけ） */
.flow-section{position:relative}
.flow-walker{display:none}
@media(min-width:901px){.flow-walker{display:block;position:absolute;left:calc(clamp(24px,5vw,80px) + 0px);top:clamp(24px,3vw,44px);height:clamp(70px,7vw,100px);width:auto;opacity:0;pointer-events:none}
  .js-motion .flow-walker{opacity:1;transition:transform .9s cubic-bezier(.22,.7,.2,1)}}

/* フォーム：項目ごとのエラーと同意 */
.field{display:grid;gap:7px}
.field>label:first-child{font-weight:700}
.field input[type=text],.field input[type=tel],.field input[type=email],.field textarea{width:100%;border:1px solid #8f9ea6;background:#fcfaf6;min-height:52px;padding:12px;color:var(--ink);border-radius:0}
.field input[aria-invalid=true],.field textarea[aria-invalid=true]{border-color:#a02323;background:#fff6f6}
.field-error{color:#a02323;font-size:15px;font-weight:700}
.consent{min-height:48px}
.consent a{text-decoration:underline}
.hp{position:absolute;left:-9999px;width:1px;height:1px;overflow:hidden}

/* 私たちが大切にしていること：右から左へ歩く人 */
.thoughts-art{position:relative;display:flex;justify-content:flex-end;align-items:flex-end;border-bottom:2px solid var(--navy);margin-top:clamp(36px,5vw,72px);padding:0 clamp(8px,4vw,60px);overflow:hidden}
.thoughts-walk{height:clamp(150px,19vw,280px);width:auto;transform:scaleX(-1);transform-origin:center bottom}
.js-motion .thoughts-walk{will-change:transform}
/* FAQ：残りは畳む */
.faq details.faq-rest{border:0;padding:0}
.faq-more{min-height:56px;display:flex!important;align-items:center;justify-content:center;border:1px solid var(--navy);margin:22px 0 0;padding:10px 20px!important;color:var(--navy);font-weight:700}
.faq-more:after{position:static!important;transform:none!important;margin-left:10px}
.faq-rest[open]>.faq-more{margin-bottom:8px}
.form-noscript{color:#a02323;font-weight:700;margin-bottom:12px}

/* 紹介パートナー募集 */
.partner{background:#fff}
.partner-box{display:flex;gap:clamp(24px,4vw,64px);align-items:center;justify-content:space-between;border:2px solid var(--navy);padding:clamp(28px,4vw,56px)}
.partner-box h2{margin-bottom:16px}
.partner-box p{max-width:36em}
.partner-box p+p{margin-top:8px;color:var(--muted)}
.partner-box .button{flex:none;min-height:60px;padding:14px 28px;text-align:center}
@media(max-width:800px){.partner-box{flex-direction:column;align-items:stretch}}

/* 章の終わりの相談リンク／フォームの補足 */
.section-cta{display:flex;flex-wrap:wrap;align-items:center;gap:10px 22px;margin-top:clamp(28px,3vw,44px);padding:18px 22px;border:1px solid var(--navy);font-size:17px}
.section-cta a{font-weight:700;color:var(--navy);text-decoration:underline;text-underline-offset:5px;min-height:44px;display:inline-flex;align-items:center}
.form-after,.form-company{font-size:15px;color:var(--muted);margin-top:14px}
.form-company a{text-decoration:underline}
.field select{width:100%;border:1px solid #8f9ea6;background:#fcfaf6;min-height:52px;padding:12px;color:var(--ink);border-radius:0;font:inherit}

/* 紹介パートナー向けページ */
.partner-page main{padding-top:var(--header-h)}
.pt-hero{padding-top:clamp(56px,7vw,110px)}
.pt-hero h1{font-size:clamp(32px,4.2vw,60px);letter-spacing:.04em;line-height:1.4;margin-bottom:20px}
.pt-lead{font-size:clamp(17px,1.5vw,21px);max-width:34em}
.pt-hero-actions{display:flex;flex-wrap:wrap;gap:14px;margin-top:30px}
.pt-hero-actions .button{min-height:56px;padding:12px 28px;display:inline-flex;align-items:center}
.button-line-dark{border:2px solid var(--navy);color:var(--navy);background:transparent}
.button-line-dark:hover{background:var(--navy);color:var(--paper)}
.pt-note{margin-top:16px;color:var(--muted);font-size:15px}
.pt-sec h2{font-size:clamp(26px,3vw,40px);letter-spacing:.05em;margin-bottom:18px}
.pt-cards{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:clamp(16px,2vw,28px)}
.pt-cards li{border:1px solid var(--navy);padding:clamp(20px,2.4vw,32px);background:#fff}
.pt-icon{width:56px;height:56px;color:var(--green);margin-bottom:14px}
.pt-cards h3{font-size:clamp(20px,1.8vw,26px);margin-bottom:8px}
.pt-cards p{font-size:16.5px;line-height:1.85}
.pt-flow{background:#fff}
.pt-steps{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:clamp(34px,4vw,56px);counter-reset:s}
.pt-steps li{position:relative;border-top:3px solid var(--navy);padding-top:16px}
.pt-steps li:not(:last-child):after{content:'';position:absolute;top:-17px;right:calc(clamp(34px,4vw,56px) * -.5 - 14px);width:28px;height:28px;border-radius:50%;background:var(--navy) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 28 28'%3E%3Cpath d='M9 7l8 7-8 7' fill='none' stroke='%23F7F4EE' stroke-width='3' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E") center/100% no-repeat}
.pt-step{font:700 14px var(--sans);letter-spacing:.12em;color:var(--green)}
.pt-steps h3{font-size:22px;margin:6px 0 8px}
.pt-steps p{font-size:16px;line-height:1.8}
.pt-two{display:grid;grid-template-columns:1fr 1fr;gap:clamp(28px,5vw,80px)}
.pt-two h2{font-size:clamp(22px,2.2vw,30px)}
.pt-two p+p,.pt-fee p+p{margin-top:12px}
.pt-fee{background:var(--navy);color:var(--paper)}
.pt-fee p{max-width:40em}
.pt-table{border-collapse:collapse;width:100%;max-width:900px}
.pt-table tr{border-bottom:1px solid var(--line)}
.pt-table th,.pt-table td{text-align:left;padding:14px 12px;vertical-align:top}
.pt-table th{width:10em;font-weight:700}
.pt-form{padding:clamp(48px,6vw,96px) clamp(24px,5vw,80px)}
@media(max-width:900px){.pt-cards{grid-template-columns:1fr}.pt-steps{grid-template-columns:1fr}.pt-steps li:not(:last-child):after{top:auto;bottom:calc(clamp(34px,4vw,56px) * -.5 - 14px);right:auto;left:20px;transform:rotate(90deg)}.pt-two{grid-template-columns:1fr}}
@media(max-width:700px){.pt-table th,.pt-table td{display:block;width:100%;padding:6px 2px}.pt-table th{padding-top:16px}}

/* ───────── 第4弾：FVより下の仕上げ（審査6人の指摘） ───────── */
html{scroll-padding-bottom:84px}
@media(prefers-reduced-motion:no-preference){html{scroll-behavior:smooth}}
/* 地色：紙に戻し、章の境は床の線に */
.price,.faq-section{background:var(--paper)}
.price,.faq-section,.credentials{border-top:1px solid #14394f33}
/* 状況カード */
.situ-list li img{filter:saturate(.92) brightness(1.06)}
.service-catalog{border-top:1px solid #14394f33;padding-top:clamp(28px,3vw,44px)}
/* 進め方 */
.flow li:not(:last-child) .flow-photo:after{width:26px;height:26px;margin-top:-13px;border-radius:0;background-color:transparent;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 28 28'%3E%3Cpath d='M8 4l11 10-11 10' fill='none' stroke='%23143A52' stroke-width='3' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E")}
.flow-number{font:600 32px var(--serif);letter-spacing:.02em;color:var(--green)}
@media(min-width:901px){.flow p{min-height:9em}}
/* 料金：墨の細い棒と、大きめの金額 */
.price-bar{height:6px;background:#14394f1f}
.price-table td:last-child b{font-family:var(--serif);font-size:1.15em}
/* 資格 */
.credentials{display:block}
.credentials-main{display:grid;grid-template-columns:2fr 1fr;gap:clamp(24px,4vw,64px);align-items:end}
.credentials-main h2{grid-column:1/-1;margin-bottom:6px}
.cred-list{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}
.cred-list li{flex-direction:column;gap:8px;min-height:150px;padding:18px 10px}
.cred-list svg{width:40px;height:40px;color:var(--green)}
.cred-list b{font-family:var(--serif);font-size:clamp(17px,1.5vw,21px);font-weight:600;letter-spacing:.04em}
.cred-list small{font-size:13px;color:var(--muted)}
.cred-floor{display:flex;justify-content:center;border-bottom:2px solid var(--navy)}
.cred-floor img{height:clamp(120px,14vw,190px);width:auto}
@media(max-width:900px){.credentials-main{grid-template-columns:1fr}.cred-list{grid-template-columns:1fr}.cred-list li{flex-direction:row;min-height:72px;justify-content:flex-start;padding:12px 18px;gap:14px}.cred-floor{margin-top:6px}}
/* 大切にしていること */
@media(min-width:901px){.thoughts-list{grid-template-columns:1fr 1fr 1.25fr}.thoughts article:nth-child(2),.thoughts article:nth-child(3){margin-top:0}}
.th-num{display:block;font:600 14px var(--sans);letter-spacing:.14em;color:var(--green);margin-bottom:8px}
.thoughts-name h3{font-size:clamp(24px,2.3vw,34px)}
/* 窓口はひとつ：箱をやめ、枝でつなぐ */
.strength-list{position:relative}
.strength-list li{background:transparent;color:var(--paper);border:1px solid #f7f4ee66;box-shadow:none}
.strength-list li:hover{box-shadow:none;border-color:var(--paper)}
.strength-list .st-icon{color:var(--paper)}
.strength-list .st-num{left:16px;right:auto;top:12px;font-size:clamp(26px,2.4vw,34px);color:var(--paper);opacity:.45}
.strength-list h3,.strength-list p{position:relative}
.strength-list .st-icon{margin-top:clamp(26px,3vw,40px)}
.strength-list li.st-refer{border-style:dashed}
.st-tag{display:inline-block;margin-left:10px;padding:2px 10px;border:1px solid #f7f4ee99;font:400 12px var(--sans);letter-spacing:.06em;vertical-align:middle}
@media(min-width:1001px){
  .strength-list{margin-top:clamp(28px,3vw,40px)}
  .strength-list:before{content:'';position:absolute;top:calc(-1 * clamp(28px,3vw,40px));left:calc((100% - 2 * clamp(16px,2vw,30px)) / 6);right:calc((100% - 2 * clamp(16px,2vw,30px)) / 6);height:clamp(28px,3vw,40px);border:2px solid var(--paper);border-bottom:0;pointer-events:none}
  .strength-hub:after{display:none}
  .strength-hub{margin-bottom:0}
}
/* FAQ・相談リンク */
.faq-section .section-cta{grid-column:1/-1}
/* パートナー帯：箱をやめて、床の線と動物 */
.partner{background:var(--paper)}
.partner-box{border:0;border-top:2px solid var(--navy);border-bottom:2px solid var(--navy);padding:clamp(22px,3vw,40px) 0;gap:clamp(20px,3vw,48px)}
.partner-art{flex:none;height:clamp(100px,11vw,160px);width:auto;margin:calc(-1 * clamp(22px,3vw,40px)) 0 calc(-1 * clamp(22px,3vw,40px)) auto}
@media(max-width:800px){.partner-art{display:none}}
/* ご相談の帯：右に受付の要点 */
@media(min-width:901px){.contact-stage{display:grid;grid-template-columns:1.25fr 1fr;gap:clamp(30px,5vw,80px);align-items:center}}
.contact-facts{display:grid;gap:0;border:1px solid #f7f4ee66;margin-top:28px}
.contact-facts>div{display:grid;grid-template-columns:7.5em 1fr;gap:12px;padding:16px 20px;border-top:1px solid #f7f4ee33}
.contact-facts>div:first-child{border-top:0}
.contact-facts dt{font-weight:700;color:#f7f4eecc}
@media(min-width:901px){.contact-facts{margin-top:0}}
.contact-stage :focus-visible,.strength :focus-visible{outline-color:var(--paper);box-shadow:0 0 0 4px var(--navy)}

/* 2026-10-21: サブページと和文の行組。本文は原文を保ち、幅と禁則で整える。 */
.nowrap,a[href^="tel:"],.header-tel-number,.fb-tel strong{white-space:nowrap}
main p,main li,main dd,main td,.faq summary{line-break:strict;word-break:auto-phrase;text-wrap:pretty}
main h1,main h2,main h3,.faq summary{text-wrap:balance}
.partner-page{font-size:17px}
.partner-page main{overflow:clip}
.partner-page .pt-hero{background:var(--navy);color:var(--paper);padding-top:clamp(70px,7vw,110px);padding-bottom:0}
.pt-hero-copy{max-width:1120px;margin:auto}
.pt-hero .small-label{color:#f7f4eebb;font-size:14px;letter-spacing:.05em;margin-bottom:24px}
.pt-hero h1{font-size:clamp(32px,4.2vw,58px);line-height:1.43;letter-spacing:.025em;max-width:1100px;margin-bottom:22px}
.pt-br-mobile{display:none}
.pt-lead{max-width:38em;font-size:clamp(17px,1.5vw,21px);line-height:1.85}
.pt-hero-actions{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));width:min(680px,100%);gap:14px;margin-top:32px}
.pt-hero-actions .fb{min-height:72px;padding:12px 18px;align-items:center;justify-content:center}
.pt-hero-actions .fb-tel strong{font-size:clamp(19px,2vw,27px);font-variant-numeric:tabular-nums}
.pt-hero-actions .fb-mail strong{font-size:18px}
.pt-hero .pt-note{color:#f7f4e6dd;font-size:14px;margin-top:14px;line-height:1.65}
.pt-hero-photo{position:relative;height:clamp(220px,27vw,390px);margin:clamp(46px,6vw,80px) calc(-1 * clamp(24px,5vw,80px)) 0;overflow:hidden;background:#ded6c9}
.pt-work-photo{width:100%;height:100%;object-fit:cover;object-position:center 48%}
.pt-hero-animals{position:absolute;right:clamp(18px,5vw,80px);bottom:0;width:clamp(88px,11vw,160px);height:auto;filter:drop-shadow(0 2px 1px #143a5255)}
.pt-sec{border-top:1px solid #14394f33}
.pt-sec h2{font-size:clamp(27px,3vw,40px);margin-bottom:20px}
.pt-cards{grid-template-columns:repeat(2,minmax(0,1fr));gap:0;max-width:1200px;border-top:1px solid var(--line);border-left:1px solid var(--line)}
.pt-cards li{position:relative;display:grid;grid-template-columns:56px minmax(0,1fr);align-content:start;column-gap:18px;border:0;border-right:1px solid var(--line);border-bottom:1px solid var(--line);background:transparent;min-height:245px;padding:30px}
.pt-cards li::before{content:counter(pt-card,decimal-leading-zero);counter-increment:pt-card;position:absolute;top:22px;right:24px;font:700 14px var(--sans);font-variant-numeric:tabular-nums;color:var(--green)}
.pt-cards{counter-reset:pt-card}
.pt-icon{grid-row:span 2;width:48px;height:48px;margin:7px 0 0;color:var(--navy);stroke-width:2}
.pt-cards h3{grid-column:2;font-size:clamp(20px,1.8vw,26px);padding-right:28px;margin-bottom:12px;line-height:1.45}
.pt-cards p{grid-column:2;font-size:16px;line-height:1.9;max-width:38em}
.pt-flow{background:#f0e9de}
.pt-steps{max-width:1200px;gap:0;grid-template-columns:repeat(4,minmax(0,1fr))}
.pt-steps li{border-top:0;padding:0 22px 0 0;min-width:0}
.pt-steps li::before{content:'';position:absolute;left:24px;right:0;top:24px;height:2px;background:var(--navy)}
.pt-steps li:last-child::before{right:calc(100% - 48px)}
.pt-steps li:not(:last-child):after{content:none}
.pt-step{position:relative;z-index:1;display:grid;place-items:center;width:48px;height:48px;border:2px solid var(--navy);border-radius:50%;background:#f0e9de;color:var(--navy);font:700 17px var(--sans);font-variant-numeric:tabular-nums;letter-spacing:0}
.pt-steps h3{font-size:clamp(21px,1.9vw,25px);margin:22px 0 9px}
.pt-steps p{font-size:16px;line-height:1.9;max-width:38em}
.pt-two{gap:0;border:1px solid var(--line);max-width:1200px}
.pt-info{padding:clamp(30px,4vw,56px);min-width:0}
.pt-info+.pt-info{border-left:1px solid var(--line)}
.pt-report{background:var(--paper)}
.pt-consent{background:#f0e9de}
.pt-info-icon{width:44px;height:44px;color:var(--navy);margin-bottom:20px}
.pt-two h2{font-size:clamp(25px,2.2vw,32px);margin-bottom:24px}
.pt-info p,.pt-fee p{font-size:16px;line-height:1.9;max-width:40em}
.pt-info p+p,.pt-fee p+p{margin-top:24px}
.pt-emphasis{border-left:5px solid var(--green);padding:4px 0 4px 20px}
.pt-fee{border-top:0;padding-left:max(clamp(24px,5vw,80px),calc((100vw - 1200px)/2));padding-right:max(clamp(24px,5vw,80px),calc((100vw - 1200px)/2))}
.pt-fee .pt-info-icon{color:var(--paper)}
.pt-fee .pt-emphasis{border-left-color:var(--paper)}
.pt-table{max-width:1100px;font-size:16px}
.pt-table th,.pt-table td{padding:16px 12px;line-height:1.8}
.partner-page .faq{max-width:1100px;margin:0}
.partner-page .faq summary{font-size:18px}
.partner-page .pt-form{padding:0;background:var(--paper)}
.partner-page .pt-form .form-section{max-width:1280px;margin:auto}
.partner-page .pt-form h2{font-size:clamp(30px,3.4vw,46px)}
.partner-page .form-intro p{font-size:16px;line-height:1.85}
.partner-page .field input,.partner-page .field textarea,.partner-page .field select{font-size:16px}
.partner-page .form-section .lab em{font-size:14px}
.partner-page .form-after{font-size:14px}
.partner-page .pt-sec a:not(.button){text-decoration:underline;text-underline-offset:4px}
@media(max-width:900px){
  .pt-steps{grid-template-columns:1fr;max-width:640px}
  .pt-steps li{padding:0 0 38px 76px;min-height:120px}
  .pt-steps li::before{left:23px;top:0;bottom:0;right:auto;width:2px;height:auto}
  .pt-steps li:first-child::before{top:24px}
  .pt-steps li:last-child::before{top:0;bottom:auto;height:24px;right:auto}
  .pt-step{position:absolute;top:0;left:0}
  .pt-steps h3{margin:0 0 9px}
  .pt-two{grid-template-columns:1fr}
  .pt-info+.pt-info{border-left:0;border-top:1px solid var(--line)}
}
@media(max-width:700px){
  .partner-page{font-size:16px}
  .partner-page .pt-hero{padding-top:46px}
  .pt-hero .small-label{font-size:14px;line-height:1.6;margin-bottom:18px}
  .pt-hero h1{font-size:clamp(24px,6.6vw,29px);letter-spacing:0;line-height:1.52;max-width:100%}
  .pt-br-mobile{display:inline}.pt-br-desktop{display:none}
  .pt-lead{font-size:16px;line-height:1.85}
  .pt-hero-actions{grid-template-columns:1fr;gap:12px;margin-top:26px}
  .pt-hero-actions .fb{min-height:66px}
  .pt-hero-actions .fb-tel strong{display:flex;flex-direction:column;align-items:center;font-size:clamp(18px,5.5vw,24px)}
  .pt-hero-actions .pt-tel-label{font-size:14px;line-height:1.1}
  .pt-hero-photo{height:220px;margin:38px calc(-1 * clamp(20px,6vw,42px)) 0}
  .pt-work-photo{object-position:54% center}
  .pt-hero-animals{width:96px;right:16px}
  .pt-sec{padding-block:56px}
  .pt-cards{grid-template-columns:1fr}
  .pt-cards li{display:block;min-height:0;padding:26px 18px}
  .pt-icon{width:38px;height:38px;margin:0 0 16px}
  .pt-cards h3{font-size:21px;padding-right:0}
  .pt-cards p{font-size:16px;margin-top:14px}
  .pt-info{padding:30px 22px}
  .pt-fee{padding-inline:clamp(20px,6vw,42px)}
  .pt-table th,.pt-table td{display:block;width:100%;padding:6px 2px;font-size:16px}
  .pt-table th{padding-top:18px}
  .pt-table td{padding-bottom:18px}
  .pt-steps p{font-size:16px}
}

/* コラムと個人情報保護方針は、トップの色と書体で読む紙面にする。 */
.legal-page:not(.partner-page) main.legal{max-width:1040px;min-height:70vh;padding-top:calc(var(--header-h) + 48px)}
.legal-mast{position:relative;display:flex;align-items:center;justify-content:space-between;min-height:200px;margin-bottom:clamp(36px,5vw,64px);padding:clamp(28px,5vw,52px);background:var(--navy);color:var(--paper);overflow:hidden}
.legal-mast h1{font-size:clamp(30px,3.4vw,46px);margin:0;position:relative;z-index:1}
.legal-mast svg{width:clamp(64px,8vw,110px);height:auto;opacity:.8;flex:none}
.legal-mast img{position:absolute;right:0;top:0;width:45%;height:100%;object-fit:cover;opacity:.8;mask-image:linear-gradient(to right,transparent,#000 40%)}
.legal .doc{max-width:42em;margin:0 auto;font-size:17px;line-height:1.9}
.legal .doc p,.legal .doc li{max-width:40em;text-wrap:pretty}
.legal .doc p+p{margin-top:24px}
.legal .doc h2{font-size:clamp(22px,2vw,28px);margin:56px 0 20px;padding-bottom:12px;border-bottom:1px solid var(--line)}
.legal .doc h2:first-of-type{margin-top:48px}
.legal .doc a,.legal-back a:not(.button){text-decoration:underline;text-underline-offset:4px}
.legal .doc li+li{margin-top:8px}
.legal-table{font-size:16px;line-height:1.8}
.legal-table td{overflow-wrap:anywhere}
.legal-table a[href^="tel:"]{white-space:nowrap}
.column-page .doc{min-height:240px}
.column-page .doc p+p{margin-top:30px}
.column-page .column-lead{font-size:18px}
.column-topics{list-style:none!important;padding:0!important;margin:0!important;border-top:1px solid var(--line)}
.column-topics li{display:flex;align-items:baseline;gap:18px;margin:0!important;padding:18px 0;border-bottom:1px solid var(--line);font-size:17px;line-height:1.65}
.column-topics li span{flex:none;padding:1px 8px;border:1px solid var(--navy);font-size:14px;line-height:1.5;color:var(--navy)}
.column-contact{margin-top:clamp(48px,6vw,72px);padding-top:32px;border-top:1px solid var(--line)}
.column-contact>p{font-size:16px;margin-bottom:24px}
.column-contact .finale-buttons{margin:0;width:min(480px,100%)}
.column-contact .fb{min-height:64px}
.legal .doc .column-contact .fb{text-decoration:none}
.column-contact .fb-mail svg{width:24px;height:24px;flex:none}
.column-contact .fb-tel .fb-text strong{font-size:clamp(22px,5vw,28px)}
.patterns-page>.guide:first-of-type{margin-top:var(--header-h)}
@media(max-width:700px){
  .legal-page:not(.partner-page) main.legal{padding-top:calc(var(--header-h) + 24px);padding-inline:clamp(20px,6vw,42px)}
  .legal-mast{min-height:148px;margin-bottom:34px;padding:22px}
  .legal-mast h1{font-size:clamp(27px,7vw,34px);max-width:10em}
  .privacy-page .legal-mast h1{font-size:clamp(20px,6vw,27px);white-space:nowrap;max-width:none}
  .legal-mast svg{width:56px}
  .privacy-page .legal-mast svg{position:absolute;right:12px;top:12px;opacity:.2}
  .legal-mast img{width:60%;opacity:.45}
  .legal .doc{font-size:16px;line-height:1.9}
  .legal .doc h2{font-size:22px;margin-top:42px}
  .legal-table th,.legal-table td{display:block;width:100%;padding:6px 2px}
  .legal-table th{padding-top:16px;border-bottom:0}
  .legal-table td{padding-bottom:16px}
}
/* フォーム：枠線と注記の見やすさ */
.field input[type=text],.field input[type=tel],.field input[type=email],.field textarea,.field select{border-color:#6b7b84}
.field input::placeholder,.field textarea::placeholder{color:#5f6b73;opacity:1}
.field .lab em{margin-left:8px;font-style:normal;font-size:12px;font-weight:700;color:var(--green)}
.consent{padding:8px 0}.consent input{width:24px;height:24px;flex:none}
.form-section form .button{width:100%}
@media(min-width:700px){.form-section form .button{width:auto;min-width:260px}}
/* タップしやすさ・リンク */
footer a,.form-company a,.pt-note a{display:inline-flex;align-items:center;min-height:44px;padding:0 4px}
/* 短い画面（拡大・横向き）：スクロール連動をやめて普通に流す */
@media(max-height:620px){.js-motion .story{height:auto}.js-motion .story-stage{position:relative;height:auto;overflow:visible}.js-motion .story-track{position:relative;bottom:auto;margin-top:30px}}
@media(max-width:380px){.price-table td:last-child,.price-table td:nth-child(2){white-space:normal}.price-table td:last-child{flex-wrap:wrap}}
/* 印刷：隠れた物を出す */
@media print{.js-motion .strength-list li,.js-motion .divider img,.js-motion .flow li,.js-motion .story *,.js-motion .thoughts-walk{opacity:1!important;transform:none!important}.situ-marquee{overflow:visible!important}.situ-list{flex-wrap:wrap;animation:none!important;width:auto!important}.situ-list li[aria-hidden]{display:none}}
@media(min-width:1001px){.strength-list:after{content:'';position:absolute;top:calc(-1 * clamp(28px,3vw,40px));left:50%;height:clamp(28px,3vw,40px);border-left:2px solid var(--paper);pointer-events:none}}

/* ───────── 第5弾（審査ラウンド2の指摘） ───────── */
.situ-list li{background:transparent;border:0}
.situ-list li img{background:#d9d3c4}
.situ-list li>div{padding:14px 2px 6px}
.service-catalog ul{margin-top:8px}
.thoughts{padding-bottom:clamp(40px,5vw,72px)}
.thoughts-art{margin-top:clamp(8px,1.6vw,24px)}
.thoughts p{line-height:1.95}
.flow-section .section-cta{border-width:1px 0;padding-left:0;padding-right:0;font-size:19px}
.flow-section .section-cta a:first-of-type{font-size:clamp(22px,2.4vw,30px);font-family:var(--sans)}
.faq-section .section-cta{border-width:1px 0 0;padding-left:0}
.credentials{padding-block:clamp(72px,8vw,128px)}
.cred-list li{min-height:clamp(140px,13vw,170px)}
.cred-floor img{height:clamp(120px,12vw,160px)}
.strength-list li{border-color:#f7f4ee80}
.strength-hub{border:0;padding:0;gap:4px}
.strength-hub .hub-logo{width:clamp(120px,13vw,170px);height:auto;margin-bottom:6px}
.strength-hub strong{font-size:clamp(22px,2.4vw,32px)}
.price-facts dt{font-family:var(--serif);font-weight:600;font-size:17px}
@media(max-width:700px){.field>label .lab em{font-size:12px}}
.partner{padding-bottom:clamp(56px,6vw,96px)}

@media(max-width:360px){.price-table td:last-child b{min-width:0}.price-table td:nth-child(2){white-space:normal}.price-table th,.price-table td{padding-left:2px;padding-right:2px}.price-table tbody th{white-space:normal}}

.thoughts-sign{margin-top:clamp(20px,2.4vw,32px);text-align:right;font-family:var(--serif);font-size:clamp(16px,1.4vw,19px);letter-spacing:.08em;color:var(--navy)}

.contact-next{margin-top:clamp(24px,3vw,36px);display:grid;gap:0;counter-reset:cn;max-width:26em}
.contact-next li{display:grid;grid-template-columns:2.4em 1fr;column-gap:8px;padding:14px 0;border-top:1px solid #14394f33;counter-increment:cn}
.contact-next li:last-child{border-bottom:1px solid #14394f33}
.contact-next li:before{content:counter(cn,decimal-leading-zero);grid-row:span 2;font:600 20px var(--serif);color:var(--green)}
.contact-next b{font-family:var(--serif);font-size:18px;font-weight:600}
.contact-next span{font-size:15px;line-height:1.7;color:var(--muted)}
.strength-hub .hub-logo{margin-bottom:16px}
.strength-hub strong{margin-top:2px}
.strength-list .st-num{opacity:.75}
@media(min-width:1001px){
  .strength-list li:nth-child(n+4){border:0;border-top:1px solid #f7f4ee66;padding:22px 0 0;display:grid;grid-template-columns:44px 1fr;column-gap:16px;align-items:start;background:transparent}
  .strength-list li:nth-child(n+4) .st-num{display:none}
  .strength-list li:nth-child(n+4) .st-icon{width:40px;height:40px;margin:2px 0 0;grid-row:span 2}
  .strength-list li:nth-child(n+4) h3{margin-bottom:6px}
  .strength-list li:nth-child(n+4):hover{border-color:var(--paper)}
}
.credentials-main{border-bottom:2px solid var(--navy)}
.cred-floor{border-bottom:0}
.cred-list li{margin-bottom:-1px}
@media(max-width:900px){.credentials-main{grid-template-columns:minmax(0,1fr)}.cred-list{grid-template-columns:minmax(0,1fr)}.cred-list li{min-width:0}.cred-list b{overflow-wrap:anywhere}}
@media(max-width:360px){.price-table-wrap{overflow-x:auto}.price-table td:last-child{gap:6px}.price-table td:last-child b{font-size:16px}}
@media(max-width:480px){.contact-facts>div{grid-template-columns:1fr;gap:4px}.contact-facts dd{overflow-wrap:anywhere}}
.contact-facts{min-width:0}.contact-facts>div{min-width:0}
.credentials{background:#efeadd}
.thoughts-art{margin-top:clamp(36px,4vw,60px)}

/* ───────── 第6弾（審査ラウンド4の指摘） ───────── */
.field .lab em,.field>label .lab em{font-size:13px;color:#2F7552}
@media(max-width:700px){.field>label .lab em{font-size:13px}}

.price-note,.form-after,.form-company{font-size:15px}
.strength-list .st-num{opacity:.9}
.strength-note{color:#f7f4eee6;font-size:16px}
.consent a{display:inline-block;padding:10px 4px}
.flow p{font-size:16px}
.partner-points{margin:14px 0 0;padding:0;list-style:none;display:grid;gap:8px;max-width:36em}
.partner-points li{position:relative;padding-left:1.4em;font-size:16px;line-height:1.7}
.partner-points li:before{content:'';position:absolute;left:0;top:.8em;width:.7em;border-top:2px solid var(--green)}
.thoughts .section-cta,.strength .section-cta{margin-top:clamp(28px,4vw,48px)}
.strength .section-cta{border-color:#f7f4ee66;color:#f7f4ee}
.strength .section-cta a{color:#f7f4ee}
@media(prefers-reduced-motion:reduce){.situ-list li[aria-hidden]{display:none}}
.thoughts-name h3{font-size:clamp(22px,2vw,30px)}
.thoughts-sign,.thoughts .section-cta,.strength .section-cta{width:100%;max-width:none;justify-self:stretch;box-sizing:border-box}
@media(min-width:1001px){
  .strength-list li:nth-child(n+4){align-content:start}
  .strength-list li:nth-child(n+4) h3,.strength-list li:nth-child(n+4) p{margin-top:0;align-self:start}
  .strength-list li:nth-child(n+4) p{margin-bottom:0}
}
.thoughts p.thoughts-sign{max-width:none}
.flow p,.partner-points li,.thoughts p,.price-facts dd,.strength-list p{word-break:auto-phrase;text-wrap:pretty}

/* ───────── 第7弾（審査ラウンド5の指摘） ───────── */
.st-tag{font-size:13px}

.catalog-note{margin-top:14px;font-size:15px;color:var(--muted)}
.band-photo{margin:clamp(36px,5vw,64px) calc(-1 * clamp(24px,5vw,80px)) 0;height:clamp(180px,26vw,360px);overflow:hidden}
.band-photo img{width:100%;height:100%;object-fit:cover;object-position:center 60%;display:block;aspect-ratio:auto}
.partner-actions{display:flex;flex-wrap:wrap;align-items:center;gap:12px 22px;margin-top:22px}
.partner-actions .button{min-height:56px;padding:12px 26px}
.partner-actions span{font-size:16px}
.partner-actions span a{font-weight:700;color:var(--navy);text-decoration:underline;text-underline-offset:4px;display:inline-flex;align-items:center;min-height:44px}
.partner-box .partner-art{width:clamp(130px,14vw,200px);height:auto}
.form-either{margin:0 0 10px;font-size:15px;color:var(--muted)}
.form-tel{margin-top:14px;font-size:16px}
.form-tel a{display:inline-flex;align-items:center;min-height:44px;font-weight:700;color:var(--navy);text-decoration:underline;text-underline-offset:4px;margin-left:6px}
.credentials-main li{outline:0}
.cred-list{gap:clamp(16px,2vw,24px)}
.cred-list li{margin-bottom:12px}
.credentials-main{border-bottom:2px solid var(--navy)}
.cred-floor{align-self:end}
.cred-floor img{margin-bottom:-2px}
.th-num{font-size:13px}
.strength-note{margin-top:34px}
@media(min-width:901px){
  .thoughts-list{grid-template-columns:repeat(3,minmax(0,1fr))}
}
/* 「私たちが大切にしていること」を紺の全幅帯に */
.thoughts{background:var(--navy);color:#f7f4ee;margin-top:0}
.thoughts h2,.thoughts h3,.thoughts p{color:#f7f4ee}
.thoughts article{border-top-color:#f7f4ee66}
.thoughts .th-num{color:#9fd8b8}
.thoughts-sign{color:#f7f4ee}
.thoughts-art{border-bottom-color:#f7f4ee66}
.thoughts-walk{filter:brightness(0) invert(.96)}
.thoughts .section-cta{border-color:#f7f4ee66;color:#f7f4ee}
.thoughts .section-cta a{color:#f7f4ee}

/* ───────── 第8弾（審査ラウンド6の指摘） ───────── */
.nw{white-space:nowrap}
.thoughts :focus-visible{outline-color:#f7f4ee;box-shadow:0 0 0 4px var(--navy)}
@media(min-width:901px){
    .credentials-main{grid-template-columns:3fr 1fr}
}
.thoughts-art{justify-content:flex-start;padding-left:clamp(8px,16vw,240px);margin-top:clamp(0px,1vw,16px)}
.thoughts-sign{margin-top:clamp(24px,3vw,44px)}
.strength-note{font-size:15px;margin-top:40px}
.strength{padding-bottom:clamp(72px,8vw,128px)}
.cred-list small{font-size:13px}

/* ───────── 第9弾（審査ラウンド7の指摘） ───────── */
.faq-art{display:block;width:clamp(90px,9vw,140px);height:auto;margin-top:20px}
.faq-tel{margin-top:28px;font-size:16px}
.faq-tel a{display:inline-flex;align-items:center;min-height:44px;margin-left:8px;font-weight:700;color:var(--navy);text-decoration:underline;text-underline-offset:4px}
.header-tel{min-height:44px}
.cred-list small{font-size:14px}
@media(min-width:901px){.cred-floor{display:flex;justify-content:flex-start;padding-left:clamp(8px,2vw,32px)}}
@media(max-width:900px){.credentials .cred-list li{min-height:76px;padding-block:10px}}
@media(max-width:1000px){
  .strength-list li:nth-child(n+4){border:0;border-top:1px solid #f7f4ee66;padding:18px 0 0;display:grid;grid-template-columns:40px 1fr;column-gap:14px;align-items:start;background:transparent}
  .strength-list li:nth-child(n+4) .st-num{display:none}
  .strength-list li:nth-child(n+4) .st-icon{width:36px;height:36px;margin:2px 0 0;grid-row:span 2}
  .strength-list li:nth-child(n+4) h3{margin:0 0 4px}
  .strength-list li:nth-child(n+4) p{margin:0}
}
@media(max-width:700px){.company th{padding-top:12px;padding-bottom:0;font-size:14px}.company td{padding-top:2px;padding-bottom:12px}}
@media(min-width:1000px){.faq-section .faq-intro{grid-column:1}.faq-section .faq{grid-column:2}}

/* ───────── 第10弾（審査ラウンド8の指摘） ───────── */
.price-table td:last-child{display:table-cell;white-space:nowrap}
.price-cell{display:flex;align-items:center;justify-content:flex-end;gap:12px}
.price-table td:last-child .price-cell b{min-width:6.4em;text-align:right}
@media(max-width:380px){.price-cell{flex-wrap:wrap}}
.price-facts dd.strong{font-weight:700}
.price>.band-photo{margin-top:0;margin-bottom:clamp(28px,4vw,48px)}
.band-thin{margin-top:calc(-1 * clamp(72px,8vw,128px));margin-bottom:clamp(36px,5vw,64px);height:clamp(120px,14vw,200px)}
.band-thin img{object-position:center 45%}
.service-catalog li{position:relative;padding-left:30px}
.service-catalog li:before{content:'';position:absolute;left:2px;top:50%;width:18px;height:18px;margin-top:-9px;background:no-repeat center/contain url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%232F7552' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M3 9l9-5 9 5v10H3z M9 19v-6h6v6'/%3E%3C/svg%3E")}
.faq-art{margin-bottom:10px}
.faq-tel{padding-left:0}
.faq-tel a{margin-left:4px}
@media(max-width:700px){.cred-floor img{height:96px;width:auto}.cred-floor{margin-top:0}}
@media(max-width:480px){.service-catalog ul{grid-template-columns:minmax(0,1fr)}}

/* ───────── 第11弾（審査ラウンド9の指摘） ───────── */
@media(min-width:901px){.flow{grid-template-columns:1fr 1fr 1fr 1.7fr 1fr}}
.cred-floor{position:relative}
.cred-floor:after{content:'';position:absolute;left:50%;bottom:-3px;width:70%;height:10px;transform:translateX(-50%);background:radial-gradient(ellipse at center,#14394f40 0,#14394f00 70%);pointer-events:none}
@media(max-width:800px){.partner-art{display:block;order:-1;height:88px;margin:0 0 4px}}
.thoughts-art{justify-content:flex-end;padding-left:clamp(8px,4vw,60px);padding-right:clamp(8px,8vw,120px)}
@media(max-width:900px){.thoughts-art{justify-content:flex-start;padding-left:clamp(8px,4vw,60px)}}
@media(max-width:380px){.price-table td:last-child{white-space:normal}.price-cell b,.price-table td:last-child .price-cell b{min-width:0;text-align:right}.price-table th,.price-table td{padding-left:2px;padding-right:2px}.price-cell{gap:4px}}
@media(max-width:440px){.price-table tbody th{font-size:14px}.price-table td:nth-child(2){padding-right:0}.price-table td:last-child,.price-table td:last-child .price-cell b{font-size:15px}}

/* ───────── 第12弾（審査ラウンド10の指摘） ───────── */
.partner{background:#F1F8FB}
.thoughts-art{justify-content:center;padding-inline:clamp(8px,4vw,60px)}
@media(min-width:901px){.credentials-main{grid-template-columns:minmax(0,820px) auto;justify-content:start;column-gap:clamp(24px,4vw,64px)}.credentials-main h2{grid-column:1/-1}}
@media(max-width:1000px){
  .strength-list li:nth-child(-n+3){border:0;border-top:1px solid #f7f4ee66;padding:18px 0 0;display:grid;grid-template-columns:40px 1fr;column-gap:14px;align-items:start;background:transparent}
  .strength-list li:nth-child(-n+3) .st-num{display:none}
  .strength-list li:nth-child(-n+3) .st-icon{width:36px;height:36px;margin:2px 0 0;grid-row:span 2}
  .strength-list li:nth-child(-n+3) h3{margin:0 0 4px}
  .strength-list li:nth-child(-n+3) p{margin:0}
}
.wordmark{min-height:44px;display:inline-flex;align-items:center}

/* ───────── 第13弾（審査ラウンド11の指摘） ───────── */
/* 進め方：列幅は同じに保ち、04だけ枠で見せ場にする */
@media(min-width:901px){.flow{grid-template-columns:repeat(5,1fr)}}
.flow li:nth-child(4) .flow-photo{outline:2px solid var(--navy);outline-offset:6px}
/* 強み：中央ロゴを大きく */
.strength-hub .hub-logo{width:clamp(150px,18vw,250px)}
/* サービス一覧：別トーンの帯にして写真列と区切る */
.service-catalog{background:#efeadd;padding:clamp(28px,3vw,48px);border-top:0}
/* 資格：カードを少し広く */
@media(min-width:901px){.credentials-main{grid-template-columns:minmax(0,980px) auto}}
/* パートナー：4匹を大きく・mobは中央 */
.partner-box .partner-art{width:clamp(170px,18vw,260px)}
@media(max-width:800px){.partner-art{margin:0 auto 4px;height:110px}}
/* FAQ：やかんは見出しの直下 */
@media(min-width:1000px){.faq-section .faq-art{margin-top:24px}}
.faq-art{margin-bottom:24px}
/* 地図ラベル：モバイルでも約14pxに */

/* ───────── 第14弾（審査ラウンド12の指摘） ───────── */
.price-mid{display:none;margin:28px calc(-1 * clamp(24px,5vw,80px));height:130px;overflow:hidden}
.price-mid img{width:100%;height:100%;object-fit:cover;object-position:center 40%;aspect-ratio:auto}
@media(max-width:900px){.price-mid{display:block}}
.strength-list li:nth-child(n+4) .st-icon{width:52px;height:52px;padding:11px;border-radius:50%;background:#ffffff14;box-sizing:border-box}
@media(min-width:1001px){.strength-list li:nth-child(n+4){grid-template-columns:64px 1fr}.strength-list li:nth-child(n+4) .st-icon{width:52px;height:52px;margin:0}}
@media(max-width:1000px){.strength-list li:nth-child(n+4){grid-template-columns:52px 1fr}.strength-list li:nth-child(n+4) .st-icon{width:44px;height:44px;padding:9px}}
.intro-art{display:none}
@media(min-width:1000px){.intro-art{display:block;height:170px;width:auto;margin-top:48px}}
.faq-tel a,.partner-actions span a{padding-block:12px}

/* ───────── 第15弾（審査ラウンド13の指摘） ───────── */
.price-mid{width:100vw;margin-left:calc(50% - 50vw);margin-right:0}
.thoughts h3{margin-bottom:18px}
.flow li:nth-child(4) .flow-photo{outline-offset:-3px;outline-color:#f7f4ee}
.flow li:nth-child(4) .flow-number{color:var(--navy)}
.price-table thead th{font-weight:700;color:var(--navy)}
@media(max-width:1000px){
  .strength-list li:nth-child(-n+3){grid-template-columns:52px 1fr}
  .strength-list li:nth-child(-n+3) .st-icon{width:44px;height:44px;padding:9px;border-radius:50%;background:#ffffff14;box-sizing:border-box}
}
@media(min-width:1000px){.form-intro{position:sticky;top:104px;align-self:start}.intro-art{height:210px}}
@media(max-width:900px){.price-layout{grid-template-columns:minmax(0,1fr)}.price-table-wrap{min-width:0}}

/* ───────── 第16弾（審査ラウンド14の指摘） ───────── */
body{overflow-x:clip}
.partner-box{align-items:flex-end}
.partner-box .partner-art{align-self:flex-end}
@media(max-width:800px){.partner-box{align-items:stretch}.partner-box .partner-art{align-self:center}}
.credentials>.band-thin{margin-top:calc(-1 * clamp(72px,8vw,128px))}
.service-catalog{position:relative}
.catalog-art{display:none}
@media(min-width:1001px){.catalog-art{display:block;position:absolute;right:clamp(24px,4vw,64px);bottom:18px;height:108px;width:auto;opacity:.9}}
.thoughts-art{justify-content:flex-end;padding-right:clamp(8px,6vw,100px)}
@media(max-width:900px){.thoughts-art{justify-content:flex-start;padding-right:clamp(8px,4vw,60px)}}
@media(min-width:1000px){.intro-art{height:290px}}

.wordmark small{font-size:12px}
a[data-track="tel_company"]{display:inline-block;padding-block:12px}

/* ───────── 第17弾（審査ラウンド15の指摘） ───────── */
.partner-flow{margin-top:18px;max-width:46em}
.partner-flow b{display:block;font-size:15px;color:var(--navy);margin-bottom:8px}
.partner-steps{display:flex;flex-wrap:wrap;gap:8px 0;padding:0;margin:0;list-style:none;counter-reset:ps}
.partner-steps li{counter-increment:ps;position:relative;font-size:15px;line-height:1.5;padding:8px 14px 8px 12px;background:#fff;border:1px solid #14394f33;margin-right:26px;white-space:nowrap}
.partner-steps li:before{content:counter(ps);font:600 13px var(--serif);color:var(--green);margin-right:8px}
.partner-steps li:not(:last-child):after{content:'';position:absolute;right:-18px;top:50%;width:10px;height:10px;margin-top:-5px;border-top:2px solid var(--navy);border-right:2px solid var(--navy);transform:rotate(45deg)}
@media(max-width:700px){.partner-steps{flex-direction:column;align-items:flex-start;gap:14px}.partner-steps li{margin-right:0;white-space:normal}.partner-steps li:not(:last-child):after{right:auto;left:18px;top:auto;bottom:-14px;margin-top:0;transform:rotate(135deg)}.partner-actions .button{width:100%}}
.form-after,.form-company,.form-tel,.form-either{font-size:14px;color:#3d4f5e}
@media(min-width:1000px){.intro-art{height:210px}}
.catalog-art{right:20px;bottom:20px}
.credentials-main input[type=checkbox],.consent input[type=checkbox]{width:28px;height:28px}
@media(min-width:901px){.credentials-main{grid-template-columns:minmax(0,1fr) 190px;column-gap:clamp(24px,4vw,64px)}.cred-floor{justify-content:flex-end;padding-left:0}.cred-floor img{height:150px}}
/* CTA枠の上に立つシルエット */
.section-cta{position:relative}
.cta-art{position:absolute;bottom:100%;width:auto;pointer-events:none}
.cta-walk{right:clamp(16px,6vw,96px);height:clamp(90px,12vw,150px)}
.cta-kettle{right:clamp(16px,6vw,96px);height:clamp(54px,7vw,84px)}
.cta-walk{right:auto;left:46%;height:88px}
@media(max-width:900px){.cta-walk{left:auto;right:clamp(16px,6vw,48px);height:84px}}
.cta-kettle{bottom:auto;top:50%;transform:translateY(-50%);right:clamp(16px,4vw,64px);height:52px}


/* ───────── 第18弾（審査ラウンド16の指摘） ───────── */
.cta-kettle{display:none}
.cta-walk{display:none}
@media(min-width:1000px){.cta-walk{display:block;right:auto;left:46%;bottom:100%;top:auto;transform:none;height:88px}}
.partner-actions .partner-mail{display:inline-flex;align-items:center;min-height:44px;font-weight:700;color:var(--navy);text-decoration:underline;text-underline-offset:4px}
@media(max-width:1100px){.partner-steps{flex-direction:column;align-items:flex-start;gap:14px}.partner-steps li{margin-right:0;white-space:normal;width:100%;max-width:26em}.partner-steps li:not(:last-child):after{right:auto;left:18px;top:auto;bottom:-14px;margin-top:0;transform:rotate(135deg)}}
.form-after,.form-company,.form-tel{margin-top:10px}
.faq-tel a,.partner-actions span a{min-height:44px}

/* ───────── 第19弾（審査ラウンド17の指摘） ───────── */
.situ-cta{margin-top:18px;font-size:16px;color:var(--navy)}
.situ-cta a{font-weight:700;color:var(--navy);text-decoration:underline;text-underline-offset:4px;display:inline-flex;align-items:center;min-height:44px;padding-inline:2px}
.catalog-art{bottom:0}
.partner-actions{align-items:center}
.partner-actions .partner-mail{border:2px solid var(--navy);padding:8px 22px;min-height:56px;text-decoration:none}
.partner>.band-thin{margin-top:calc(-1 * clamp(72px,8vw,128px))}
.flow li:nth-child(4) .flow-photo{outline:0}
.flow li:nth-child(4) .flow-photo img{outline:0}
@media(min-width:1000px){.cta-walk{left:auto;right:4%}}
@media(max-width:700px){.partner-steps{gap:22px}.partner-steps li:not(:last-child):after{bottom:-17px}}
.strength{position:relative}
.strength-art{display:none}
@media(min-width:1000px){.strength-art{display:block;position:absolute;right:clamp(24px,5vw,80px);bottom:clamp(40px,5vw,72px);height:110px;width:auto;filter:brightness(0) invert(.94);opacity:.9}.strength-note{max-width:calc(100% - 220px)}}
.form-photo{display:none;margin:0 calc(-1 * clamp(24px,5vw,80px)) 28px;height:120px;overflow:hidden}
.form-photo img{width:100%;height:100%;object-fit:cover;aspect-ratio:auto}
@media(max-width:999px){.form-photo{display:block}}
.intro-art{margin-top:28px}

/* ───────── 第20弾（審査ラウンド18の指摘） ───────── */
.cta-art{display:none}
@media(max-width:1200px){.price-layout{grid-template-columns:minmax(0,1fr)}.price-mid{display:block}}
.strength-art{display:none}
@media(min-width:1200px){.strength-art{display:block}}
@media(max-width:900px){.cred-floor{justify-content:flex-end}.cred-floor img{height:110px;width:auto}}
.partner-box .partner-art{width:clamp(200px,20vw,300px)}
.faq-art{width:clamp(117px,12vw,182px)}
.credentials-main input[type=checkbox],.consent input[type=checkbox]{width:28px;height:28px}
.consent{padding-block:8px}

/* 料金：左右の見出しと最初の行を同じ高さから始める */
.price-facts-wrap{min-width:0}
.price-facts-title{font-family:var(--serif);font-weight:600;font-size:20px;line-height:1.5;margin:0 0 12px;padding:0 10px}
.price-table caption{line-height:1.5;margin-bottom:12px}
.price-facts>div{line-height:1.8;min-height:70px}
.price-facts dt,.price-facts dd{line-height:inherit}
@media(max-width:1100px){.price-facts-wrap{width:100%}}

/* 家から次の暮らしへの行進：足と床線の間に余白を確保 */
.story-train{bottom:6px}
.story-train .tr-animals,.partner-box .partner-art{filter:brightness(0) saturate(100%) invert(20%) sepia(24%) saturate(1073%) hue-rotate(161deg) brightness(94%) contrast(94%)}

/* 大切にしていること：見出しと行進を主役にした誌面型の構図 */
@media(min-width:901px){
  .thoughts{display:grid;grid-template-columns:minmax(0,.82fr) minmax(0,1.18fr);grid-template-areas:"heading values" "illustration values" "signature values";column-gap:clamp(48px,7vw,112px);align-items:start}
  .thoughts h2{grid-area:heading;font-size:clamp(40px,4.1vw,64px);line-height:1.35;margin:0 0 32px;max-width:9em}
  .thoughts-list{grid-area:values;display:grid;grid-template-columns:1fr;gap:0}
  .thoughts article{position:relative;display:grid;grid-template-columns:62px minmax(0,1fr);column-gap:16px;padding:22px 0 28px}
  .thoughts article h3,.thoughts article p{grid-column:2}
  .thoughts article .th-num{grid-column:1;grid-row:1/3;font-family:var(--serif);font-size:30px;line-height:1.2}
  .thoughts-sign{grid-area:signature;align-self:end;text-align:left;margin-top:24px!important}
  .thoughts-art{grid-area:illustration;align-self:end}
}
.thoughts-art{min-width:0;width:100%;box-sizing:border-box;justify-content:flex-start;min-height:190px;padding:0 8px 12px!important;margin-top:12px!important;overflow:hidden}
.thoughts-march{display:flex;align-items:flex-end;justify-content:space-between;gap:clamp(8px,1.5vw,24px);width:90%;max-width:450px;will-change:transform}
.thoughts-animals{display:block;height:clamp(115px,12vw,178px);width:auto;max-width:48%;object-fit:contain;object-position:bottom;transform:scaleX(-1);filter:brightness(0) invert(.96)}
.thoughts .thoughts-walk{display:block;height:clamp(155px,17vw,238px);width:auto;max-width:51%;object-fit:contain;object-position:bottom;transform:none;filter:brightness(0) invert(.96)}
@media(max-width:900px){
  .thoughts h2{font-size:clamp(36px,7vw,52px);line-height:1.45}
  .thoughts-list{gap:26px}
  .thoughts-art{min-height:155px;margin-top:34px!important}
  .thoughts-march{width:88%;max-width:360px}
  .thoughts-animals{height:clamp(105px,28vw,148px)}
  .thoughts .thoughts-walk{height:clamp(138px,36vw,188px)}
}
@media(max-width:360px){.thoughts h2{font-size:32px}}

/* 質問：開いている項目を見分けやすくし、残りを開いたらボタンを隠す */
.faq details:not(.faq-rest){border-top:1px solid #b4c0c4;padding:0 16px}
.faq details:not(.faq-rest)[open]{background:#f1f6f7;border-left:3px solid var(--green);padding-left:13px}
.faq details:not(.faq-rest)>summary{font-size:18px;line-height:1.65;padding:18px 40px 18px 0;min-height:72px}
.faq details:not(.faq-rest)>p{padding:0 34px 24px 0;line-height:1.85;color:var(--ink)}
.faq-rest[open]>.faq-more{display:none!important}
.faq-more{max-width:100%;box-sizing:border-box}
.faq summary:focus-visible{outline:3px solid var(--green);outline-offset:3px}

/* 協業：動物を枠線から浮かせ、足を切らない */
.partner-box{overflow:visible}
.partner-box .partner-art{height:auto;max-height:none;width:clamp(175px,18vw,270px);margin:0 0 18px auto;object-fit:contain;object-position:bottom;align-self:flex-end}
.partner>.band-thin{margin-top:0}
@media(max-width:800px){.partner-box .partner-art{width:min(210px,55vw);height:auto;margin:0 auto 18px;align-self:center}}
@media(min-width:1000px){.catalog-note{padding-right:72px}}

/* FVより下：UI・造形再審査（2026-10-19） */
/* 柱時計と注記を別の列に置き、文字の領域を絵から16px以上離す。 */
.catalog-note{font-size:14px;color:#3d4f5e}
.service-catalog li{font-size:max(16px,1em)}
@media(min-width:1001px){
  .service-catalog{display:grid;grid-template-columns:minmax(0,1fr) 52px;column-gap:16px;align-items:end}
  .service-catalog h3,.service-catalog ul{grid-column:1/-1}
  .catalog-art{display:block;position:static;grid-column:2;grid-row:3;width:auto;height:108px;justify-self:end;opacity:.9}
  .catalog-note{grid-column:1;grid-row:3;max-width:100%;padding-right:0;margin-bottom:0}
}

/* 料金表は狭い画面では行単位に組み替え、文字サイズを保つ。 */
.price-table .price-bar{min-width:28px;max-width:80px}
.price-table td:last-child .price-cell b{min-width:0}
.price-note{font-size:14px}
@media(max-width:700px){
  .price-table thead{display:none}
  .price-table,.price-table tbody{display:block;width:100%}
  .price-table tr{display:grid;grid-template-columns:minmax(72px,5.5em) minmax(0,1fr);column-gap:12px;align-items:center;border-bottom:1px solid var(--line);padding:12px 0}
  .price-table tbody th{grid-row:1/3;font-size:17px;white-space:nowrap}
  .price-table th,.price-table td{display:block!important;padding:0!important;border:0!important;min-width:0}
  .price-table td:nth-child(2){line-height:1.6;white-space:normal}
  .price-table td:last-child{grid-column:2;font-size:17px!important;white-space:nowrap}
  .price-cell{justify-content:flex-start;flex-wrap:nowrap;gap:0}
  .price-table td:last-child .price-cell b{min-width:0;font-size:18px!important;text-align:left}
  .price-bar{display:none}
}

/* 上段は紹介先、下段は手配・連携の読み分け。 */
.strength .section-head p,.strength-list p,.strength-note{color:#fff}
.strength-list li:nth-child(-n+3){background:#ffffff0b;border:1px solid #f7f4ee66}
.strength-list li{cursor:default}
.strength-list li:hover{transform:none}
.strength-list li:nth-child(-n+3) h3{font-size:clamp(24px,2.2vw,32px)}
.strength-list li:nth-child(n+4){background:#ffffff05}
.strength-list li.st-refer{border-style:solid;border-color:#f7f4ee66}
.st-tag{border:0;padding:0;margin-left:10px;font-size:14px;font-weight:400;letter-spacing:0;color:#ffffffd9}
.strength-foot{display:flex;align-items:flex-end;justify-content:space-between;gap:16px;margin-top:34px}
.strength-foot .strength-note{flex:1;max-width:none;margin-top:0;font-size:16px}
.strength-foot .strength-art{display:none;position:static;width:auto;height:110px;flex:none;filter:brightness(0) invert(.94);opacity:.9}
@media(min-width:1200px){.strength-foot .strength-art{display:block}}

/* 資格カードを広げ、椅子を隣接させる。 */
@media(min-width:901px){
  .credentials-main{grid-template-columns:minmax(0,1fr) 150px;column-gap:24px}
  .cred-list{gap:16px}
  .cred-list li{min-width:0;margin-bottom:0}
  .cred-floor{justify-content:center}
}

/* 左の行進を主役にし、署名の下に紙色との間を残す。 */
.thoughts{padding-bottom:80px}
@media(min-width:901px){
  .thoughts{grid-template-columns:minmax(0,.95fr) minmax(0,1.05fr);column-gap:clamp(40px,4vw,64px)}
  .thoughts-march{width:100%;max-width:560px}
  .thoughts-animals{height:clamp(150px,15.6vw,231px)}
  .thoughts .thoughts-walk{height:clamp(202px,22.1vw,309px)}
  .thoughts article:nth-child(2) .th-num{font-size:40px}
  .thoughts article:nth-child(3){padding-top:32px}
  .thoughts article:nth-child(3) .th-num{font-size:26px}
  .thoughts article:nth-child(3) h3{font-size:clamp(26px,2.2vw,32px)}
}

/* 会社概要の右余白には既存の柱時計を添える。 */
.company-layout{max-width:none;grid-template-columns:minmax(0,1fr) 80px;column-gap:16px}
.company-art{height:230px;width:auto;align-self:end;justify-self:end}
@media(max-width:900px){.company-layout{grid-template-columns:minmax(0,1fr)}.company-art{display:none}}

/* 再審査2回目：判断に必要な文字を読みやすい寸法に統一。 */
.price-table thead th,.price-table td:nth-child(2){font-size:16px}
.cta-facts,.th-num,.cred-list small,.form-section .field .lab em{font-size:14px}
.section-cta a,.partner-actions span a,.partner-actions .partner-mail,.form-tel a,.faq-tel a,.situ-cta a,footer a,.form-company a,.pt-note a{min-height:48px}
.strength-list li:nth-child(n+4){padding-bottom:18px}
.strength-list li:nth-child(n+4) p{font-size:15.5px}
@media(max-width:640px){
  .strength-list li:nth-child(-n+3){background:#ffffff18;border:1px solid #f7f4ee88;padding:18px 14px 22px;grid-template-columns:44px minmax(0,1fr)}
  .strength-list li:nth-child(-n+3) .st-num{display:block;position:static;grid-column:1;grid-row:1;font-size:26px;line-height:1.2;opacity:1;margin:0}
  .strength-list li:nth-child(-n+3) .st-icon{grid-column:1;grid-row:2;margin-top:4px}
  .strength-list li:nth-child(-n+3) h3{grid-column:2;grid-row:1;font-size:clamp(24px,6vw,29px)}
  .strength-list li:nth-child(-n+3) p{grid-column:2;grid-row:2/4}
  .strength-list li:nth-child(n+4){background:#ffffff07;padding:18px 14px 18px}
  .strength-list li:nth-child(n+4) h3{font-size:22px}
}

/* 協力パートナーは紙色に戻し、写真の上の空白を詰める。 */
.partner{background:var(--paper)}
.partner>.band-thin{margin-top:calc(-1 * clamp(72px,8vw,128px))}
.partner-points li:before{border-color:var(--navy)}
.partner-steps li:before{color:var(--navy)}
.partner-box{justify-content:flex-start;gap:clamp(20px,3vw,44px)}
.partner-box>div{flex:0 1 840px;min-width:0}
.partner-box .partner-art{margin:0 0 18px 0;width:clamp(175px,16vw,230px);flex:none}
@media(max-width:800px){.partner-box>div{flex:1 1 auto}.partner-box .partner-art{margin:0 auto 18px;width:min(210px,55vw)}}

/* 2026-10-19: 最終画面の連絡ボタン */
.fb-mail{justify-content:center}
.fb-mail .fb-text{align-items:center;text-align:center}
.fb-mail .fb-text small{font-size:14px}
.fb-mail .fb-arrow{position:absolute;right:18px;margin-left:0}

/* 強み：上段の紹介と下段の手配を、余白と階層で読み分ける。 */
.strength-hub{margin-bottom:clamp(28px,4vw,52px)}
.strength-hub strong{line-height:1.45}
.strength-list{gap:clamp(14px,2vw,28px)}
.strength-list li:nth-child(-n+3){padding:clamp(25px,2.8vw,38px);border-color:#f7f4eeaa;background:#ffffff12}
.strength-list li:nth-child(-n+3) .st-num{font-family:var(--sans);font-size:22px;line-height:1.2;letter-spacing:.08em;opacity:1}
.strength-list li:nth-child(-n+3) .st-icon{margin-top:32px;margin-bottom:18px}
.strength-list li:nth-child(-n+3) h3{font-size:clamp(23px,2.2vw,30px);line-height:1.4;margin-bottom:12px}
.strength-list li:nth-child(-n+3) p{font-size:16px;line-height:1.8}
.strength-list li:nth-child(n+4){border-top:1px solid #f7f4ee80;background:transparent;padding-top:24px;padding-bottom:8px}
.strength-list li:nth-child(n+4) h3{font-size:clamp(20px,1.8vw,24px);line-height:1.4}
.strength-list li:nth-child(n+4) p{font-size:16px;line-height:1.8}
.st-tag{display:block;margin:3px 0 0;font-size:14px;line-height:1.5}
.strength-foot{margin-top:28px;padding-top:20px;border-top:1px solid #f7f4ee80}
.strength-foot .strength-note{line-height:1.8}
@media(max-width:640px){
  .strength-list{gap:12px}
  .strength-list li:nth-child(-n+3){padding:20px 18px 22px;grid-template-columns:42px minmax(0,1fr);column-gap:12px}
  .strength-list li:nth-child(-n+3) .st-num{font-size:18px}
  .strength-list li:nth-child(-n+3) .st-icon{margin:4px 0 0;width:38px;height:38px}
  .strength-list li:nth-child(-n+3) h3{font-size:22px;margin:0 0 8px}
  .strength-list li:nth-child(n+4){padding:20px 0 8px;column-gap:14px}
  .strength-list li:nth-child(n+4) .st-icon{width:42px;height:42px}
}

/* 料金表の目安の次に、見積り条件を項目別に確認できる構成。 */
.price-facts-title{padding:0;margin-bottom:14px}
.price-facts{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}
.price-facts>div{display:block;min-height:0;padding:18px 18px 20px;border:1px solid #14394f40;background:var(--paper)}
.price-facts>div:last-child{border:1px solid #14394f40}
.price-facts dt{display:flex;align-items:center;gap:9px;margin-bottom:12px;font-family:var(--sans);font-size:17px;font-weight:700;line-height:1.5;color:var(--navy)}
.price-facts dt svg{width:24px;height:24px;flex:none;fill:none;stroke:currentColor;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round}
.price-facts dd{font-size:16px;line-height:1.8;color:var(--ink)}
.price-facts dd strong{display:block;font-size:17px;line-height:1.55;color:var(--navy);margin-bottom:8px}
.price-facts .price-fact-primary{background:#edf3f4;border-color:var(--navy)}
@media(min-width:1201px){.price-facts>div:first-child{grid-column:1/-1}}
@media(min-width:701px) and (max-width:1200px){.price-facts{grid-template-columns:repeat(3,minmax(0,1fr))}}
@media(max-width:700px){.price-facts{grid-template-columns:1fr;gap:10px}.price-facts>div{padding:20px}.price-facts dt{margin-bottom:10px}}

/* 会社概要の後ろに置く、控えめな事業者向け案内帯。 */
.partner{background:var(--paper);padding-top:clamp(28px,4vw,52px);padding-bottom:clamp(28px,4vw,52px);border-top:1px solid var(--line)}
.partner-box{position:relative;display:block;padding:0 112px 0 0;border:0;min-height:0}
.partner-box>div{max-width:none}
.partner-box h2{font-size:clamp(23px,2.5vw,30px);line-height:1.4;margin:0 0 8px}
.partner-box p{max-width:none;font-size:16px;line-height:1.7}
.partner-flow{margin-top:14px;max-width:none}
.partner-flow b{font-size:14px;margin-bottom:8px}
.partner-steps{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:8px}
.partner-steps li{width:auto;max-width:none;min-width:0;margin:0;padding:8px 10px;font-size:14px;white-space:normal;background:transparent;border:1px solid #14394f66;line-height:1.5}
.partner-steps li:before{font-family:var(--sans);font-size:14px;font-weight:700}
.partner-steps li:not(:last-child):after{display:none}
.partner-actions{margin-top:16px;gap:10px}
.partner-actions .button,.partner-actions .partner-mail{min-height:48px;padding:10px 18px;font-size:15px;line-height:1.5}
.partner-actions .button{background:var(--navy);color:var(--paper);border-color:var(--navy)}
.partner-actions .button:hover,.partner-actions .button:focus-visible{background:#0d2a3c;color:var(--paper)}
.partner-actions .partner-mail{border:1px solid var(--navy);font-weight:600;background:transparent}
.partner-box .partner-art{position:absolute;right:0;top:4px;bottom:auto;width:88px;height:auto;max-height:120px;object-fit:contain;margin:0}
@media(max-width:800px){
  .partner-box{display:block;padding-right:0}
  .partner-box h2,.partner-box>div>p:first-of-type{padding-right:78px}
  .partner-box .partner-art{right:0;top:0;width:66px;max-height:88px;margin:0}
  .partner-steps{grid-template-columns:repeat(2,minmax(0,1fr));gap:7px}
  .partner-actions{display:grid;grid-template-columns:1fr}
  .partner-actions .button,.partner-actions .partner-mail{width:100%;min-width:0;text-align:center;justify-content:center;box-sizing:border-box}
}

/* 2026-10-19 目視修正3：サービスを同寸のタイルにする。 */
.service-catalog{display:block;background:#f8f6f0;border:1px solid #14394f40;padding:clamp(24px,3vw,42px)}
.service-catalog h3{font-size:clamp(25px,2.5vw,32px);margin:0 0 22px;color:var(--navy)}
.service-catalog ul{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:10px;margin:0;padding:0}
.service-catalog li{display:flex;align-items:center;gap:12px;min-width:0;min-height:98px;box-sizing:border-box;padding:16px 14px;border:1px solid #14394f40;background:#fff;font-size:17px;line-height:1.55;font-weight:600;color:var(--navy)}
.service-catalog li:before{display:none}
.service-catalog .catalog-icon{display:block;flex:none;width:28px;height:28px;color:var(--navy)}
.service-catalog .catalog-note{font-size:14px;line-height:1.7;margin:18px 0 0;padding:0;color:#3d4f5e}
.service-catalog .catalog-art{display:none}
@media(max-width:1050px){.service-catalog ul{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:480px){.service-catalog ul{grid-template-columns:repeat(2,minmax(0,1fr))}.service-catalog li{display:block;min-height:120px;padding:13px 10px;font-size:16px}.service-catalog .catalog-icon{margin-bottom:8px}}

/* 強み：紹介の3枚を明るい面へ。手配の3件は紺地で区別する。 */
.strength-list{gap:clamp(14px,2vw,28px)}
.strength-list li:nth-child(-n+3){display:block;background:var(--paper);border:2px solid var(--paper);color:var(--navy);padding:clamp(28px,3vw,42px);min-height:330px}
.strength-list li:nth-child(-n+3) .st-num{display:block;position:static;font-family:var(--sans);font-size:clamp(29px,3vw,40px);line-height:1;font-weight:700;color:var(--green);opacity:1;margin-bottom:20px;letter-spacing:.04em}
.strength-list li:nth-child(-n+3) .st-icon{display:block;width:58px;height:58px;box-sizing:border-box;margin:0 0 18px;padding:10px;border:2px solid var(--green);border-radius:50%;background:transparent;color:var(--green)}
.strength-list li:nth-child(-n+3) h3{color:var(--navy);font-size:clamp(25px,2.4vw,33px);line-height:1.4;margin:0 0 16px}
.strength-list li:nth-child(-n+3) p{color:var(--navy);font-size:17.5px;line-height:1.9;max-width:28em}
.strength-list li:nth-child(n+4){background:transparent;border:0;border-top:2px solid #f7f4eea8;padding:28px 8px 16px;min-height:0}
.strength-list li:nth-child(n+4) .st-num{position:static;display:block;color:#f7f4ee;font-family:var(--sans);font-size:23px;line-height:1.3;opacity:1;margin-bottom:14px}
.strength-list li:nth-child(n+4) .st-icon{display:block;width:54px;height:54px;margin:0 0 14px;padding:10px;background:#f7f4ee1f;border:1px solid #f7f4ee80;color:var(--paper)}
.strength-list li:nth-child(n+4) h3{font-size:clamp(23px,2vw,28px);line-height:1.45;margin-bottom:10px;color:var(--paper)}
.strength-list li:nth-child(n+4) p{color:var(--paper);font-size:17.5px;line-height:1.9;max-width:30em}
.strength-list .st-tag{color:inherit;font-size:14px}
.strength-foot .strength-note{font-size:16px;line-height:1.9}
@media(max-width:1000px){.strength-list li:nth-child(-n+3){display:block;min-height:0}.strength-list li:nth-child(-n+3) .st-icon{width:58px;height:58px;padding:10px;background:transparent}}
@media(max-width:640px){
  .strength-list li:nth-child(-n+3){padding:26px 24px 30px}
  .strength-list li:nth-child(-n+3) .st-num{font-size:32px;margin-bottom:15px}
  .strength-list li:nth-child(-n+3) .st-icon{margin:0 0 15px;width:54px;height:54px}
  .strength-list li:nth-child(-n+3) h3{font-size:26px;margin-bottom:12px}
  .strength-list li:nth-child(-n+3) p,.strength-list li:nth-child(n+4) p{font-size:17px;line-height:1.9}
  .strength-list li:nth-child(n+4){padding:24px 4px 16px}
}

/* 大切にしていること：02を芯に、数字と余白に強弱をつける。 */
.thoughts h2{font-size:clamp(42px,4.5vw,68px);line-height:1.3;letter-spacing:.035em}
.thoughts article{border-top:0;padding:22px 0 30px}
.thoughts article:first-child{padding-top:0}
.thoughts article:nth-child(2){padding:28px 28px 30px;border-left:3px solid var(--paper);background:#ffffff12}
.thoughts article:nth-child(3){border-top:1px solid #f7f4ee77;padding-top:28px}
.thoughts article .th-num{font-family:var(--sans);font-size:clamp(32px,3.3vw,48px);font-weight:700;line-height:1;color:#f7f4ee77}
.thoughts article:nth-child(2) .th-num{font-size:clamp(48px,5vw,70px);color:var(--paper)}
.thoughts article h3{font-size:clamp(24px,2.2vw,31px);line-height:1.45;margin-bottom:12px}
.thoughts article p{font-size:17px;line-height:1.9}
.thoughts-sign{padding-top:16px;border-top:1px solid #f7f4ee77;font-size:17px;line-height:1.8}
.thoughts-art{border-bottom:2px solid var(--paper);padding-bottom:0!important}
@media(min-width:901px){.thoughts article{grid-template-columns:96px minmax(0,1fr)}.thoughts article:nth-child(2) .th-num{font-size:clamp(48px,5vw,70px)}.thoughts article:nth-child(3) .th-num{font-size:clamp(32px,3.3vw,48px)}}
@media(max-width:900px){.thoughts article{display:grid;grid-template-columns:60px minmax(0,1fr);column-gap:12px;gap:0}.thoughts article .th-num{grid-column:1;grid-row:1/3}.thoughts article h3,.thoughts article p{grid-column:2}.thoughts article:nth-child(2){padding:24px 18px}.thoughts article:nth-child(2) .th-num{font-size:44px}.thoughts h2{font-size:clamp(34px,7.2vw,52px)}}

/* 協業案内：紺の帯と番号の流れ。 */
.partner{background:var(--navy);color:var(--paper);border-top:0;padding-top:clamp(32px,4vw,54px);padding-bottom:clamp(32px,4vw,54px)}
.partner-box{position:relative;display:block;padding:0 112px 0 0;color:var(--paper)}
.partner-box h2{font-size:clamp(28px,2.8vw,32px);line-height:1.4;margin-bottom:10px;color:var(--paper)}
.partner-box p{font-size:17px;line-height:1.75;color:var(--paper)}
.partner-flow{margin-top:20px}
.partner-flow b{font-size:16px;margin-bottom:12px;color:var(--paper)}
.partner-steps{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:18px}
.partner-steps li{display:flex;align-items:center;position:relative;box-sizing:border-box;min-width:0;min-height:70px;padding:12px 10px 12px 56px;margin:0;border:1px solid #f7f4ee8c;background:#ffffff0d;color:var(--paper);font-size:16px;line-height:1.5;white-space:normal}
.partner-steps li:before{content:counter(ps,decimal-leading-zero);position:absolute;left:10px;top:50%;transform:translateY(-50%);display:grid;place-items:center;box-sizing:border-box;width:36px;height:36px;margin:0;border:1px solid var(--paper);border-radius:50%;color:var(--paper);font-family:var(--sans);font-size:15px;font-weight:700;line-height:1}
.partner-steps li:not(:last-child):after{content:'';display:block;position:absolute;right:-14px;top:50%;width:8px;height:8px;margin-top:-5px;border:0;border-top:2px solid var(--paper);border-right:2px solid var(--paper);transform:rotate(45deg)}
.partner-actions{margin-top:20px;gap:12px}
.partner-actions .button,.partner-actions .partner-mail{min-height:50px;padding:11px 18px;font-size:16px;line-height:1.5}
.partner-actions .button{background:var(--paper);border-color:var(--paper);color:var(--navy)}
.partner-actions .button:hover,.partner-actions .button:focus-visible{background:#fff;color:var(--navy)}
.partner-actions .partner-mail{border:1px solid var(--paper);background:transparent;color:var(--paper)}
.partner-box .partner-art{position:absolute;right:0;top:auto;bottom:0;width:86px;height:auto;max-height:120px;margin:0;object-fit:contain;filter:brightness(0) invert(.96)}
@media(max-width:900px){.partner-steps{grid-template-columns:repeat(2,minmax(0,1fr))}.partner-steps li:nth-child(2):after{display:none}}
@media(max-width:700px){
  .partner-box{padding-right:0}
  .partner-box h2,.partner-box>div>p:first-of-type{padding-right:0}
  .partner-box h2{font-size:clamp(24px,6.2vw,29px)}
  .partner-steps{grid-template-columns:1fr;gap:14px}
  .partner-steps li{min-height:64px}
  .partner-steps li:not(:last-child):after,.partner-steps li:nth-child(2):after{display:block;right:auto;left:24px;top:auto;bottom:-12px;transform:rotate(135deg)}
  .partner-actions{display:grid;grid-template-columns:1fr}
  .partner-box .partner-art{position:static;display:block;width:76px;height:auto;max-height:none;margin:18px 0 0 auto}
}

/* 強み下段(04〜06)：旧い2列グリッドの指定が残って本文が1文字幅になるのを防ぐ */
.strength-list li:nth-child(n+4){display:block;grid-template-columns:none}
.strength-list li:nth-child(n+4) .st-num,.strength-list li:nth-child(n+4) .st-icon,.strength-list li:nth-child(n+4) h3,.strength-list li:nth-child(n+4) p{grid-column:auto;grid-row:auto}

/* 2026-10-20 目視修正4：相談導線はFV最後と同じ大きさと構造にする。 */
.flow-section .section-cta,.price .section-cta{display:block;border-width:1px 0;padding:clamp(28px,3.5vw,44px) 0;text-align:center}
.flow-section .section-cta p,.price .section-cta p{font-size:18px;line-height:1.75;margin:0 auto 22px;max-width:34em}
.section-cta .finale-buttons{width:min(480px,100%)}
.section-cta .fb{min-height:78px;box-sizing:border-box;text-decoration:none;justify-content:center}
.section-cta .fb-tel .fb-text{align-items:center;text-align:center}
.section-cta .fb-tel .fb-text small{font-size:14px;white-space:nowrap}
.section-cta .fb-tel .fb-text strong{white-space:nowrap}
.section-cta .fb-mail .fb-text strong{font-size:18px}
.section-cta .fb-mail .fb-text small{font-size:14px}
.section-cta .fb-mail .fb-arrow{position:absolute;right:18px}
@media(max-width:560px){.section-cta .fb{min-height:72px}.section-cta .fb-tel .fb-text strong{font-size:clamp(22px,7vw,26px)}}

/* 資格の3面を章の幅いっぱいにそろえる。 */
.credentials{display:block}
.credentials-main{display:block;border-bottom:0}
.credentials-main h2{margin-bottom:clamp(20px,3vw,36px)}
.credentials-main .cred-list{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:clamp(10px,1.5vw,22px)}
.credentials-main .cred-list li{display:flex;flex-direction:column;justify-content:center;align-items:center;gap:14px;min-width:0;min-height:230px;margin:0;padding:24px 16px;border:2px solid var(--navy);outline:0;background:var(--navy);color:var(--paper);text-align:center;letter-spacing:0}
.cred-list svg{flex:none;width:50px;height:50px;color:var(--paper)}
.cred-list b{font-size:clamp(22px,2.1vw,30px);line-height:1.45;color:var(--paper);overflow-wrap:normal}
.cred-list small{font-family:var(--sans);font-size:14px;line-height:1.5;color:var(--paper)}
@media(max-width:900px){
  .credentials-main .cred-list{grid-template-columns:1fr;gap:10px}
  .credentials-main .cred-list li{display:grid;grid-template-columns:42px minmax(0,1fr);grid-template-rows:auto auto;align-content:center;justify-items:start;column-gap:12px;row-gap:2px;min-height:120px;padding:16px;text-align:left}
  .cred-list svg{grid-column:1;grid-row:1/3;width:42px;height:42px}
  .cred-list b{grid-column:2;grid-row:1;font-size:clamp(18px,5.2vw,25px)}
  .cred-list small{grid-column:2;grid-row:2;margin:0}
}

/* 思いの章：横3列の誌面と、その下を進む影絵に組み替える。 */
.thoughts{display:block;padding-bottom:clamp(52px,6vw,86px)}
.thoughts h2{max-width:none;margin:0 0 clamp(30px,4vw,54px);font-size:clamp(38px,4.5vw,64px);line-height:1.35}
.thoughts .thoughts-list{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:clamp(12px,1.5vw,22px)}
.thoughts article,.thoughts article:first-child,.thoughts article:nth-child(2),.thoughts article:nth-child(3){position:relative;display:flex;flex-direction:column;align-items:flex-start;grid-template-columns:none;gap:0;min-width:0;min-height:370px;margin:0;padding:clamp(24px,2.4vw,36px);border:1px solid #f7f4ee8c;border-left:1px solid #f7f4ee8c;background:#ffffff0b;overflow:hidden}
.thoughts article .th-num,.thoughts article:nth-child(2) .th-num,.thoughts article:nth-child(3) .th-num{position:absolute;top:-12px;right:16px;z-index:0;font-family:var(--sans);font-size:clamp(104px,10vw,150px);font-weight:700;line-height:1;color:#f7f4ee1b;letter-spacing:-.06em}
.thoughts article h3{position:relative;z-index:1;margin:100px 0 16px;font-size:clamp(24px,2.15vw,31px);line-height:1.45}
.thoughts article p{position:relative;z-index:1;max-width:none;font-size:17px;line-height:1.9}
.thoughts .thoughts-art{position:relative;display:flex;grid-area:auto;align-items:flex-end;justify-content:flex-start;box-sizing:border-box;width:100%;min-width:0;min-height:0;margin:clamp(34px,4vw,58px) 0 0!important;padding:0!important;border-bottom:2px solid var(--paper);overflow:hidden}
.thoughts-march{display:flex;align-items:flex-end;justify-content:space-between;gap:clamp(28px,6vw,100px);width:min(540px,82%);max-width:none;will-change:transform}
.thoughts-animals,.thoughts .thoughts-walk{display:block;object-fit:contain;object-position:bottom;flex:none;max-width:none}
.thoughts-animals{height:clamp(140px,14vw,205px);width:auto;transform:scaleX(-1)}
.thoughts .thoughts-walk{height:clamp(180px,18vw,255px);width:auto;transform:none}
.thoughts p.thoughts-sign{grid-area:auto;max-width:none;margin:22px 0 0!important;padding:0;border:0;text-align:right;font-size:17px;line-height:1.8}
@media(max-width:900px){
  .thoughts .thoughts-list{grid-template-columns:1fr;gap:12px}
  .thoughts article,.thoughts article:first-child,.thoughts article:nth-child(2),.thoughts article:nth-child(3){min-height:0;padding:26px 24px 28px}
  .thoughts article .th-num,.thoughts article:nth-child(2) .th-num,.thoughts article:nth-child(3) .th-num{top:-8px;right:18px;font-size:108px}
  .thoughts article h3{margin:34px 0 10px;font-size:clamp(24px,4vw,30px)}
  .thoughts .thoughts-art{margin-top:34px!important}
  .thoughts-march{width:min(440px,85%);gap:clamp(20px,4vw,48px)}
  .thoughts-animals{height:clamp(110px,23vw,165px)}
  .thoughts .thoughts-walk{height:clamp(145px,30vw,208px)}
}
@media(max-width:400px){.thoughts h2{font-size:clamp(32px,8.2vw,38px)}.thoughts-march{width:92%;gap:12px}.thoughts-animals{height:105px}.thoughts .thoughts-walk{height:140px}}

/* 協業帯：本文と手順を読みやすくし、相談ボタンはFVの面構成を使う。 */
.partner{padding-top:clamp(42px,5vw,64px);padding-bottom:clamp(46px,5vw,68px)}
.partner-box{position:relative;display:block;padding:0 clamp(140px,14vw,205px) 0 0;color:var(--paper)}
.partner-box>div{max-width:none}
.partner-box h2{font-size:clamp(36px,3vw,42px);line-height:1.4;margin-bottom:16px}
.partner-box p{font-size:18px;line-height:1.8}
.partner-flow{margin-top:28px}
.partner-flow b{font-size:18px;margin-bottom:16px}
.partner-steps{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px}
.partner-steps li{width:auto;max-width:none;min-width:0;min-height:94px;margin:0;padding:16px 12px 16px 66px;border:1px solid #f7f4ee8c;background:#ffffff0d;color:var(--paper);font-size:16px;line-height:1.55;white-space:normal}
.partner-steps li:before{left:12px;width:44px;height:44px;border-width:2px;color:var(--paper);font-family:var(--sans);font-size:17px;font-weight:700}
.partner-steps li:not(:last-child):after,.partner-steps li:nth-child(2):after{display:none}
.partner-actions{display:block;margin-top:28px}
.partner-actions .finale-buttons{width:min(480px,100%);margin:0}
.partner-actions .fb{min-height:76px;justify-content:center;padding-inline:50px;text-decoration:none}
.partner-actions .fb-text{align-items:center;text-align:center}
.partner-actions .fb-text strong{font-size:18px;line-height:1.45}
.partner-actions .fb>svg:not(.fb-arrow){position:absolute;left:18px}
.partner-actions .fb-arrow{position:absolute;right:18px;width:20px;height:20px}
.partner-actions .fb-partner-primary{background:var(--paper);border-color:var(--paper);color:var(--navy)}
.partner-actions .fb-partner-primary:hover,.partner-actions .fb-partner-primary:focus-visible{background:#fff}
.partner-actions .fb-mail{background:transparent;border-color:var(--paper);color:var(--paper)}
.partner-actions .fb-mail:hover,.partner-actions .fb-mail:focus-visible{background:var(--paper);color:var(--navy)}
.partner-box .partner-art{position:absolute;top:auto;right:0;bottom:0;width:clamp(125px,12vw,175px);height:auto;max-height:none;margin:0;object-fit:contain;filter:brightness(0) invert(.96)}
@media(max-width:1100px){.partner-steps{grid-template-columns:repeat(2,minmax(0,1fr))}.partner-steps li{max-width:none}}
@media(max-width:800px){
  .partner-box{padding-right:0}
  .partner-box h2,.partner-box>div>p:first-of-type{padding-right:0}
  .partner-box h2{font-size:clamp(26px,6vw,36px)}
  .partner-steps{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}
  .partner-box .partner-art{position:static;display:block;width:clamp(110px,26vw,155px);max-height:none;margin:22px 0 0 auto}
}
@media(max-width:560px){.partner-steps{grid-template-columns:1fr}.partner-steps li{min-height:76px}.partner-actions .fb{min-height:72px}.partner-actions .fb-text strong{font-size:16px}}

/* 区切り画像撤去後はFAQの章余白だけでつなぐ。 */
.thoughts+.faq-section{border-top:1px solid var(--line)}

/* 協業帯のCTA：2つのボタンの高さと文字の縦位置をそろえる */
.partner-actions .fb{min-height:78px;box-sizing:border-box;align-items:center;justify-content:center;text-decoration:none}
.partner-actions .fb-partner-primary{gap:14px}

/* 2026-10-20 目視修正5：柱時計は料金の相談帯の上端に立てる。 */
.price .section-cta{margin-top:clamp(145px,16vw,215px)}
.price-cta-clock{position:absolute;right:clamp(18px,8vw,112px);bottom:100%;display:block;width:auto;height:clamp(115px,14vw,195px);max-width:none;pointer-events:none}

/* 資格名と民間資格の事実を、同じ寸法の認定証で示す。 */
.credentials-main .cred-list{grid-template-columns:repeat(3,minmax(0,1fr));gap:clamp(12px,1.8vw,24px)}
.credentials-main .cred-list li{position:relative;display:flex;flex-direction:column;justify-content:center;align-items:center;gap:10px;min-height:242px;margin:0;padding:30px 18px;border:5px solid var(--navy);outline:0;background:#F0E9DE;color:var(--navy);text-align:center}
.credentials-main .cred-list li::before{content:'';position:absolute;inset:8px;border:1px solid var(--green);pointer-events:none}
.credentials-main .cred-list svg{position:relative;grid-column:auto;grid-row:auto;width:48px;height:48px;color:var(--green)}
.credentials-main .cred-list b{position:relative;grid-column:auto;grid-row:auto;font-family:var(--serif);font-size:clamp(21px,2.05vw,30px);font-weight:600;line-height:1.35;color:var(--navy);overflow-wrap:normal}
.credentials-main .cred-list small{position:relative;grid-column:auto;grid-row:auto;margin:2px 0 0;font-family:var(--sans);font-size:14px;line-height:1.5;color:var(--navy)}
@media(max-width:900px){.credentials-main .cred-list{grid-template-columns:1fr;gap:12px}.credentials-main .cred-list li{display:flex;min-height:178px;padding:22px 18px;text-align:center}.credentials-main .cred-list b{font-size:clamp(22px,5vw,28px)}}

/* 2026-10-20 目視修正6：章境界の線は1本だけにする。絵の床線を優先。 */
.flow-section .section-cta,.price .section-cta{border-bottom:0}
.divider-kettle+.price{border-top:0}
.credentials{border-top:0;border-bottom:0}
.thoughts+.faq-section{border-top:0}

/* 思いの3面：写真の下に番号・見出し・本文を置く。 */
.thoughts article,.thoughts article:first-child,.thoughts article:nth-child(2),.thoughts article:nth-child(3){display:flex;flex-direction:column;align-items:stretch;min-height:0;padding:0;border:1px solid #f7f4ee8c;background:#ffffff0b}
.thoughts .thoughts-photo{display:block;flex:none;width:100%;margin:0;overflow:hidden}
.thoughts .thoughts-photo img{display:block;width:100%;height:clamp(160px,16vw,220px);object-fit:cover;object-position:center}
.thoughts article .th-num,.thoughts article:nth-child(2) .th-num,.thoughts article:nth-child(3) .th-num{position:static;display:block;align-self:flex-start;z-index:auto;margin:22px 26px 0;font-family:var(--sans);font-size:30px;font-weight:700;line-height:1.2;letter-spacing:.03em;color:#F7F4EEbb}
.thoughts article h3{position:static;margin:10px 26px 12px;font-size:clamp(23px,2.15vw,31px);line-height:1.45}
.thoughts article p{position:static;margin:0 26px 30px;font-size:17px;line-height:1.9}
@media(max-width:900px){.thoughts article,.thoughts article:first-child,.thoughts article:nth-child(2),.thoughts article:nth-child(3){padding:0}.thoughts .thoughts-photo img{height:190px}.thoughts article .th-num,.thoughts article:nth-child(2) .th-num,.thoughts article:nth-child(3) .th-num{font-size:30px;margin:20px 24px 0}.thoughts article h3{margin:8px 24px 10px}.thoughts article p{margin:0 24px 26px}}

/* 右向きの透過コマを同じ床線にそろえる。 */
.thoughts-animals,.thoughts .thoughts-walk{transform:none;filter:none;object-position:bottom}
.thoughts .thoughts-art{overflow:hidden}

/* 紹介順を番号の線でつなぎ、相談ボタンを帯の中央に置く。 */
.partner-box{padding-right:0}
.partner-steps{position:relative;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:0}
.partner-steps::before{content:'';position:absolute;top:22px;left:12.5%;right:12.5%;height:2px;background:var(--paper);opacity:.8}
.partner-steps li{position:relative;display:block;min-height:104px;padding:62px 8px 0;margin:0;border:0;background:transparent;color:var(--paper);font-size:16px;line-height:1.55;text-align:center}
.partner-steps li::before{content:counter(ps,decimal-leading-zero);position:absolute;z-index:1;top:0;left:50%;display:grid;place-items:center;width:44px;height:44px;box-sizing:border-box;margin:0;border:2px solid var(--paper);border-radius:50%;background:var(--navy);color:var(--paper);font-family:var(--sans);font-size:17px;font-weight:700;line-height:1;transform:translateX(-50%)}
.partner-steps li:not(:last-child)::after,.partner-steps li:nth-child(2)::after{display:none}
.partner-actions{display:block;margin-top:26px}
.partner-actions .finale-buttons{width:min(520px,100%);margin-inline:auto}
.partner-box .partner-art{right:0;bottom:0;width:clamp(84px,9vw,118px);height:auto;max-height:none;margin:0}
@media(max-width:800px){.partner-steps{display:grid;grid-template-columns:1fr;gap:8px}.partner-steps::before{top:22px;bottom:22px;left:22px;right:auto;width:2px;height:auto}.partner-steps li{display:flex;align-items:center;min-height:64px;padding:8px 8px 8px 68px;text-align:left}.partner-steps li::before{top:50%;left:0;transform:translateY(-50%)}.partner-box .partner-art{position:static;display:block;width:clamp(92px,22vw,125px);margin:16px 0 0 auto}}

/* 思いの章：03の写真だけ旧い「.thoughts-name img」の余白と幅指定を受けていたのをそろえる */
.thoughts .thoughts-name .thoughts-photo img{margin:0;width:100%;height:clamp(160px,16vw,220px)}
@media(max-width:900px){.thoughts .thoughts-name .thoughts-photo img{height:190px}}

/* 2026-10-20: 情報を残し、章の長さを抑える。 */
@media(min-width:901px){
  .section{padding-block:clamp(44px,5vw,72px)}
  .section-head{margin-bottom:clamp(22px,2.6vw,36px)}
  .credentials>.band-thin,.partner>.band-thin{margin-top:calc(-1 * clamp(44px,5vw,72px))}
  .band-photo{height:clamp(150px,12vw,175px)}
  .band-thin{margin-top:calc(-1 * clamp(44px,5vw,72px));height:150px}
  .price>.band-photo{margin-bottom:28px}
  .story-stage{padding-block:clamp(48px,6vw,84px) clamp(30px,4vw,58px)}
  .js-motion .story{height:130svh}
  .thoughts{padding-bottom:58px}
  .thoughts h2{margin-bottom:30px}
  .thoughts .thoughts-art{margin-top:30px!important}
  .contact-stage{padding-block:56px}
  .form-section{grid-template-columns:minmax(240px,.75fr) minmax(0,1.5fr);gap:clamp(24px,3vw,48px);padding-block:52px}
  .form-section form{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px 16px}
  .form-section form>*,.form-section form>.field:first-of-type{grid-column:1/-1}
  .form-section form>.field:has(#f-tel),.form-section form>.field:has(#f-area){grid-column:1}
  .form-section form>.field:has(#f-email),.form-section form>.field:has(#f-timing){grid-column:2}
  .contact-facts-details>summary,.contact-next-details>summary{display:none}
  .company th,.company td{padding-block:10px}
  .company table{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:24px}
  .company tbody{display:block;min-width:0}
  .company tr{display:grid;grid-template-columns:8em minmax(0,1fr)}
  .company th{width:auto}
  .company td{min-width:0;overflow-wrap:anywhere}
}
.strength-support{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:clamp(14px,2vw,28px);margin-top:20px}
.strength-support li{min-width:0;padding:20px 8px 8px;border-top:2px solid #f7f4eea8}
.strength-support .st-num{display:block;margin-bottom:10px;font-family:var(--sans);font-size:23px;font-weight:700;color:var(--paper)}
.strength-support .st-icon{display:block;width:48px;height:48px;margin-bottom:10px;padding:9px;border:1px solid #f7f4ee80;border-radius:50%;background:#f7f4ee1f;color:var(--paper)}
.strength-support h3{margin-bottom:8px;font-size:clamp(21px,1.8vw,26px);color:var(--paper)}
.strength-support p{font-size:16px;line-height:1.75;color:var(--paper)}
.contact-facts-details>summary,.contact-next-details>summary{cursor:pointer;min-height:48px;align-content:center;font-weight:700;list-style:none}
.contact-facts-details>summary::-webkit-details-marker,.contact-next-details>summary::-webkit-details-marker{display:none}
.contact-facts-details>summary:focus-visible,.contact-next-details>summary:focus-visible{outline:3px solid var(--green);outline-offset:3px}
.contact-facts-details>summary::after,.contact-next-details>summary::after{content:'＋';float:right}
.contact-facts-details[open]>summary::after,.contact-next-details[open]>summary::after{content:'−'}
.contact-facts-details .contact-facts{margin-top:0}
.contact-next-details .contact-next{margin-top:0}
.form-section form{gap:12px}
.price-table th,.price-table td{padding-block:9px}
.price-facts>div{padding:14px 16px}
.price-facts dt{margin-bottom:8px}
.price .section-cta{margin-top:clamp(115px,11vw,165px)}
.price-cta-clock{height:clamp(105px,10vw,145px)}

@media(max-width:900px){
  .section{padding-block:40px;padding-inline:clamp(20px,6vw,42px)}
  .section-head{margin-bottom:22px}
  .section-head p{margin-top:8px}
  .situ-marquee{margin-inline:calc(-1 * clamp(20px,6vw,42px));padding-inline:clamp(20px,6vw,42px)}
  .credentials>.band-thin,.partner>.band-thin,.band-thin{margin-top:-40px;height:clamp(120px,18vw,150px);margin-bottom:24px}
  .price>.band-photo,.band-photo{height:clamp(130px,19vw,160px);margin-bottom:24px}
  .band-photo{margin-inline:calc(-1 * clamp(20px,6vw,42px))}
  .service-catalog{margin-top:26px;padding:22px}
  .service-catalog h3{margin-bottom:8px}
  .service-catalog li{padding-block:4px}
  .flow-section .section-cta,.price .section-cta{padding-block:22px}
  .flow-section .section-cta p,.price .section-cta p{margin-bottom:14px}
  .strength-hub{margin-bottom:22px;padding:12px 16px}
  .strength-hub .hub-logo{width:120px}
  .strength-hub:after{height:16px}
  .strength-support{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;margin-top:16px}
  .strength-support li{display:grid;grid-template-columns:40px minmax(0,1fr);column-gap:8px;align-content:start;padding:12px 0 4px}
  .strength-support .st-num{grid-column:1;grid-row:1;margin:0;font-size:17px}
  .strength-support .st-icon{grid-column:1;grid-row:2;width:38px;height:38px;margin:3px 0 0;padding:7px}
  .strength-support h3{grid-column:2;grid-row:1;font-size:18px;line-height:1.45;margin:0 0 5px}
  .strength-support p{grid-column:2;grid-row:2;font-size:16px;line-height:1.6}
  .strength-support li:last-child{grid-column:1/-1}
  .strength-foot{margin-top:14px;padding-top:12px}
  .flow li:not(:last-child) .flow-photo:after{display:none}
  .flow-photo img{aspect-ratio:3/2}
  .flow-name{margin:12px 0 5px}
  .flow p{line-height:1.65}
  .price-table tr{padding-block:7px}
  .price-mid{height:100px;margin-block:18px}
  .price .section-cta{margin-top:110px}
  .credentials-main .cred-list li{min-height:190px}
  .thoughts{padding-bottom:40px}
  .thoughts h2{margin-bottom:22px}
  .thoughts .thoughts-art{margin-top:20px!important}
  .thoughts p.thoughts-sign{margin-top:12px!important}
  .js-motion .story{height:145svh}
  .contact-stage{padding:34px 22px}
  .contact-copy .button{margin-top:12px}
  .contact-facts-details{margin-top:16px;border-top:1px solid #f7f4ee66}
  .contact-facts{border:0}
  .contact-facts>div{padding:10px 0}
  .form-section{padding:32px 22px;gap:18px}
  .form-photo{margin-inline:-22px}
  .form-section form{gap:10px}
  .form-section .field label{gap:4px}
  .form-section input[type=text],.form-section input[type=tel],.form-section input[type=email],.form-section textarea{min-height:48px;padding:10px;font-size:16px}
  .contact-next-details{margin-top:12px;border-top:1px solid var(--line)}
  .contact-next li{padding-block:8px}
  .company h2{margin-bottom:18px}
  .company th{padding-top:8px}
  .company td{padding-bottom:8px}
  .partner{padding-block:32px}
  .partner-flow{margin-top:14px}
  .partner-flow b{margin-bottom:8px}
  .partner-steps{gap:4px}
  .partner-steps li{min-height:54px;padding-block:4px}
  .partner-actions{margin-top:14px}
  .partner-box .partner-art{width:92px;margin-top:8px}
  footer{padding-top:28px}
  footer nav{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:0 14px;margin-top:12px}
  footer nav a{font-size:14px;line-height:1.4}
  footer>p{margin-top:12px}
}
@media(max-width:560px){
  .strength-support{grid-template-columns:1fr}
  .strength-support li:last-child{grid-column:auto}
  .partner-steps{grid-template-columns:1fr}
}
@media(max-width:900px){
  .manual-carousel{display:flex!important;grid-template-columns:none!important;flex-wrap:nowrap;gap:12px;max-width:100%;overflow-x:auto;overflow-y:hidden;overscroll-behavior-inline:contain;scroll-snap-type:x mandatory;scroll-padding-inline:0 12px;touch-action:pan-x pan-y;scrollbar-width:none;-webkit-overflow-scrolling:touch}
  .manual-carousel::-webkit-scrollbar{display:none}
  .manual-carousel>*{box-sizing:border-box;flex:none;scroll-snap-align:start;scroll-snap-stop:always}
  .manual-carousel:focus-visible{outline:3px solid var(--green);outline-offset:3px}
  .strength-list.manual-carousel{margin-inline:0;padding-bottom:2px}
  .strength-list.manual-carousel>li{width:82%;min-height:0;padding:20px!important}
  .strength-list.manual-carousel>li .st-num{margin-bottom:10px}
  .strength-list.manual-carousel>li .st-icon{margin-bottom:12px}
  .strength-list.manual-carousel>li h3{font-size:24px}
  .flow.manual-carousel>li{display:block;width:82%;min-height:0}
  .price-facts.manual-carousel{grid-template-columns:none}
  .price-facts.manual-carousel>div{width:82%;min-height:0;padding:18px}
  .credentials-main .cred-list.manual-carousel{display:flex;grid-template-columns:none;gap:12px}
  .credentials-main .cred-list.manual-carousel>li{width:78%;min-height:180px}
  .thoughts .thoughts-list.manual-carousel{display:flex;grid-template-columns:none;gap:12px}
  .thoughts .thoughts-list.manual-carousel>article{width:84%;min-height:0}
  .thoughts .thoughts-list.manual-carousel .thoughts-photo img{height:170px}
  .thoughts .thoughts-list.manual-carousel article .th-num{margin-top:13px}
  .thoughts .thoughts-list.manual-carousel article p{margin-bottom:20px}
  .carousel-dots{display:flex;flex-wrap:wrap;align-items:center;justify-content:center;gap:0;max-width:100%;margin:8px auto 0}
  .carousel-dots button{flex:none;display:grid;place-items:center;width:48px;height:48px;padding:0;border:0;background:transparent;cursor:pointer}
  .carousel-dots button::after{content:'';width:8px;height:8px;border-radius:50%;background:transparent;border:2px solid currentColor;color:var(--navy)}
  .carousel-dots button[aria-current=true]::after{width:11px;height:11px;background:currentColor}
  .strength .carousel-dots button::after,.thoughts .carousel-dots button::after{color:var(--paper)}
  .carousel-dots button:focus-visible{outline:3px solid var(--green);outline-offset:-3px}
}
@media(min-width:901px){.carousel-dots{display:none}}
@media(prefers-reduced-motion:reduce){.manual-carousel{scroll-behavior:auto}}

/* ご相談の例：自動送りと手動操作を同じスクロール面で扱う。 */
.situ-marquee{--situ-pad:clamp(24px,5vw,80px);--situ-gap:clamp(14px,1.6vw,24px);--situ-card-w:clamp(250px,calc((100vw - 2 * var(--situ-pad) - 3 * var(--situ-gap)) / 3.25),380px);overflow-x:auto!important;overflow-y:hidden;scroll-snap-type:x mandatory!important;scroll-padding-inline-start:var(--situ-pad);scrollbar-width:none;overscroll-behavior-inline:contain;-webkit-overflow-scrolling:touch;cursor:grab}
.situ-marquee::-webkit-scrollbar{display:none}
.situ-marquee.is-dragging{cursor:grabbing;scroll-snap-type:none!important;user-select:none}
.situ-marquee:focus-visible{outline:3px solid var(--green);outline-offset:-3px}
.situ-list,.js-motion .situ-list.is-marquee{animation:none!important;transform:none!important;gap:var(--situ-gap)}
.situ-list li{width:var(--situ-card-w);scroll-snap-align:start}
.situ-list::after{content:'';flex:none;width:max(0px,calc(100vw - 2 * var(--situ-pad) - var(--situ-card-w) - var(--situ-gap)))}
.situ-controls{display:flex;align-items:center;justify-content:center;gap:10px;margin-top:18px;color:var(--navy)}
.situ-controls button{display:grid;place-items:center;width:48px;height:48px;flex:none;border:1px solid var(--navy);background:transparent;color:var(--navy);cursor:pointer}
.situ-controls button:hover:not(:disabled),.situ-controls button:focus-visible{background:var(--navy);color:var(--paper)}
.situ-controls button:disabled{opacity:.38;cursor:default}
.situ-controls button svg{width:22px;height:22px;fill:none;stroke:currentColor;stroke-width:2;stroke-linecap:round;stroke-linejoin:round}
.situ-indicators{display:flex;align-items:center;justify-content:center;gap:9px;min-width:125px;height:48px}
.situ-indicators span{display:block;width:7px;height:7px;border:1px solid currentColor;border-radius:50%;opacity:.7}
.situ-indicators span.is-current{width:9px;height:9px;background:currentColor;opacity:1}
@media(max-width:700px){.situ-marquee{--situ-pad:clamp(20px,6vw,42px);--situ-card-w:70vw}}
@media print{.situ-list::after,.situ-controls{display:none}.situ-marquee{overflow:visible!important}}

/* 保有資格：紙の認定証を模した罫と印章。表示する事実は資格名と民間資格のみ。 */
.credentials-main .cred-list li{isolation:isolate;min-height:310px;padding:30px 34px;gap:7px;border:0;background:#F0E9DE;color:var(--navy)}
.credentials-main .cred-list li::before{content:none}
.credentials-main .cred-list li::after{content:'';position:absolute;inset:21px;background:radial-gradient(circle at 50% 46%,#143a5209 0 23%,transparent 24%);z-index:-1;pointer-events:none}
.credentials-main .cred-list svg.cred-rosette{position:relative;width:76px;height:86px;flex:none;color:var(--green)}
.credentials-main .cred-list b{font-size:clamp(21px,2vw,28px);line-height:1.4;letter-spacing:.12em;overflow-wrap:normal}
.credentials-main .cred-list svg.cred-rule{position:relative;width:140px;height:14px;flex:none;color:var(--green)}
.credentials-main .cred-list small{display:inline-block;margin-top:2px;padding:3px 13px;border:1.5px solid var(--navy);border-radius:0;font-size:14px;font-weight:700;letter-spacing:.12em;line-height:1.5;background:#F0E9DE}
@media(max-width:900px){.credentials-main .cred-list.manual-carousel>li{width:92%;min-height:310px;padding:28px 34px}.credentials-main .cred-list b{font-size:clamp(22px,5vw,28px)}}

/* FVの静止形：荷物の代わりに4匹と見上げる人を並べる。 */
.hero-illustration>.hero-tower,.hero-illustration>.hero-tower-umbrella{display:none}
.hero-illustration>.hero-animals-scene{left:-10%;bottom:0;width:60%}
.js-motion .hero-illustration>.hero-tower,.js-motion .hero-illustration>.hero-tower-umbrella{display:block}
.js-motion .hero-illustration>.hero-animals-scene{left:-10%;bottom:0;width:60%;z-index:1;opacity:0;pointer-events:none}

/* ご相談の例：マウスドラッグで写真がブラウザの画像ドラッグに奪われないようにする */
.situ-list img{-webkit-user-drag:none;user-select:none}
.situ-marquee.is-dragging{cursor:grabbing;scroll-snap-type:none}
.situ-marquee{cursor:grab}

/* 2026-10-21 実機幅の修正 */
.hero-h1.vh{position:absolute!important;width:1px!important;height:1px!important;overflow:hidden!important;clip-path:inset(50%)!important;white-space:nowrap!important}
html:not(.js-motion) .hero-illustration{border-bottom:2px solid var(--paper)}
.hero-lines{gap:1.15em;font-size:min(34px,3.7svh,8vw)}
.js-motion .hero-lines{gap:1.15em;font-size:min(46px,3.3svh)}
@media(max-width:899px){
  .header .wordmark{min-width:0;max-width:calc(100vw - 96px);white-space:normal}
  .header .wordmark span{font-size:clamp(13px,3.9vw,16px);overflow-wrap:normal}
  .hero{--art-h:min(102vw,43svh);--art-top:20svh;--logo-h:min(32svh,calc((100vw - 52px) / 1.7))}
  .hero-illustration{width:min(75vw,44svh);height:min(90vw,44svh)}
  .js-motion .hero-illustration{display:block;width:min(85vw,35.8svh);height:var(--art-h)}
  .hero-illustration>.hero-animals-scene,.js-motion .hero-illustration>.hero-animals-scene{left:-7%}
  .js-motion .hero-ground{display:block;left:7.5vw;width:85vw}
  .js-motion .hero-vts{display:none}
  .js-motion .hero-lines{font-size:min(36px,4svh);gap:1.15em}
}
@media(max-width:700px){
  .service-catalog{padding:clamp(12px,3vw,20px)}
  .service-catalog ul{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}
  .service-catalog li{display:flex;align-items:center;gap:4px;min-height:84px;max-height:96px;padding:10px 4px;font-size:clamp(15px,4.1vw,16px);line-height:1.45}
  .service-catalog .catalog-icon{flex:none;width:clamp(16px,5vw,24px);height:clamp(16px,5vw,24px);margin:0}
  .service-catalog li span{min-width:0;word-break:auto-phrase;text-wrap:balance;overflow-wrap:normal}
  .price-table-wrap{width:100%;min-width:0;max-width:100%}
  .price-table caption{display:block;box-sizing:border-box;width:100%;max-width:100%;font-size:clamp(16px,4.5vw,18px);line-height:1.5;white-space:normal;word-break:auto-phrase;text-wrap:balance}
  .price-table td:last-child .price-cell{justify-content:flex-end;width:100%}
  .price-table td:last-child .price-cell b{text-align:right}
  .js-motion .story{height:auto;min-height:145svh;overflow:clip}
  .js-motion .story-stage{display:flex;flex-direction:column;align-items:stretch;height:auto;min-height:100svh;overflow:visible}
  .js-motion .story-copy{flex:none}
  .story-track{margin-top:36px}
  .js-motion .story-track{position:relative;left:auto;right:auto;bottom:auto;flex:none;height:clamp(110px,16svh,150px);margin:36px 0 0}
  .story h2{font-size:clamp(28px,7.6vw,33px);margin-bottom:16px}
  .story-lead,.story-after{font-size:16px;line-height:1.65}
  .story-after{margin-top:14px}
}
@media(max-width:900px){
  .credentials-main .cred-list.manual-carousel>li{box-sizing:border-box;width:92%;min-height:0;aspect-ratio:3/2;padding:22px 30px}
}
.credentials-main .cred-list li{aspect-ratio:3/2;min-height:0;border:0;background:#f4eddb url('images/certificate-frame-2026-10-21.webp') center / 100% 100% no-repeat;background-image:image-set(url('images/certificate-frame-2026-10-21-640.webp') 1x,url('images/certificate-frame-2026-10-21.webp') 2x)}
.credentials-main .cred-list li::after{content:none}
.credentials-main .cred-list b{max-width:90%;font-family:var(--serif);font-weight:600;letter-spacing:.14em;color:var(--navy)}
.credentials-main .cred-list svg.cred-rosette{width:clamp(48px,5vw,65px);height:clamp(54px,5.5vw,73px);color:var(--navy)}
.credentials-main .cred-list svg.cred-rule{width:100px;height:10px;color:var(--navy)}
.credentials-main .cred-list small{border:1.5px solid var(--navy);background:#f4eddbcc;color:var(--navy)}
@media(max-width:700px){
  .credentials-main .cred-list.manual-carousel>li{gap:5px;padding:16px 20px}
  .credentials-main .cred-list svg.cred-rosette{width:38px;height:43px}
  .credentials-main .cred-list b{font-size:clamp(19px,5vw,24px);line-height:1.3;letter-spacing:.08em}
  .credentials-main .cred-list svg.cred-rule{display:none}
  .credentials-main .cred-list small{font-size:14px;padding:2px 9px}
}

/* 幅340px以下(iPhone SE等)：カタカナ語の途中割れ・末尾孤立を避ける */
.nowrap{white-space:nowrap}
@media(max-width:340px){
  .strength-list li h3{font-size:22px}
  .fb-partner-primary .fb-text strong,.partner-actions .fb strong{font-size:15px;letter-spacing:0}
}
.nowrap{white-space:nowrap!important}
@media(max-width:340px){
  .strength-list li h3{font-size:20px;white-space:nowrap}
  .fb-partner-primary .fb-text strong,.partner-actions .fb strong{font-size:14px;white-space:nowrap}
}

/* FAX表示：フッターは「© ORDO JAPAN」の行の前に、会社の連絡先として1行。パートナーページの問い合わせ欄にも同じ書式 */
footer>p.footer-fax{margin-top:8px;font-size:14px;letter-spacing:.04em}
footer>p.footer-fax+p,footer>p:not(.footer-fax){margin-top:26px}
footer>p.footer-fax{order:0}
.pt-fax{margin-top:8px;font-size:15px;letter-spacing:.04em}

/* 2026-11-12 顧客体験：会社案内は劇と独立し、初回描画から表示する。 */
[hidden]{display:none!important}
.hero-service{position:relative;z-index:6;padding:calc(var(--header-h) + 12px) 20px 0;background:var(--paper);color:var(--navy);text-align:center}
.hero-service-title{font-size:18px;font-weight:700;line-height:1.6;text-wrap:balance}
.hero-service-area{font-size:15px;line-height:1.6;margin-top:4px;word-break:keep-all;overflow-wrap:normal;text-wrap:balance}
.hero-service.is-dark{background:var(--navy);color:var(--paper)}
.hero-service+.hero-paper{padding-top:24px}
.js-motion .hero-service{position:absolute;top:calc(var(--header-h) + 12px);left:0;width:50%;padding:0 20px}
/* JS・フォントの待機中も電話を画面下部に置く。JSはこの位置を基準に動かす。 */
.js-motion .hero-cta{top:auto;bottom:max(16px,4.5svh)}
.hero-cta .finale-buttons{width:min(480px,100%)}
/* 動き軽減・JSなしでも、会社案内の直後に既存の電話ボタンを置く。 */
html:not(.js-motion) .hero-stage{display:flex;flex-direction:column}
html:not(.js-motion) .hero-service{order:0}
html:not(.js-motion) .hero-cta{display:block;order:1;padding:20px}
html:not(.js-motion) .hero-paper{order:2}
html:not(.js-motion) .hero-navy{order:3}
@media(max-width:899px){.js-motion .hero-service{width:100%}.hero-service-title{font-size:16px}}
.price-estimate-free{font-size:16px;font-weight:700;color:var(--navy);margin-bottom:16px}

/* 補足15px・本文16pxの下限。既存の紺／紙の色をそのまま使う。 */
.wordmark small,.footer-brand small,.header-tel-hours,.small-label,
.fb-sub,.cta-facts,.js-motion .hero-skip,
.price-note,.form-after,.form-company,.form-tel,.form-either,.form-section form p,
.form-section .lab em,.form-section .field .lab em,.field>label .lab em,
.partner-page .form-section .lab em,.partner-page .form-after,
.service-catalog .catalog-note,.credentials-permits p,.credentials-main .cred-list small,
.strength-list .st-tag,.pt-hero .small-label,.pt-hero .pt-note,.pt-hero-actions .pt-tel-label,.pt-cards li::before,
footer>p,footer>p.footer-fax{font-size:15px}
.price-note,.form-after,.form-company,.form-tel,.form-either,.service-catalog .catalog-note,
.credentials-permits p,.form-section .lab em,.form-section .field .lab em,.field>label .lab em{color:var(--navy)}
.header-tel-hours,.fb .fb-text small,.section-cta .fb .fb-text small{font-size:15px;opacity:1}
.nav a,.header-cta,footer nav a,.situ-list p{font-size:16px}
.pt-hero .small-label,.pt-hero .pt-note{color:var(--paper)}
@media(max-width:899px){.header .wordmark span{font-size:16px}}
@media(max-width:700px){.company th,.service-catalog li{font-size:16px}}
@media(max-width:340px){.partner-actions .fb .fb-text strong{font-size:16px;white-space:normal;word-break:keep-all;text-wrap:balance}}
/* 横向きなど高さの短い画面は、電話を縦書きの上に確保する。 */
@media(max-height:619px){
  .js-motion .hero-cta{top:var(--hero-cta-top,calc(var(--header-h) + 112px));bottom:auto}
}

.faq .faq-partial{word-break:keep-all;overflow-wrap:normal}

/* 2026-11-12 Claude: FVの案内文は<wbr>の位置だけで改行／幅360px未満でフッターのリンクを1列に（はみ出し対策） */
.hero-service-area{word-break:keep-all;text-wrap:balance}
@media(max-width:359px){footer nav{grid-template-columns:1fr}}
