/* 神奈川東京＠産業廃棄物許可ドットコム（Y&Y行政書士事務所）　デザイン案（2026-10-28）
   書体：見出し Noto Serif JP・英字と数字 Jost・本文 Noto Sans JP
   色：墨がかった藍（スレート）×くすんだセージ×真鍮、生成りの地。細い罫と小さな角で落ち着いた見せ方に（10-28 組み直し） */
:root{
	--ink:#2a2760;--ink2:#3a3680;--ai:#5a8f1e;--ai-s:#f0f7e4;
	--cu:#9fd03c;--cu-d:#5a8f1e;--cu-l:#c8ec7c;--snow:#f5f5fa;--line:#e3e3ee;--line2:#cfcfe0;--text:#22223a;--mute:#62627a;
	--serif:"Noto Serif JP",serif;--en:"Jost",sans-serif;
	--sans:"Hiragino Kaku Gothic ProN","Hiragino Sans","Noto Sans JP","Noto Sans CJK JP",Meiryo,sans-serif; /* 本文は端末の書体（2026-11-01 表示速度。Noto Sans JP の読み込みをやめた） */
	--leaf:linear-gradient(135deg,#3a3680 0%,#2a2760 55%,#1c1a45 100%);
}
*{box-sizing:border-box}
html{scroll-behavior:smooth;scroll-padding-top:84px}
body{margin:0;font-variant-numeric:lining-nums;font-family:var(--sans);color:var(--text);background:#fff;line-height:1.9;font-size:16px;letter-spacing:.02em;-webkit-text-size-adjust:100%}
p{text-align:justify}
img{max-width:100%;height:auto;display:block}
a{color:var(--ai)}
h1,h2,h3{font-family:var(--serif);line-height:1.5;margin:0;font-weight:600;letter-spacing:.04em}
.wrap{max-width:1180px;margin:0 auto;padding:0 32px}
.en,.en-s{font-family:var(--en);font-style:italic;font-weight:500;letter-spacing:.06em;color:var(--cu)}
.en{display:block;font-size:22px;line-height:1.2}
.en-s{display:block;font-size:15px;line-height:1.3}
.ln{color:var(--cu-d);text-decoration:underline;text-underline-offset:3px}

/* ヘッダー */
.hd{position:sticky;top:0;z-index:30;background:rgba(255,255,255,.97);backdrop-filter:blur(8px);border-bottom:1px solid var(--line)}
.hd .wrap{display:flex;align-items:center;gap:28px;height:76px}
.logo{display:flex;align-items:center;gap:12px;text-decoration:none;color:var(--ink);flex:none}
.logo svg{width:42px;height:42px;flex:none}
.logo span{display:flex;flex-direction:column;line-height:1.35}
.logo small{font-size:11px;color:var(--mute);letter-spacing:.08em;white-space:nowrap}
.logo strong{font-family:var(--serif);font-size:18px;font-weight:700;white-space:nowrap;letter-spacing:.05em}
.logo strong i{font-style:normal}
.nav{display:flex;gap:22px;margin-left:auto}
.nav a{color:var(--ink);text-decoration:none;font-size:13.5px;font-weight:500;white-space:nowrap;letter-spacing:.06em;position:relative;padding:6px 0}
.nav a::after{content:"";position:absolute;left:0;right:0;bottom:0;height:1px;background:var(--cu);transform:scaleX(0);transition:transform .25s}
.nav a:hover::after{transform:scaleX(1)}
.hd-tel{display:flex;flex-direction:column;align-items:flex-end;text-decoration:none;color:var(--ink);flex:none;line-height:1.2;padding-left:24px;border-left:1px solid var(--line)}
.hd-tel small{font-size:11px;color:var(--mute);white-space:nowrap}
.hd-tel b{font-family:var(--en);font-size:28px;font-weight:600;letter-spacing:.03em;white-space:nowrap}
.menu-btn{display:none}

/* 最初の画面 */
.hero{background:var(--snow);position:relative;overflow:hidden}
.hero::after{content:"";position:absolute;left:0;right:0;bottom:0;height:150px;background:#fff}
.hero-in{display:grid;grid-template-columns:1fr 450px;gap:64px;align-items:center;padding-top:64px;padding-bottom:40px;position:relative;z-index:1}
.kicker{margin:0 0 24px;padding-left:18px;border-left:2px solid var(--cu)}
.kicker b{display:block;font-family:var(--serif);font-size:23px;font-weight:600;letter-spacing:.2em;color:var(--ink);line-height:1.5}
.kicker .k-sub{display:block;font-size:13px;color:var(--mute);letter-spacing:.08em}
.hero h1{font-size:50px;font-weight:600;color:var(--ink);line-height:1.45;margin:0 0 26px;letter-spacing:.06em}
.hero h1 em{font-style:normal;color:var(--ai)}
.lead{font-size:16px;color:#383b40;margin:0 0 34px;max-width:580px;line-height:2}
.cta{display:flex;gap:14px;flex-wrap:wrap}
.btn{display:inline-flex;flex-direction:column;align-items:center;justify-content:center;text-decoration:none;border-radius:2px;padding:12px 28px;min-height:70px;min-width:260px;font-weight:700;line-height:1.35;transition:background .2s,color .2s,border-color .2s;letter-spacing:.06em}
.btn small{font-size:12px;font-weight:500}
.btn-main{background:var(--ink);color:#fff}
.btn-main small{color:var(--cu-l)}
.btn-main b{font-family:var(--en);font-size:30px;font-weight:600;letter-spacing:.04em;white-space:nowrap}
.btn-main:hover{background:var(--ai)}
.btn-sub{background:transparent;color:var(--ink);border:1px solid var(--ink);font-size:16px}
.btn-sub small{color:var(--mute)}
.btn-sub:hover{background:var(--ink);color:#fff}.btn-sub:hover small{color:var(--cu-l)}
.btn.sm{min-width:0;min-height:54px;width:100%;font-size:15px}

.hero-fig{margin:0;position:relative;isolation:isolate;background:var(--ink);color:#fff;padding:40px 38px 120px}
.hero-fig::before{content:"";position:absolute;inset:-18px 18px 18px -18px;border:1px solid var(--cu);z-index:-1}
.hero-bg{position:absolute;inset:0;overflow:hidden;pointer-events:none}
.hero-bg::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(36,39,44,.55),rgba(36,39,44,.2) 60%,rgba(36,39,44,.6)),repeating-linear-gradient(90deg,rgba(255,255,255,.03) 0 1px,transparent 1px 64px)}
.plate{position:absolute;display:block;opacity:.16;filter:saturate(.6)}
.plate svg{display:block;width:100%;height:auto}
.plate.p1{width:92%;right:-26%;top:6%;transform:rotate(-8deg)}
.plate.p2{width:74%;right:-12%;bottom:-6%;transform:rotate(6deg);opacity:.2}
.why{position:relative;z-index:1}
.why .en-s{color:var(--cu-l)}
.why-h{font-family:var(--serif);font-size:22px;font-weight:600;letter-spacing:.1em;margin:2px 0 18px;padding-bottom:16px;border-bottom:1px solid rgba(255,255,255,.2);text-align:left}
.why ol{list-style:none;margin:0;padding:0;display:grid;gap:16px}
.why li{display:grid;grid-template-columns:34px 1fr;gap:8px;align-items:start}
.why em{font-family:var(--en);font-style:italic;font-weight:500;font-size:22px;color:var(--cu-l);line-height:1.2}
.why li>span{font-size:13px;line-height:1.75;color:#d2d5da}
.why b{display:block;font-family:var(--serif);font-size:16px;font-weight:600;color:#fff;letter-spacing:.04em;margin-bottom:2px;line-height:1.6}
.hero-fig figcaption{position:absolute;z-index:2;left:-28px;bottom:26px;background:#fff;padding:12px 22px 12px 12px;line-height:1.5;box-shadow:0 12px 30px rgba(36,39,44,.16);display:flex;align-items:center;gap:14px}
.hero-fig figcaption img{width:64px;height:64px;object-fit:cover;border-radius:50%}
.hero-fig figcaption b{display:block;font-family:var(--serif);font-size:20px;font-weight:600;color:var(--ink);letter-spacing:.12em}
.hero-fig figcaption small{display:block;font-size:12px;color:var(--mute)}
.hero-fig figcaption .en-s{font-size:13px}

.facts{list-style:none;margin:0;padding:0 0 72px;display:grid;grid-template-columns:repeat(4,1fr);position:relative;z-index:1}
.facts li{background:#fff;padding:26px 20px 24px;text-align:center;display:flex;flex-direction:column;align-items:center;border-top:1px solid var(--line);border-bottom:1px solid var(--line)}
.facts li+li{border-left:1px solid var(--line)}
.facts b{font-family:var(--en);font-size:54px;font-weight:600;color:var(--ink);line-height:1.05;white-space:nowrap;margin:6px 0 4px}
.facts b i{font-style:normal}
.facts b small{font-family:var(--serif);font-size:15px;font-weight:600;margin-left:3px}
.facts span:last-child{font-size:13px;color:var(--mute)}

/* 共通 */
.sec{padding:110px 0}
.ivory{background:var(--snow)}
.sec-hd{text-align:center;margin-bottom:56px}
.sec-hd h2{font-size:34px;color:var(--ink);margin:8px 0 14px;text-align:center}
.sec-hd h2::after{content:"";display:block;width:36px;height:1px;background:var(--cu);margin:22px auto 0}
.sec-hd p{text-align:center;color:var(--mute);margin:0;font-size:15px}
.note{font-size:13.5px;color:var(--mute);margin:28px auto 0;max-width:820px}

/* 3つの運送事業 */
.cases{display:grid;grid-template-columns:repeat(3,1fr);grid-template-rows:auto auto auto auto 1fr auto;border:1px solid var(--line);background:#fff}
.case{grid-row:span 6;display:grid;grid-template-rows:subgrid;padding:40px 34px 32px}
.case+.case{border-left:1px solid var(--line)}
.case-top{display:flex;align-items:flex-start;justify-content:space-between;gap:12px}
.case .num{font-family:var(--en);font-size:44px;font-weight:500;font-style:italic;color:var(--cu);margin:0;line-height:1}
.mini{flex:none;padding:0 12px;height:34px;white-space:nowrap;border-radius:4px;display:grid;place-items:center;font-family:var(--serif);font-size:12.5px;font-weight:700;letter-spacing:.08em}
.mini.g{background:var(--ai);color:#fff;box-shadow:inset 0 0 0 2px var(--ai),inset 0 0 0 3px #fff}
.mini.w{background:#fff;color:var(--ink);box-shadow:inset 0 0 0 1px var(--ink)}
.mini.b{background:var(--ink);color:#fff;box-shadow:inset 0 0 0 2px var(--ink),inset 0 0 0 3px var(--cu-l)}
.mini.k{background:#1a1a1a;color:var(--cu-l);box-shadow:inset 0 0 0 2px #1a1a1a,inset 0 0 0 3px var(--cu-l)}
.case h3{font-size:21px;color:var(--ink);margin-top:14px}
.permit{font-size:13px;font-weight:700;color:var(--ai);margin:4px 0 0;letter-spacing:.06em}
.case-p{font-size:14.5px;color:#383b40;margin:16px 0 0}
.case dl{display:grid;grid-template-columns:5.5em 1fr;margin:20px 0 0;border-top:1px solid var(--ink);font-size:14px;align-self:start}
.case dt,.case dd{margin:0;padding:10px 0;border-bottom:1px solid var(--line)}
.case dt{font-family:var(--serif);font-weight:600;color:var(--ink)}
.case dd b{font-family:var(--en);font-size:24px;font-weight:600;color:var(--ink);line-height:1}
.case ul{margin:18px 0 0;padding:0;list-style:none}
.case li{position:relative;padding-left:18px;font-size:14px;margin:4px 0}
.case li::before{content:"";position:absolute;left:0;top:.9em;width:8px;height:1px;background:var(--cu)}
.more{display:flex;justify-content:space-between;align-items:center;margin-top:24px;padding-top:16px;border-top:1px solid var(--line);text-decoration:none;font-family:var(--serif);font-weight:600;font-size:14.5px;color:var(--ink)}
.more::after{content:"";width:7px;height:7px;border-top:1px solid var(--cu);border-right:1px solid var(--cu);transform:rotate(45deg);transition:transform .2s}
.more:hover{color:var(--ai)}.more:hover::after{transform:translateX(4px) rotate(45deg)}

/* 許可の条件 */
.chk{display:grid;grid-template-columns:1fr 360px;gap:0;border-top:1px solid var(--ink)}
.chk ul{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:1fr 1fr;grid-auto-rows:1fr;align-content:stretch}
.chk li{display:flex}
.chk label{flex:1;align-content:center}
.chk li{border-bottom:1px solid var(--line2)}
.chk li:nth-child(odd){border-right:1px solid var(--line2)}
.chk label{display:grid;grid-template-columns:22px 1fr;gap:14px;padding:20px 24px 20px 4px;cursor:pointer;height:100%}
.chk li:nth-child(even) label{padding-left:24px}
.chk input{appearance:none;width:22px;height:22px;margin:3px 0 0;border:1px solid var(--line2);background:#fff;display:grid;place-items:center;cursor:pointer;transition:.15s}
.chk input:checked{background:var(--ai);border-color:var(--ai)}
.chk input:checked::after{content:"";width:6px;height:11px;border:solid #fff;border-width:0 2px 2px 0;transform:rotate(45deg) translate(-1px,-1px)}
.chk input:focus-visible{outline:2px solid var(--cu);outline-offset:2px}
.chk label b{display:block;font-family:var(--serif);font-size:16px;font-weight:600;color:var(--ink);line-height:1.6}
.chk label span span{display:block;font-size:13px;color:var(--mute);line-height:1.75;margin-top:2px}
.chk-res{background:var(--ink);color:#fff;padding:34px 32px 30px;display:flex;flex-direction:column}
.chk-res .en-s{color:var(--cu-l)}
.meter{display:flex;align-items:baseline;gap:6px;margin:6px 0 10px}
.meter b{font-family:var(--en);font-size:84px;font-weight:600;line-height:1}
.meter span{font-family:var(--en);font-size:30px;color:#b4b9c0}
.bar{height:2px;background:rgba(255,255,255,.18);margin-bottom:20px}
.bar i{display:block;height:100%;width:0;background:var(--cu);transition:width .3s}
.chk-msg{font-family:var(--serif);font-size:17px;line-height:1.75;color:#fff;margin:0 0 12px;text-align:left;min-height:3.5em}
.chk-sub{font-size:13.5px;color:#c6cad0;margin:0 0 22px;flex:1}
.chk-res .btn{background:var(--cu);min-width:0;width:100%}
.chk-res .btn small{color:#fff}
.chk-res .btn:hover{background:var(--cu-d)}

/* 費用のめやす */
.sim-sec{background:var(--ink);color:#fff}
.sim-sec .sec-hd h2{color:#fff}.sim-sec .sec-hd p,.sim-sec .note{color:#bdc2c9}
.sim-sec .note .ln{color:var(--cu-l)}
.sim{display:grid;grid-template-columns:1fr 400px;background:#fff;color:var(--text)}
.sim-in{padding:40px 44px}
.q{display:flex;align-items:center;gap:12px;font-weight:700;font-size:15.5px;margin:0 0 14px;color:var(--ink)}
.q b{font-family:var(--en);font-style:italic;font-weight:600;font-size:26px;color:var(--cu);line-height:1;flex:none}
.q:not(:first-child){margin-top:30px}
.seg{display:grid;grid-template-columns:repeat(3,1fr);gap:8px}
.seg label{cursor:pointer}
.seg input{position:absolute;opacity:0;pointer-events:none}
.seg span{display:flex;flex-direction:column;align-items:center;justify-content:center;height:62px;border:1px solid var(--line2);font-weight:700;font-size:15px;color:var(--ink);line-height:1.4;transition:.15s}
.seg span small{font-size:11.5px;font-weight:500;color:var(--mute)}
.seg input:checked+span{border-color:var(--ai);background:var(--ai-s);color:var(--ai);box-shadow:inset 0 0 0 1px var(--ai)}
.seg input:focus-visible+span{outline:2px solid var(--cu);outline-offset:2px}
.hint{font-size:13px;color:var(--mute);margin:16px 0 0}
.sim-out{background:var(--snow);padding:40px 36px;display:flex;flex-direction:column}
.out-h{font-size:13px;font-weight:700;color:var(--mute);margin:0;letter-spacing:.08em}
.out-n{font-family:var(--serif);font-size:17px;font-weight:600;color:var(--ink);margin:6px 0 18px;text-align:left}
.sim-out dl{display:grid;grid-template-columns:1fr auto;gap:10px 12px;margin:0;padding:18px 0;border-top:1px solid var(--line2);border-bottom:1px solid var(--line2);font-size:14px}
.sim-out dt{margin:0}
.sim-out dd{margin:0;text-align:right;font-family:var(--serif);font-size:16px;font-weight:600;white-space:nowrap}
.sim-out .dis{color:#a2452a}
.out-sum{display:flex;justify-content:space-between;align-items:baseline;margin:18px 0 6px}
.out-sum small{font-size:14px;font-weight:700}
.out-sum b{font-family:var(--serif);font-size:34px;font-weight:700;color:var(--ink);white-space:nowrap}
.out-note{font-size:12.5px;color:var(--mute);margin:0 0 22px;text-align:left}
.sim-out .btn{margin-top:auto}

/* 流れ */
.flow{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(4,1fr);border-top:1px solid var(--ink)}
.flow li{padding:28px 22px 26px;display:flex;flex-direction:column;border-bottom:1px solid var(--line);background:#fff}
.flow li:not(:nth-child(4n+1)){border-left:1px solid var(--line)}
.flow em{font-family:var(--en);font-style:italic;font-weight:500;font-size:17px;color:var(--cu)}
.flow em small{font-family:var(--sans);font-style:normal;font-size:11.5px;color:var(--mute);margin-left:8px;letter-spacing:.04em}
.flow b{font-family:var(--serif);font-size:16.5px;font-weight:600;color:var(--ink);margin:8px 0 10px;line-height:1.55}
.flow span{font-size:13.5px;color:#45494f;line-height:1.85}
.flow li.key{background:var(--ai-s)}
.flow li.end{background:var(--ink)}
.flow li.end b{color:#fff}.flow li.end span{color:#cfd2d7}.flow li.end em{color:var(--cu-l)}.flow li.end em small{color:#b4b9c0}

/* 許可のあと */
.str{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(4,1fr);gap:48px 36px}
.str li{position:relative;padding-top:22px;border-top:1px solid var(--ink);display:flex;flex-direction:column}
.str em{position:absolute;top:-1px;right:0;font-family:var(--en);font-style:italic;font-size:15px;color:var(--cu);background:#fff;padding:0 0 0 12px;transform:translateY(-55%)}
.str .kind{font-size:12.5px;font-weight:700;color:var(--ai);letter-spacing:.08em;margin:0 0 6px}
.str h3{font-size:18px;color:var(--ink);margin-bottom:10px;min-height:3em}
.str p{font-size:14px;margin:0 0 14px;color:#383b40;flex:1}
.str a{font-family:var(--serif);font-weight:600;font-size:14px;color:var(--ink);text-decoration:none;display:flex;align-items:center;gap:10px}
.str a::after{content:"";width:6px;height:6px;border-top:1px solid var(--cu);border-right:1px solid var(--cu);transform:rotate(45deg)}
.notice{margin-top:56px;display:grid;grid-template-columns:auto 1fr;gap:28px;align-items:center;padding:24px 30px;border:1px solid var(--line2);background:var(--snow)}
.notice .mini{padding:0 14px;height:38px;font-size:13px}
.notice p{margin:0;font-size:14.5px}
.notice b{color:var(--ink);font-family:var(--serif)}

/* 運送事業ガイド */
.gd{display:grid;grid-template-columns:repeat(3,1fr);border-top:1px solid var(--ink)}
.gd-col{padding:26px 26px 18px}
.gd-col:not(:nth-child(3n+1)){border-left:1px solid var(--line2)}
.gd-col:nth-child(n+4){border-top:1px solid var(--ink)}
.gd-h{font-family:var(--serif);font-weight:600;font-size:17px;color:var(--ink);margin:0 0 14px;display:flex;align-items:baseline;gap:10px;text-align:left}
.gd-h em{font-family:var(--en);font-style:italic;font-weight:500;font-size:22px;color:var(--cu)}
.gd ul{list-style:none;margin:0;padding:0}
.gd li a{display:block;text-decoration:none;padding:13px 22px 13px 0;border-top:1px solid var(--line2);position:relative}
.gd li a::after{content:"";position:absolute;right:4px;top:50%;width:7px;height:7px;border-top:1px solid var(--cu);border-right:1px solid var(--cu);transform:translateY(-50%) rotate(45deg);transition:right .2s}
.gd li a:hover::after{right:0}
.gd li a:hover b{color:var(--ai)}
.gd b{display:block;font-family:var(--serif);font-size:15px;font-weight:600;color:var(--ink);line-height:1.6}
.gd span{display:block;font-size:12.5px;color:var(--mute);line-height:1.7;margin-top:2px}

/* 代表 */
.pro{display:grid;grid-template-columns:240px 1fr;gap:80px;align-items:start}
.pro-side{position:sticky;top:110px}
.pro-ph{margin:0 0 0;position:relative;isolation:isolate;width:180px}
.pro-ph::after{content:"";position:absolute;inset:16px -16px -16px 16px;border:1px solid var(--cu);z-index:-1}
.pro-ph img{width:100%;aspect-ratio:1;object-fit:cover}
.name{margin:40px 0 0;text-align:left}
.name span{display:block;font-size:13px;color:var(--mute)}
.name b{display:block;font-family:var(--serif);font-size:27px;color:var(--ink);letter-spacing:.16em;font-weight:600;margin:2px 0}
.name small{font-family:var(--en);font-style:italic;font-size:15px;color:var(--cu);letter-spacing:.1em}
.pro-main h2{font-size:32px;color:var(--ink);margin:8px 0 24px}
.pro-main>p{font-size:15px}
.career{list-style:none;margin:30px 0 0;padding:0;display:grid;grid-template-columns:1fr 1fr 1fr;border-top:1px solid var(--ink)}
.career li{padding:16px 16px 16px 0;border-bottom:1px solid var(--line);font-size:13.5px;line-height:1.7;color:#45494f}
.career em{display:block;font-style:normal;font-family:var(--en);font-size:30px;font-weight:600;color:var(--ink);line-height:1.15}
.quals{display:grid;grid-template-columns:156px 1fr;margin:30px 0 0;border-top:1px solid var(--line2)}
.quals dt{font-family:var(--serif);font-weight:600;color:var(--ink);font-size:15px;padding:18px 20px 18px 0;line-height:1.6}
.quals dd{margin:0;padding:14px 0;display:flex;flex-wrap:wrap;gap:8px;border-bottom:1px solid var(--line2)}
.quals dt{border-bottom:1px solid var(--line2)}
.quals dd span{display:inline-block;background:#fff;border:1px solid var(--line);padding:5px 13px;font-size:13.5px;color:var(--ink)}
.quals dd span.k{background:var(--ink);border-color:var(--ink);color:#fff}
.quals dd p{margin:4px 0;font-size:13.5px;color:#45494f}

/* 報酬額 */
.price{width:100%;border-collapse:collapse;font-size:15px;background:#fff}
.price th,.price td{border-bottom:1px solid var(--line);padding:18px 18px;vertical-align:middle}
.price thead th{font-family:var(--serif);color:var(--ink);font-size:14px;font-weight:600;border-bottom:1px solid var(--ink);padding-top:8px;text-align:right}
.price thead th:first-child{text-align:left}
.price tbody th{text-align:left;font-family:var(--serif);font-weight:600;color:var(--ink)}
.price td{font-family:var(--serif);font-size:18px;font-weight:600;text-align:right;white-space:nowrap}
.price td small{font-family:var(--sans);font-size:12px;font-weight:400;color:var(--mute);margin-left:2px}
.price td.tax{font-size:15px;color:var(--mute);font-weight:500}
.price tr.grp th{background:var(--snow);font-size:13px;color:var(--cu-d);letter-spacing:.1em;padding:10px 18px}
.price tr.set td:not(.tax){color:var(--ai)}
.cap{font-size:13px;color:var(--mute);margin:14px 0 0}
.adds{list-style:none;margin:30px 0 0;padding:0;border-top:1px solid var(--line2)}
.adds li{padding:16px 4px;font-size:14px;display:flex;gap:18px;align-items:baseline;border-bottom:1px solid var(--line2)}
.adds b{flex:none;font-family:var(--serif);font-size:14px;color:var(--ink);min-width:7em}

/* 対応地域 */
.svc{display:grid;grid-template-columns:300px 1fr;gap:64px;align-items:start}
.svc-hd h2{font-size:32px;color:var(--ink);margin:8px 0 14px}
.svc-hd p{color:var(--mute);font-size:15px}
.svc-list dl{display:grid;grid-template-columns:120px 1fr;margin:0;padding:22px 0;border-top:1px solid var(--line2)}
.svc-list dl:last-child{border-bottom:1px solid var(--line2)}
.svc-list dt{font-family:var(--serif);font-weight:600;color:var(--ink);font-size:17px}
.svc-list dd{margin:0;font-size:14px;color:#45494f}
.svc-list dd b{font-family:var(--serif);color:var(--ai);margin-right:10px}
.links2{display:grid;grid-template-columns:1fr 1fr;gap:0;margin-top:56px;border:1px solid var(--line)}
.links2>*{padding:28px 30px;background:#fff;text-decoration:none;color:var(--text)}
.links2>*+*{border-left:1px solid var(--line)}
.links2 .en-s{margin-bottom:4px}
.links2 b{display:block;font-family:var(--serif);font-size:17px;font-weight:600;color:var(--ink);margin-bottom:6px}
.links2 span:last-child{font-size:13.5px;color:#45494f}
a.links-a:hover b{color:var(--ai)}

/* よくある質問 */
.faq{max-width:880px;margin:0 auto;border-top:1px solid var(--ink)}
.faq details{border-bottom:1px solid var(--line)}
.faq summary{cursor:pointer;list-style:none;padding:24px 52px;font-family:var(--serif);font-weight:600;font-size:16.5px;color:var(--ink);position:relative}
.faq summary::-webkit-details-marker{display:none}
.faq summary::before{content:"Q";position:absolute;left:8px;top:16px;font-family:var(--en);font-style:italic;font-size:30px;color:var(--cu)}
.faq summary::after{content:"";position:absolute;right:16px;top:50%;width:12px;height:12px;border-right:1px solid var(--ink);border-bottom:1px solid var(--ink);transform:translateY(-70%) rotate(45deg);transition:transform .2s}
.faq details[open] summary::after{transform:translateY(-20%) rotate(-135deg)}
.faq details p{margin:0;padding:0 24px 26px 52px;font-size:14.5px;color:#383b40}

/* 事務所 */
.office{display:grid;grid-template-columns:1fr 1fr;gap:56px;align-items:stretch}
.office h2{font-size:30px;color:var(--ink);margin:8px 0 22px}
.office dl{display:grid;grid-template-columns:96px 1fr;margin:0;font-size:14.5px;border-top:1px solid var(--ink)}
.office dt,.office dd{padding:14px 0;border-bottom:1px solid var(--line2);margin:0}
.office dt{font-family:var(--serif);font-weight:600;color:var(--ink)}
.map{min-height:380px;border:1px solid var(--line2)}
.map iframe{width:100%;height:100%;min-height:380px;border:0;display:block;filter:grayscale(.35)}

/* お問い合わせ・足元 */
.contact{background:var(--ink);color:#fff;text-align:center;padding:100px 0}
.contact .en{color:var(--cu-l)}
.contact h2{font-size:32px;text-align:center;margin:10px 0 0}
.contact p{text-align:center;color:#cfd2d7;margin:18px 0 34px}
.contact .cta{justify-content:center}
.contact .btn-main{background:var(--cu)}
.contact .btn-main small{color:#fff}
.contact .btn-main:hover{background:var(--cu-d)}
.btn-sub.light{color:#fff;border-color:rgba(255,255,255,.7)}
.btn-sub.light small{color:#cfd2d7}
.btn-sub.light:hover{background:#fff;color:var(--ink)}
.contact .fax{margin:22px 0 0;font-size:13.5px}
.ft{background:#1b1d21;color:#a0a5ad;font-size:13px;padding:40px 0 90px}
.ft p{margin:4px 0;text-align:left}
.ft-name{font-family:var(--serif);font-size:18px;color:#fff}
.ft-name small{font-family:var(--sans);font-size:12px;color:#a0a5ad;margin-left:12px}
.ft-nav{display:flex;flex-wrap:wrap;gap:6px 22px;margin:16px 0}
.ft-nav a{color:#d4d7dc;text-decoration:none}
.copy{margin-top:18px!important}
.sp-bar{display:none}

/* 中くらいの幅 */
@media (max-width:1180px){
	.nav{gap:16px}.nav a{font-size:12.5px}
	.hd-tel{padding-left:16px}.hd-tel b{font-size:24px}
}
@media (max-width:1060px){
	.nav{display:none}
	.hd-tel{margin-left:auto}
	.menu-btn{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:6px;width:58px;height:50px;border:1px solid var(--line2);background:#fff;font:inherit;font-size:11px;color:var(--ink);cursor:pointer;flex:none}
	.menu-btn span{position:relative;width:22px;height:1.5px;background:var(--ink)}
	.menu-btn span::before,.menu-btn span::after{content:"";position:absolute;left:0;width:22px;height:1.5px;background:var(--ink);transition:transform .2s}
	.menu-btn span::before{top:-6px}.menu-btn span::after{top:6px}
	.nav.is-open{display:flex;flex-direction:column;position:absolute;left:0;right:0;top:76px;background:#fff;padding:8px 32px 20px;border-bottom:1px solid var(--line);box-shadow:0 16px 30px rgba(0,0,0,.06);gap:0}
	.nav.is-open a{padding:15px 0;border-bottom:1px solid var(--line);font-size:15px}
	.nav.is-open a::after{display:none}
	.hero-in{grid-template-columns:1fr 380px;gap:48px}
	.hero-fig{padding:34px 28px 132px}
	.hero h1{font-size:40px}
	.facts b{font-size:44px}
	.cases{grid-template-columns:1fr;grid-template-rows:none}
	.case{grid-row:auto;grid-template-rows:none}
	.case+.case{border-left:0;border-top:1px solid var(--line)}
	.chk{grid-template-columns:1fr}
	.sim{grid-template-columns:1fr}
	.flow{grid-template-columns:1fr 1fr}
	.flow li:not(:nth-child(4n+1)){border-left:0}
	.flow li:nth-child(even){border-left:1px solid var(--line)}
	.str{grid-template-columns:1fr 1fr}
	.gd{grid-template-columns:1fr 1fr}
	.gd-col:not(:nth-child(3n+1)){border-left:0}
	.gd-col:nth-child(even){border-left:1px solid var(--line2)}
	.gd-col:nth-child(n+3){border-top:1px solid var(--ink)}
	.pro{grid-template-columns:260px 1fr;gap:56px}
	.career{grid-template-columns:1fr 1fr}
	.svc{grid-template-columns:1fr;gap:28px}
}
/* スマホ */
@media (max-width:760px){
	body{font-size:15px}
	.wrap{padding:0 20px}
	.hd .wrap{height:64px;gap:10px}
	.logo{gap:8px;min-width:0}
	.logo svg{width:34px;height:34px}
	.logo strong{font-size:min(15px,3.9vw);white-space:normal;line-height:1.35}.logo strong i{display:block}.logo small{font-size:10px;letter-spacing:.02em}
	.hd-tel{display:none}
	.menu-btn{margin-left:auto}
	.nav.is-open{top:64px;padding:8px 20px 20px}
	html{scroll-padding-top:72px}
	.hero::after{height:90px}
	.hero-in{grid-template-columns:1fr;padding-top:36px;gap:44px}
	.kicker{margin-bottom:18px}
	.kicker b{font-size:19px;letter-spacing:.14em}
	.kicker .k-sub{font-size:12px}
	.hero h1{font-size:min(29px,8vw);margin-bottom:20px;letter-spacing:.04em}
	.lead{font-size:14.5px;margin-bottom:28px}
	.btn{min-width:0;width:100%}
	.hero-fig{width:auto;margin:0 0 0 12px;padding:32px 22px 104px}
	.why-h{font-size:19px}
	.why b{font-size:14.5px;letter-spacing:.02em}
	.why li{grid-template-columns:30px 1fr}
	.hero-in{padding-bottom:56px}
	.hero-fig::before{inset:-12px 12px 12px -12px}
	.hero-fig figcaption{left:-12px;bottom:20px;padding:8px 14px 8px 8px;gap:10px}
	.hero-fig figcaption img{width:48px;height:48px}
	.hero-fig figcaption b{font-size:17px}
	.facts{grid-template-columns:1fr 1fr;padding-bottom:48px}
	.facts li{padding:20px 8px 18px}
	.facts li:nth-child(3){border-left:0}
	.facts li:nth-child(n+3){border-top:0}
	.facts b{font-size:40px}
	.facts .en-s{font-size:13px}
	.facts span:last-child{font-size:12px}
	.sec{padding:72px 0}
	.sec-hd{margin-bottom:36px}
	.sec-hd h2{font-size:24px}
	.sec-hd h2::after{margin-top:16px}
	.sec-hd p{font-size:14px}
	.en{font-size:19px}
	.case{padding:30px 22px 26px}
	.chk ul{grid-template-columns:1fr}
	.chk li:nth-child(odd){border-right:0}
	.chk li:nth-child(even) label,.chk label{padding:16px 4px}
	.chk-res{padding:28px 22px 24px}
	.meter b{font-size:64px}
	.sim-in,.sim-out{padding:28px 20px}
	.seg{grid-template-columns:1fr}
	.seg span{height:54px;flex-direction:row;gap:8px;font-size:14.5px}
	.out-sum b{font-size:30px}
	.flow{grid-template-columns:1fr}
	.flow li:nth-child(even){border-left:0}
	.str{grid-template-columns:1fr;gap:40px}
	.str h3{min-height:0}
	.notice{grid-template-columns:1fr;gap:14px;padding:20px}
	.notice .mini{justify-self:start}
	.gd{grid-template-columns:1fr}
	.gd-col:nth-child(even){border-left:0}
	.gd-col:nth-child(n+2){border-top:1px solid var(--ink)}
	.gd-col{padding:22px 0 12px}
	.pro{grid-template-columns:1fr;gap:28px}
	.pro-side{position:static}
	.pro-ph{width:150px;flex:none}
	.pro-ph::after{inset:10px -10px -10px 10px}
	.name{margin:26px 0 0}
	.name b{font-size:22px}
	.pro-main h2{font-size:23px}
	.career{grid-template-columns:1fr 1fr}
	.career em{font-size:26px}
	.quals{grid-template-columns:1fr}
	.quals dt{border-bottom:0;padding:16px 0 0}
	.price thead{display:none}
	.price,.price tbody,.price tr{display:block}
	.price tr{display:grid;grid-template-columns:1fr auto;border-bottom:1px solid var(--line)}
	.price th,.price td{border:0;padding:14px 12px}
	.price tbody th{grid-column:1/-1;padding-bottom:0;font-size:14.5px}
	.price td.tax{grid-row:2;grid-column:1;text-align:left;font-size:13px;align-self:center}
	.price td.tax::before{content:"登録免許税 "}
	.price tr.grp{display:block}
	.price tr.grp th{padding:10px 12px}
	.adds li{flex-direction:column;gap:4px}
	.svc-list dl{grid-template-columns:1fr;gap:6px;padding:18px 0}
	.links2{grid-template-columns:1fr}
	.links2>*+*{border-left:0;border-top:1px solid var(--line)}
	.links2>*{padding:22px 20px}
	.faq summary{padding:20px 36px 20px 44px;font-size:15px}
	.faq summary::before{left:4px;top:13px}
	.faq details p{padding:0 8px 22px 44px}
	.office{grid-template-columns:1fr;gap:28px}
	.office dl{grid-template-columns:76px 1fr;font-size:13.5px}
	.contact{padding:64px 0}.contact h2{font-size:23px}
	.sp-bar{display:grid;grid-template-columns:1fr 1fr;position:fixed;left:0;right:0;bottom:0;z-index:35}
	.sp-bar a{display:flex;flex-direction:column;align-items:center;justify-content:center;height:58px;font-weight:700;text-decoration:none;color:#fff;background:var(--ink);letter-spacing:.06em;line-height:1.3}
	.sp-bar a small{font-size:10.5px;font-weight:500;color:var(--cu-l)}
	.sp-bar a b{font-family:var(--en);font-size:22px;font-weight:600}
	.sp-bar a+a{background:var(--ai)}
}
@media (max-width:360px){
	.quals dd span{font-size:12.5px;padding:4px 10px}
	.facts span:last-child{font-size:11.5px}
	.logo small{display:none}
	.logo strong{font-size:14px}
}

/* ===== 富山の案で足した部品 ===== */
.hero-bg .ridge{position:absolute;left:-4%;right:-4%;bottom:0;width:108%;height:auto;opacity:.22}
.hero-bg .plate.p1{width:84%;right:-30%;top:4%;transform:rotate(-7deg);opacity:.12}
.hero-bg::after{background:linear-gradient(180deg,rgba(36,39,44,.5),rgba(36,39,44,.15) 60%,rgba(36,39,44,.45)),repeating-linear-gradient(90deg,rgba(255,255,255,.03) 0 1px,transparent 1px 64px)}
.case dd small{font-size:12px;color:var(--mute);margin-left:4px}
.others{display:grid;grid-template-columns:200px 1fr;border:1px solid var(--line);border-top:0;background:#fff}
.others p{margin:0;padding:22px 26px;font-family:var(--serif);font-weight:600;color:var(--ink);font-size:15px;background:var(--snow);display:flex;align-items:center;text-align:left}
.others ul{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(5,1fr)}
.others li{border-left:1px solid var(--line)}
.others a{display:flex;flex-direction:column;justify-content:center;gap:2px;height:100%;padding:16px 18px;text-decoration:none;color:var(--text);font-size:13.5px;line-height:1.6}
.others a b{font-family:var(--serif);font-weight:600;color:var(--ink);font-size:14.5px}
.others a span{color:var(--cu-d);font-family:var(--serif);font-weight:600}
.others a:hover b{color:var(--ai)}
.seg.c4{grid-template-columns:repeat(4,1fr)}
.seg.c2{grid-template-columns:repeat(2,1fr)}
.addr{display:grid;grid-template-columns:1fr 1fr;gap:0;margin-top:48px;border:1px solid var(--line2);background:#fff}
.addr>div{padding:30px 34px}
.addr>div+div{border-left:1px solid var(--line2);background:var(--snow)}
.addr h3{font-size:18px;color:var(--ink);margin:4px 0 12px}
.addr p{margin:0;font-size:14.5px}
.addr .big{font-family:var(--serif);font-size:17px;font-weight:600;color:var(--ink);line-height:1.8}
.addr ul{margin:0;padding:0;list-style:none}
.addr li{position:relative;padding-left:18px;font-size:13.5px;margin:6px 0;color:#45494f}
.addr li::before{content:"";position:absolute;left:0;top:.95em;width:8px;height:1px;background:var(--cu)}
.motto{display:grid;grid-template-columns:1fr 1.2fr;gap:72px;align-items:start;margin-bottom:72px}
.motto blockquote{margin:0;font-family:var(--serif);font-size:34px;font-weight:600;color:var(--ink);line-height:1.6;letter-spacing:.08em;padding-left:28px;border-left:2px solid var(--cu)}
.motto blockquote small{display:block;font-family:var(--sans);font-size:13px;font-weight:500;color:var(--mute);letter-spacing:.06em;margin-top:14px}
.motto p{margin:0 0 14px;font-size:15px}
.wish{margin-top:72px;display:grid;grid-template-columns:300px 1fr;gap:56px;align-items:start}
.wish h3{font-size:22px;color:var(--ink);margin:6px 0 12px}
.wish>div>p{font-size:14px;color:var(--mute);margin:0}
.wish ul{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:1fr 1fr;border-top:1px solid var(--ink)}
.wish li{display:grid;grid-template-columns:22px 1fr;gap:10px;padding:13px 16px 13px 0;border-bottom:1px solid var(--line);font-size:14px;line-height:1.7}
.wish li:nth-child(even){padding-left:16px;border-left:1px solid var(--line)}
.wish li::before{content:"";width:12px;height:7px;border-left:1.5px solid var(--ai);border-bottom:1.5px solid var(--ai);transform:rotate(-45deg);margin:7px 0 0 4px}
.cities{display:flex;flex-wrap:wrap;gap:6px;margin-top:12px}
.cities a{display:block;padding:5px 11px;border:1px solid var(--line2);font-size:13px;text-decoration:none;color:var(--ink);background:#fff}
.cities a:hover{border-color:var(--ai);color:var(--ai)}
.news{display:grid;grid-template-columns:1fr 1fr;column-gap:56px}
.news>div{grid-row:span 8;display:grid;grid-template-rows:subgrid}
.news ul{display:contents}
.news li{display:flex}
.news li a{flex:1;align-items:center}
.news li:first-child a{border-top:1px solid var(--ink)}
.news .more{align-self:end}
.news h3{font-size:19px;color:var(--ink);margin:4px 0 16px}
.news ul{list-style:none;margin:0;padding:0}
.news li a{display:grid;grid-template-columns:96px 1fr;gap:14px;padding:15px 0;border-bottom:1px solid var(--line);text-decoration:none;color:var(--text);font-size:14.5px;line-height:1.7}
.news li a:hover span{color:var(--ai)}
.news time{font-family:var(--en);font-size:17px;font-weight:600;color:var(--cu-d);line-height:1.5}
.news .k{display:inline-block;font-size:11px;font-weight:700;color:var(--ai);border:1px solid var(--ai);padding:0 6px;margin-right:6px;line-height:1.7;vertical-align:1px}
.news .more{margin-top:8px}
.notice.inkan{margin-top:48px;grid-template-columns:auto 1fr}
.notice .mini.b{background:var(--ink);color:#fff}
.notice ul{margin:6px 0 0;padding:0;list-style:none;display:flex;flex-wrap:wrap;gap:4px 18px}
.notice ul a{font-size:13.5px;color:var(--ai)}
.ptab{display:grid;grid-template-columns:repeat(3,1fr);gap:40px;margin-top:64px}
.ptab h3{font-size:18px;color:var(--ink);margin:0 0 4px;display:flex;align-items:baseline;gap:10px}
.ptab h3 em{font-family:var(--en);font-style:italic;font-weight:500;font-size:20px;color:var(--cu)}
.ptab table{width:100%;border-collapse:collapse;border-top:1px solid var(--ink);font-size:13.5px;margin-top:10px}
.ptab th,.ptab td{border-bottom:1px solid var(--line);padding:11px 0;vertical-align:top;text-align:left;font-weight:400;line-height:1.6}
.ptab td{text-align:right;white-space:nowrap;padding-left:12px;font-family:var(--serif);font-weight:600;color:var(--ink);font-size:14.5px}
.ptab th small{display:block;font-size:11.5px;color:var(--ai)}
.price thead tr+tr th{font-size:12.5px;color:var(--mute);padding-top:0}
.price td.per{color:var(--mute);font-size:15px;font-weight:500}
.net{border-top:1px solid var(--ink)}
.net>div{display:grid;grid-template-columns:150px 1fr;border-bottom:1px solid var(--line2)}
.net h3{font-size:15px;color:var(--ink);padding:20px 0;margin:0}
.net ul{list-style:none;margin:0;padding:12px 0;display:grid;grid-template-columns:repeat(4,1fr);gap:8px}
.net a,.net .me{display:block;padding:10px 14px;border:1px solid var(--line);text-decoration:none;color:var(--text);background:#fff;line-height:1.55;height:100%}
.net a:hover{border-color:var(--ai)}
.net b{display:block;font-family:var(--serif);font-size:14.5px;font-weight:600;color:var(--ink)}
.net small{display:block;font-size:12px;color:var(--mute)}
.net .me{background:var(--ink);border-color:var(--ink)}
.net .me b{color:#fff}.net .me small{color:#cfd2d7}
.net .me i{font-style:normal;font-size:11px;font-weight:700;color:var(--ink);background:var(--cu-l);padding:1px 7px;margin-left:8px;vertical-align:2px;font-family:var(--sans)}
.pro-msg{margin:28px 0 0;padding:24px 28px;background:var(--snow);border-left:2px solid var(--cu)}
.pro-msg b{display:block;font-family:var(--serif);font-weight:600;color:var(--ink);font-size:16px;margin-bottom:6px}
.pro-msg p{margin:0;font-size:14px}
@media (max-width:1060px){
	.others{grid-template-columns:1fr}
	.others li:first-child{border-left:0}
	.others p{padding:16px 22px}
	.motto{grid-template-columns:1fr;gap:28px}
	.wish{grid-template-columns:1fr;gap:20px}
	.ptab{grid-template-columns:1fr 1fr}
	.net ul{grid-template-columns:1fr 1fr}
	.seg.c4{grid-template-columns:repeat(2,1fr)}
}
@media (max-width:760px){
	.others ul{grid-template-columns:1fr 1fr}
	.others li{border-left:0!important;border-top:1px solid var(--line)}
	.others li:nth-child(even){border-left:1px solid var(--line)!important}
	.others li:nth-child(-n+2){border-top:0}
	.addr{grid-template-columns:1fr}
	.addr>div{padding:24px 20px}
	.addr>div+div{border-left:0;border-top:1px solid var(--line2)}
	.motto blockquote{font-size:24px;padding-left:18px}
	.wish ul{grid-template-columns:1fr}
	.wish li:nth-child(even){padding-left:0;border-left:0}
	.news{grid-template-columns:1fr}
	.news>div{display:block}
	.news>div+div{margin-top:48px}
	.news ul{display:block}
	.news li a{grid-template-columns:1fr;gap:0}
	.notice.inkan{grid-template-columns:1fr}
	.ptab{grid-template-columns:1fr;gap:36px;margin-top:48px}
	.net>div{grid-template-columns:1fr}
	.net h3{padding:16px 0 0}
	.net ul{grid-template-columns:1fr}
	.seg.c4{grid-template-columns:1fr 1fr}
	.seg.c4 span{flex-direction:column;gap:0}
	.pro-msg{padding:20px}
}

.tbl-h{font-size:20px;color:var(--ink);margin:0 0 14px;display:flex;align-items:baseline;gap:14px}
.tbl-h small{font-family:var(--sans);font-size:13px;font-weight:500;color:var(--mute)}
.tbl-wrap{background:#fff;border-top:1px solid var(--ink)}
.syako{width:100%;border-collapse:collapse;font-size:15px}
.syako th,.syako td{border-bottom:1px solid var(--line);padding:16px 18px;text-align:right;white-space:nowrap}
.syako thead th{font-family:var(--serif);font-weight:600;color:var(--ink);font-size:14px;padding:12px 18px}
.syako thead tr+tr th{font-size:12.5px;color:var(--mute);font-weight:500;padding-top:0}
.syako tbody th{text-align:left;font-family:var(--serif);font-weight:600;color:var(--ink)}
.syako thead th:first-child{text-align:left;vertical-align:bottom}
.syako td{font-family:var(--serif);font-size:18px;font-weight:600}
.syako td.per{font-size:15px;color:var(--mute);font-weight:500}
.syako .hl{background:var(--ai-s)}
.syako td.hl{color:var(--ai)}
.syako td.per.hl{color:#5f84a3}
@media (max-width:760px){
	.tbl-h{font-size:18px;flex-direction:column;gap:0}
	.syako th,.syako td{padding:12px 6px;font-size:13px}
	.syako td{font-size:14.5px}
	.syako td.per{font-size:12.5px}
	.syako thead th{font-size:12px;padding:10px 6px;white-space:normal}
	.syako thead tr+tr th{font-size:11px}
}
.sim-out dt small{display:block;font-size:11.5px;color:var(--mute)}
@media (max-width:360px){
	.syako th,.syako td{padding:10px 3px}
	.syako td{font-size:13px}
	.syako td.per{font-size:11.5px}
	.syako tbody th{font-size:12.5px}
}
.others a span{display:flex;align-items:center;gap:6px;white-space:nowrap}
.others a i{font-style:normal;font-family:var(--sans);font-size:10.5px;font-weight:700;color:var(--ai);border:1px solid var(--ai);padding:0 5px;line-height:1.6}
@media (max-width:360px){
	.others a{padding:14px 12px;font-size:13px}
	.others a b{font-size:13.5px}
	.wish li{font-size:13px}
	.faq summary{font-size:14px;padding-right:30px}
	.syako thead th{font-size:11px}
	.syako thead tr+tr th{font-size:10.5px;white-space:nowrap}
}
@media (max-width:360px){
	.wish li{font-size:12.5px;grid-template-columns:18px 1fr;gap:8px}
	.wish li::before{margin-left:2px}
	.case li{font-size:13px}
}
@media (max-width:360px){
	.wish li{padding-right:0}
	.case{padding:28px 16px 24px}
}
@media (max-width:760px){
	.seg.c2 span{flex-direction:column;gap:0;height:62px}
	.net ul{grid-template-columns:1fr 1fr}
	.net a,.net .me{padding:9px 10px}
	.net b{font-size:13.5px}
	.net small{font-size:11px}
}

/* ご依頼実績（地域を選ぶ） */
.rec2{display:grid;grid-template-columns:380px 1fr;border-top:1px solid var(--ink);border-bottom:1px solid var(--line2)}
.rec-side{padding:34px 40px 30px 0;border-right:1px solid var(--line2)}
.rec-big{margin:0 0 24px;text-align:left}
.rec-big b{display:block;font-family:var(--en);font-size:72px;font-weight:600;color:var(--ink);line-height:1.05;margin:2px 0}
.rec-big b small{font-family:var(--serif);font-size:18px;margin-left:4px}
.rec-big>span:last-child{font-size:13.5px;color:var(--mute)}
.rec-tabs{list-style:none;margin:0;padding:0;border-top:1px solid var(--line2)}
.rec-tabs button{display:grid;grid-template-columns:7.5em 1fr 3.4em;align-items:center;gap:14px;width:100%;padding:13px 10px 13px 12px;border:0;border-bottom:1px solid var(--line2);background:none;font:inherit;color:var(--text);cursor:pointer;text-align:left;position:relative;transition:background .15s}
.rec-tabs button::before{content:"";position:absolute;left:0;top:10px;bottom:10px;width:2px;background:transparent}
.rec-tabs button:hover{background:var(--snow)}
.rec-tabs button[aria-selected="true"]{background:var(--ai-s)}
.rec-tabs button[aria-selected="true"]::before{background:var(--ai)}
.rec-tabs button:focus-visible{outline:2px solid var(--cu);outline-offset:-2px}
.r-name{font-family:var(--serif);font-weight:600;font-size:15px;color:var(--ink);white-space:nowrap}
.r-bar{height:4px;background:var(--line)}
.r-bar i{display:block;height:100%;background:var(--cu)}
button[aria-selected="true"] .r-bar i{background:var(--ai)}
.r-n{font-family:var(--en);font-size:22px;font-weight:600;color:var(--ink);text-align:right;line-height:1}
.r-n small{font-family:var(--sans);font-size:11px;font-weight:500;color:var(--mute);margin-left:2px}
.rec-cap{font-size:12.5px;color:var(--mute);margin:18px 0 0;line-height:1.85}
.rec-main{padding:34px 0 30px 44px;display:flex;flex-direction:column;min-height:640px}
.rec-ph{display:flex;align-items:baseline;gap:14px;margin:0 0 18px;padding-bottom:14px;border-bottom:1px solid var(--ink);text-align:left}
.rec-ph b{font-family:var(--serif);font-size:22px;font-weight:600;color:var(--ink)}
.rec-ph em{font-family:var(--en);font-style:italic;font-size:17px;color:var(--cu)}
.rec-ph span{margin-left:auto;font-size:12.5px;color:var(--mute)}
.rec-p ul{list-style:none;margin:0;padding:0;columns:2;column-gap:36px}
.rec-p li{break-inside:avoid;text-align:left;text-align-last:auto;font-size:13.5px;line-height:1.6;padding:9px 0 9px 14px;border-bottom:1px dotted var(--line2);position:relative}
.rec-p li::before{content:"";position:absolute;left:0;top:1.15em;width:5px;height:5px;background:var(--cu);transform:rotate(45deg)}
.rec-more{margin-top:auto;padding-top:28px;display:grid;grid-template-columns:1fr 1fr;gap:28px}
.rec-more .more{margin-top:0}
@media (max-width:1060px){
	.rec2{grid-template-columns:1fr}
	.rec-side{padding:28px 0;border-right:0;border-bottom:1px solid var(--line2)}
	.rec-tabs{display:grid;grid-template-columns:1fr 1fr;column-gap:24px}
	.rec-main{padding:28px 0;min-height:0}
	.rec-p ul{columns:2}
}
@media (max-width:760px){
	.rec-big b{font-size:56px}
	.rec-tabs{grid-template-columns:1fr}
	.rec-tabs button{grid-template-columns:6.8em 1fr 3em;gap:10px;padding:11px 6px 11px 10px}
	.r-name{font-size:14px}
	.rec-ph{flex-wrap:wrap;gap:4px 12px}
	.rec-ph span{margin-left:0;width:100%}
	.rec-p ul{columns:1}
	.rec-more{grid-template-columns:1fr;gap:0}
}
@media (max-width:760px){
	.rec-p li{padding:7px 0 7px 14px;font-size:13px}
}
@media (max-width:760px){
	.others li:last-child{grid-column:span 2}
}

/* ===== 愛媛の案で足した部品 ===== */
@media (min-width:1061px){
	.others{grid-template-columns:repeat(6,1fr)}
	.others ul{display:contents}
	.others li{border-left:1px solid var(--line)}
}
.seg.areas{grid-template-columns:repeat(5,1fr)}
.seg.areas span{height:58px;font-size:14px}
.ptab.two{grid-template-columns:1fr 1fr;gap:56px}
.ptab th small{display:block;font-size:11.5px;color:var(--ai)}
#fee .ptab.two{margin-top:48px}
#flow .notice{margin-top:40px}
.voices{display:grid;grid-template-columns:1fr 1fr 1fr;gap:28px}
.voices figure{margin:0;padding:32px 30px 24px;background:#fff;border-top:2px solid var(--cu);display:flex;flex-direction:column;position:relative}
.voices figure::before{content:"\201C";position:absolute;top:6px;right:22px;font-family:var(--en);font-size:72px;line-height:1;color:var(--cu-l)}
.voices blockquote{margin:0 0 20px;font-family:var(--serif);font-size:17px;line-height:1.9;color:var(--ink);flex:1}
.voices figcaption{font-size:13px;color:var(--mute);padding-top:14px;border-top:1px solid var(--line2)}
.voices figcaption b{font-family:var(--serif);font-size:16px;color:var(--ink);margin-right:8px}
.voices .vlist::before{content:none}
.vh{margin:0 0 12px;font-family:var(--serif);font-weight:600;color:var(--ink);font-size:16px;text-align:left}
.vlist ul{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:1fr 1fr;gap:8px}
.vlist a{display:block;padding:8px 10px;border:1px solid var(--line2);text-decoration:none;color:var(--ink);font-size:13.5px;text-align:center}
.vlist a:hover{border-color:var(--ai);color:var(--ai)}
@media (max-width:1060px){
	.seg.areas{grid-template-columns:repeat(3,1fr)}
	.voices{grid-template-columns:1fr}
}
@media (max-width:760px){
	.seg.areas{grid-template-columns:1fr 1fr}
	.seg.areas span{flex-direction:column;gap:0;height:56px}
	.ptab.two{grid-template-columns:1fr;gap:36px}
}
.sim-out dt small{display:block;font-size:11.5px;color:var(--mute)}

/* ===== 建設業許可の案で足した部品 ===== */
.syako.fee td{font-size:16px}
.syako.fee thead th{text-align:right}
.syako.fee thead th:first-child{text-align:left}
#flow .notice{margin-top:40px}
#merit .motto{margin-bottom:64px}
@media (max-width:760px){
	.syako.fee thead{display:none}
	.syako.fee,.syako.fee tbody{display:block}
	.syako.fee tr{display:grid;grid-template-columns:1fr 1fr 1fr;border-bottom:1px solid var(--line2)}
	.syako.fee tbody th{grid-column:1/-1;background:var(--snow);padding:9px 10px;font-size:13.5px}
	.syako.fee td{text-align:left;padding:8px 6px 10px;font-size:13.5px}
	.syako.fee td::before{display:block;font-family:var(--sans);font-size:10.5px;font-weight:700;color:var(--mute)}
	.syako.fee td:nth-of-type(1)::before{content:"報酬（税抜）"}
	.syako.fee td:nth-of-type(2)::before{content:"手数料"}
	.syako.fee td:nth-of-type(3)::before{content:"合計（税抜）";color:var(--ai)}
}
.str .kind{flex:none}


/* ===== シーガル（産廃）の案で足した部品 ===== */
.nw{white-space:nowrap}
.mist{background:var(--snow)}
.hd{border-bottom:0;box-shadow:0 1px 0 var(--line)}
.hd::after{content:"";position:absolute;left:0;right:0;bottom:-4px;height:4px;background:repeating-linear-gradient(90deg,var(--cu) 0 28px,var(--ink) 28px 56px)}
/* 最初の画面：道路 */
.road{position:relative;background:linear-gradient(180deg,#eef4ec 0%,#f7faf6 100%);overflow:hidden;padding:76px 0 84px}
.road-bg{position:absolute;inset:0;pointer-events:none;background:linear-gradient(105deg,transparent 0 58%,rgba(36,52,77,.06) 58% 100%)}
.road-bg::after{content:"";position:absolute;left:0;right:0;bottom:36px;height:6px;background:repeating-linear-gradient(90deg,rgba(36,52,77,.16) 0 60px,transparent 60px 110px)}
.road-in{position:relative;display:grid;grid-template-columns:1fr 400px;gap:60px;align-items:center}
.road .kicker{border-left:0;padding-left:0}
.road .kicker b{display:inline-block;font-size:19px;letter-spacing:.12em;padding:4px 12px;background:var(--ink);color:#fff;margin-top:4px}
.road h1{font-size:44px;line-height:1.55;margin:0 0 24px;color:var(--ink);letter-spacing:.05em}
.road h1 em{font-style:normal;color:var(--ai);background:linear-gradient(transparent 70%,rgba(226,168,18,.45) 70%)}
.free{list-style:none;margin:0 0 28px;padding:0;display:flex;gap:10px;flex-wrap:wrap}
.free li{display:flex;align-items:baseline;gap:6px;padding:8px 16px;border:1.5px solid var(--ai);border-radius:999px;background:#fff;font-size:14px;font-weight:700;color:var(--ink)}
.free b{color:var(--ai);font-size:15px}
.diag{background:#fff;padding:34px 32px 28px;border-radius:12px;box-shadow:0 26px 60px -32px rgba(36,52,77,.55);position:relative;border-top:8px solid var(--cu)}
.diag-h{margin:0;font-family:var(--serif);font-size:20px;font-weight:700;color:var(--ink);text-align:left}
.diag-h .en-s{color:var(--ai)}
.diag-big{display:flex;align-items:center;gap:12px;margin:14px 0 8px}
.diag-big b{font-family:var(--en);font-size:96px;line-height:.9;color:var(--ai);font-weight:600}
.diag-big span{font-family:var(--serif);font-size:22px;font-weight:700;color:var(--ink);line-height:1.4}
.diag-p{font-size:14px;line-height:1.9;color:#3a4350;margin:0 0 20px}
.diag-who{display:flex;align-items:center;gap:14px;padding-top:18px;border-top:1px dashed var(--line2)}
.diag-who img{width:56px;height:56px;border-radius:50%;object-fit:cover}
.diag-who p{margin:0;text-align:left}
.diag-who b{display:block;font-family:var(--serif);font-size:18px;letter-spacing:.14em;color:var(--ink)}
.diag-who small{font-size:12px;color:var(--mute)}
/* 4つの基準 */
.kj{display:grid;grid-template-columns:1fr 360px;gap:0;box-shadow:0 0 0 1px var(--line)}
.kj-list{list-style:none;margin:0;padding:0;background:#fff}
.kj-list li+li{border-top:1px solid var(--line)}
.kj-list label{display:grid;grid-template-columns:28px 44px 1fr;gap:14px;align-items:start;padding:22px 26px;cursor:pointer}
.kj-list input{width:22px;height:22px;margin:4px 0 0;accent-color:var(--ai)}
.kj-n{display:flex;align-items:center;justify-content:center;width:44px;height:44px;border-radius:50%;background:var(--ai-s);color:var(--ai);font-family:var(--en);font-size:26px;font-weight:600}
.kj-list label>span:last-child{font-size:14px;line-height:1.85;color:#3a4350}
.kj-list b{display:block;font-family:var(--serif);font-size:17px;color:var(--ink);margin-bottom:4px}
.kj-list input:checked~.kj-n{background:var(--ai);color:#fff}
.kj-res{background:var(--leaf);color:#fff;padding:34px 30px;display:flex;flex-direction:column}
.kj-res .en-s{color:var(--cu-l)}
.kj-res .meter{display:flex;align-items:baseline;gap:8px;margin:6px 0 10px}
.kj-res .meter b{font-family:var(--en);font-size:64px;line-height:1;font-weight:600}
.kj-res .meter span{font-family:var(--en);font-size:28px;color:#d6ebd8}
.kj-res .bar{height:6px;background:rgba(255,255,255,.25);margin:0 0 18px}
.kj-res .bar i{display:block;height:100%;width:0;background:var(--cu-l);transition:width .3s}
.kj-msg{font-family:var(--serif);font-size:16px;line-height:1.8;margin:0 0 12px;text-align:left}
.kj-sub{font-size:13px;color:#d6ebd8;margin:0 0 20px;flex:1}
.kj-res .btn-main{background:var(--ink)}
/* 報酬額のカード */
.ft-tabs{display:flex;justify-content:center;gap:0;margin:0 auto 28px;width:max-content;max-width:100%;border:1.5px solid var(--ink);border-radius:999px;overflow:hidden}
.ft-tabs button{appearance:none;border:0;background:#fff;color:var(--ink);font:700 15px var(--sans);padding:12px 26px;cursor:pointer;letter-spacing:.04em}
.ft-tabs button[aria-selected="true"]{background:var(--ink);color:#fff}
.fcards{display:grid;grid-template-columns:repeat(3,1fr);gap:20px}
.fcard{background:#fff;padding:28px 28px 24px;border-radius:10px;box-shadow:0 0 0 1px var(--line);display:grid;grid-template-rows:subgrid;grid-row:span 4;row-gap:0}
.fc-k{margin:0;display:inline-flex;justify-self:start;font-family:var(--serif);font-weight:700;font-size:15px;color:#fff;background:var(--ai);padding:2px 14px;border-radius:999px}
.fcard:nth-child(2) .fc-k{background:var(--ink)}
.fcard:nth-child(3) .fc-k{background:var(--cu-d)}
.fc-t{font-size:15px;color:var(--ink);margin:14px 0 16px;line-height:1.6}
.fcard dl{display:grid;grid-template-columns:1fr auto;gap:8px 12px;margin:0;padding:14px 0;border-top:1px solid var(--line);border-bottom:1px solid var(--line);font-size:14px}
.fcard dt{color:var(--mute)}
.fcard dd{margin:0;text-align:right;font-family:var(--serif);font-weight:600}
.fc-sum{display:flex;align-items:baseline;justify-content:flex-end;gap:6px;margin:16px 0 0}
.fc-sum small{margin-right:auto;font-size:13px;font-weight:700;color:var(--ink)}
.fc-sum b{font-family:var(--en);font-size:42px;font-weight:600;color:var(--ai);line-height:1}
.fc-sum span{font-family:var(--serif);font-size:15px;font-weight:600}
/* 建設業の皆さまへ */
.kb{display:grid;grid-template-columns:1.2fr 1fr;gap:60px;align-items:center;padding:48px 52px;background:var(--ink);color:#fff;border-radius:12px;position:relative;overflow:hidden}
.kb::after{content:"";position:absolute;right:-60px;top:-60px;width:220px;height:220px;border-radius:50%;background:rgba(226,168,18,.18)}
.kb .en{color:var(--cu-l)}
.kb h2{font-size:28px;color:#fff;margin:8px 0 18px;line-height:1.6}
.kb p{color:#d1d9e4;font-size:15px;margin:0 0 24px}
.kb .btn-sub{color:#fff;border-color:rgba(255,255,255,.7);min-width:0}
.kb .btn-sub small{color:#c3cfdd}
.kb .btn-sub:hover{background:#fff;color:var(--ink)}
.kb-r{list-style:none;margin:0;padding:0;display:grid;gap:12px;position:relative;z-index:1}
.kb-r li{display:flex;flex-direction:column;padding:16px 20px;background:rgba(255,255,255,.07);border-left:4px solid var(--cu)}
.kb-r li:last-child{border-left-color:#7cbf4f}
.kb-r b{font-family:var(--serif);font-size:17px}
.kb-r span{font-size:13px;color:#c3cfdd}
/* 必要書類 */
.docs{max-width:920px;margin:0 auto;display:grid;gap:10px}
.docs details{background:#fff;border-radius:8px;box-shadow:0 0 0 1px var(--line)}
.docs summary{list-style:none;cursor:pointer;display:flex;align-items:baseline;gap:14px;padding:18px 54px 18px 24px;position:relative}
.docs summary::-webkit-details-marker{display:none}
.docs summary b{font-family:var(--serif);font-size:16.5px;color:var(--ink)}
.docs summary span{font-size:12.5px;color:var(--ai);font-weight:700}
.docs summary::after{content:"＋";position:absolute;right:22px;top:50%;transform:translateY(-50%);font-size:18px;color:var(--ai)}
.docs details[open] summary::after{content:"−"}
.docs ul{margin:0;padding:0 24px 20px 46px;font-size:14px;line-height:1.9;color:#3a4350}
/* 信頼のサポート */
.sp6{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(3,1fr);gap:20px}
.sp6 li{display:flex;flex-direction:column;padding:26px 26px 24px;background:#fff;border-radius:10px;box-shadow:0 0 0 1px var(--line);position:relative}
.sp6 em{font-family:var(--en);font-style:italic;font-size:30px;line-height:1;color:var(--cu-d)}
.sp6 b{font-family:var(--serif);font-size:17px;color:var(--ink);margin:10px 0 8px;line-height:1.55}
.sp6 span{font-size:14px;color:#3a4350;line-height:1.85}
.gd.g3{grid-template-columns:repeat(3,1fr)}
.career{grid-template-columns:repeat(4,1fr)}
/* 色の仕上げ */
.sec-hd h2::after{width:52px;height:4px;background:repeating-linear-gradient(90deg,var(--cu) 0 13px,var(--ink) 13px 26px)}
.btn-main{background:var(--ai)}
.btn-main:hover{background:var(--ink)}
.btn-main small{color:#fff3c4}
.contact{background:var(--leaf)}
.contact .en{color:var(--cu-l)}
.contact p{color:#e3f1e5}
.ft{background:#1b283c}
.sp-bar a:first-child{background:var(--ai)}
.sp-bar a+a{background:var(--ink)}
@media (max-width:1060px){
	.road-in,.kj,.kb{grid-template-columns:1fr}
	.diag{max-width:520px}
	.kb{gap:32px;padding:40px 36px}
	.fcards,.sp6{grid-template-columns:1fr 1fr}
	.gd.g3{grid-template-columns:1fr 1fr}
}
@media (max-width:760px){
	.road{padding:44px 0 60px}
	.road h1{font-size:28px}
	.road .kicker b{font-size:15px;letter-spacing:.04em}
	.kj-list label{grid-template-columns:24px 36px 1fr;gap:10px;padding:18px 16px}
	.kj-n{width:36px;height:36px;font-size:21px}
	.fcards,.sp6,.gd.g3{grid-template-columns:1fr}
	.fcard{grid-row:auto;display:block}
	.kb{padding:32px 22px}
	.kb h2{font-size:22px}
	.ft-tabs button{padding:10px 14px;font-size:13.5px}
	.career{grid-template-columns:1fr 1fr}
	.docs summary{flex-direction:column;gap:2px;padding:16px 46px 16px 18px}
	.docs ul{padding:0 16px 18px 34px}
}
@media (max-width:360px){
	.logo strong{font-size:12px;letter-spacing:0}
	.logo small{display:none}
	.diag{padding:28px 20px 22px}
	.diag-big b{font-size:76px}
}
.kb::after{right:-90px;top:-110px;background:rgba(226,168,18,.12)}
@media (max-width:760px){
	.logo strong{font-size:12.5px;letter-spacing:.02em}
}
@media (max-width:360px){
	.logo strong{font-size:11px;letter-spacing:0}
}


/* ===== Y&Y の案で足した部品 ===== */
.en,.en-s{font-style:normal;text-transform:uppercase;letter-spacing:.14em;font-weight:500}
.en{font-size:15px}.en-s{font-size:11.5px}
.mist{background:var(--snow)}
.hd::after{height:3px;bottom:-3px;background:linear-gradient(90deg,var(--ink),var(--cu))}
/* 最初の画面：地球 */
.earth{position:relative;background:linear-gradient(180deg,#f4f4fb 0%,#fff 100%);overflow:hidden;padding:72px 0 0}
.earth-bg{position:absolute;inset:0;pointer-events:none}
.earth-bg .orb{position:absolute;right:-180px;top:-160px;width:620px;height:620px;border-radius:50%;background:radial-gradient(circle at 35% 35%,#4c47a0 0%,#2a2760 55%,#1c1a45 100%);opacity:.95}
.earth-bg .orb::after{content:"";position:absolute;inset:-26px;border-radius:50%;border:2px solid rgba(159,208,60,.6)}
.earth-bg .orb2{position:absolute;right:420px;top:70px;width:46px;height:46px;border-radius:50%;background:var(--cu);opacity:.85}
.earth-in{position:relative;display:grid;grid-template-columns:1fr 400px;gap:60px;align-items:center}
.earth .kicker{border-left:0;padding-left:0}
.earth .kicker .en-s{color:var(--cu-d)}
.earth .kicker b{display:inline-block;font-size:18px;letter-spacing:.2em;color:var(--ink);padding:2px 0 6px;border-bottom:3px solid var(--cu)}
.earth h1{font-size:44px;line-height:1.55;margin:18px 0 24px;color:var(--ink);letter-spacing:.04em}
.earth h1 em{font-style:normal;color:var(--ai)}
.earth .lead{max-width:600px}
.ys{background:#fff;border-radius:16px;padding:30px 30px 26px;box-shadow:0 30px 60px -30px rgba(28,26,69,.6)}
.ys-top{display:flex;gap:16px;align-items:center;padding-bottom:18px;border-bottom:1px solid var(--line)}
.ys-top img{width:84px;height:84px;border-radius:50%;object-fit:cover;flex:none;box-shadow:0 0 0 3px var(--cu)}
.ys-top p{margin:0;text-align:left}
.ys-top .en-s{color:var(--ai)}
.ys-top b{display:block;font-family:var(--serif);font-size:23px;letter-spacing:.16em;color:var(--ink);line-height:1.4}
.ys-top small{font-size:12px;color:var(--mute)}
.ys-h{font-family:var(--serif);font-weight:700;font-size:15.5px;color:var(--ink);margin:16px 0 10px;text-align:left;line-height:1.6}
.ys-list{list-style:none;margin:0;padding:0;display:grid;gap:12px}
.ys-list li{display:grid;grid-template-columns:34px 1fr;gap:8px}
.ys-list em{font-family:var(--en);font-style:normal;font-weight:600;font-size:20px;color:var(--cu-d);line-height:1.3}
.ys-list span{font-size:13px;line-height:1.75;color:#45455e}
.ys-list b{display:block;font-family:var(--serif);font-size:15.5px;color:var(--ink)}
.earth .facts{margin-top:56px}
.facts b{font-family:var(--en);font-weight:500}
.facts li{border-top:3px solid var(--ink)}
.facts li:nth-child(even){border-top-color:var(--cu)}
/* デンジャラスゾーン */
.night{background:var(--leaf);color:#fff}
.night .sec-hd h2{color:#fff}.night .sec-hd p{color:#cfcde8}.night .en{color:var(--cu)}
.dz{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(2,1fr);gap:12px;counter-reset:dz}
.dz li{counter-increment:dz;display:grid;grid-template-columns:52px 1fr;align-items:center;gap:14px;padding:16px 20px;background:rgba(255,255,255,.06);border:1px solid rgba(255,255,255,.14);border-radius:10px;font-size:15px;font-weight:500;line-height:1.6}
.dz li::before{content:counter(dz,decimal-leading-zero);display:flex;align-items:center;justify-content:center;width:44px;height:44px;border-radius:50%;background:var(--cu);color:var(--ink);font-family:var(--en);font-weight:600;font-size:17px}
.dz-note{margin-top:28px;padding:26px 30px;background:#fff;color:var(--text);border-radius:12px;display:grid;grid-template-columns:260px 1fr;gap:28px;align-items:center}
.dz-note b{font-family:var(--serif);font-size:21px;color:var(--ink);line-height:1.6}
.dz-note p{margin:0;font-size:14.5px}
/* 料金プラン */
.pl{display:grid;grid-template-columns:1.15fr 1fr;gap:24px;align-items:stretch}
.pl-tbl{background:#fff;border-radius:12px;box-shadow:0 0 0 1px var(--line);overflow:hidden}
.pl-tbl table{width:100%;border-collapse:collapse;font-size:14px}
.pl-tbl th,.pl-tbl td{padding:12px 16px;border-bottom:1px solid var(--line);text-align:left}
.pl-tbl thead th{background:var(--ink);color:#fff;font-weight:700;font-size:13.5px;text-align:center}
.pl-tbl thead th:first-child{text-align:left}
.pl-tbl thead th.pr{background:var(--ai)}
.pl-tbl td{text-align:center;font-weight:700;color:var(--ink);width:24%}
.pl-tbl td.pr{background:var(--ai-s)}
.pl-tbl td.x{color:var(--mute);font-weight:500;font-size:12.5px}
.pl-tbl tbody th{font-weight:500;color:#3a3a52}
.pl-tbl tr.sum th,.pl-tbl tr.sum td{border-bottom:0;font-family:var(--serif);font-size:15px;padding:16px}
.pl-sim{background:#fff;border-radius:12px;box-shadow:0 0 0 1px var(--line);padding:28px 30px;display:flex;flex-direction:column}
.pl-sim .q:first-child{margin-top:0}
.pl-out{display:grid;grid-template-columns:1fr auto;gap:8px 12px;margin:24px 0 0;padding:16px 0;border-top:1px solid var(--line);border-bottom:1px solid var(--line);font-size:14px}
.pl-out dd{margin:0;text-align:right;font-family:var(--en);font-weight:500;font-size:15.5px}
.pl-sum{display:flex;justify-content:space-between;align-items:baseline;margin:16px 0 4px}
.pl-sum small{font-size:13.5px;font-weight:700;color:var(--ink)}
.pl-sum b{font-family:var(--en);font-weight:600;font-size:38px;color:var(--ai);white-space:nowrap}
.pl-note{font-size:12.5px;color:var(--mute);margin:0}
/* 5つのこと */
.fv{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(5,1fr);gap:14px}
.fv li{background:#fff;border-radius:12px;padding:24px 20px;box-shadow:0 0 0 1px var(--line);display:flex;flex-direction:column}
.fv li.hl{background:var(--ink);color:#fff}
.fv em{font-family:var(--en);font-style:normal;font-weight:600;font-size:28px;color:var(--cu-d);line-height:1}
.fv li.hl em{color:var(--cu)}
.fv b{font-family:var(--serif);font-size:16px;color:var(--ink);margin:12px 0 8px;line-height:1.5}
.fv li.hl b{color:#fff}
.fv span{font-size:13.5px;line-height:1.8;color:#45455e}
.fv li.hl span{color:#d8d6ee}
.kens{margin-top:24px;padding:22px 26px;border:2px dashed var(--line2);border-radius:12px;background:#fff}
.kens-h{margin:0 0 10px;font-family:var(--serif);font-weight:700;color:var(--ink);text-align:left}
.kens ul{list-style:none;margin:0;padding:0;display:flex;flex-wrap:wrap;gap:8px}
.kens li{font-size:13.5px;font-weight:700;color:var(--ai);background:var(--ai-s);padding:6px 12px;border-radius:999px}
/* 流れ */
@media (min-width:1061px){
	.flow.f5{grid-template-columns:repeat(5,1fr)}
	.flow.f5 li:not(:nth-child(4n+1)){border-left:0}
	.flow.f5 li+li{border-left:1px solid var(--line)}
}
.flow li.key{background:var(--ai-s)}
.flow li.end{background:var(--leaf)}
.hurry{margin-top:28px;display:grid;grid-template-columns:auto 1fr;gap:20px;align-items:center;padding:20px 24px;background:#fffbe6;border-left:5px solid var(--cu);border-radius:0 10px 10px 0}
.hurry-b{font-family:var(--serif);font-weight:700;color:#fff;background:var(--ink);padding:8px 14px;border-radius:6px;white-space:nowrap}
.hurry p{margin:0;font-size:14.5px}
.hurry p b{display:block;font-family:var(--serif);font-size:17px;color:var(--ink)}
/* そのほかの料金 */
.of{display:grid;grid-template-columns:repeat(3,1fr);gap:20px}
.of-col{background:#fff;border-radius:12px;box-shadow:0 0 0 1px var(--line);padding:24px 24px 20px;display:flex;flex-direction:column}
.of-h{margin:0 0 12px;font-family:var(--serif);font-weight:700;font-size:17px;color:var(--ink);text-align:left;padding-bottom:10px;border-bottom:3px solid var(--cu)}
.oft{width:100%;border-collapse:collapse;font-size:14px}
.oft th,.oft td{padding:11px 0;border-bottom:1px solid var(--line);vertical-align:top}
.oft th{text-align:left;font-weight:700;color:var(--ink)}
.oft th small{display:block;font-weight:400;font-size:12px;color:var(--mute)}
.oft td{text-align:right;font-family:var(--en);font-weight:500;white-space:nowrap;padding-left:10px}
.of-n{font-size:12.5px;color:var(--mute);margin:12px 0 0;flex:1;display:flex;align-items:flex-end}
/* 選び方 */
.ch{display:grid;grid-template-columns:repeat(3,1fr);gap:20px}
.ch article{padding:26px 26px 22px;border-radius:12px;background:#fff;box-shadow:0 0 0 1px var(--line);position:relative;display:flex;flex-direction:column}
.ch-k{align-self:flex-start;font-size:12.5px;font-weight:700;color:#fff;background:#c44536;padding:3px 12px;border-radius:999px}
.ch article:last-child .ch-k{background:var(--ink)}
.ch h3{font-size:17.5px;color:var(--ink);margin:12px 0 10px;line-height:1.6}
.ch p{font-size:14px;margin:0;color:#45455e}
/* お客様の声 */
.vc{display:grid;grid-template-columns:1fr 1fr;gap:20px}
.vc figure{margin:0;background:#fff;border-radius:12px;padding:30px 30px 24px;box-shadow:0 0 0 1px var(--line);display:flex;flex-direction:column;position:relative}
.vc figure::before{content:"“";position:absolute;left:22px;top:-6px;font-family:var(--en);font-size:80px;line-height:1;color:var(--cu)}
.vc blockquote{margin:0 0 18px;font-size:14.5px;line-height:1.95;color:#33334a;flex:1}
.vc figcaption{padding-top:14px;border-top:1px solid var(--line)}
.vc figcaption b{display:block;font-family:var(--serif);color:var(--ink)}
.vc figcaption span{font-size:12.5px;color:var(--mute)}
/* 代表者 */
.book{margin:24px 0 0;display:grid;grid-template-columns:80px 1fr;gap:12px;align-items:center}
.book img{width:80px;height:auto;box-shadow:0 6px 16px -8px rgba(0,0,0,.4)}
.book figcaption{font-size:12.5px;color:var(--mute);line-height:1.7}
.motto5{list-style:none;margin:22px 0 0;padding:0;display:flex;flex-wrap:wrap;gap:8px}
.motto5 li{font-family:var(--serif);font-weight:600;font-size:14px;color:var(--ink);padding:8px 14px;border:1.5px solid var(--ink);border-radius:999px}
.motto5 li:nth-child(odd){background:var(--ink);color:#fff}
/* 色の仕上げ */
.sec-hd h2::after{width:48px;height:4px;border-radius:2px;background:linear-gradient(90deg,var(--ink),var(--cu))}
.btn-main{background:var(--ink)}
.btn-main:hover{background:var(--ai)}
.btn-main small{color:var(--cu-l)}
.contact{background:var(--leaf)}
.contact .en{color:var(--cu)}
.contact p{color:#d8d6ee}
.contact .btn-main{background:var(--cu);color:var(--ink)}
.contact .btn-main small{color:var(--ink)}
.ft{background:#141233}
.sp-bar a:first-child{background:var(--ink)}
.sp-bar a+a{background:var(--ai)}
.kj-res{background:var(--leaf)}
.kj-res .btn-main{background:var(--cu);color:var(--ink)}
.kj-res .btn-main small{color:var(--ink)}
.kj-list .ln{display:inline-block;margin-top:4px;font-size:13px}
.kj-n{font-family:var(--en)}
@media (max-width:1060px){
	.earth-in,.pl{grid-template-columns:1fr}
	.ys{max-width:520px}
	.earth-bg .orb{width:420px;height:420px;right:-200px;top:-140px}
	.earth-bg .orb2{display:none}
	.fv{grid-template-columns:repeat(2,1fr)}
	.of,.ch{grid-template-columns:1fr 1fr}
}
@media (max-width:760px){
	.earth{padding-top:44px}
	.earth h1{font-size:27px}
	.earth .kicker b{font-size:15px;letter-spacing:.08em}
	.earth-bg .orb{width:260px;height:260px;right:-150px;top:-90px;opacity:.9}
	.dz{grid-template-columns:1fr}
	.dz li{grid-template-columns:40px 1fr;padding:14px 14px;font-size:14px}
	.dz li::before{width:36px;height:36px;font-size:14px}
	.dz-note{grid-template-columns:1fr;gap:10px;padding:22px 20px}
	.pl-tbl th,.pl-tbl td{padding:10px 8px;font-size:12.5px}
	.pl-sim{padding:24px 18px}
	.fv,.of,.ch,.vc{grid-template-columns:1fr}
	.hurry{grid-template-columns:1fr;gap:10px}
	.hurry-b{justify-self:start}
	.logo strong{font-size:12.5px;letter-spacing:.02em}
}
@media (max-width:360px){
	.logo strong{font-size:11px;letter-spacing:0}
	.ys{padding:24px 18px 20px}
	.ys-top img{width:64px;height:64px}
}
.en,.en-s{color:var(--ai)}
.night .en,.contact .en,.kj-res .en-s,.flow li.end em{color:var(--cu)}
.flow em{font-style:normal;color:var(--ai)}
.name small{font-style:normal;color:var(--ai)}
.pl-tbl table{height:100%}
.pl-tbl thead th,.pl-tbl td,.pl-sum small{white-space:nowrap}
.dz li{font-size:14.5px}
@media (max-width:760px){
	.pl-tbl th,.pl-tbl td{font-size:12px;padding:9px 6px}
	.pl-tbl td.x{font-size:11px}
	.pl-tbl tr.sum th,.pl-tbl tr.sum td{font-size:12.5px;padding:12px 6px}
}
@media (max-width:360px){
	.kens li{font-size:12.5px}
	.oft{font-size:13px}.oft th small{font-size:11px}
	.motto5 li{font-size:12.5px;white-space:nowrap;padding:7px 11px}
	.pl-sum small{font-size:12.5px}
}
@media (max-width:760px){
	.pl-sum{flex-wrap:wrap}
	.pl-sum b{font-size:30px}
}
@media (max-width:360px){
	.pl-tbl tbody th{font-size:11.5px}
}
.vc figcaption,.vc figcaption>span{text-align:left;display:block}
.dz li{text-align:left}
@media (max-width:360px){
	.pl-tbl tbody th{font-size:11px}
}

/* ===== 落ち着いた色に組み直し（10-28 オーナー「目がチカチカする・プロフェッショナルに」） ===== */
:root{
	--ink:#27304a;--ink2:#36405e;--ai:#5d7564;--ai-s:#eef1ec;
	--cu:#a8895a;--cu-d:#8a6d40;--cu-l:#d9c6a2;--snow:#f6f4ef;--line:#e4e1d9;--line2:#d2cdc1;--text:#24272e;--mute:#676b73;
	--leaf:linear-gradient(160deg,#2e3854 0%,#27304a 60%,#20283e 100%);
}
body{background:#fff}
.en,.en-s{color:var(--cu-d);letter-spacing:.18em}
.night .en,.contact .en,.kj-res .en-s,.flow li.end em{color:var(--cu-l)}
.hd::after{height:1px;bottom:-1px;background:var(--line2)}
.hd{border-bottom:0}
/* 最初の画面 */
.earth{background:var(--snow)}
.earth-bg .globe{position:absolute;right:-90px;top:-60px;width:560px;height:560px;fill:none;stroke:#cfc7b6;stroke-width:1}
.earth .kicker b{border-bottom:1px solid var(--cu);letter-spacing:.24em;font-weight:600}
.earth h1 em{color:var(--ink);background:linear-gradient(transparent 78%,rgba(168,137,90,.32) 78%)}
.ys{border-radius:2px;box-shadow:0 1px 0 var(--line2),0 24px 50px -34px rgba(39,48,74,.45);border-top:3px solid var(--ink)}
.ys-top img{box-shadow:0 0 0 1px var(--line2);border:3px solid #fff}
.ys-top .en-s,.ys-list em{color:var(--cu-d)}
.facts li{border-top:1px solid var(--ink)}
.facts li:nth-child(even){border-top-color:var(--ink)}
.facts b{color:var(--ink)}
/* チェック */
.kj{box-shadow:0 0 0 1px var(--line)}
.kj-n{background:transparent;border:1px solid var(--line2);color:var(--ink)}
.kj-list input:checked~.kj-n{background:var(--ink);border-color:var(--ink)}
.kj-list input{accent-color:var(--ink)}
.kj-res .btn-main{background:#fff;color:var(--ink)}
.kj-res .btn-main small{color:var(--mute)}
.kj-res .bar i{background:var(--cu-l)}
/* デンジャラスゾーン */
.dz li{border-radius:2px;background:rgba(255,255,255,.04);border-color:rgba(255,255,255,.12)}
.dz li::before{background:transparent;border:1px solid var(--cu-l);color:var(--cu-l);font-weight:500}
.dz-note{border-radius:2px;border-left:3px solid var(--cu)}
/* プラン */
.pl-tbl,.pl-sim{border-radius:2px}
.pl-tbl thead th.pr{background:var(--ai)}
.pl-tbl td.pr{background:var(--ai-s)}
.pl-sum b{color:var(--ink)}
.seg input:checked+span{border-color:var(--ink);background:#f1f2f6;color:var(--ink);box-shadow:inset 0 0 0 1px var(--ink)}
.q b{color:var(--cu-d)}
/* 5つのこと・料金・選び方・声 */
.fv li,.of-col,.ch article,.vc figure,.kens{border-radius:2px}
.fv em{color:var(--cu-d)}
.fv li.hl em{color:var(--cu-l)}
.kens{border:1px solid var(--line2)}
.kens li{background:#fff;color:var(--ink);border:1px solid var(--line2);border-radius:2px;font-weight:500}
.of-h{border-bottom:1px solid var(--ink)}
.ch-k{border-radius:2px;background:var(--ink)}
.ch article:last-child .ch-k{background:var(--cu-d)}
.vc figure::before{color:var(--cu-l)}
.hurry{background:#fbf8f1;border-left:3px solid var(--cu);border-radius:0}
.hurry-b{border-radius:2px}
.flow li.key{background:var(--ai-s)}
.motto5 li{border:1px solid var(--line2);border-radius:2px;font-weight:500}
.motto5 li:nth-child(odd){background:#fff;color:var(--ink)}
.sec-hd h2::after{width:40px;height:1px;background:var(--cu)}
/* ボタン・お問い合わせ */
.btn-main{background:var(--ink)}
.btn-main:hover{background:var(--ink2)}
.btn-main small{color:var(--cu-l)}
.contact .btn-main{background:#fff;color:var(--ink)}
.contact .btn-main small{color:var(--cu-d)}
.ft{background:#1b2133}
.sp-bar a+a{background:var(--cu-d)}
@media (max-width:1060px){
	.earth-bg .globe{width:420px;height:420px;right:-160px;top:-80px}
}
@media (max-width:760px){
	.earth-bg .globe{width:260px;height:260px;right:-120px;top:-60px}
}
.pl-tbl thead th:first-child{white-space:normal}

/* 数字の帯（2026-10-29 オーナー「フォントがダサい」）：数字は Cormorant Garamond、見出しはその斜体、単位・説明は明朝 */
.facts li{padding:28px 18px 26px}
.facts .en-s{font-family:"Cormorant Garamond",serif;font-style:italic;font-weight:500;font-size:18px;letter-spacing:.04em;text-transform:none;color:var(--cu-d);line-height:1.2}
.facts .en-s::after{content:"";display:block;width:28px;height:1px;background:var(--cu);margin:10px auto 0}
.facts b{font-family:"Cormorant Garamond",serif;font-weight:600;font-size:66px;line-height:1;letter-spacing:.01em;margin:10px 0 8px;font-variant-numeric:lining-nums}
.facts b small{font-family:var(--serif);font-size:17px;font-weight:600;margin-left:5px;letter-spacing:.04em}
.facts b.ja{font-family:var(--serif);font-size:46px;letter-spacing:.08em;line-height:56px;height:56px;margin:14px 0 14px}
.facts b.ja small{margin-left:2px}
.facts span:last-child{font-family:var(--serif);font-size:14px;font-weight:500;letter-spacing:.06em;color:var(--mute)}
@media (max-width:720px){
	.facts .en-s{font-size:15px}
	.facts b{font-size:50px}
	.facts b.ja{font-size:36px;line-height:44px;height:44px;margin:12px 0 12px}
	.facts b small{font-size:14px}
	.facts span:last-child{font-size:12px;letter-spacing:.02em}
}

/* 2026-11-01 解説の6分類ごとの「記事をすべて見る」（斉藤先生のご依頼）。横に並ぶ列のボタンの高さをそろえる（subgrid） */
.gd{grid-auto-rows:auto}
.gd-col{display:grid;grid-row:span 3;grid-template-rows:subgrid;row-gap:0;align-content:start}
.gd-all{margin-top:16px;align-self:start}
.gd-all summary{list-style:none;cursor:pointer;display:flex;align-items:center;justify-content:space-between;gap:10px;padding:12px 14px 12px 16px;background:var(--snow);border:1px solid var(--line2);color:var(--ink);font-family:var(--serif);font-weight:600;font-size:14px;line-height:1.6;transition:border-color .2s,background .2s}
.gd-all summary::-webkit-details-marker{display:none}
.gd-all summary:hover{border-color:var(--ai);background:#fff}
.gd-all summary::after{content:"";flex:none;width:7px;height:7px;margin:0 4px 3px 0;border-right:1.5px solid var(--cu-d);border-bottom:1.5px solid var(--cu-d);transform:rotate(45deg);transition:transform .2s}
.gd-all[open] summary::after{transform:rotate(-135deg);margin-bottom:-3px}
.gd-all[open] summary{background:#fff;border-color:var(--ink)}
.gd-all__t{flex:1;text-align:left}
.gd .gd-all__n{display:inline;flex:none;margin:0 0 0 auto;font-family:var(--en);font-weight:500;font-size:13px;color:var(--cu-d);letter-spacing:.04em}
.gd-all ol{list-style:none;margin:0;padding:6px 0 0;counter-reset:ga;border:1px solid var(--line2);border-top:0;background:#fff}
.gd-all ol li{counter-increment:ga}
.gd .gd-all li a{display:flex;gap:10px;padding:9px 14px;border-top:1px solid var(--line);font-size:14px;line-height:1.7;color:var(--text)}
.gd .gd-all li:first-child a{border-top:0}
.gd .gd-all li a::before{content:counter(ga);flex:none;min-width:1.6em;font-family:var(--en);font-size:12.5px;color:var(--mute);line-height:1.95}
.gd .gd-all li a::after{display:none}
.gd .gd-all li a:hover{color:var(--ai);background:var(--ai-s)}
.gd .gd-all summary span{display:inline;margin:0;font-size:inherit;line-height:inherit;color:inherit}
.gd .gd-all summary .gd-all__n{font-family:var(--en);font-weight:500;font-size:13px;color:var(--cu-d)}
.gd-all summary{min-height:72px}
.vc figcaption .nw{display:inline}
@media (max-width:880px){.vc{grid-template-columns:1fr}} /* タブレットもお客様の声は1列（地域・業種／許可の行を1行に。2026-11-01 オーナー） */
