/* お手本（site_tone/images/fv_bg/column_*_lite_white.html）の見た目をそのまま写したもの。直すときは wp.css に足す */

:root{--ink:#1B1A18;--ink2:rgba(27,26,24,.76);--ink3:rgba(27,26,24,.72);--line:rgba(27,26,24,.12);--line2:rgba(27,26,24,.30);--paper:#fff;--warm:#F5F4F0;--hero:#F5F4EE;--hl:#FFE14D;--w:1184px;--gx:48px;color-scheme:light}
*{box-sizing:border-box;margin:0;padding:0}
html{scroll-padding-top:88px;-webkit-text-size-adjust:100%}
body{background:var(--paper);color:var(--ink);font-family:'Zen Kaku Gothic New','Hiragino Sans','Yu Gothic',sans-serif;font-size:16px;line-height:1.85;letter-spacing:.03em;-webkit-font-smoothing:antialiased;overflow-x:hidden}
a{color:inherit}
.kp{word-break:keep-all;overflow-wrap:anywhere}
p,dd,h3,.fd-out-s,.fd-item .th{text-wrap:pretty;word-break:auto-phrase}
.case p,.prof dd,.flow p,.faq .a,.ceo p,.inc p{max-width:34em}
.nw{white-space:nowrap}
[tabindex="-1"]:focus:not(:focus-visible){outline:none}
.sr{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}
.skip{position:absolute;left:16px;top:-60px;z-index:4000;background:var(--ink);color:#fff;padding:10px 16px;text-decoration:none}.skip:focus{top:12px}
:focus-visible{outline:2px solid var(--ink);outline-offset:3px}
.w{max-width:calc(var(--w) + var(--gx) * 2);margin:0 auto;padding-inline:var(--gx)}
/* ボタン：主＝墨の塗り、副＝墨の細線。矢印は付けない */
.btn{display:inline-flex;align-items:center;justify-content:center;min-height:56px;padding:0 34px;background:var(--ink);color:#fff;text-decoration:none;font-size:16px;font-weight:500;letter-spacing:.06em;border:1px solid var(--ink);position:relative}
.btn::after{content:"";position:absolute;left:34px;right:34px;bottom:13px;height:1px;background:rgba(255,255,255,.55);transform:scaleX(0);transform-origin:left;transition:transform .5s cubic-bezier(.2,.7,.2,1)}
.btn:hover::after{transform:scaleX(1)}
.btn.sub{background:transparent;color:var(--ink)}.btn.sub::after{background:var(--ink)}
.tl{display:inline-flex;align-items:center;min-height:44px;font-size:14px;color:var(--ink);text-decoration:underline;text-underline-offset:5px;text-decoration-color:var(--line2)}.tl:hover{text-decoration-color:var(--ink)}
/* 見出しは2段階だけ */
.lab{font-size:13px;letter-spacing:.12em;color:var(--ink3);position:relative;padding-top:22px}
.lab::before{content:"";position:absolute;left:0;top:0;width:48px;height:1px;background:var(--ink);transform:scaleX(0);transform-origin:left;transition:transform 1.8s cubic-bezier(.2,.7,.2,1)}
.lab.drawn::before,.ceo .lab::before{transform:scaleX(1)}
.ceo .lab::before{background:rgba(255,255,255,.6)}
.h2{font-size:40px;line-height:1.45;font-weight:700;letter-spacing:.02em;margin-top:14px}
.h2.s{font-size:30px}
.lead{margin-top:18px;font-size:16px;color:var(--ink2);max-width:36em}
.sec{padding-block:144px}.sec.tight{padding-block:112px}
.warm{background:var(--warm)}
/* ヘッダー */
.hd{position:sticky;top:0;z-index:2000;background:var(--hero);border-bottom:1px solid transparent;transition:background .3s,border-color .3s}
.hd.scrolled{background:#fff;border-color:var(--line)}
.hd-in{height:72px;display:flex;align-items:center;gap:32px}
.hd .logo img{display:block;height:24px;width:auto}
.hd nav{margin-left:auto;display:flex;gap:28px;font-size:14px}
.hd nav a{text-decoration:none;padding:8px 0}
.hd nav a:hover{text-decoration:underline;text-underline-offset:6px}
.hd .act{display:flex;gap:10px;align-items:center}
.hd .btn{min-height:44px;padding:0 20px;font-size:14px}
.hd .doc{font-size:14px;text-decoration:none;padding-right:16px;margin-right:6px;border-right:1px solid var(--line2);min-height:24px}
.menu{display:none;min-width:48px;min-height:48px;background:none;border:0;font:inherit;font-size:13px;letter-spacing:.08em;color:var(--ink);cursor:pointer}
.mnav{display:none}
/* 最初の画面 */
.fv{background:var(--hero);border-bottom:1px solid #E8E6DF}
.fv-in{display:grid;grid-template-columns:minmax(0,11fr) minmax(0,10fr);column-gap:88px;min-height:calc(100svh - 72px);padding-block:48px 64px}
.copy{display:flex;flex-direction:column;justify-content:center;gap:24px}
.who{font-size:14px;color:var(--ink3)}
.h1{font-size:52px;line-height:1.35;font-weight:700;letter-spacing:.02em}
.h1 span{display:block}
.desc{font-size:16px;color:var(--ink2);max-width:28em}
.price1{font-size:15px;border-top:1px solid var(--line2);padding-top:18px;max-width:30em}
.price1 b{font-weight:700;font-variant-numeric:tabular-nums}
.fv-act{display:flex;flex-wrap:wrap;gap:8px 28px;align-items:center}
/* 台帳 */
.lg{align-self:center;justify-self:end;width:100%;max-width:540px;display:flex;flex-direction:column}
.lg-h{display:grid;grid-template-columns:1fr auto;align-items:baseline;gap:4px 16px;border-bottom:1px solid var(--ink);padding-bottom:12px}
.lg-t{font-size:13px;letter-spacing:.12em}
.lg-h small{grid-column:1/-1;font-size:13px;color:var(--ink3)}
.lg-cols{position:relative;height:min(52svh,460px);min-height:360px;margin-top:20px;overflow:hidden;padding-left:32px;margin-left:-32px;
  -webkit-mask-image:linear-gradient(transparent,#000 56px,#000 calc(100% - 96px),transparent);mask-image:linear-gradient(transparent,#000 56px,#000 calc(100% - 96px),transparent)}
.lg-near{position:relative;height:100%}
.lg-near ul{list-style:none;position:absolute;left:0;right:0;top:0;will-change:transform}
.lg-row{display:grid;gap:8px;padding:24px 0 23px;border-bottom:1px solid var(--line);transition:opacity .4s}
.lg-row .th{font-size:22px;font-weight:700;line-height:1.45;word-break:keep-all;overflow-wrap:anywhere}
.lg-row .wh{display:flex;flex-wrap:wrap;gap:2px 14px;font-size:13px;color:var(--ink2)}
.lg-mark{position:absolute;left:0;width:22px;height:1px;background:var(--ink);opacity:0;transform:translateX(-32px) scaleX(.4);transform-origin:left;transition:opacity .6s,transform .9s cubic-bezier(.2,.7,.2,1)}
.lg-mark.on{opacity:.7;transform:translateX(-32px) scaleX(1)}
/* 検索の段（find_section.js）の見た目をこのページに合わせる */
.fd .sh{font-size:40px;line-height:1.45;font-weight:700;margin-top:14px}
.fd .sl{margin-top:18px;color:var(--ink2);max-width:36em}
.fd .fd-box{border-color:var(--line2);max-width:none;padding:40px 44px}
.fd-reach{margin-top:20px;padding-top:16px;border-top:1px solid var(--line)}.fd-reach>p:first-child{font-size:14px;color:var(--ink)}
.fd-cty{margin-top:10px;font-size:13.5px;line-height:2;color:var(--ink);display:flex;flex-wrap:wrap;white-space:normal}.fd-cty span{display:inline-block;opacity:.72;transition:opacity .6s,font-weight .6s;white-space:nowrap}.fd-cty span:not(:last-child)::after{content:'・';opacity:.6;font-weight:400}.fd-cty.on span{opacity:.72}.fd-cty.on span.hit{opacity:1;font-weight:700}
.fd .fd-row textarea{resize:none;min-height:56px}
/* 分かったこと */
.cases{margin-top:56px}
.cases .lead-case{border-top:2px solid var(--ink);padding:32px 0 40px;display:grid;grid-template-columns:minmax(0,640px) minmax(0,480px);justify-content:start;gap:12px 64px}
.cases .lead-case .tag{grid-column:1/-1}.cases .lead-case h3{font-size:30px;line-height:1.5;grid-column:1}.cases .lead-case p:not(.tag):not(.by){font-size:20px;line-height:1.8;grid-column:2;grid-row:2/span 2;align-self:end;color:var(--ink)}
.cases .lead-case p.ask:not(.tag):not(.by){grid-column:1;grid-row:auto;align-self:start;font-size:15px;line-height:1.8;color:var(--ink2)}.cases .lead-case p.ask span{display:block;font-size:13px;color:var(--ink3);margin-bottom:2px}
.hl{background:linear-gradient(#FFE14D,#FFE14D) 0 88%/0 38% no-repeat;transition:background-size 1.2s cubic-bezier(.2,.7,.2,1) .3s}.hl.on{background-size:100% 38%}.cases .lead-case .by{grid-column:1}
.case-list{border-top:1px solid var(--ink)}
.case-list .case{display:grid;grid-template-columns:150px minmax(0,1fr) 330px;gap:6px 40px;padding:24px 0;border-top:0;border-bottom:1px solid var(--line)}
.case-list .case .tag{grid-column:1;grid-row:1/span 2;padding-top:4px}.case-list .case h3{font-size:18px;grid-column:2}.case-list .case p:not(.tag):not(.by){grid-column:2;font-size:14.5px}.case-list .case .by{grid-column:3;grid-row:1/span 2;margin:0;padding-top:4px}
.more-btn{display:none;background:none;border:0;font:inherit;cursor:pointer}
.case{border-top:1px solid var(--ink);padding:24px 0 40px;display:flex;flex-direction:column;gap:12px}
.case .tag{font-size:13.5px;letter-spacing:.06em;color:var(--ink3)}
.case h3{font-size:19px;line-height:1.6;font-weight:700}
.case p{font-size:14.5px;color:var(--ink2);line-height:1.85}
.case .by{margin-top:auto;font-size:13px;color:var(--ink3)}
.note{margin-top:8px;font-size:13px;color:var(--ink3)}
.cases + .note{margin-top:4px}
/* 経歴 */
.profs{margin-top:56px;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:0 48px}
.prof{border-top:1px solid var(--ink);padding-top:24px;display:flex;flex-direction:column;gap:10px}
.prof .open-q{display:none}
.prof .ct{font-size:13.5px;color:var(--ink3)}
.prof h3{font-size:17px;line-height:1.65;font-weight:700}
.prof .en{font-size:13px;color:var(--ink3)}
.prof dl{margin-top:14px;border-top:1px solid var(--line);padding-top:14px;display:grid;gap:8px}
.prof dt{font-size:13.5px;color:var(--ink3)}
.prof dd{font-size:14.5px;line-height:1.85}
.prof dd.q{font-weight:500}
.prof .ans{color:var(--ink);font-size:16px;line-height:1.9}
.prof small{font-size:13px;color:var(--ink3)}
.find-fact{margin-top:14px;font-size:15px;max-width:44em}
/* 流れ */
.flow{margin-top:56px;list-style:none;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));border-top:1px solid var(--ink)}
.flow li{padding:24px 28px 0 0;display:grid;gap:8px;align-content:start;position:relative}
.flow li+li{padding-left:28px;border-left:1px solid var(--line)}
.flow .n{font-size:22px;font-weight:700;line-height:1;font-variant-numeric:tabular-nums}
.flow .d{font-size:13px;font-weight:500}
.flow h3{font-size:18px;font-weight:700;line-height:1.6}
.flow p{font-size:14px;color:var(--ink2)}
.flow-note{margin-top:28px;font-size:15px}
/* 図：地図・タイムライン・距離・レポートの形 */
.wmapw{margin:56px 0 0;padding-top:32px;border-top:1px solid var(--line)}
.wmapc{font-size:18px;font-weight:700}.wmapc b{font-size:44px;margin-right:6px;letter-spacing:0}.wmapc small{display:block;font-size:13px;font-weight:400;color:var(--ink3);margin-top:2px}
.wmap{display:block;width:100%;height:auto;margin-top:20px}.wmap .land circle{fill:rgba(27,26,24,.16)}.wmap .hits circle{fill:var(--ink)}
.tl2{margin-top:48px;position:relative;padding-top:28px}
.tl2-axis{position:relative;height:20px;font-size:13px;color:var(--ink3)}.tl2-axis span{position:absolute;top:-24px;transform:translateX(0);white-space:nowrap}.tl2-axis span:last-child{transform:translateX(-100%);color:var(--ink);font-weight:700}
.tl2-bar{position:relative;height:64px;border-top:2px solid var(--ink)}
.tl2-bar i{position:absolute;top:0;height:64px;border-left:1px solid var(--ink);padding:10px 12px 0;font-style:normal;font-size:13.5px;line-height:1.5;color:var(--ink2);overflow:hidden}
.tl2-bar i b{display:block;font-size:13px;color:var(--ink)}
.tl2-bar .s3{background:repeating-linear-gradient(90deg,transparent 0 6px,rgba(27,26,24,.05) 6px 12px)}
.rpt{margin:64px 0 0}
.rptc{font-size:18px;font-weight:700}.rptc small{display:block;font-size:14px;font-weight:400;color:var(--ink2);margin-top:4px}
.rpt-pages{display:flex;gap:24px;margin-top:24px}
.pg{width:150px;aspect-ratio:1/1.414;background:#fff;border:1px solid var(--line2);padding:18px 16px;display:flex;flex-direction:column;gap:7px}
.pg-t{font-size:11.5px;color:var(--ink3);margin-bottom:8px}
.ln{display:block;height:4px;background:rgba(27,26,24,.14);width:100%}.ln.b{height:7px;background:var(--ink)}.ln.gap{margin-top:10px}
.w40{width:40%}.w50{width:50%}.w60{width:60%}.w70{width:70%}.w80{width:80%}.w90{width:90%}
.pg.more{border-style:dashed;justify-content:center;align-items:center;background:transparent}.pg.more .pg-t{margin:0;text-align:center}
.dist{margin-top:48px;position:relative;height:96px}
.dist-ends{display:flex;justify-content:space-between;font-size:13px;color:var(--ink3)}
.dist-line{position:absolute;top:34px;left:0;right:0;height:1px;background:var(--ink)}
.dist-pts p{position:absolute;top:26px;transform:translateX(-50%);padding-top:22px;font-size:14px;white-space:nowrap}
.dist-pts p::before{content:"";position:absolute;top:2px;left:50%;width:13px;height:13px;margin-left:-7px;background:var(--warm);border:1px solid var(--ink)}
.dist-pts p.r{font-weight:700;font-size:16px}.dist-pts p.r::before{background:var(--ink)}
@media (max-width:900px){
  .wmapc b{font-size:34px}
  .tl2-bar{height:auto;border-top:0;border-left:2px solid var(--ink)}.tl2-bar i{position:static;display:block;width:auto!important;height:auto;border-left:0;border-bottom:1px solid var(--line);padding:10px 14px}
  .tl2{display:none}
  .rpt-pages{gap:10px;overflow:hidden}.pg{width:30%;padding:10px 8px}.pg.more{display:none}
  .dist{height:auto}.dist-line{display:none}.dist-pts{display:none}.dist-ends{flex-direction:column;gap:2px}
}
/* ほかの方法との違い */
.cmpq{list-style:none;margin-top:56px;border-top:1px solid var(--ink)}
.cmpq li{display:grid;grid-template-columns:minmax(0,6fr) minmax(0,5fr);gap:8px 56px;align-items:baseline;padding:28px 0;border-bottom:1px solid var(--line)}
.cmpq .q{font-size:24px;font-weight:700;line-height:1.5}
.cmpq .m{font-size:15px;color:var(--ink2);line-height:1.8}
.cmpq .m b{display:block;font-size:17px;color:var(--ink);margin-bottom:4px}
.cmpq li.r{background:var(--ink);color:#fff;padding-inline:32px;margin-inline:-32px;border-bottom:0}
.cmpq li.r .m,.cmpq li.r .m b{color:#fff}
.cmpx{margin-top:40px;max-width:46em;font-size:15.5px;color:var(--ink2)}
.cmpx span{display:block;font-size:13px;color:var(--ink3);margin-bottom:4px}
.cmpx .tl{margin-left:12px}
@media (max-width:900px){.cmpq li{grid-template-columns:1fr;padding:22px 0}.cmpq .q{font-size:19px}.cmpq li.r{padding-inline:16px;margin-inline:-16px}}
/* 料金 */
.price{display:grid;grid-template-columns:minmax(0,5fr) minmax(0,6fr);gap:72px;align-items:stretch;margin-top:48px}
.est{border:1px solid var(--line2);background:#fff;padding:32px 36px}
.el{font-size:13px;color:var(--ink3)}
.pt{width:100%;border-collapse:collapse;margin-top:4px}.pt caption{text-align:left;padding-bottom:10px}.pt th,.pt td{border-top:1px solid var(--line);padding:16px 0;text-align:left;font-variant-numeric:tabular-nums}.pt tr:last-child th,.pt tr:last-child td{border-bottom:1px solid var(--line)}.pt th{font-size:16px;font-weight:500;width:5em}.pt td{font-size:30px;font-weight:700;letter-spacing:.02em;text-align:right}
.er{display:flex;align-items:center;gap:18px;margin:10px 0 14px}
.er input{flex:1;accent-color:#1B1A18;height:24px}
.er output{font-weight:700;font-size:18px;min-width:3.5em;text-align:right;font-variant-numeric:tabular-nums}
.eo{display:flex;align-items:baseline;gap:12px;flex-wrap:wrap;border-top:1px solid var(--line);padding-top:16px}
.eo b{font-size:42px;letter-spacing:.02em;font-variant-numeric:tabular-nums}
.eo span{font-size:13px;color:var(--ink3)}
.est .tl{margin-top:16px}
.inc h3{font-size:15px;font-weight:700}
.inc ul{list-style:none;margin-top:12px;border-top:1px solid var(--line)}
.inc li{padding:12px 0;border-bottom:1px solid var(--line);font-size:15px}
.inc p{margin-top:16px;font-size:14.5px;color:var(--ink2)}
/* 代表 */
.ceo{background:var(--ink);color:#fff}
.ceo-in{display:grid;grid-template-columns:240px minmax(0,1fr);gap:72px;align-items:start}
.ceo .ph{width:240px;aspect-ratio:4/5;overflow:hidden;background:#333}
.ceo .ph img{width:100%;height:122%;object-fit:cover;object-position:50% 0;display:block;filter:grayscale(1)}
.ceo .lab{color:rgba(255,255,255,.78)}
.ceo h2{font-size:30px;line-height:1.6;font-weight:700;margin-top:14px}
.ceo p{margin-top:18px;color:rgba(255,255,255,.86);max-width:38em}
.ceo .sig{margin-top:26px;font-size:14px;color:rgba(255,255,255,.80)}
/* FAQ */
.faq{margin-top:48px;border-top:1px solid var(--ink)}
.faq details{border-bottom:1px solid var(--line)}
.faq summary{list-style:none;cursor:pointer;display:flex;justify-content:space-between;gap:24px;padding:22px 0;font-size:16.5px;font-weight:700}
.faq summary::-webkit-details-marker{display:none}
.faq summary::after{content:"＋";font-weight:400;color:var(--ink3)}
.faq details[open] summary::after{content:"－"}
.faq .a{padding:0 0 24px;max-width:40em;color:var(--ink2);font-size:15.5px}
/* 最後の段 */
.end{background:var(--hero);text-align:left}
.end h2{font-size:40px;line-height:1.45;font-weight:700}
.end-in{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:48px;align-items:end}
.end p{margin-top:14px;color:var(--ink2)}
.end .acts{display:flex;gap:12px;flex-wrap:wrap;justify-content:flex-end;max-width:420px}.end-doc{text-align:right}
.end-doc{flex-basis:100%;margin-top:4px;font-size:13px;color:var(--ink3)}
/* フッター */
.ft{padding-block:64px 96px;border-top:1px solid var(--line);font-size:13.5px}
.ft-in{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:32px 64px}
.ft img{height:22px;width:auto;display:block}
.ft address{font-style:normal;margin-top:16px;color:var(--ink2);line-height:1.9}
.ft nav{display:grid;grid-template-columns:repeat(2,auto);gap:6px 40px}
.ft nav a{text-decoration:none;min-height:32px;display:inline-flex;align-items:center}
.ft nav a:hover{text-decoration:underline;text-underline-offset:5px}
.ft .cr{grid-column:1/-1;color:var(--ink3);font-size:13.5px}
/* スマホの下の固定ボタン */
.stk{display:none}
@media(max-width:1100px){.hd nav{display:none}.hd .act{margin-left:auto}.menu{display:inline-flex;align-items:center;justify-content:center}}
@media(max-width:900px){
  :root{--gx:20px}
  html{scroll-padding-bottom:84px}
  .hd-in{height:60px;gap:12px}.hd .act .doc,.hd .act .hcta{display:none}
  .mnav{position:fixed;inset:60px 0 0;background:#fff;z-index:1999;padding:24px 20px;overflow:auto}
  .mnav:not([hidden]){display:block}.mnav .btn{margin-top:24px;width:100%;border-bottom:0}.mnav a{display:flex;min-height:52px;align-items:center;border-bottom:1px solid var(--line);text-decoration:none;font-size:16px}
  .fv-in{display:flex;flex-direction:column;min-height:0;padding-block:20px 40px}
  .copy{display:contents}
  .who{order:1;font-size:13px}.h1{order:2;font-size:26px;line-height:1.45;margin:10px 0 14px}
  .desc{order:3;font-size:14.5px;line-height:1.75}
  .price1{order:4;margin-top:12px;font-size:13.5px;padding-top:12px}
  .fv-act{order:5;margin-top:18px}.fv-act .btn{width:100%}
  .lg{order:6;margin-top:32px;max-width:none}
  .lg-cols{height:300px;min-height:0;margin-left:0;padding-left:0;-webkit-mask-image:linear-gradient(transparent,#000 60px,#000 calc(100% - 60px),transparent);mask-image:linear-gradient(transparent,#000 60px,#000 calc(100% - 60px),transparent)}
  .lg-mark{display:none}.lg-row{padding:16px 0}.lg-row .th{font-size:17px}.lg-row .wh{font-size:13px}
  .sec{padding-block:88px}.sec.tight{padding-block:72px}
  .h2,.fd .sh{font-size:24px}.h2.s{font-size:22px}
  .cases,.profs{grid-template-columns:1fr;margin-top:36px}
  .cases .lead-case{grid-template-columns:1fr}.cases .lead-case h3,.cases .lead-case p:not(.tag):not(.by),.cases .lead-case .by{grid-column:1;grid-row:auto}.fd .fd-box{padding:20px 16px 24px}.cases .lead-case h3{font-size:22px}.cases .lead-case p:not(.tag):not(.by){font-size:17px}
  .case-list .case p:not(.tag):not(.by){display:block!important;grid-column:1!important;grid-row:auto!important;font-size:14.5px}
  .case-list .case{grid-template-columns:1fr}.case-list .case .tag,.case-list .case h3,.case-list .case .by{grid-column:1;grid-row:auto}
  
  .case-list .case p:not(.tag):not(.by){display:none}
  .case{padding-bottom:28px}
  .prof{padding-bottom:32px}.prof:not(:first-child):not(.show) dt,.prof:not(:first-child):not(.show) .q{display:none}.prof:not(:first-child):not(.show) .ans{display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.prof:not(:first-child).show dl{display:grid}.prof:not(:first-child) .open-q{display:inline-flex}.prof.show .open-q{display:none}
  .flow{grid-template-columns:1fr;margin-top:36px}
  .flow li,.flow li+li{padding:20px 0;border-left:0;border-bottom:1px solid var(--line)}
  .price{grid-template-columns:1fr;gap:36px;margin-top:32px}
  .est{padding:22px 18px}.eo b{font-size:32px}.pt td{font-size:24px}.pt th,.pt td{padding:12px 0}
  .ceo-in{grid-template-columns:1fr;gap:28px}.ceo .ph{width:140px}.lg-h small{display:none}.lg-h{padding-bottom:10px}
  .ceo h2{font-size:22px}
  .end h2{font-size:24px}.end-in{grid-template-columns:1fr}.end .acts .btn{width:100%}
  .ft-in{grid-template-columns:1fr}
  .stk{display:flex;position:fixed;left:0;right:0;bottom:0;z-index:2500;gap:8px;background:#fff;border-top:1px solid var(--line);padding:10px 12px calc(10px + env(safe-area-inset-bottom,0px));transform:translateY(110%);transition:transform .25s}
  .stk.on{transform:none}.stk .btn{flex:1;min-height:48px;padding:0 12px;font-size:15px}
  .ft{padding-bottom:120px}
}
@media (prefers-reduced-motion:reduce){*{transition:none!important}.lg-cols{-webkit-mask-image:none!important;mask-image:none!important}}

/* こんな人にも、話を聞けますか？（find_section.js） */
.fd{--fd-ink:#1B1A18;--fd-ink2:rgba(27,26,24,.72);--fd-line:rgba(27,26,24,.10);--fd-line2:rgba(27,26,24,.30)}
.fd .lab{color:var(--fd-ink2)}
.fd-ferr{font-style:normal;font-size:13px;color:var(--fd-ink)}
.fd-sent{display:block;margin-top:10px;font-size:13.5px;color:var(--fd-ink2)}
.fd-close{margin-top:14px;font-size:13px;color:var(--fd-ink2);line-height:1.8}
.fd-lead-on .stk{transform:translateY(110%)!important}
.fd-box{margin-top:36px;border:1px solid var(--fd-ink);background:#fff;padding:32px 36px 36px;max-width:960px}
.fd-label{display:block;font-size:13px;letter-spacing:.08em;color:var(--fd-ink2);margin-bottom:10px}
.fd-row{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:12px;align-items:stretch}
.fd-row textarea{word-break:auto-phrase;font:inherit;font-size:17px;line-height:1.6;color:var(--fd-ink);border:1px solid var(--fd-line2);padding:12px 14px;resize:vertical;min-height:58px;background:#fff;border-radius:0}
.fd-row textarea:focus{outline:2px solid var(--fd-ink);outline-offset:0;border-color:var(--fd-ink)}
.fd-go{font:inherit;font-size:15px;font-weight:500;color:var(--fd-ink);background:#fff;border:1px solid var(--fd-ink);padding:0 24px;cursor:pointer;white-space:nowrap}
.fd-go:hover{background:var(--fd-ink);color:#fff}
.fd-go:focus-visible,.fd-send:focus-visible,.fd-ex button:focus-visible,.fd-more:focus-visible,.fd-all summary:focus-visible{outline:2px solid var(--fd-ink);outline-offset:3px}
.fd-err{margin-top:8px;font-size:13px;color:var(--fd-ink)}
.fd-ex{margin-top:14px;display:flex;flex-wrap:wrap;gap:6px 18px;align-items:baseline;font-size:13.5px}
.fd-ex span{color:var(--fd-ink2);font-size:13.5px}
.fd-ex button{font:inherit;color:var(--fd-ink);background:none;border:0;padding:4px 0;cursor:pointer;text-decoration:underline;text-underline-offset:4px;text-decoration-color:var(--fd-line2)}
.fd-ex button:hover{text-decoration-color:var(--fd-ink)}
.fd-out{margin-top:28px}
.fd-out-h{font-size:15px;font-weight:700;letter-spacing:.04em;padding-bottom:10px;border-bottom:1px solid var(--fd-ink)}
.fd-out-s{font-size:13.5px;color:var(--fd-ink2);margin-top:6px}
.fd-list{list-style:none;margin:0;padding:0}
@keyframes fdIn{from{opacity:0;transform:translateY(10px)}to{opacity:1;transform:none}}
.fd-item.rv{opacity:0;animation:fdIn .6s cubic-bezier(.2,.7,.2,1) forwards}
.fd-item{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:4px 24px;padding:16px 0;border-bottom:1px solid var(--fd-line)}
.fd-item .th{font-size:18px;font-weight:700;line-height:1.5;word-break:keep-all;overflow-wrap:anywhere}
.fd-item .who{grid-column:1;font-size:13px;color:var(--fd-ink2);display:flex;flex-wrap:wrap;gap:0 12px}
.fd-item .why{grid-column:2;grid-row:1/span 2;align-self:center;font-size:13px;color:var(--fd-ink2);white-space:nowrap}
.fd-more{margin-top:12px;font:inherit;font-size:13px;color:var(--fd-ink);background:none;border:0;padding:4px 0;cursor:pointer;text-decoration:underline;text-underline-offset:4px;text-decoration-color:var(--fd-line2)}
.fd-plan{margin-top:6px}
.fd-plan h3{font-size:15px;font-weight:700;margin:0 0 8px}
.fd-plan dl{display:grid;grid-template-columns:96px minmax(0,1fr);gap:0 20px;margin:0}
.fd-plan dt{font-size:13.5px;color:var(--fd-ink2);padding-top:2px}
.fd-plan dd{margin:0;font-size:14px;line-height:1.7}
.fd-plan dd b{font-weight:500}
.fd-plan dd small{display:block;font-size:13.5px;color:var(--fd-ink2);margin-top:4px}
.fd-plan dd .fd-list{margin-top:4px}.fd-plan dd .fd-item{padding:10px 0}.fd-plan dd .fd-item .th{font-size:16px}
.fd-plan dt{border-top:1px solid var(--fd-line);padding-top:14px}.fd-plan dd{border-top:1px solid var(--fd-line);padding-top:12px}

.fd-lead{margin-top:32px;border-top:1px solid var(--fd-ink);padding-top:22px}
.fd-lead-t{font-size:14.5px;line-height:1.85;max-width:44em}
.fd-fields{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px 18px;margin-top:16px}
.fd-fields label{display:grid;gap:6px;font-size:13.5px;color:var(--fd-ink2)}
.fd-fields input{font:inherit;font-size:16px;color:var(--fd-ink);border:1px solid var(--fd-line2);padding:10px 12px;border-radius:0;background:#fff}
.fd-fields input:focus{outline:2px solid var(--fd-ink);outline-offset:0;border-color:var(--fd-ink)}
.fd-fields input[aria-invalid="true"]{border-color:var(--fd-ink);border-width:2px}
.fd-hp{position:absolute;left:-9999px;width:1px;height:1px;opacity:0}
.fd-send{margin-top:20px;font:inherit;font-size:16px;font-weight:500;color:#fff;background:var(--fd-ink);border:0;padding:17px 32px;cursor:pointer}
.fd-note{margin-top:10px;font-size:13px;color:var(--fd-ink2)}
.fd-priv{margin-top:16px;font-size:13.5px;color:var(--fd-ink2)}.fd-priv a{color:inherit}
.fd-people{margin-top:12px;font-size:14px;font-weight:500}
.fd-done{margin-top:28px;border-top:1px solid var(--fd-ink);padding-top:20px;font-size:15px;line-height:1.85}
.fd-done q{display:block;margin-top:8px;font-size:14px;color:var(--fd-ink2);quotes:"「" "」"}
.fd-all{margin-top:32px;max-width:960px;border-top:1px solid var(--fd-line2)}
.fd-all summary{cursor:pointer;list-style:none;padding:16px 0;font-size:15px;font-weight:500;display:flex;justify-content:space-between}
.fd-all summary::-webkit-details-marker{display:none}
.fd-all summary::after{content:"開く";font-size:13.5px;font-weight:400;color:var(--fd-ink2)}
.fd-all[open] > summary::after{content:"閉じる"}
.fd-all details > summary::after{content:"開く"}
.fd-all details[open] > summary::after{content:"閉じる"}
.fd-all details{border-top:1px solid var(--fd-line)}
.fd-all details summary{font-size:14px;padding:12px 0}
.fd-all details .fd-list{padding-bottom:12px}
@media(max-width:900px){
  .fd-box{padding:20px 18px 24px;margin-top:24px}
  .fd-row{grid-template-columns:1fr}
  .fd-row textarea{font-size:16px}
  .fd-go{padding:13px 20px}
  .fd-ex{gap:2px 14px}
  .fd-item{grid-template-columns:1fr}
  .fd-item .why{grid-column:1;grid-row:auto}
  .fd-item .th{font-size:16.5px}
  .fd-plan dl{grid-template-columns:1fr}.fd-plan dt{border-top:1px solid var(--fd-line);padding-top:12px}.fd-plan dd{border-top:0;padding-top:4px}
  .fd-fields{grid-template-columns:1fr}
  .fd-send{width:100%}
}


/* 相談の入口（ask_section.js） */
.fd .fd-one{margin-top:0;border-top:0;padding-top:0}
.fd-one .fd-label{display:block;font-size:14px;font-weight:700;margin-bottom:10px}
.fd-one textarea{display:block;width:100%;box-sizing:border-box;word-break:auto-phrase;font:inherit;font-size:16px;line-height:1.7;color:var(--fd-ink);border:1px solid var(--fd-line2);padding:12px 14px;resize:vertical;min-height:96px;background:#fff}
.fd-one textarea:focus-visible{outline:2px solid var(--fd-ink);outline-offset:2px}
.fd-one .fd-ex{margin-top:12px}
.fd-one .fd-fields{margin-top:28px;padding-top:24px;border-top:1px solid var(--fd-line)}
.fd-one .fd-ferr{display:block;margin-top:6px;font-style:normal;font-size:14px;color:var(--fd-ink);font-weight:700}
.fd-one [aria-invalid="true"]{border-color:var(--fd-ink);border-width:2px}
.fd-browse{margin-top:56px;border-top:0;max-width:960px}
.fd-bh{font-size:20px;font-weight:700;margin:0}
.fd-bs{margin-top:8px;font-size:14px;color:var(--fd-ink2)}
#fdAll{margin-top:16px;border-bottom:1px solid var(--fd-line)}
.fd-browse details summary{font-size:16px;font-weight:700;padding:16px 0;min-height:24px}
.fd-browse details summary small{font-weight:400;font-size:13px;color:var(--fd-ink2);margin-left:12px;margin-right:auto;align-self:center}
.fd-browse details summary:focus-visible{outline:2px solid var(--fd-ink);outline-offset:3px}
.fd-browse details .fd-list{padding-bottom:16px}
.fd-g .fd-grp{padding:16px 0;border-bottom:1px solid var(--fd-line)}.fd-g .fd-grp .th{font-size:17px;font-weight:700;line-height:1.5;margin:0 0 8px;word-break:keep-all;overflow-wrap:anywhere}.fd-g .fd-grp ul{list-style:none;margin:0;padding:0}.fd-g .fd-grp ul li{display:flex;flex-wrap:wrap;gap:0 12px;font-size:13.5px;color:var(--fd-ink2);line-height:1.9}
.fd-browse .fd-item{grid-template-columns:1fr}.fd-browse .fd-nt .th{font-size:15px;font-weight:500}

.fd-lead-on .stk{transform:translateY(110%)!important}


/* 2026-10-05 点検：スマホで最初の画面の一覧が流れると上端に切れかけの行が見える → 900px以下では流さず、最初の3件を止めて見せる */
@media (max-width:900px){.fv .lg-cols{height:auto!important;-webkit-mask-image:none!important;mask-image:none!important;overflow:hidden}.fv .lg-cols *{animation:none!important;transform:none!important}.fv .lg-cols .lg-near{height:auto!important}.fv .lg-cols ul{position:static!important}.fv .lg-cols .lg-row{opacity:1!important}.fv .lg-cols .lg-row:nth-of-type(n+4){display:none!important}}
.cm-src{margin-top:14px;font-size:15px;color:var(--ink2)}
.vh{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}
.cm-wrap{margin-top:44px}
.cm-table{width:100%;border-collapse:collapse;table-layout:fixed}
.cm-table th,.cm-table td{padding:22px 16px;text-align:left;vertical-align:top;font-size:16px;line-height:1.75;font-weight:400;color:#3A3732;letter-spacing:.02em!important;border-bottom:1px solid var(--line)}
.cm-table thead th{padding:0 18px 14px;font-size:14.5px;font-weight:700;color:var(--ink);border-bottom:1px solid var(--ink)}
.cm-table tbody th{font-size:17px;font-weight:700;color:var(--ink);white-space:nowrap}.cm-table tr.cm-r th{font-size:19px;letter-spacing:.01em!important}
.cm-table th:first-child{width:15%;padding-left:20px}
.cm-table .cm-c0{width:22%}.cm-table .cm-c1{width:21%}.cm-table .cm-c2{width:15%}.cm-table .cm-c3{width:14%}.cm-table .cm-c4{width:13%}
@media (max-width:1200px){.cm-table th,.cm-table td{padding:20px 12px;font-size:15px}.cm-table tbody th{white-space:normal}}
.cm-table td.cm-c0{color:var(--ink)}
.cm-table tr.cm-r th,.cm-table tr.cm-r td{background:#F3F1EA;color:var(--ink);border-top:2px solid var(--ink);border-bottom:2px solid var(--ink)}
.cm-table tr.cm-r td.cm-c2,.cm-table tr.cm-r td.cm-c3,.cm-table tr.cm-r td.cm-c4{font-weight:700}
.cm-table tr.cm-r td small{display:block;font-weight:400;font-size:14px;color:var(--ink2)}
@media (max-width:900px){.cm-table,.cm-table tbody{display:block}.cm-table thead{display:none}.cm-table tr{display:flex;flex-direction:column;padding:20px 16px 18px;border-top:1px solid var(--ink)}.cm-table td.cm-c3{order:1}.cm-table td.cm-c4{order:2}.cm-table td.cm-c2{order:3}.cm-table td.cm-c0{order:4}.cm-table td.cm-c1{order:5}.cm-table tr+tr{margin-top:12px}.cm-table tbody th,.cm-table td{display:block;width:auto!important;padding:0;border:0!important;background:none!important}.cm-table tbody th{font-size:17px;margin-bottom:10px;padding-left:0!important}.cm-table td{display:grid;grid-template-columns:7.5em minmax(0,1fr);gap:8px;padding:6px 0;font-size:15px}.cm-table td::before{content:attr(data-k);font-weight:700;color:var(--ink);font-size:14.5px}.cm-table tr.cm-r{background:#F3F1EA;border-top:2px solid var(--ink);border-bottom:2px solid var(--ink)}}
.kn-list{list-style:none;margin:40px 0 0;padding:0;border-top:1px solid var(--ink)}
.kn-list li{display:grid;grid-template-columns:minmax(0,3fr) minmax(0,6fr) minmax(0,3fr);gap:8px 40px;padding:24px 0;border-bottom:1px solid var(--line);align-items:baseline}
.kn-k{font-size:16px;font-weight:700}
.kn-t{font-size:17px;line-height:1.9}
.kn-by{font-size:14px;line-height:1.7;color:var(--ink2)}.kn-by span{display:block;font-size:12.5px;color:var(--ink3)}
.kn-note{margin-top:20px;font-size:14px;color:var(--ink2)}
.hw-list{list-style:none;margin:40px 0 0;padding:0;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:40px;border-top:1px solid var(--ink);padding-top:28px;counter-reset:hw}
.hw-list li{counter-increment:hw}.hw-list li::before{content:counter(hw,decimal-leading-zero);display:block;font-size:13px;font-weight:700;margin-bottom:12px}
.hw-list h3{font-size:19px;line-height:1.6}
.hw-list p{margin-top:12px;font-size:15.5px;line-height:1.9;color:var(--ink2)}
@media (max-width:900px){.kn-list li{grid-template-columns:1fr;gap:6px}.kn-t{font-size:16px}.hw-list{grid-template-columns:1fr;gap:28px}}
.fv-note{flex-basis:100%;margin-top:10px;font-size:14px;color:var(--ink2)}
.lab .no{font-size:13px;font-weight:700;color:var(--ink);margin-right:12px;letter-spacing:.04em}
.bignums{display:grid;grid-template-columns:1fr 1fr;gap:32px;margin-top:40px;border-top:1px solid var(--ink);padding-top:28px}
.bignums b{display:block;font-size:72px;line-height:1;letter-spacing:-.01em;font-weight:700}
.bignums span{display:block;margin-top:10px;font-size:15px;color:var(--ink2)}
.reach .wmapw{border-top:0;margin-top:40px;padding-top:0}
.reach .fd-browse{margin-top:40px}
.profs.one{grid-template-columns:minmax(0,640px)}
.more-read,.doc-line{margin-top:32px;font-size:15px}
.doc-line span{margin-left:14px;font-size:13.5px;color:var(--ink3)}
#flow ol.flow li{padding-bottom:20px}
.prof-hd{display:grid;grid-template-columns:minmax(0,7fr) minmax(0,5fr);gap:56px;align-items:end}.prof-art{margin:0}.prof-art img{display:block;width:100%;max-width:360px;height:auto;margin-left:auto}@media (max-width:900px){.prof-hd{grid-template-columns:1fr;gap:24px}.prof-art img{max-width:240px;margin:0}}
.cmpq li.r{margin-inline:0!important;padding-inline:28px!important}
#reach .fd-browse,#reach .fd-all{max-width:none}
#flow .rpt-ill{margin:0;order:-1}#flow .rpt-ill img{display:block;width:180px;height:auto}
.flow-ill div{display:flex;align-items:flex-end;justify-content:center;height:180px}
.flow-ill img{height:100%!important;width:100%!important;max-width:100%;object-fit:contain;object-position:center bottom}
.est .btn{margin-top:24px;width:100%}
.fd-cost{margin-top:12px;font-size:14px;font-weight:700;color:var(--fd-ink)}
.fd-req{margin-bottom:14px;font-size:14px;color:var(--fd-ink2)}
.case .by .by-l{display:block;color:var(--ink2)}
#fdAll{display:grid;grid-template-columns:1fr 1fr;column-gap:56px}
.profs.one{grid-template-columns:minmax(0,1fr)}
.profs.one .prof{display:grid;grid-template-columns:minmax(0,5fr) minmax(0,6fr);column-gap:64px;align-items:start}
.profs.one .prof>:not(dl){grid-column:1}.profs.one .prof dl{grid-column:2;grid-row:1/span 5;margin-top:0}
@media (max-width:900px){#fdAll{grid-template-columns:1fr}.profs.one .prof{display:block}.profs.one .prof dl{margin-top:14px}}
/* 2026-10-04 点検の指摘：小さく薄い文字を上げる／見出しの字間を詰める／スマホの比較の図とフッター */
.note,.case .by,.flow .d,.dist-ends{font-size:14px;color:var(--ink2)}
#cases .h2,#reach .h2,#flow .h2,#price .h2,#compare .h2,#prof .h2{letter-spacing:0}
.flow-note{margin-top:24px;font-size:15px;font-weight:700}
@media (max-width:720px){
.dist{display:flex;flex-direction:column;gap:10px;margin-top:32px}.dist-ends{display:contents}.dist-ends span:first-child{order:0}.dist-ends span:last-child{order:2}
.dist-pts{display:block;order:1;position:relative;margin-left:6px;padding-left:22px;border-left:1px solid var(--ink)}
.dist-pts p{position:relative;left:auto!important;top:auto;transform:none;padding:6px 0;white-space:normal}
.dist-pts p::before{top:50%;left:-29px;margin:-7px 0 0 0}
.ft nav{grid-template-columns:1fr;gap:4px}
}
.flow-ill{margin-top:40px;display:grid;grid-template-columns:repeat(4,minmax(0,1fr))}
.flow-ill div{padding-right:28px}.flow-ill div+div{padding-left:28px}
.flow-ill img{display:block;height:180px;width:auto;max-width:100%;object-fit:contain;object-position:left bottom}
.flow-ill+.flow{margin-top:16px}
.li-ill{display:none}
#flow .rpt{margin-top:48px;display:flex;align-items:center;gap:32px;padding-top:24px;border-top:1px solid var(--line)}
#flow .rpt-pages{order:-1;margin:0;gap:8px}
#flow .pg{width:56px;padding:8px 7px;gap:4px}
#flow .pg .ln{height:3px}
@media (max-width:720px){.flow-ill{display:none}#flow ol.flow li{grid-template-columns:1fr 112px;column-gap:16px}#flow ol.flow li>*:not(.li-ill){grid-column:1}.li-ill{display:block;grid-column:2;grid-row:1/span 3;width:112px;height:auto;align-self:center}#flow .rpt{gap:16px;border-top:0;padding-top:0;margin-top:32px}#flow .rpt-pages{flex:none;overflow:visible;gap:6px}#flow .pg{width:40px;flex:none;padding:6px 5px}}
@media (max-width:900px){.bignums{grid-template-columns:1fr;gap:24px}.bignums b{font-size:56px}.doc-line span{display:block;margin:6px 0 0}}


:root{--warm:#fff;--hero:#fff}
body,.fv,.warm,.end{background:#fff!important}
.fv{border-bottom:1px solid var(--line)!important}
.hd,.hd.scrolled{background:#fff}
main > section.sec:not(.ceo){border-top:1px solid var(--line)}
.lab{padding-top:28px}.lab::before{width:80px!important;height:3px!important;background:var(--ink)!important}
.lab .no{font-size:15px}
#cases .h2,#reach .h2,#flow .h2,#price .h2{font-size:48px;line-height:1.35}
#cases,#reach,#flow,#price{padding-block:168px}
/* 墨の段：広さ（数字と地図） */
#reach{background:#1B1A18!important;color:#fff;--ink:#fff;--ink2:rgba(255,255,255,.82);--ink3:rgba(255,255,255,.72);--line:rgba(255,255,255,.16);--line2:rgba(255,255,255,.4);--fd-ink:#fff;--fd-ink2:rgba(255,255,255,.82);--fd-line:rgba(255,255,255,.16);--fd-line2:rgba(255,255,255,.4);border-top:0!important}
#reach .wmap .land circle{fill:rgba(255,255,255,.22)}#reach .wmap .hits circle{fill:#FFFFFF}
#reach .lab::before{background:#fff!important}
.pg{background:#fff}.dist-pts p::before{background:#fff}
@media (max-width:900px){#cases .h2,#reach .h2,#flow .h2,#price .h2{font-size:28px}#cases,#reach,#flow,#price{padding-block:96px}}

main :is(h1,h2,h3,p,li,dt,dd,summary,td,th,caption,label,a,span,small,b,em,legend,figcaption),footer :is(p,a,address){word-break:keep-all;overflow-wrap:anywhere;line-break:strict}main :is(p,li,dd,summary){text-wrap:pretty}main h3{text-wrap:balance}.fd-ferr[hidden]{display:none!important}main :is(h1,h2,h3,legend,.h1,.h2){font-feature-settings:"palt"!important;letter-spacing:.03em!important;text-spacing-trim:trim-both;hanging-punctuation:first}.faq summary{display:block!important;position:relative;padding-right:44px!important}.faq summary::after{position:absolute;right:0;top:22px}main .sv-ex .ct,main .ct{text-wrap:balance}
header nav a{white-space:nowrap}@media (max-width:1180px){header nav{gap:18px!important}header nav a{font-size:14px}}