/* IMJ サイト v3 — ゼロベース再設計（2026-10-13 CEO「前のワイヤーを引っ張りすぎ・ゼロから」）
   トーン=IIJエンジニアリング採用サイト／部品=Ready Crew。モックCSSには依存しない単独スタイル */
:root{
 --red:#e8203f;--orange:#ff5233;--grad:linear-gradient(90deg,#e8203f,#ff5233);--grad-d:linear-gradient(135deg,#ff6a3d,#e8203f);
 --ink:#1f2328;--sub:#5b6470;--mute:#8a929b;--line:#e3e7eb;--panel:#f2f4f6;--dark:#222;--dark2:#2e3236;--white:#fff;
 --jp:"Noto Sans JP",system-ui,sans-serif;--en:"Outfit","Noto Sans JP",sans-serif;--script:"Nothing You Could Do",cursive;
 --w:1320px;--g:40px;--r:24px;--r-s:10px;--band:120px;
}
*{box-sizing:border-box;margin:0;padding:0}
html{scroll-behavior:smooth;-webkit-text-size-adjust:100%}
body{font-family:var(--jp);color:var(--ink);background:#fff;font-size:16px;line-height:1.9;letter-spacing:.04em;overflow-x:hidden}
a{color:inherit;text-decoration:none}
main{overflow-x:clip}
img{max-width:100%;display:block}
ul,ol{list-style:none}
.in{width:min(var(--w),100% - var(--g)*2);margin-inline:auto}
.en{font-family:var(--en);letter-spacing:.02em}
.vh{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0)}

/* ワイヤー用ツールバー */
.wt{position:relative;z-index:80;display:flex;align-items:center;gap:12px;flex-wrap:wrap;padding:7px 24px;background:#16191c;color:#cfd5db;font-size:12px}
.wt b{color:#fff;font-weight:700}
.wt .seg{display:flex;gap:6px}
.wt button{font:inherit;color:#cfd5db;background:none;border:1px solid #4b535b;border-radius:99px;padding:2px 12px;cursor:pointer}
.wt button[aria-pressed="true"]{background:#fff;color:#16191c;border-color:#fff}
.wt a{margin-left:auto;text-decoration:underline;text-underline-offset:3px}
.gate-case.off{display:none!important}

/* ヘッダー */
.hd{position:sticky;top:0;z-index:70;background:rgba(255,255,255,.96);backdrop-filter:blur(8px)}
.hd .in{display:flex;align-items:center;gap:36px;height:84px}
.hd .logo img{width:150px;height:auto}
.hd nav{display:flex;gap:30px;margin-left:auto;font-weight:700;font-size:15px}
.hd nav a{position:relative;padding:6px 0}
.hd nav a::after{content:"";position:absolute;left:0;right:100%;bottom:0;height:2px;background:var(--grad);transition:right .25s}
.hd nav a:hover::after,.hd nav a[aria-current]::after{right:0}
.hd .acts{display:flex;gap:8px}
.btn{display:inline-flex;align-items:center;justify-content:center;gap:12px;min-height:52px;padding:0 26px;border-radius:6px;font-weight:700;font-size:15px;line-height:1.4;transition:opacity .2s,transform .2s}
.btn:hover{opacity:.88}
.btn i{font-style:normal;display:inline-grid;place-items:center;width:24px;height:24px;border-radius:50%;background:rgba(255,255,255,.22);font-size:13px}
.btn-red{background:var(--grad);color:#fff}
.btn-dark{background:var(--dark);color:#fff}
.btn-white{background:#fff;color:var(--red)}
.btn-white i{background:var(--panel)}
.btn-s{min-height:44px;padding:0 18px;font-size:14px}
.hd .menu{display:none}
.lnk{display:inline-flex;align-items:center;gap:14px;font-weight:700}
.lnk i{font-style:normal;display:inline-grid;place-items:center;width:44px;height:44px;border-radius:50%;background:var(--panel);transition:background .2s,color .2s}
.lnk:hover i{background:var(--grad);color:#fff}

/* 見出し */
.sec{position:relative;padding:104px 0}
.sh{position:relative;margin-bottom:56px}
.sh .lab{font-family:var(--en);font-weight:700;font-size:14px;color:var(--red);letter-spacing:.06em;margin-bottom:14px}
.sh h2{display:inline;font-size:clamp(28px,3.3vw,46px);font-weight:900;line-height:1.45;letter-spacing:.03em}
.sh h2::after{content:"";display:inline-block;width:.32em;height:.32em;margin-left:.45em;vertical-align:.1em;border-radius:50%;background:var(--grad)}
.sh p{max-width:720px;margin-top:22px;color:var(--sub)}
.sh-row{display:flex;justify-content:space-between;align-items:flex-end;gap:32px;flex-wrap:wrap}
.sh-row .sh{margin-bottom:0}

/* 写真スロット（撮影予定） */
.ph{position:relative;display:grid;place-items:end start;background:linear-gradient(160deg,#dfe3e7,#c7cdd3);color:#4a525a;overflow:hidden}
.ph span{margin:16px;padding:4px 12px;border-radius:99px;background:rgba(255,255,255,.85);font-size:12px;font-weight:700;letter-spacing:.02em}
.ph.eye{display:block;width:100%;height:auto;object-fit:cover;background:var(--panel)}

/* ---------- トップ：ヒーロー ---------- */
.hero{position:relative;padding:56px 0 110px;overflow:hidden}
.hero .in{display:grid;grid-template-columns:1.02fr 1fr;gap:56px;align-items:center}
.hero .script{font-family:var(--script);color:var(--red);font-size:clamp(26px,2.6vw,40px);line-height:1.2;margin-bottom:18px;transform:rotate(-3deg);transform-origin:left}
.hero h1{font-size:clamp(44px,6.1vw,92px);font-weight:900;line-height:1.22;letter-spacing:.02em}
.hero h1 em{font-style:normal;background:var(--grad);-webkit-background-clip:text;background-clip:text;color:transparent}
.hero .lead{margin-top:30px;max-width:540px;font-size:17px;color:var(--sub)}
.hero .cta{display:flex;align-items:center;gap:28px;flex-wrap:wrap;margin-top:40px}
.hero .cta .btn{min-height:64px;padding:0 34px;font-size:16px}
.collage{position:relative;height:620px}
.collage::before{content:"";position:absolute;right:-90px;bottom:-60px;width:360px;height:360px;border-radius:50%;background:var(--grad-d);z-index:0}
.collage .ph{position:absolute;z-index:1}
.collage .p1{left:0;top:0;width:66%;height:78%;border-radius:var(--r) 0 var(--r) var(--r)}
.collage .p2{right:0;top:9%;width:30%;height:38%;border-radius:var(--r)}
.collage .p3{right:4%;bottom:0;width:46%;height:42%;border-radius:var(--r) var(--r) 0 var(--r)}
.who{margin-top:40px;display:flex;align-items:center;gap:8px 10px;flex-wrap:wrap;font-size:13px}
.who b{font-family:var(--en);font-size:12px;color:var(--mute);letter-spacing:.08em}
.who span{padding:5px 13px;border-radius:99px;background:var(--panel);font-weight:700}

/* ---------- 旅の時間軸（コア図） ---------- */
.journey .stages{position:relative;display:grid;grid-template-columns:repeat(4,1fr);gap:20px}
.journey .stages::before{content:"";position:absolute;left:12px;right:12px;top:15px;height:3px;border-radius:3px;background:var(--grad)}
.stage{position:relative;padding-top:52px;display:flex;flex-direction:column}
.stage::before{content:"";position:absolute;left:0;top:4px;width:26px;height:26px;border-radius:50%;background:#fff;border:6px solid var(--red)}
.stage:nth-child(2)::before{border-color:#f0333b}.stage:nth-child(3)::before{border-color:#f94537}.stage:nth-child(4)::before{border-color:var(--orange)}
.stage .when{font-family:var(--en);font-weight:800;font-size:13px;letter-spacing:.12em;color:var(--mute)}
.stage .when b{color:var(--ink);font-family:var(--jp);font-size:15px;letter-spacing:.04em;margin-right:8px}
.stage h3{margin:6px 0 16px;font-size:clamp(30px,3vw,44px);font-weight:900;line-height:1.2}
.stage .act{min-height:6.2em;color:var(--sub);font-size:15px;line-height:1.85}
.stage .do{flex:1;margin-top:22px;padding:22px 22px 18px;border-radius:16px;background:var(--panel)}
.stage .do small{display:block;font-size:12px;font-weight:700;color:var(--mute);margin-bottom:8px}
.stage .do a{display:flex;justify-content:space-between;align-items:center;gap:10px;padding:10px 0;font-weight:700;border-top:1px solid #dde2e6}
.stage .do a:first-of-type{border-top:0;padding-top:0}
.stage .do a i{font-style:normal;color:var(--red)}
.stage .do a:hover{color:var(--red)}
.spine{margin-top:28px;display:grid;gap:12px}
.spine a{display:grid;grid-template-columns:200px 1fr auto;align-items:center;gap:28px;padding:26px 32px;border-radius:16px;background:var(--dark);color:#fff;transition:transform .2s}
.spine a+a{background:#3a3f45}
.spine a:hover{transform:translateY(-2px)}
.spine b{font-size:20px;font-weight:900}
.spine b small{display:block;font-family:var(--en);font-size:12px;letter-spacing:.1em;color:#ff7a5c;font-weight:700}
.spine span{color:#c9cfd5;font-size:15px}
.spine i{font-style:normal;display:grid;place-items:center;width:44px;height:44px;border-radius:50%;background:var(--grad)}
.spine-note{display:flex;align-items:center;gap:10px;margin-top:40px;font-size:13px;color:var(--mute)}
.spine-note::before{content:"";width:40px;height:3px;border-radius:3px;background:var(--dark)}
.journey .more{margin-top:48px}

/* ---------- 症状から入る（帯） ---------- */
.band{position:relative;isolation:isolate}
.band::after{content:"";position:absolute;inset:0;z-index:-1;background:var(--panel);border-radius:0 var(--band) 0 0}
.stuck .grid{display:grid;grid-template-columns:repeat(4,1fr);gap:16px}
.stuck a{position:relative;display:flex;flex-direction:column;gap:18px;min-height:220px;padding:28px 26px 26px;border-radius:16px;background:#fff;transition:transform .2s,box-shadow .2s}
.stuck a:hover{transform:translateY(-4px);box-shadow:0 18px 40px rgba(31,35,40,.08)}
.stuck q{quotes:none;font-size:17px;font-weight:700;line-height:1.7}
.stuck q::before{content:"“";display:block;font-family:var(--en);font-size:44px;line-height:.6;color:var(--red);margin-bottom:12px}
.stuck .to{margin-top:auto;display:flex;align-items:center;justify-content:space-between;font-size:13px;font-weight:700;color:var(--red)}
.stuck .to i{font-style:normal;display:grid;place-items:center;width:34px;height:34px;border-radius:50%;background:var(--panel);color:var(--ink);transition:background .2s,color .2s}
.stuck a:hover .to i{background:var(--grad);color:#fff}
.stuck .dot{position:absolute;right:64px;top:-22px;display:grid;grid-template-columns:repeat(2,14px);gap:8px}
.stuck .dot b{width:14px;height:14px;border-radius:50%;background:var(--red)}.stuck .dot b:nth-child(2),.stuck .dot b:nth-child(3){background:var(--orange)}.stuck .dot b:nth-child(4){background:#ffb08a}

/* ---------- 専門ブランド（濃色帯） ---------- */
.dark{color:#fff}
.dark::after{content:"";position:absolute;inset:0;z-index:-1;background:var(--dark);border-radius:0 0 var(--band) 0}
.dark{isolation:isolate}
.dark .ring{position:absolute;right:-120px;top:-150px;width:420px;height:420px;border-radius:50%;border:70px solid transparent;background:var(--grad-d) border-box;-webkit-mask:linear-gradient(#000 0 0) padding-box,linear-gradient(#000 0 0);-webkit-mask-composite:xor;mask-composite:exclude;z-index:-2;opacity:.95}
.dark .sh p{color:#b9c0c7}
.brands{display:grid;grid-template-columns:repeat(4,1fr);gap:16px}
.brands a{display:flex;flex-direction:column;min-height:330px;padding:30px 28px 26px;border-radius:16px;background:var(--dark2);transition:background .2s}
.brands a:hover{background:#383d42}
.brands small{font-family:var(--en);font-weight:700;font-size:12px;letter-spacing:.1em;color:#ff7a5c}
.brands strong{margin:10px 0 18px;font-family:var(--en);font-size:26px;font-weight:800;line-height:1.2}
.brands p{color:#c9cfd5;font-size:14px;line-height:1.85}
.brands .go{margin-top:auto;padding-top:22px;display:flex;justify-content:space-between;align-items:center;font-size:13px;font-weight:700}
.brands .go i{font-style:normal;display:grid;place-items:center;width:40px;height:40px;border-radius:50%;background:var(--grad)}

/* ---------- 進め方（Ready Crew型 STEP） ---------- */
.steps{display:grid;grid-template-columns:repeat(5,1fr);gap:0;counter-reset:s}
.steps li{position:relative;padding:0 26px 0 0}
.steps li+li{padding-left:26px;border-left:1px solid var(--line)}
.steps .n{display:flex;align-items:baseline;gap:10px;font-family:var(--en);font-weight:800;color:var(--red);line-height:1}
.steps .n small{font-size:13px;letter-spacing:.12em}
.steps .n b{font-size:64px;background:var(--grad);-webkit-background-clip:text;background-clip:text;color:transparent}
.steps h3{margin:20px 0 10px;font-size:18px;font-weight:900;line-height:1.5}
.steps p{font-size:14px;color:var(--sub);line-height:1.85}
.price{margin-top:64px;display:grid;grid-template-columns:220px 1fr auto;gap:32px;align-items:center;padding:32px 36px;border-radius:16px;background:var(--panel)}
.price b{font-size:18px;font-weight:900}
.price b small{display:block;font-family:var(--en);font-size:12px;color:var(--red);letter-spacing:.1em}
.price p{font-size:14px;color:var(--sub)}

/* ---------- 事例（完成時のみ） ---------- */
.cases{display:grid;grid-template-columns:repeat(3,1fr);gap:24px}
.cases a{display:block}
.cases .ph{aspect-ratio:4/3;border-radius:16px}
.cases a:nth-child(2) .ph{border-radius:16px 0 16px 16px}
.cases .k{margin-top:18px;font-size:13px;font-weight:700;color:var(--red)}
.cases h3{margin-top:6px;font-size:18px;font-weight:700;line-height:1.6}
.cases a:hover h3{color:var(--red)}
.wire-tag{display:inline-block;margin-top:10px;padding:2px 10px;border-radius:4px;background:var(--panel);font-size:12px;color:var(--sub)}

/* ---------- コラム ---------- */
.know{display:grid;grid-template-columns:1.1fr 1fr;gap:48px}
.feat .ph{aspect-ratio:16/10;border-radius:var(--r) 0 var(--r) var(--r)}
.feat .k,.klist .k{font-size:13px;font-weight:700;color:var(--red)}
.feat .k time,.klist .k time{color:var(--mute);font-family:var(--en);margin-left:10px;font-weight:500}
.feat h3{margin-top:18px;font-size:22px;font-weight:900;line-height:1.6}
.feat p{margin-top:10px;font-size:14px;color:var(--sub)}
.feat:hover h3,.klist a:hover h3{color:var(--red)}
.klist a{display:grid;grid-template-columns:132px 1fr;gap:22px;align-items:center;padding:20px 0;border-top:1px solid var(--line)}
.klist a:first-child{border-top:0;padding-top:0}
.klist .ph{aspect-ratio:4/3;border-radius:10px}
.klist .ph span{margin:8px;font-size:10px;padding:2px 8px}
.klist h3{margin-top:4px;font-size:15px;font-weight:700;line-height:1.65}
.cats{display:flex;flex-wrap:wrap;gap:8px;margin-top:40px}
.cats a{padding:8px 18px;border-radius:99px;background:var(--panel);font-size:13px;font-weight:700;transition:background .2s,color .2s}
.cats a:hover{background:var(--ink);color:#fff}

/* ---------- お知らせ＋会社 ---------- */
.nc{display:grid;grid-template-columns:1.3fr 1fr;gap:56px;align-items:start}
.news li a{display:grid;grid-template-columns:120px 1fr auto;gap:20px;align-items:center;padding:22px 0;border-top:1px solid var(--line)}
.news li:last-child a{border-bottom:1px solid var(--line)}
.news time{font-family:var(--en);font-weight:700;color:var(--red);font-size:15px}
.news span{font-weight:700;font-size:15px;line-height:1.7}
.news i{font-style:normal;color:var(--mute)}
.news a:hover span{color:var(--red)}
.corp{padding:40px 38px;border-radius:var(--r) 0 var(--r) var(--r);background:var(--panel)}
.corp .lab{font-family:var(--en);font-weight:700;font-size:13px;color:var(--red);letter-spacing:.06em}
.corp h3{margin:8px 0 22px;font-size:22px;font-weight:900;line-height:1.5}
.corp dl{display:grid;grid-template-columns:96px 1fr;gap:12px 16px;font-size:14px}
.corp dt{color:var(--mute);font-weight:700}
.corp .book{margin-top:26px;padding-top:22px;border-top:1px solid #dde2e6;font-size:14px}
.corp .book small{display:block;color:var(--mute);font-weight:700;font-size:12px}
.corp .lnk{margin-top:26px}
.corp .lnk i{background:#fff}

/* ---------- CTA ---------- */
.cta-band{position:relative;overflow:hidden;padding:84px 72px;border-radius:var(--r);background:var(--grad);color:#fff;display:grid;grid-template-columns:1fr auto;gap:40px;align-items:center}
.cta-band::before{content:"";position:absolute;right:-120px;bottom:-200px;width:460px;height:460px;border-radius:50%;background:rgba(255,255,255,.08)}
.cta-band .script{font-family:var(--script);font-size:30px;line-height:1.2;opacity:.95}
.cta-band h2{margin-top:10px;font-size:clamp(26px,3vw,40px);font-weight:900;line-height:1.5}
.cta-band p{margin-top:12px;opacity:.92}
.cta-band .acts{position:relative;display:grid;gap:12px;min-width:300px}
.cta-band .acts .btn{min-height:64px;justify-content:space-between}
.cta-band .line{font-size:14px;font-weight:700;text-align:center;text-decoration:underline;text-underline-offset:4px}

/* ---------- フッター ---------- */
.ft{position:relative;margin-top:104px;padding:100px 0 40px;background:var(--dark);color:#c9cfd5;border-radius:var(--band) 0 0 0}
.ft .top{display:grid;grid-template-columns:1.2fr repeat(3,1fr);gap:40px}
.ft .logo img{width:150px;filter:brightness(0) invert(1)}
.ft address{font-style:normal;margin-top:20px;font-size:13px;line-height:1.9}
.ft h4{font-family:var(--en);font-size:12px;letter-spacing:.12em;color:#ff7a5c;margin-bottom:14px}
.ft li a{display:block;padding:5px 0;font-size:14px}
.ft li a:hover{color:#fff}
.ft .big{margin-top:80px;font-family:var(--en);font-weight:800;font-size:clamp(40px,7.4vw,112px);line-height:1;color:#3a3f45;letter-spacing:-.01em;white-space:nowrap}
.ft .big em{display:block;margin-top:.3em;font-style:normal;font-family:var(--script);color:#fff;font-size:.42em;font-weight:400}
.ft .bot{margin-top:40px;display:flex;justify-content:space-between;font-size:12px;color:#8a929b}

/* ---------- 下層 ---------- */
.sub-hero{padding:40px 0 90px}
.crumb{display:flex;flex-wrap:wrap;gap:8px;font-size:12px;color:var(--mute);margin-bottom:56px}
.crumb a{text-decoration:underline;text-underline-offset:3px}
.crumb li+li::before{content:"/";margin-right:8px}
.sub-hero .lab{font-family:var(--en);font-weight:700;color:var(--red);letter-spacing:.06em;font-size:14px}
.sub-hero h1{margin-top:12px;font-size:clamp(40px,5.6vw,80px);font-weight:900;line-height:1.25}
.sub-hero h1::after{content:"";display:block;width:80px;height:6px;margin-top:28px;border-radius:6px;background:var(--grad)}
.sub-hero .tag{margin-top:26px;font-size:clamp(18px,1.8vw,24px);font-weight:700}
.sub-hero .lead{margin-top:16px;max-width:820px;color:var(--sub)}
.sub-grid{display:grid;grid-template-columns:1fr 440px;gap:64px;align-items:end}
.sub-grid .ph{aspect-ratio:4/3.2;border-radius:var(--r) 0 var(--r) var(--r)}
.sub-grid.nophoto{grid-template-columns:1fr}
/* 旅のどこに効くか（ミニ図） */
.mini{display:grid;grid-template-columns:repeat(4,1fr);gap:6px;margin-top:40px;max-width:640px}
.mini span{position:relative;padding:12px 0 0;font-size:12px;font-weight:700;color:var(--mute);border-top:4px solid var(--line)}
.mini span.on{color:var(--ink);border-image:var(--grad) 1}
.mini span b{display:block;font-family:var(--en);font-size:12px;letter-spacing:.1em}
.mini-all{margin-top:10px;max-width:640px;padding:8px 14px;border-radius:6px;background:var(--dark);color:#fff;font-size:12px;font-weight:700}
/* 悩み→答え */
.pains{display:grid;grid-template-columns:repeat(3,1fr);gap:16px}
.pains li{display:flex;flex-direction:column;padding:32px 30px;border-radius:16px;background:#fff}
.pains q{quotes:none;font-size:18px;font-weight:900;line-height:1.65}
.pains q::before{content:"“";display:block;font-family:var(--en);font-size:44px;line-height:.6;color:var(--red);margin-bottom:12px}
.pains p{margin-top:auto;padding-top:22px;font-size:14px;color:var(--sub);line-height:1.85}
.pains p b{display:block;color:var(--red);font-size:12px;margin-bottom:4px}
.who-for{margin-top:28px;padding:26px 32px;border-radius:16px;background:var(--dark);color:#e6e9ec;font-size:15px}
.who-for b{color:#ff7a5c;font-size:12px;letter-spacing:.06em;display:block;margin-bottom:4px}
/* 支援内容 */
.scope{display:grid;grid-template-columns:1fr 1fr;gap:64px}
.items{display:flex;flex-wrap:wrap;gap:10px}
.items li{padding:12px 20px;border-radius:99px;background:var(--panel);font-weight:700;font-size:15px}
.scope ol{counter-reset:c}
.scope ol li{counter-increment:c;display:grid;grid-template-columns:56px 1fr;align-items:baseline;padding:18px 0;border-top:1px solid var(--line);font-weight:700}
.scope ol li:last-child{border-bottom:1px solid var(--line)}
.scope ol li::before{content:counter(c,decimal-leading-zero);font-family:var(--en);font-weight:800;font-size:22px;color:var(--red)}
.scope h3{font-size:14px;color:var(--mute);margin-bottom:18px;font-weight:700}
/* FAQ */
.faq details{border-top:1px solid var(--line)}
.faq details:last-child{border-bottom:1px solid var(--line)}
.faq summary{list-style:none;display:grid;grid-template-columns:48px 1fr 32px;align-items:center;gap:8px;padding:26px 0;font-weight:700;font-size:17px;cursor:pointer}
.faq summary::-webkit-details-marker{display:none}
.faq summary::before{content:"Q";font-family:var(--en);font-weight:800;font-size:28px;color:var(--red)}
.faq summary::after{content:"+";font-family:var(--en);font-size:28px;color:var(--mute);text-align:center;transition:transform .2s}
.faq details[open] summary::after{transform:rotate(45deg)}
.faq .a{display:grid;grid-template-columns:48px 1fr;gap:8px;padding:0 40px 28px 0;color:var(--sub)}
.faq .a::before{content:"A";font-family:var(--en);font-weight:800;font-size:28px;color:var(--mute);line-height:1.2}
/* ブランド案内（下層） */
.brand-go{display:grid;grid-template-columns:1fr auto;gap:32px;align-items:center;padding:40px 44px;border-radius:var(--r);background:var(--dark);color:#fff}
.brand-go small{font-family:var(--en);font-weight:700;font-size:12px;letter-spacing:.1em;color:#ff7a5c}
.brand-go strong{display:block;margin:6px 0 10px;font-family:var(--en);font-size:30px;font-weight:800}
.brand-go p{color:#c9cfd5;font-size:14px}
/* 他の領域 */
.others{display:grid;grid-template-columns:repeat(3,1fr);gap:12px}
.others a{display:flex;justify-content:space-between;align-items:center;gap:12px;padding:22px 24px;border-radius:12px;background:var(--panel);font-weight:700;transition:background .2s,color .2s}
.others a small{display:block;font-family:var(--en);font-size:12px;color:var(--red);letter-spacing:.1em}
.others a:hover{background:var(--ink);color:#fff}
/* サービス一覧 */
.alist{display:grid;gap:14px}
.alist a{display:grid;grid-template-columns:90px 280px 1fr 56px;gap:32px;align-items:center;padding:34px 40px;border-radius:16px;background:var(--panel);transition:background .2s}
.alist a:hover{background:#e8ecef}
.alist .no{font-family:var(--en);font-weight:800;font-size:44px;line-height:1;background:var(--grad);-webkit-background-clip:text;background-clip:text;color:transparent}
.alist h3{font-size:22px;font-weight:900;line-height:1.4}
.alist h3 small{display:block;margin-top:6px;font-size:13px;color:var(--red);font-weight:700}
.alist ul{display:flex;flex-wrap:wrap;gap:6px}
.alist ul li{padding:4px 12px;border-radius:99px;background:#fff;font-size:13px;font-weight:500}
.alist i{font-style:normal;display:grid;place-items:center;width:52px;height:52px;border-radius:50%;background:#fff;transition:background .2s,color .2s}
.alist a:hover i{background:var(--grad);color:#fff}
.alist .when{display:block;margin-top:8px;font-family:var(--en);font-size:12px;letter-spacing:.1em;color:var(--mute);font-weight:700}
/* フォーム */
.form{max-width:820px}
.form .row{display:grid;grid-template-columns:220px 1fr;gap:24px;padding:24px 0;border-top:1px solid var(--line)}
.form .row:last-of-type{border-bottom:1px solid var(--line)}
.form label{font-weight:700;padding-top:12px}
.form label em{font-style:normal;margin-left:8px;padding:2px 8px;border-radius:4px;background:var(--red);color:#fff;font-size:11px;vertical-align:2px}
.form input,.form select,.form textarea{width:100%;padding:14px 16px;border:0;border-radius:8px;background:var(--panel);font:inherit}
.form .send input[type=checkbox]{width:auto;display:inline-block;padding:0;vertical-align:-2px;margin-right:8px}
.form textarea{min-height:180px}
.form .chips{display:flex;flex-wrap:wrap;gap:8px;padding-top:6px}
.form .chips label{padding:0;font-weight:500}
.form .chips input{display:none}
.form .chips span{display:inline-block;padding:8px 16px;border-radius:99px;background:var(--panel);cursor:pointer;font-size:14px}
.form .chips input:checked+span{background:var(--ink);color:#fff}
.form .send{margin-top:40px}

/* ---------- 出現 ---------- */
.rv{opacity:0;transform:translateY(24px);transition:opacity .7s,transform .7s}
.rv.is-in{opacity:1;transform:none}
@media (prefers-reduced-motion:reduce){.rv{opacity:1;transform:none;transition:none}}

/* ---------- タブレット ---------- */
@media(max-width:1100px){
 .hd nav,.hd .acts{display:none}
 .hd .menu{display:block;margin-left:auto}
 .hd .menu summary{list-style:none;display:grid;place-items:center;width:52px;height:52px;border-radius:50%;background:var(--grad);cursor:pointer}
 .hd .menu summary::-webkit-details-marker{display:none}
 .hd .menu summary span{display:block;width:20px;height:2px;background:#fff;box-shadow:0 -6px 0 #fff,0 6px 0 #fff}
 .hd .menu nav{display:flex;flex-direction:column;gap:0;position:absolute;left:0;right:0;top:84px;padding:12px 24px 28px;background:#fff;box-shadow:0 20px 40px rgba(0,0,0,.08)}
 .hd .menu nav a{padding:14px 0;border-bottom:1px solid var(--line)}
 .hd .menu nav .btn{margin-top:16px;border:0}
 .journey .stages{grid-template-columns:1fr 1fr;row-gap:48px}
 .journey .stages::before{display:none}
 .stuck .grid,.brands{grid-template-columns:1fr 1fr}
 .steps{grid-template-columns:1fr 1fr 1fr;row-gap:40px}
 .steps li:nth-child(4){border-left:0;padding-left:0}
 .alist a{grid-template-columns:70px 1fr 52px}
 .alist ul{grid-column:2/3}
 .alist i{grid-row:1/3;grid-column:3}
}
/* ---------- スマホ ---------- */
@media(max-width:720px){
 :root{--g:20px;--r:18px;--band:56px}
 body{font-size:15px}
 .wt{padding:7px 16px}
 .wt a{margin-left:0}
 .hd .in{height:68px;width:calc(100% - 32px)}
 .hd .logo img{width:120px}
 .hd .menu nav{top:68px}
 .sec{padding:84px 0}
 .sh{margin-bottom:36px}
 .hero{padding:24px 0 72px}
 .hero .in{grid-template-columns:1fr;gap:40px;width:calc(100% - 40px)}
 .hero .lead{font-size:15px}
 .hero .cta{gap:20px}
 .hero .cta .btn{width:100%;min-height:60px}
 .collage{height:360px}
 .collage::before{width:200px;height:200px;right:-50px;bottom:-30px}
 .collage .p2 span{display:none}
 .collage .ph span{margin:10px;font-size:11px}
 .who{margin-top:40px;gap:8px}
 .who b{width:100%}
 .journey .stages{grid-template-columns:1fr;row-gap:0;padding-left:44px}
 .journey .stages::before{display:block;left:10.5px;right:auto;top:8px;bottom:8px;width:3px;height:auto;background:linear-gradient(180deg,#e8203f,#ff5233)}
 .stage{padding:0 0 44px}
 .stage::before{box-sizing:border-box;left:-44px;top:0;width:24px;height:24px;border-width:5px}
 .stage .act{min-height:0}
 .spine a{grid-template-columns:1fr auto;gap:10px 16px;padding:22px}
 .spine span{grid-column:1/2;font-size:14px}
 .spine i{grid-row:1/3;grid-column:2}
 .stuck .grid,.brands,.cases,.pains,.others{grid-template-columns:1fr}
 .stuck a{min-height:0}
 .stuck .dot{right:24px}
 .brands a{min-height:0}
 .dark .ring{width:240px;height:240px;border-width:40px;top:-90px;right:-80px}
 .steps{grid-template-columns:1fr;row-gap:0}
 .steps li,.steps li+li{padding:24px 0;border-left:0;border-top:1px solid var(--line)}
 .steps .n b{font-size:48px}
 .price{grid-template-columns:1fr;gap:12px;padding:26px 22px}
 .know,.nc,.scope,.sub-grid{grid-template-columns:1fr;gap:40px}
 .klist a{grid-template-columns:132px 1fr;gap:16px}
 .news li a{grid-template-columns:1fr auto;gap:4px 12px}
 .news time{grid-column:1/2}
 .news i{grid-row:1/3;grid-column:2}
 .corp{padding:30px 24px}
 .cta-band{grid-template-columns:1fr;padding:52px 24px;gap:28px}
 .cta-band .acts{min-width:0}
 .cta-band .script{font-size:24px}
 .ft{margin-top:84px;padding:72px 0 32px}
 .ft .top{grid-template-columns:1fr 1fr;gap:32px}
 .ft .top>div:first-child{grid-column:1/-1}
 .ft .big{white-space:normal;font-size:44px}
 .ft .bot{flex-direction:column;gap:8px}
 .crumb{margin-bottom:36px}
 .sub-hero{padding:24px 0 64px}
 .mini span{font-size:12px}
 .alist a{grid-template-columns:1fr 44px;gap:14px;padding:24px 22px}
 .alist .no{font-size:32px;grid-column:1/2}
 .alist h3{grid-column:1/2}
 .alist ul{grid-column:1/-1}
 .alist i{grid-row:1/2;grid-column:2;width:44px;height:44px}
 .brand-go{grid-template-columns:1fr;padding:30px 24px}
 .faq summary{grid-template-columns:36px 1fr 28px;font-size:15px}
 .faq .a{grid-template-columns:36px 1fr;padding-right:0}
 .form .row{grid-template-columns:1fr;gap:8px}
 .form label{padding-top:0}
}
.brands .g{color:#fff;font-weight:700;font-size:15px;line-height:1.7;margin-bottom:10px}

/* ===== できること一覧（サービス説明資料 p.6 の対応施策マップ） ===== */
.cmap{display:grid;gap:0}
.cmap .row{display:grid;gap:14px}
.cmap .r1{grid-template-columns:repeat(4,1fr)}
.cmap .r2{grid-template-columns:1fr 1fr 1.45fr}
.cmap .cc{position:relative;display:flex;flex-direction:column;padding:26px 26px 28px;border-radius:16px;background:var(--panel);transition:background .2s}
.cmap .cc:hover{background:#e8ecef}
.cmap .nm{display:flex;align-items:flex-end;gap:10px;font-size:19px;font-weight:900;line-height:1.35}
.cmap .nm small{display:block;margin-bottom:6px;font-family:var(--en);font-size:12px;font-weight:700;letter-spacing:.1em;color:var(--mute)}
.cmap .nm i{margin-left:auto;font-style:normal;display:grid;place-items:center;flex:none;width:34px;height:34px;border-radius:50%;background:#fff;font-size:14px;transition:background .2s,color .2s}
.cmap .cc:hover .nm i{background:var(--grad);color:#fff}
.cmap .tg{margin:10px 0 18px;font-size:14px;font-weight:700;color:var(--red);line-height:1.6}
.cmap ul{display:flex;flex-wrap:wrap;gap:6px}
.cap .more{margin-top:48px}
.cmap .cl::after{content:"";position:absolute;inset:0;border-radius:16px}
.cmap .cl:focus-visible{outline:none}
.cmap .cl:focus-visible::after{outline:2px solid var(--red);outline-offset:2px}
.cmap ul{gap:4px 14px}
.cmap ul li{font-size:13px;font-weight:500;line-height:1.5;padding:5px 0}
.cmap ul li::before{content:"・";color:var(--red);font-weight:700}
.cmap ul li.l{padding:0}
.cmap ul li.l::before{content:none}
.cmap ul li.l a{position:relative;z-index:1;display:block;padding:5px 12px;border-radius:99px;background:#fff;transition:background .2s,color .2s}
.cmap ul li.l a:hover,.cmap ul li.l a:focus-visible{background:var(--ink);color:#fff}
.cmap .core{position:relative;display:grid;place-items:center;height:96px}
.cmap .core::before{content:"";position:absolute;left:0;right:0;top:50%;height:3px;margin-top:-1.5px;border-radius:3px;background:var(--grad)}
.cmap .core span{position:relative;display:flex;align-items:center;gap:16px;padding:14px 30px;border-radius:99px;background:#fff;box-shadow:0 6px 24px rgba(31,35,40,.10)}
.cmap .core img{width:118px;height:auto}
.cmap .core b{font-size:15px;font-weight:900;letter-spacing:.04em}

/* ===== PMO（サービス説明資料 p.8） ===== */
.pmo-pts{display:grid;grid-template-columns:repeat(7,1fr);gap:0}
.pmo-pts li{padding:0 20px 0 0}
.pmo-pts li+li{padding-left:20px;border-left:1px solid var(--line)}
.pmo.band .pmo-pts li+li{border-left-color:#dde2e6}
.pmo-pts b{display:block;font-family:var(--en);font-size:40px;font-weight:800;line-height:1;background:var(--grad);-webkit-background-clip:text;background-clip:text;color:transparent}
.pmo-pts p{margin-top:16px;font-size:15px;font-weight:700;line-height:1.75}
.scope-cmp{margin-top:72px;padding:48px 52px 52px;border-radius:24px;background:var(--panel)}
.pmo.band .scope-cmp{background:#fff}
.scope-cmp h3{font-size:20px;font-weight:900}
.cmp{display:grid;grid-template-columns:150px 1fr;gap:18px 28px;align-items:center;margin-top:32px}
.cmp .co{font-size:13px;font-weight:700;color:var(--sub);line-height:1.5}
.cmp .co.imj{font-family:var(--en);font-size:30px;font-weight:800;color:var(--ink);line-height:1}
.cmp .co.imj small{display:block;margin-top:6px;font-size:12px;letter-spacing:.12em;color:var(--red)}
.cmp .bar{position:relative;display:grid;grid-template-columns:repeat(4,1fr);gap:4px}
.cmp .bar span{display:grid;place-items:center;height:48px;padding:0 8px;font-size:14px;font-weight:700;text-align:center;line-height:1.3}
.cmp .bar span:first-of-type{border-radius:10px 0 0 10px}
.cmp .bar span:last-of-type{border-radius:0 10px 10px 0}
.cmp .gen .on{background:#d9dee3;color:var(--sub)}
.cmp .gen .no{background:transparent;color:transparent}
.cmp .imj{margin:34px 0 34px}
.cmp .imj .on{background:var(--grad);color:#fff}
.cmp .imj .on:nth-of-type(1){background:#f0475f}
.cmp .imj .on:nth-of-type(2){background:#ec3150}
.cmp .imj .on:nth-of-type(3){background:#e8203f}
.cmp .imj .on:nth-of-type(4){background:#ff5233}
.cmp .imj em{position:absolute;font-style:normal;font-size:13px;font-weight:700;white-space:nowrap}
.cmp .imj .cs{left:0;right:0;bottom:100%;margin-bottom:8px;color:var(--red);text-align:right}
.cmp .imj .cs::before{content:"";display:inline-block;width:38%;height:2px;margin-right:12px;vertical-align:middle;background:var(--grad)}
.cmp .imj .own{left:0;top:100%;margin-top:9px;color:var(--ink)}
.cmp .imj .own::before{content:"+";display:inline-grid;place-items:center;width:20px;height:20px;margin-right:8px;border-radius:50%;background:var(--grad);color:#fff;font-family:var(--en);font-size:13px}
.pmo-cols{display:grid;grid-template-columns:repeat(3,1fr);gap:0;margin-top:44px;padding-top:36px;border-top:1px solid #dde2e6}
.pmo-cols li{padding:0 28px 0 0}
.pmo-cols li+li{padding-left:28px;border-left:1px solid #dde2e6}
.pmo-cols small{font-family:var(--en);font-size:12px;font-weight:700;letter-spacing:.1em;color:var(--red)}
.pmo-cols h4{margin:6px 0 10px;font-size:18px;font-weight:900}
.pmo-cols p{font-size:14px;color:var(--sub);line-height:1.85}

@media(max-width:1100px){
 .cmap .r1{grid-template-columns:repeat(2,1fr)}
 .cmap .r2{grid-template-columns:1fr 1fr}
 .cmap .r2 .c-search-map{grid-column:1/-1}
 .pmo-pts{grid-template-columns:repeat(4,1fr);row-gap:32px}
 .pmo-pts li:nth-child(5){padding-left:0;border-left:0}
}
@media(max-width:720px){
 .cmap .r1,.cmap .r2{grid-template-columns:1fr}
 .cmap .core{height:84px}
 .cmap .core span{padding:12px 22px;gap:12px}
 .cmap .core img{width:92px}
 .cmap .core b{font-size:13px}
 .pmo-pts{grid-template-columns:1fr;row-gap:0}
 .pmo-pts li,.pmo-pts li+li{display:grid;grid-template-columns:52px 1fr;align-items:baseline;padding:16px 0;border-left:0;border-top:1px solid var(--line)}
 .pmo-pts li:nth-child(5){padding-left:0}
 .pmo-pts b{font-size:26px}
 .pmo-pts p{margin-top:0}
 .scope-cmp{margin-top:48px;padding:30px 20px 32px;border-radius:16px}
 .cmp{grid-template-columns:1fr;gap:10px}
 .cmp .co br{display:none}
 .cmp .bar span{height:auto;min-height:52px;padding:6px 4px;font-size:12px}
 .cmp .imj{margin:30px 0 40px}
 .cmp .imj .cs{text-align:left}
 .cmp .imj .cs::before{width:24px}
 .cmp .imj em{white-space:normal}
 .pmo-cols{grid-template-columns:1fr;margin-top:56px;padding-top:0;border-top:0}
 .pmo-cols li,.pmo-cols li+li{padding:20px 0;border-left:0;border-top:1px solid #dde2e6}
}

/* ===== ツールバー A/B 切替 ===== */
.wt .ab{display:flex;align-items:center;gap:6px;margin-left:auto}
.wt .ab a{margin-left:0;padding:2px 12px;border:1px solid #4b535b;border-radius:99px;text-decoration:none}
.wt .ab a[aria-current]{background:#fff;color:#16191c;border-color:#fff}
.wt a.v2{margin-left:8px}

/* ===== B案 トップ ===== */
.hero-b h1{font-size:clamp(34px,4.1vw,60px)}
.hero-b .lead{font-size:18px;font-weight:700;color:var(--ink);line-height:1.9}
.hero-b .formula{display:flex;align-items:center;gap:10px;margin-top:28px;flex-wrap:wrap}
.hero-b .formula span{padding:8px 18px;border-radius:99px;background:var(--panel);font-weight:900;font-size:16px}
.hero-b .formula span:last-child{background:var(--grad);color:#fff}
.hero-b .formula i{font-style:normal;font-family:var(--en);font-weight:700;color:var(--mute)}
.hero-b .pos{margin-top:16px;font-size:14px;color:var(--sub)}
.issue-list{display:grid;grid-template-columns:repeat(5,1fr);gap:12px}
.issue-list li{display:flex;flex-direction:column;padding:28px 24px 30px;border-radius:16px;background:#fff}
.issue-list .no{display:flex;align-items:baseline;gap:8px;font-family:var(--en);font-weight:700;font-size:12px;letter-spacing:.12em;color:var(--mute)}
.issue-list .no b{font-size:30px;font-weight:800;color:var(--ink);letter-spacing:0;line-height:1}
.issue-list small{margin-top:18px;font-size:12px;font-weight:700;color:var(--red)}
.issue-list h3{margin-top:6px;font-size:17px;font-weight:900;line-height:1.55}
.issue-list p:last-child{margin-top:14px;font-size:13px;color:var(--sub);line-height:1.85}
.answer{margin-top:56px;text-align:center}
.answer span{display:inline-block;font-size:clamp(22px,2.4vw,32px);font-weight:900;line-height:1.6;background:var(--grad);-webkit-background-clip:text;background-clip:text;color:transparent}
.points{display:grid;grid-template-columns:repeat(3,1fr);gap:16px;margin-top:64px}
.points li{padding:28px 30px;border-radius:16px;background:var(--panel)}
.points small{font-family:var(--en);font-weight:700;font-size:12px;letter-spacing:.1em;color:var(--red)}
.points h4{margin:6px 0 8px;font-size:18px;font-weight:900}
.points p{font-size:14px;color:var(--sub);line-height:1.85}
.jr-more{margin-top:40px;border-top:1px solid var(--line);border-bottom:1px solid var(--line)}
.jr-more summary{list-style:none;display:flex;justify-content:space-between;align-items:center;padding:24px 0;font-weight:700;font-size:16px;cursor:pointer}
.jr-more summary::-webkit-details-marker{display:none}
.jr-more summary i{font-style:normal;font-family:var(--en);font-size:26px;color:var(--mute);transition:transform .2s}
.jr-more[open] summary i{transform:rotate(45deg)}
.jr-more .journey{padding:24px 0 40px}
.ms-nav{display:grid;grid-template-columns:repeat(3,1fr);gap:0;border-top:1px solid var(--line);border-bottom:1px solid var(--line)}
.ms-nav a{display:flex;align-items:baseline;gap:14px;padding:22px 24px 22px 0;font-weight:700;font-size:15px}
.ms-nav a+a{padding-left:24px;border-left:1px solid var(--line)}
.ms-nav a:hover{color:var(--red)}
.ms-nav small{font-family:var(--en);font-weight:800;font-size:15px;color:var(--red)}
.ms{margin-top:96px;scroll-margin-top:24px}
.ms-head{display:grid;grid-template-columns:120px 1fr;gap:24px;align-items:start;margin-bottom:44px}
.ms-head .no{font-family:var(--en);font-weight:800;font-size:76px;line-height:.9;background:var(--grad);-webkit-background-clip:text;background-clip:text;color:transparent}
.ms-head h3{font-size:clamp(24px,2.4vw,32px);font-weight:900;line-height:1.45}
.ms-head h3 small{display:inline-block;margin-left:14px;padding:3px 12px;border-radius:99px;background:var(--panel);font-size:13px;vertical-align:.3em}
.ms-head p{margin-top:14px;max-width:760px;color:var(--sub)}
.sys{display:grid;grid-template-columns:1.3fr 1fr;gap:16px}
.feat4{display:grid;grid-template-columns:1fr 1fr;gap:0;padding:8px 32px;border-radius:16px;background:var(--panel)}
.feat4 li{padding:24px 0}
.feat4 li:nth-child(odd){padding-right:24px}
.feat4 li:nth-child(even){padding-left:24px;border-left:1px solid #dde2e6}
.feat4 li:nth-child(n+3){border-top:1px solid #dde2e6}
.feat4 h4{font-size:17px;font-weight:900}
.feat4 p{margin-top:6px;font-size:14px;color:var(--sub);line-height:1.8}
.vs{display:grid;gap:12px}
.vs p{display:flex;flex-direction:column;justify-content:center;padding:26px 30px;border-radius:16px;background:var(--panel);font-weight:700;font-size:16px;line-height:1.6;color:var(--sub)}
.vs p.imj{background:var(--dark);color:#fff;font-size:18px}
.vs small{font-size:12px;font-weight:700;color:var(--mute);margin-bottom:4px}
.vs .imj small{color:#ff7a5c}
.sys-ex{display:grid;grid-template-columns:repeat(3,1fr);gap:0;margin-top:40px}
.sys-ex li{padding:0 28px 0 0}
.sys-ex li+li{padding-left:28px;border-left:1px solid var(--line)}
.sys-ex small{font-family:var(--en);font-weight:700;font-size:12px;letter-spacing:.12em;color:var(--mute)}
.sys-ex h4{margin:4px 0 8px;font-size:18px;font-weight:900}
.sys-ex p{font-size:14px;color:var(--sub);line-height:1.85}
.roles{display:grid;grid-template-columns:1fr 40px 1.15fr 40px 1fr;gap:8px;align-items:stretch}
.roles>div{padding:26px 28px;border-radius:16px;background:var(--panel)}
.roles>div.imj{background:var(--grad);color:#fff}
.roles small{font-size:12px;font-weight:700;color:var(--mute)}
.roles .imj small{color:#ffe1d8}
.roles b{display:block;margin:4px 0 8px;font-size:24px;font-weight:900}
.roles p{font-size:13px;line-height:1.75;color:var(--sub)}
.roles .imj p{color:#fff}
.roles>i{font-style:normal;display:grid;place-items:center;font-family:var(--en);font-weight:700;color:var(--mute)}
.mini-h{margin:56px 0 20px;font-size:16px;font-weight:900}
.sub-flow{display:grid;grid-template-columns:repeat(5,1fr);gap:0;counter-reset:f}
.sub-flow li{position:relative;padding:0 22px 0 0}
.sub-flow li+li{padding-left:22px;border-left:1px solid var(--line)}
.sub-flow b{font-family:var(--en);font-weight:800;font-size:28px;color:var(--red);line-height:1}
.sub-flow h4{margin:12px 0 6px;font-size:16px;font-weight:900;line-height:1.5}
.sub-flow p{font-size:13px;color:var(--sub);line-height:1.8}
.sub-tbl table{width:100%;border-collapse:collapse;font-size:14px}
.sub-tbl th,.sub-tbl td{padding:18px 16px;text-align:left;vertical-align:top;border-bottom:1px solid var(--line);line-height:1.7}
.sub-tbl thead th{padding-top:0;font-size:12px;color:var(--mute);font-weight:700;border-bottom:2px solid var(--ink)}
.sub-tbl tbody th{width:32%;font-weight:900}
.sub-tbl td:nth-child(2){width:24%;color:var(--sub)}
.ms .note{margin-top:16px;font-size:12px;color:var(--mute)}
.line-b{display:grid;grid-template-columns:.9fr 1.6fr;gap:40px;align-items:center;padding:44px 48px;border-radius:24px;background:var(--dark);color:#fff}
.line-b .catch{grid-row:span 2;font-size:clamp(24px,2.4vw,34px);font-weight:900;line-height:1.5}
.line-flow{display:grid;grid-template-columns:repeat(4,1fr);gap:6px}
.line-flow li{position:relative;padding:14px 12px;border-radius:12px;background:var(--dark2);font-weight:700;font-size:13px;line-height:1.5}
.line-flow b{display:block;font-family:var(--en);font-weight:800;color:#ff7a5c;font-size:13px;margin-bottom:4px}
.line-tags{display:flex;flex-wrap:wrap;gap:8px}
.line-tags span{padding:6px 14px;border-radius:99px;background:#fff;color:var(--ink);font-weight:700;font-size:13px}
.line-tags span:last-child{background:var(--grad);color:#fff}

@media(max-width:1100px){
 .issue-list{grid-template-columns:repeat(2,1fr)}
 .sys{grid-template-columns:1fr}
 .sub-flow{grid-template-columns:repeat(3,1fr);row-gap:28px}
 .sub-flow li:nth-child(4){padding-left:0;border-left:0}
 .line-b{grid-template-columns:1fr}
 .line-b .catch{grid-row:auto}
}
@media(max-width:720px){
 .wt .ab{margin-left:0}
 .hero-b .lead{font-size:16px}
 .issue-list{grid-template-columns:1fr}
 .answer{text-align:left}
 .points{grid-template-columns:1fr;margin-top:40px}
 .ms-nav{grid-template-columns:1fr}
 .ms-nav a,.ms-nav a+a{padding:16px 0;border-left:0}
 .ms-nav a+a{border-top:1px solid var(--line)}
 .ms{margin-top:72px}
 .ms-head{grid-template-columns:1fr;gap:6px}
 .ms-head .no{font-size:52px}
 .ms-head h3 small{display:table;margin:8px 0 0}
 .feat4{grid-template-columns:1fr;padding:4px 22px}
 .feat4 li,.feat4 li:nth-child(odd),.feat4 li:nth-child(even){padding:20px 0;border-left:0}
 .feat4 li+li{border-top:1px solid #dde2e6}
 .sys-ex{grid-template-columns:1fr}
 .sys-ex li,.sys-ex li+li{padding:18px 0;border-left:0;border-top:1px solid var(--line)}
 .roles{grid-template-columns:1fr}
 .roles>i{transform:rotate(90deg);height:28px}
 .sub-flow{grid-template-columns:1fr;row-gap:0}
 .sub-flow li,.sub-flow li+li{display:grid;grid-template-columns:48px 1fr;column-gap:4px;padding:16px 0;border-left:0;border-top:1px solid var(--line)}
 .sub-flow b{grid-row:span 2}
 .sub-flow h4{margin:0 0 4px}
 .sub-tbl thead{display:none}
 .sub-tbl tr{display:block;padding:16px 0;border-bottom:1px solid var(--line)}
 .sub-tbl th,.sub-tbl td,.sub-tbl tbody th,.sub-tbl td:nth-child(2){display:block;width:auto;padding:2px 0;border:0}
 .sub-tbl tbody th{margin-bottom:4px}
 .line-b{padding:30px 22px;border-radius:16px;gap:24px}
 .line-flow{grid-template-columns:1fr 1fr}
}
.ms-go{margin-top:32px}

/* ---- 書籍・提案書からの追記（5段階ロードマップ／分担／領域ごとの実践ポイント） ---- */
.road li{display:grid;grid-template-columns:150px 1fr 300px;gap:40px;align-items:start;padding:36px 0;border-top:1px solid var(--line)}
.road li:last-child{border-bottom:1px solid var(--line)}
.road .n{display:flex;align-items:baseline;gap:10px;font-family:var(--en);font-weight:800;color:var(--red);line-height:1}
.road .n small{font-size:13px;letter-spacing:.12em}
.road .n b{font-size:56px;background:var(--grad);-webkit-background-clip:text;background-clip:text;color:transparent}
.road h3{font-size:21px;font-weight:900;line-height:1.5;margin-bottom:10px}
.road p{color:var(--sub);font-size:15px;line-height:1.95}
.road .go{display:flex;flex-direction:column;gap:2px;padding-top:4px}
.road .go a{display:flex;justify-content:space-between;align-items:center;padding:10px 0;font-weight:700;font-size:15px;border-bottom:1px solid var(--line)}
.road .go a i{font-style:normal;color:var(--red);font-family:var(--en)}
.road .go a:hover{color:var(--red)}
.share{margin-top:72px;padding-top:56px;border-top:1px solid #dde2e6}
.share h3{font-size:20px;font-weight:900;margin-bottom:32px}
.share .cols{display:grid;grid-template-columns:1fr 1fr;gap:64px}
.share .who{font-size:14px;font-weight:700;color:var(--red);margin-bottom:12px}
.share .who.rp{margin:44px 0 16px}
.share .cols li{position:relative;padding:12px 0 12px 22px;font-weight:700;border-bottom:1px solid #dde2e6}
.share .cols li::before{content:"";position:absolute;left:2px;top:1.35em;width:8px;height:8px;border-radius:50%;background:var(--grad)}
.share .items li{background:#fff}
.play{display:grid;grid-template-columns:repeat(2,1fr);column-gap:64px}
.play li{display:grid;grid-template-columns:56px 1fr;align-content:start;column-gap:8px;padding:28px 0;border-top:1px solid var(--line)}
.play b{grid-row:span 2;font-family:var(--en);font-weight:800;font-size:22px;color:var(--red);line-height:1.5}
.play h3{font-size:18px;font-weight:900;line-height:1.6;margin-bottom:6px}
.play p{color:var(--sub);font-size:15px;line-height:1.9}
@media(max-width:1100px){
 .road li{grid-template-columns:120px 1fr;gap:28px}
 .road .go{grid-column:2}
}
@media(max-width:720px){
 .road li{grid-template-columns:1fr;gap:14px;padding:28px 0}
 .road .go{grid-column:auto}
 .road .n b{font-size:44px}
 .share .cols,.play{grid-template-columns:1fr;gap:0}
 .share .cols>div+div{margin-top:36px}
}
/* 専門ページのグループ見出し（build_v3.markets_links） */
.mk-g{font-weight:700;font-size:14px;color:var(--sub);margin:28px 0 12px}
.mk-g:first-of-type{margin-top:0}

/* ===== SP最適化（担当A・共通部品とトップ） ===== */
@media(max-width:1100px){
 .hd .menu summary span{transition:box-shadow .2s,transform .2s,background .2s}
 .hd .menu[open] summary span{background:transparent;box-shadow:0 0 0 #fff}
 .hd .menu[open] summary::before,.hd .menu[open] summary::after{content:"";position:absolute;width:20px;height:2px;background:#fff;border-radius:2px}
 .hd .menu[open] summary::before{transform:rotate(45deg)}
 .hd .menu[open] summary::after{transform:rotate(-45deg)}
 .hd .menu summary{position:relative}
 .hd .menu nav .btn+.btn{margin-top:10px}
}
@media(max-width:720px){
 .hd .menu nav{max-height:calc(100vh - 68px);max-height:calc(100dvh - 68px);overflow-y:auto;padding:4px 20px 24px;top:68px}
 .hd .menu nav a:not(.btn){display:flex;align-items:center;min-height:56px;padding:0;font-size:16px}
 .hd .menu nav .btn{min-height:56px;margin-top:16px;justify-content:space-between;padding:0 22px;color:#fff}
 .hd .menu summary{width:48px;height:48px}
 .sec{padding:64px 0}
 .hd .logo{display:flex;align-items:center;min-height:48px}
 .mini span{font-size:12px}
 .sh{margin-bottom:28px}
 .sh h2::after{display:none}
 .sh p{margin-top:16px}
 .hero{padding:20px 0 56px}
 .hero h1{font-size:clamp(30px,8.6vw,36px);line-height:1.3}
 .hero .script{font-size:26px}
 .hero .lead{margin-top:22px}
 .hero .cta{margin-top:28px}
 .hero .cta .btn{min-height:56px}
 .hero .cta .lnk{min-height:48px}
 .who{margin-top:28px}
 .collage{height:340px;margin-top:4px}
 .collage .p1{place-items:start start}
 .collage .p1 span{margin:10px;font-size:12px;padding:3px 10px}
 .collage .p3 span,.collage .p2 span{display:none}
 .cases .ph{aspect-ratio:16/10}
 .cases .ph span{font-size:12px}
 .cases{gap:28px}
 .klist .ph span{font-size:12px}
 .cmap .nm small,.others a small,.alist .when,.sys-ex small,.issue-list .no,.mini span b,.stage .do small{font-size:12px}
 .form label em{font-size:12px}
 .cta-band{padding:44px 22px}
 .cta-band .acts .btn{min-height:60px}
 .cta-band .line{display:flex;align-items:center;justify-content:center;min-height:48px}
 .sub-hero{padding:16px 0 52px}
 .sub-hero h1{font-size:clamp(32px,9vw,40px);line-height:1.3}
 .sub-hero h1::after{margin-top:20px;width:64px;height:5px}
 .sub-hero .tag{font-size:18px}
 .crumb{margin-bottom:24px;gap:2px 8px;font-size:12px}
 .crumb a{display:inline-flex;align-items:center;min-height:32px}
 .faq summary{padding:20px 0;min-height:60px}
 /* フッター */
 .ft{margin-top:64px;padding:52px 0 28px}
 .ft .top{grid-template-columns:1fr 1fr;gap:28px 20px}
 .ft .top>div:nth-child(2){grid-column:1/-1}
 .ft .top>div:nth-child(2) ul{display:grid;grid-template-columns:1fr 1fr;column-gap:20px}
 .ft li a{display:flex;align-items:center;min-height:44px;padding:0;font-size:14px;line-height:1.5}
 .ft h4{font-size:12px;margin-bottom:6px}
 .ft .big{margin-top:44px;font-size:clamp(26px,7.6vw,34px)}
 .ft .bot{margin-top:24px}
}

/* SP最適化（統合時の追補）: パンくずのタップ領域44px・フッター装飾英字12px以上 */
@media(max-width:720px){
 .crumb{gap:0 8px;align-items:center}
 .crumb a{min-height:44px;min-width:44px}
 .ft .big em{font-size:max(12px,.42em)}
}

/* ---------- スマホ固定CTA（ヘッダーの .acts が消える幅以下・/price/ の .pbar とは出し分け） ---------- */
.fbar{display:none}
@media(max-width:1100px){
 .fbar{position:fixed;left:0;right:0;bottom:0;z-index:60;display:flex;gap:10px;padding:10px 16px calc(10px + env(safe-area-inset-bottom));background:#fff;border-top:1px solid var(--line);box-shadow:0 -6px 20px rgba(0,0,0,.06)}
 .fbar .btn{flex:1 1 0;justify-content:center;gap:8px;min-height:46px;padding:0 10px;font-size:14px;min-width:0;white-space:nowrap}
 .fbar .btn-red{flex:1.2 1 0}
 body.has-fbar{padding-bottom:calc(72px + env(safe-area-inset-bottom))}
}
/* 404（/404.html） */
.e404 .sub-grid{grid-template-columns:1fr}.e404 h1{font-size:clamp(30px,4.4vw,60px)}.e404 .acts{margin-top:28px;display:flex;flex-wrap:wrap;gap:12px}

/* ヒーローの生成写真 */
.collage .ph img{display:block;width:100%;height:100%;object-fit:cover}

/* ヒーロー右上＝実リール（2026-10-15 CEO採用） */
.collage .p2.reel{top:3%;height:51%;width:30%}
.collage .p2.reel img{object-position:center 30%}
.collage .p2.reel::after{content:"";position:absolute;inset:auto 0 0 0;height:38%;background:linear-gradient(transparent,rgba(0,0,0,.55));border-radius:0 0 var(--r) var(--r)}
.collage .p2.reel .rv-v{position:absolute;left:10px;bottom:10px;z-index:1;display:flex;align-items:center;gap:4px;color:#fff;font-style:normal;font-weight:700;font-size:13px;letter-spacing:.02em}
.collage .p2.reel{position:absolute;overflow:hidden}
.collage .p2.reel .rv-v{white-space:nowrap}
@media(max-width:600px){.collage .p2.reel .rv-v{left:7px;bottom:6px;font-size:10px;gap:3px}.collage .p2.reel .rv-v svg{width:8px;height:8px}}

/* FV冠バッジの注釈（2026-10-15 CEO「一旦作ってみて」・時点などは仮＝20XX） */
.fvt-list b{position:relative}
.fvt-n{display:inline;margin-left:1px;font-size:.8em;font-weight:700;vertical-align:super;line-height:0;letter-spacing:0}
.fvt-notes{list-style:none;margin:20px 0 0;padding:0;font-size:11px;line-height:1.7;color:var(--mute)}
.fvt-notes li{display:flex;gap:.4em}
.fvt-notes li span{flex:none}
.fvt-notes li.all{margin-top:4px}
@media (min-width:1100px){.fvt-notes{columns:2;column-gap:40px;margin-top:16px}.fvt-notes li{break-inside:avoid}}
.fvt-list small:has(.fvt-n){max-width:74%}

/* ---- v3pages/ads.css ---- */
.ad-gap{height:28px}
.ad-note{margin-top:32px;font-size:14px;color:#b9c0c7}
.ad-vs{grid-template-columns:1fr 1fr}
.ad-vs p.imj{background:var(--grad)}
.ad-vs p.imj small{color:#ffe1d8}
.dark .ad-measure>div b{color:#222}
.dark .ad-measure>div.imj b{color:#fff}
@media (max-width:720px){.ad-vs{grid-template-columns:1fr}}

/* ---- v3pages/brand.css ---- */
.br-list{display:grid;gap:16px}
.br-row{display:grid;grid-template-columns:5fr 7fr;gap:48px;padding:44px 48px;border-radius:var(--r);background:#fff;transition:background .2s,color .2s}
.br-row:hover{background:var(--dark);color:#fff}
.br-h small{font-family:var(--en);font-weight:700;font-size:12px;letter-spacing:.1em;color:var(--red)}
.br-big{display:block;margin:10px 0 6px;font-weight:800;font-size:clamp(34px,4vw,56px);line-height:1.05;color:var(--line)}
.br-row:hover .br-big{color:#444a50}
.br-h strong{display:block;font-family:var(--en);font-size:26px;font-weight:800}
.br-g{font-size:20px;font-weight:900;line-height:1.6}
.br-b dl{margin-top:18px;display:grid;grid-template-columns:110px 1fr;gap:10px 16px;font-size:14px}
.br-b dt{font-weight:700;color:var(--mute)}
.br-b dd{color:var(--sub)}
.br-row:hover dd{color:#c9cfd5}
.br-row .go{margin-top:22px;display:flex;justify-content:space-between;align-items:center;font-size:13px;font-weight:700}
.br-row .go i{font-style:normal;display:grid;place-items:center;width:40px;height:40px;border-radius:50%;background:var(--grad);color:#fff}
.br-note{margin-top:28px;font-size:14px;color:var(--sub)}
.br-ext{font-size:14px;font-weight:700;color:var(--sub);text-decoration:underline;text-underline-offset:4px}
.br-ext:hover{color:var(--red)}
.br-one{grid-template-columns:1fr}
.br-flow3{grid-template-columns:repeat(3,1fr)}
.br-flow4{grid-template-columns:repeat(4,1fr)}
@media(max-width:1100px){.br-row{grid-template-columns:1fr;gap:24px;padding:36px 32px}.br-flow3,.br-flow4{grid-template-columns:repeat(2,1fr);row-gap:28px}.br-flow3 li:nth-child(odd),.br-flow4 li:nth-child(odd){padding-left:0;border-left:0}}
@media(max-width:720px){.br-row{padding:28px 22px}.br-b dl{grid-template-columns:1fr;gap:2px}.br-b dd{margin-bottom:10px}.br-flow3,.br-flow4{grid-template-columns:1fr;row-gap:0}.br-flow3 li,.br-flow4 li{display:grid;grid-template-columns:48px 1fr;column-gap:4px;padding:16px 0;border-left:0;border-top:1px solid var(--line)}.br-flow3 li+li,.br-flow4 li+li{padding-left:0}.br-flow3 b,.br-flow4 b{grid-row:span 2}.br-flow3 h4,.br-flow4 h4{margin:0 0 4px}}
@media(max-width:720px){.others a small{font-size:12px}}
/* 2026-10-18 外国人来店バンクで5件→3+2。2026-10-21 GCJ・MOGU MATCHで7件→PCは3+2+2（1100px以下は既存の2列/1列のまま） */
@media(min-width:1101px){
 .brands{grid-template-columns:repeat(6,1fr)}
 .brands a{grid-column:span 2}
 .brands a:nth-child(n+4){grid-column:span 3}
}
/* 2026-10-21 外国人来店バンク・KURUYO KOREAに公式サイトの情報（規模・料金）を掲載。料金カードは費用欄の .bd3 を流用 */
.br-stats{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:16px;list-style:none;padding:0}
.br-stats li{padding:26px 24px;border-radius:var(--r);background:#fff;box-shadow:0 0 0 1px #e3e6ea}
.br-stats p{display:flex;flex-wrap:wrap;align-items:baseline;gap:0 4px;color:var(--red);font-weight:900}
.br-stats b{font-family:var(--en);font-size:44px;line-height:1;letter-spacing:-.01em}
.br-stats span{font-size:15px;white-space:nowrap}
.br-stats small{display:block;margin-top:10px;font-size:13.5px;color:var(--sub);line-height:1.6}
.bd3.br-plan2{grid-template-columns:repeat(2,1fr)}
.bd-amt.br-amt{flex-wrap:wrap}
.br-sub{margin:-4px 0 14px;font-size:14px;font-weight:700}
.br-pn{margin-top:20px;padding-left:1.2em;font-size:13.5px;color:var(--sub);line-height:1.8}
.br-pn li+li{margin-top:4px}
/* 2026-10-21 NAVERでの検索順位（_naver_results.py） */
.br-stats3{grid-template-columns:repeat(3,1fr)}
.nr-cases{display:grid;grid-template-columns:repeat(2,1fr);gap:16px;margin-top:16px;list-style:none;padding:0}
.nr-cases li{padding:26px 28px;border-radius:var(--r);background:#f3f4f6}
.nr-cases h4{font-size:17px;font-weight:900;margin:0 0 14px}
.nr-cases dl{display:grid;grid-template-columns:auto 1fr;gap:8px 16px;margin:0;align-items:baseline}
.nr-cases dt{font-size:14.5px;font-weight:700}
.nr-cases dd{margin:0;color:var(--red);font-weight:900;font-size:16px}
@media(max-width:720px){html body:not(#_z) .br-stats.br-stats3,html body:not(#_z) .nr-cases{grid-template-columns:1fr}html body:not(#_z) .nr-cases li{padding:20px 18px}}
@media(max-width:720px){html body:not(#_z) .br-stats{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}html body:not(#_z) .br-stats li{padding:18px 16px}html body:not(#_z) .br-stats b{font-size:30px}}

/* ---- v3pages/corp.css ---- */
/* corp: company / news / download / download-terms（接頭辞 .cp-） */
.cp-story{display:grid;grid-template-columns:1.1fr 1fr;gap:64px;align-items:start}
.cp-story p{max-width:640px}.cp-story p+p{margin-top:1em}
.cp-links{display:flex;flex-wrap:wrap;gap:20px 32px;margin-top:36px!important}
.cp-fields{display:grid;gap:10px;counter-reset:f}
.cp-fields li{counter-increment:f;display:grid;grid-template-columns:48px 1fr;align-items:baseline;padding:20px 24px;border-radius:12px;background:#fff;font-weight:900}
.cp-fields li::before{content:counter(f,decimal-leading-zero);font-family:var(--en);font-weight:800;font-size:20px;color:var(--red)}
.cp-fields small{display:block;margin-top:4px;font-size:13px;font-weight:500;color:var(--sub);line-height:1.6;word-break:auto-phrase}
.cp-prof{max-width:980px}
.cp-prof>div{display:grid;grid-template-columns:200px 1fr;gap:24px;padding:22px 0;border-top:1px solid var(--line)}
.cp-prof>div:last-child{border-bottom:1px solid var(--line)}
.cp-prof dt{font-weight:700;color:var(--mute);font-size:14px}
.cp-prof dd{font-weight:500}
.cp-brands{display:grid;grid-template-columns:repeat(4,1fr);gap:16px}
.cp-brands li{display:flex;flex-direction:column;padding:28px 26px;border-radius:16px;background:var(--dark2)}
.cp-brands small{font-family:var(--en);font-weight:700;font-size:12px;letter-spacing:.1em;color:#ff7a5c}
.cp-brands strong{margin:8px 0 14px;font-family:var(--en);font-size:22px;font-weight:800;line-height:1.3}
.cp-brands p{color:#c9cfd5;font-size:14px;line-height:1.8}
.cp-go{margin-top:auto;padding-top:20px;display:flex;justify-content:space-between;align-items:center;font-size:13px;font-weight:700}
.cp-go i{font-style:normal;display:grid;place-items:center;width:36px;height:36px;border-radius:50%;background:var(--grad)}
.cp-msg{display:grid;grid-template-columns:360px 1fr;gap:56px;align-items:center}
.cp-msg .ph{aspect-ratio:4/5;border-radius:var(--r) 0 var(--r) var(--r)}
.cp-who{font-weight:900;font-size:20px}
.cp-msg1{max-width:960px}
.cp-msg1 h3{margin:0 0 32px;font-size:clamp(22px,2.4vw,32px);font-weight:900;line-height:1.6;letter-spacing:.03em}
.cp-msg1 p{font-size:16px;line-height:2.1;color:var(--sub)}
.cp-msg1 p+p{margin-top:1.2em}
.cp-msg1 .cp-who{margin-top:36px;text-align:right;font-size:17px;color:var(--ink,inherit)}
.cp-todo{margin-top:20px;padding:36px 32px;border-radius:16px;background:var(--panel);font-weight:900;font-size:20px;color:var(--sub)}
.cp-note{margin-top:14px;font-size:13px;color:var(--mute)}
.cp-note a{text-decoration:underline;text-underline-offset:3px;color:var(--red)}
.cp-access{display:grid;grid-template-columns:1fr 1.3fr;gap:56px;align-items:center}
.cp-access .ph{aspect-ratio:16/10;border-radius:var(--r) 0 var(--r) var(--r)}
.cp-addr{font-size:20px;font-weight:900;line-height:1.7}
.cp-art{max-width:860px}
.cp-meta{display:flex;align-items:center;gap:16px;font-size:13px;font-weight:700;color:var(--red)}
.cp-meta time{font-family:var(--en);font-size:15px}
.cp-body{margin-top:28px}.cp-body .cp-todo{margin-top:0}
.cp-back{display:flex;flex-wrap:wrap;gap:20px 36px;margin-top:56px}
.cp-dl{display:grid;grid-template-columns:repeat(2,1fr);gap:32px}
.cp-dl>a{display:block}
.cp-cover{position:relative;display:flex;flex-direction:column;justify-content:space-between;aspect-ratio:4/3;padding:32px 34px;border-radius:var(--r) 0 var(--r) var(--r);background:var(--dark);color:#fff;overflow:hidden}
.cp-cover::after{content:"";position:absolute;right:-60px;bottom:-80px;width:220px;height:220px;border-radius:50%;background:var(--grad-d)}
.cp-cover small{font-family:var(--en);font-weight:700;font-size:12px;letter-spacing:.1em;color:#ff7a5c}
.cp-cover b{position:relative;z-index:1;font-size:clamp(24px,2.4vw,34px);font-weight:900;line-height:1.4}
.cp-cover span{font-family:var(--en);font-size:12px;letter-spacing:.1em;color:#c9cfd5}
.cp-cover-l{aspect-ratio:3/4}
.cp-cap{padding-top:22px}
.cp-k{font-size:13px;font-weight:700;color:var(--red)}
.cp-cap h3{margin-top:6px;font-size:22px;font-weight:900;line-height:1.5}
.cp-cap p:not(.cp-k){margin-top:8px;font-size:14px;color:var(--sub)}
.cp-more{display:inline-flex;align-items:center;gap:12px;margin-top:16px;font-weight:700}
.cp-more i{font-style:normal;display:inline-grid;place-items:center;width:36px;height:36px;border-radius:50%;background:var(--panel);transition:background .2s,color .2s}
.cp-dl>a:hover .cp-more i{background:var(--grad);color:#fff}
.cp-dl>a:hover h3{color:var(--red)}
.cp-terms-note{display:grid;grid-template-columns:1fr auto;gap:32px;align-items:center}
.cp-terms-note p:not(.cp-k){margin-top:6px;max-width:680px}
.cp-detail{display:grid;grid-template-columns:1fr 380px;gap:72px;align-items:start}
.cp-detail aside{position:sticky;top:110px}
.cp-h{font-size:clamp(24px,2.4vw,32px);font-weight:900;margin-bottom:14px}
.cp-todo-box{margin:28px 0 44px;padding:26px 28px;border-radius:16px;background:var(--panel)}
.cp-todo-box b{display:block;font-size:14px;margin-bottom:4px}
.cp-todo-box p{color:var(--sub);font-size:14px}
.cp-form.form{max-width:none}
@media(max-width:1100px){
 .cp-brands{grid-template-columns:1fr 1fr}
 .cp-story,.cp-detail{grid-template-columns:1fr;gap:40px}
 .cp-detail aside{position:static;max-width:380px;order:-1}
 .cp-msg{grid-template-columns:260px 1fr;gap:36px}
}
@media(max-width:720px){
 .cp-story,.cp-msg,.cp-access,.cp-dl,.cp-brands,.cp-terms-note{grid-template-columns:1fr;gap:32px}
 .cp-msg .ph{aspect-ratio:4/3}
 .cp-prof>div{grid-template-columns:1fr;gap:4px}
 .cp-cover{padding:24px}
 .cp-terms-note .btn{width:100%}
 .cp-form .send .btn{min-width:0!important;width:100%}
 .cp-detail aside{max-width:none}
 .cp-todo{padding:26px 22px;font-size:17px}
}
.cp-form .send input[type=checkbox]{width:auto;display:inline-block;vertical-align:-2px;margin-right:8px}
.cp-vision{font-size:clamp(24px,3vw,40px);font-weight:900;line-height:1.6;letter-spacing:.04em;max-width:960px}
.cp-toc{margin:28px 0 48px}
.cp-toc .cp-k{margin-bottom:8px}
.cp-toc li{display:grid;grid-template-columns:72px 1fr;gap:12px;padding:20px 0;border-top:1px solid var(--line)}
.cp-toc li:last-child{border-bottom:1px solid var(--line)}
.cp-toc small{font-weight:700;color:var(--red);font-size:14px;line-height:1.9}
.cp-toc h3{font-size:17px;font-weight:900;line-height:1.6}
.cp-toc li p{margin-top:4px;font-size:14px;color:var(--sub);line-height:1.85}
@media(max-width:720px){.cp-toc li{grid-template-columns:1fr;gap:2px}}
/* SP: フォーム（iOSズーム防止16px・タップ領域44px+） */
@media(max-width:720px){
 .form .row{padding:18px 0}
 .form label{font-size:15px}
 .form label em{font-size:12px;padding:2px 8px}
 .form input:not([type=checkbox]):not([type=radio]),.form select,.form textarea{font-size:16px;min-height:52px;padding:14px 16px}
 .form textarea{min-height:200px}
 .form select{appearance:none;-webkit-appearance:none;background-image:linear-gradient(45deg,transparent 50%,var(--mute) 50%),linear-gradient(135deg,var(--mute) 50%,transparent 50%);background-position:calc(100% - 22px) 50%,calc(100% - 16px) 50%;background-size:6px 6px;background-repeat:no-repeat;padding-right:40px}
 .form .chips{gap:10px}
 .form .chips span{display:inline-flex;align-items:center;min-height:44px;padding:0 18px;font-size:15px}
 .form .send label{display:block!important;position:relative;min-height:44px;font-size:15px!important;line-height:1.8;padding:8px 0 8px 36px}
 .form .send input[type=checkbox],.cp-form .send input[type=checkbox]{position:absolute;left:0;top:8px;width:24px;height:24px;margin:0;min-height:0}
 .form .send .btn{width:100%;min-width:0!important}
}
@media(max-width:720px){
 .cp-cap h3{font-size:20px;text-wrap:balance}
 .cp-cover b{font-size:22px}
}
/* 2026-10-21 自社サービス7件：PCは3+2+2（.brands と同じ組み方） */
@media(min-width:1101px){
 .cp-brands{grid-template-columns:repeat(6,1fr)}
 .cp-brands>li{grid-column:span 2}
 .cp-brands>li:nth-child(n+4){grid-column:span 3}
}
@media(max-width:1100px){.cp-brands>li:last-child:nth-child(odd),.brands>a:last-child:nth-child(odd){grid-column:1/-1}}
/* 2026-10-21 資料・書籍：書籍を先頭に大きく（表紙→Amazon Kindle版） */
.cp-book{display:grid;grid-template-columns:minmax(0,380px) 1fr;gap:72px;align-items:center}
.cp-book-cv{display:block;border-radius:6px;overflow:hidden;box-shadow:0 24px 48px rgba(20,24,28,.18);transition:transform .25s}
.cp-book-cv:hover{transform:translateY(-4px)}
.cp-book-cv img{display:block;width:100%;height:auto}
.cp-book h3{margin:8px 0 20px;font-size:clamp(22px,2.4vw,32px);font-weight:900;line-height:1.5}
.cp-book-tx>p:not(.cp-k){max-width:640px;color:var(--sub);line-height:2}
.cp-book dl{display:grid;grid-template-columns:96px 1fr;gap:10px 16px;margin-top:26px;font-size:14px}
.cp-book dt{font-weight:700;color:var(--mute)}
.cp-book dd{margin:0;font-weight:700}
.cp-book-btns{display:flex;flex-wrap:wrap;align-items:center;gap:16px 32px;margin-top:34px}
.cp-book-toc{margin:64px 0 0}
.cp-detail aside .cp-book-cv{max-width:300px}
.cp-book-amz{margin-top:20px;max-width:300px;width:100%}
@media(max-width:1100px){.cp-book{grid-template-columns:300px 1fr;gap:44px}}
@media(max-width:720px){.cp-book{grid-template-columns:1fr;gap:28px}.cp-book-cv{max-width:240px;margin:0 auto}.cp-book dl{grid-template-columns:72px 1fr}.cp-book-btns .btn{width:100%}.cp-book-toc{margin-top:44px}.cp-detail aside .cp-book-cv{max-width:200px}.cp-book-amz{max-width:none}}
/* 2026-10-21 ミッション・バリュー（CEO支給原稿） */
.cp-mission p{font-size:clamp(20px,2.4vw,28px);font-weight:900;line-height:1.6;letter-spacing:.04em}
.cp-mission p[lang=en]{font-family:var(--en);font-weight:800;font-size:clamp(30px,4.4vw,56px);line-height:1.2;letter-spacing:0;color:var(--red);margin-bottom:12px}
.cp-values{display:grid;gap:10px;counter-reset:v;max-width:960px;margin-left:0}
.cp-values li{counter-increment:v;display:grid;grid-template-columns:48px 220px 1fr;align-items:baseline;gap:0 16px;padding:20px 24px;border-radius:12px;background:var(--panel)}
.cp-values li::before{content:counter(v,decimal-leading-zero);font-family:var(--en);font-weight:800;font-size:20px;color:var(--red)}
.cp-values b{font-size:18px;font-weight:900}
.cp-values span{font-size:15px;color:var(--sub);line-height:1.7;word-break:auto-phrase}
@media (max-width:767px){.cp-values li{grid-template-columns:36px 1fr;padding:14px 16px}.cp-values li::before{font-size:16px}.cp-values span{grid-column:2;font-size:13px;margin-top:2px}.cp-values b{font-size:16px}}
/* 2026-10-21 サービス資料（横長16:9の表紙＝資料の1ページ目） */
.cp-sdoc-cv{border-radius:10px;overflow:hidden;box-shadow:0 18px 40px rgba(20,24,28,.14);background:var(--panel);aspect-ratio:16/9}
.cp-sdoc-cv img{display:block;width:100%;height:100%;object-fit:cover;transition:transform .3s}
.cp-dl>a:hover .cp-sdoc-cv img{transform:scale(1.03)}
.cp-sdoc-pv{display:grid;grid-template-columns:repeat(2,1fr);gap:12px;margin:24px 0 8px}
.cp-sdoc-pv img{display:block;width:100%;height:auto;border-radius:6px;border:1px solid var(--line)}
.cp-sdoc-meta{display:grid;grid-template-columns:auto 1fr;gap:6px 16px;margin:20px 0 16px;font-size:14px}
.cp-sdoc-meta dt{color:var(--sub)}
.cp-sdoc-ok{font-weight:900;font-size:18px}
.br-sdoc{display:grid;grid-template-columns:360px 1fr;gap:40px;align-items:center;padding:28px;border-radius:var(--r);background:var(--panel)}
.br-sdoc h3{font-size:22px;font-weight:900;line-height:1.5;margin:6px 0 8px}
.br-sdoc p:not(.cp-k){color:var(--sub);font-size:15px;margin-bottom:18px}
@media (max-width:767px){.cp-sdoc-pv{gap:8px}.br-sdoc{grid-template-columns:1fr;gap:20px;padding:18px}.br-sdoc h3{font-size:18px}}

/* ---- v3pages/media.css ---- */
/* media: コラム */
.md-hero{padding-bottom:56px}
.md-sec{padding-top:0}
.md-cats{margin-top:0;margin-bottom:56px}
.md-cats a{display:inline-flex;align-items:center;gap:8px}
.md-cats a small{font-family:var(--en);font-weight:500;font-size:12px;color:var(--mute)}
.md-cats a[aria-current]{background:var(--ink);color:#fff}
.md-cats a[aria-current] small{color:#c9ced4}
.md-sub{font-size:20px;font-weight:900;margin-bottom:28px;display:flex;align-items:baseline;gap:16px;flex-wrap:wrap}
.md-sub small{font-family:var(--en);font-size:13px;font-weight:500;color:var(--mute)}
.md-latest{margin-bottom:96px}
.md-all{padding-top:8px}
.md-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:56px 40px}
.md-grid .feat{display:block}
.md-grid .feat .k{margin-top:18px}
.md-grid .feat h3{font-size:18px;margin-top:10px}
.md-grid .feat p:last-child{overflow-wrap:anywhere}
.md-pager{display:flex;flex-wrap:wrap;justify-content:center;align-items:center;gap:8px;margin-top:80px;font-family:var(--en);font-weight:700}
.md-pager a,.md-pager .gap{display:inline-grid;place-items:center;min-width:44px;height:44px;padding:0 12px;border-radius:99px;background:var(--panel);font-size:14px}
.md-pager .gap{background:none;min-width:auto;padding:0 4px;color:var(--mute)}
.md-pager a:hover{background:var(--ink);color:#fff}
.md-pager a[aria-current]{background:var(--grad);color:#fff}
.md-pager a.pn{font-family:var(--jp);padding:0 22px}
/* 記事 */
.sub-hero.md-ahead{padding-bottom:56px}
.md-ah{max-width:960px}
.md-meta{display:flex;flex-wrap:wrap;align-items:center;gap:6px 18px;font-size:13px;font-weight:700}
.md-meta .c{padding:5px 14px;border-radius:99px;background:var(--panel)}
.md-meta a.c:hover{background:var(--ink);color:#fff}
.md-meta time,.md-meta span{font-family:var(--en);font-weight:500;color:var(--mute)}
.sub-hero.md-ahead h1{word-break:auto-phrase;text-wrap:balance;margin-top:22px;font-size:clamp(26px,3.3vw,44px);line-height:1.5;overflow-wrap:anywhere}
.sub-hero.md-ahead h1::after{margin-top:32px}
.md-bodysec{padding-top:0}
.md-art{max-width:760px;margin-inline:auto}
.md-toc{margin-bottom:56px;padding:30px 32px;border-radius:16px;background:var(--panel)}
.md-toc .t{font-family:var(--en);font-weight:800;font-size:14px;letter-spacing:.08em;color:var(--red);margin-bottom:12px}
.md-toc ol{list-style:none;counter-reset:t}
.md-toc li{counter-increment:t;display:grid;grid-template-columns:2.2em 1fr;padding:7px 0;font-size:15px;font-weight:700;line-height:1.7}
.md-toc li::before{content:counter(t,decimal-leading-zero);font-family:var(--en);color:var(--mute);font-weight:500}
.md-toc a{overflow-wrap:anywhere}
.md-toc a:hover{color:var(--red)}
.md-body{font-size:17px;line-height:2.05;letter-spacing:.03em;overflow-wrap:anywhere;word-break:normal}
.md-body>*:first-child{margin-top:0}
.md-body p{margin:0 0 1.5em}
.md-body h2{margin:88px 0 28px;padding-top:28px;position:relative;font-size:clamp(22px,2.4vw,28px);font-weight:900;line-height:1.55;scroll-margin-top:100px}
.md-body h2::before{content:"";position:absolute;left:0;top:0;width:48px;height:5px;border-radius:5px;background:var(--grad)}
.md-body h3{margin:56px 0 18px;font-size:clamp(18px,1.9vw,21px);font-weight:900;line-height:1.6}
.md-body h4{margin:40px 0 12px;font-size:17px;font-weight:900}
.md-body ul,.md-body ol{margin:0 0 1.8em;padding-left:1.5em}
.md-body ul{list-style:disc}
.md-body ol{list-style:decimal}
.md-body li{margin:.4em 0;padding-left:.2em}
.md-body li::marker{color:var(--red)}
.md-body li>ul,.md-body li>ol{margin:.6em 0 .6em}
.md-body a{color:var(--red);text-decoration:underline;text-underline-offset:3px}
.md-body a:hover{opacity:.75}
.md-body strong{font-weight:900}
.md-body blockquote{margin:0 0 1.8em;padding:24px 28px;border-radius:12px;background:var(--panel);color:var(--sub)}
.md-body blockquote p:last-child{margin-bottom:0}
.md-body hr{border:0;height:1px;background:var(--line);margin:56px 0}
.md-body sup{font-size:max(12px,.7em);line-height:0}
.md-body .ph{aspect-ratio:16/9;border-radius:var(--r) 0 var(--r) var(--r);margin:40px 0}
.md-body img{display:block;max-width:100%;height:auto;margin:40px auto;border-radius:var(--r) 0 var(--r) var(--r)}
.md-tbl{margin:0 0 2em;overflow-x:auto;-webkit-overflow-scrolling:touch}
.md-tbl table{width:100%;min-width:520px;border-collapse:collapse;font-size:15px;line-height:1.8}
.md-tbl th,.md-tbl td{padding:14px 16px;text-align:left;vertical-align:top;border-bottom:1px solid var(--line)}
.md-tbl th,.md-tbl thead td,.md-tbl tr:first-child td:first-child:last-child{font-weight:900}
.md-tbl thead th,.md-tbl thead td{background:var(--panel)}
.md-tbl tbody th{background:var(--panel);white-space:nowrap}
.md-tbl.n2 table{min-width:0}
.md-tbl.n2 tbody th{white-space:normal}
.md-tbl td p,.md-tbl li p{margin:0}
.md-pn{display:grid;grid-template-columns:1fr 1fr;gap:24px;max-width:760px;margin:96px auto 0}
.md-pn a{display:block;padding:24px 28px;border-radius:16px;background:var(--panel);transition:background .2s,color .2s}
.md-pn a small{display:block;font-size:12px;font-weight:700;color:var(--red);margin-bottom:8px}
.md-pn a span{display:block;font-size:14px;font-weight:700;line-height:1.7;overflow-wrap:anywhere;display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden}
.md-pn a.next{text-align:right}
.md-pn a:hover{background:var(--ink);color:#fff}
.md-pn a:hover small{color:#ff7a5c}
.md-back{max-width:760px;margin:48px auto 0}
.md-rel{padding-bottom:0}
@media(max-width:1100px){
 .md-grid{grid-template-columns:1fr 1fr;gap:48px 28px}
}
@media(max-width:720px){
 .md-grid{grid-template-columns:1fr;gap:40px}
 .md-cats{margin-bottom:40px}
 .md-latest{margin-bottom:64px}
 .md-body{font-size:16px;line-height:2}
 .md-body h2{margin:64px 0 22px}
 .md-toc{padding:22px 20px;margin-bottom:40px}
 .md-pn{grid-template-columns:1fr;margin-top:64px}
 .md-pn a.next{text-align:left}
 .md-pager{margin-top:56px}
 .sub-hero.md-ahead{padding-bottom:40px}
 .md-cats{flex-wrap:nowrap;overflow-x:auto;margin-inline:-20px;padding:0 20px 8px;scrollbar-width:none;-webkit-overflow-scrolling:touch}
 .md-cats::-webkit-scrollbar{display:none}
 .md-cats a{flex:none;min-height:44px;white-space:nowrap}
 .md-sub{font-size:19px;margin-bottom:22px}
 .md-grid{gap:30px}
 .md-grid .feat{display:grid;grid-template-columns:124px 1fr;gap:6px 14px;align-items:start}
 .md-grid .feat .ph{grid-column:1;grid-row:1/3;width:124px;aspect-ratio:16/10;object-fit:cover;border-radius:12px 0 12px 12px}
 .md-grid .feat .k{grid-column:2;margin-top:0;line-height:1.5}
 .md-grid .feat .k time{display:block;margin:2px 0 0}
 .md-grid .feat h3{grid-column:2;grid-row:2;margin-top:0;font-size:16px;line-height:1.55;display:-webkit-box;-webkit-line-clamp:4;-webkit-box-orient:vertical;overflow:hidden}
 .md-grid .feat p:last-child{grid-column:1/-1;margin-top:2px;font-size:14px;line-height:1.75;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}
 .md-all .feat:first-child{display:block}
 .md-pager a,.md-pager .gap{min-width:44px;height:48px}
 .md-ahead .crumb{margin-bottom:28px}
 .md-ahead .crumb li:last-child{flex:1 1 100%;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
 .md-ahead .crumb li:last-child::before{display:none}
 .md-meta .c{padding:11px 16px;font-size:13px}
 .md-meta time,.md-meta span{font-size:14px}
 .sub-hero.md-ahead h1{font-size:25px;line-height:1.55;margin-top:14px}
 .sub-hero.md-ahead h1::after{margin-top:24px}
 .md-toc li{padding:0;font-size:15px}
 .md-toc li a{display:block;padding:9px 0}
 .md-body h2{font-size:22px;margin:56px 0 20px}
 .md-body h3{font-size:18px;margin:44px 0 14px}
 .md-body blockquote{padding:18px 20px}
 .md-body img{margin:28px auto}
 .md-body .ph{margin:28px 0}
 .md-body hr{margin:40px 0}
 .md-tbl{margin-inline:-20px;padding-inline:20px;background:linear-gradient(to right,#fff 30%,rgba(255,255,255,0)) left/24px 100% no-repeat local,linear-gradient(to left,#fff 30%,rgba(255,255,255,0)) right/24px 100% no-repeat local,linear-gradient(to right,rgba(0,0,0,.14),rgba(0,0,0,0)) left/10px 100% no-repeat scroll,linear-gradient(to left,rgba(0,0,0,.14),rgba(0,0,0,0)) right/10px 100% no-repeat scroll}
 .md-tbl table{min-width:640px;font-size:14px;line-height:1.75}
 .md-tbl th,.md-tbl td{padding:12px 12px}
 .md-tbl tbody th{white-space:normal;min-width:9em}
 .md-tbl.n2 table{min-width:0}
 .md-pn a{padding:20px 22px}
 .md-pn a span{font-size:15px}
 .md-back{margin-top:36px}
 .md-body sup{font-size:12.5px}
}
/* 必読記事（/media/ のブロック・記事末尾・/media/must-read/） */
.md-mustrow{margin-bottom:96px}
.md-mustrow .md-sub{justify-content:space-between;align-items:center}
.md-must .sh-row{margin-bottom:0}
.md-must-g{margin-top:48px}
@media (max-width:720px){.md-mustrow{margin-bottom:64px}}

/* ---- v3pages/more.css ---- */
.mo-pains{grid-template-columns:repeat(2,1fr)}
.mo-note{margin-top:16px;font-size:12px;color:var(--mute)}
.mo-badge{display:inline-block;margin-left:16px;padding:3px 14px;border-radius:99px;background:var(--panel);font-size:14px;font-weight:700;letter-spacing:.04em;vertical-align:.9em;white-space:nowrap}
.mo-flow4{grid-template-columns:repeat(4,1fr)}
.mo-dark li+li{border-left-color:#3a3f45}
.mo-dark h4{color:#fff}
.mo-dark p{color:#b9c0c7}
.mo-dark b{color:#ff7a5c}
.mo-vs2{grid-template-columns:1fr 1fr}
@media (max-width:1100px){.mo-flow4{grid-template-columns:repeat(2,1fr);row-gap:28px}.mo-flow4 li:nth-child(3){padding-left:0;border-left:0}}
@media (max-width:720px){.mo-pains,.mo-vs2{grid-template-columns:1fr}.mo-flow4{grid-template-columns:1fr}.mo-dark li,.mo-dark li+li{border-top-color:#3a3f45}.mo-badge{display:block;margin:12px 0 0;width:fit-content;vertical-align:0}}
.mo-pains q,.mo-pains p,.mo-note,.mo-tag{word-break:auto-phrase}

/* 2026-10-21 予約管理システムの開発事例：課題の一文 */
.mo-issue{margin:0 0 28px;font-size:15px;line-height:1.8;color:var(--sub);word-break:auto-phrase}
.mo-issue b{margin-right:12px;color:var(--red);font-size:13px;font-weight:900}

/* ---- v3pages/thumb_specs.css ---- */
/* 記事サムネイル「B＋図の案」（v3pages/thumb_specs.py の出力用・本体共通）。大小は置き場所で決まる */
.cv{position:relative;overflow:hidden;container-type:inline-size;display:block;width:100%;aspect-ratio:16/10;border-radius:var(--r) 0 var(--r) var(--r);background:#fff}
.cv-ex,.cv-da{background:#fff;box-shadow:inset 0 0 0 1px var(--line)}
.cv-ca{background:linear-gradient(160deg,#dfe3e7,#c7cdd3)}
.cv::after{content:"";position:absolute;left:0;right:0;bottom:0;height:2.2cqw;background:var(--grad);z-index:3}
.cv small{position:absolute;left:7cqw;top:6cqw;color:var(--red);font-weight:700;font-size:max(12px,3.4cqw);line-height:1.3}
.cv b{position:absolute;left:7cqw;right:7cqw;top:13cqw;font-weight:900;font-size:8cqw;line-height:1.3;letter-spacing:.01em;color:var(--ink)}
.cv-fig{position:absolute;right:7cqw;bottom:6cqw;width:36cqw}
.cv-fig svg{display:block;width:100%;height:auto}
.cv-img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.cv-ca::before{content:"";position:absolute;inset:0;z-index:1;background:linear-gradient(180deg,rgba(255,255,255,.92),rgba(255,255,255,.55) 42%,rgba(255,255,255,0) 70%)}
.cv-ca small,.cv-ca b{z-index:2}
.cv-note{position:absolute;right:7cqw;bottom:5cqw;z-index:2;font-size:12px;line-height:1.3;color:#fff;text-shadow:0 0 4px rgba(0,0,0,.6)}
.cv-bars{position:absolute;left:7cqw;right:7cqw;bottom:9cqw;display:grid;gap:1cqw}
.cv-bars div{display:grid;grid-template-columns:9cqw 1fr 15cqw;align-items:center;gap:2cqw;font-size:max(12px,2.5cqw);line-height:1.2}
.cv-bars i{font-style:normal;font-weight:700;color:var(--ink)}
.cv-bars u{display:block;height:2.2cqw;width:var(--w);border-radius:0 99px 99px 0;background:var(--grad);text-decoration:none}
.cv-bars em{font-style:normal;font-family:var(--en);font-weight:700;color:var(--sub);font-size:max(12px,2.5cqw);white-space:nowrap}
.cv-src{position:absolute;left:7cqw;right:7cqw;bottom:3.8cqw;font-size:max(12px,2.1cqw);color:var(--mute);line-height:1.2;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;z-index:2}
.cv-da b{top:10cqw;font-size:7cqw}
.cv-lg{aspect-ratio:16/10;border-radius:var(--r) 0 var(--r) var(--r)}
.cv-sm,.klist .cv{aspect-ratio:4/3;border-radius:10px}
.cv-sm small,.klist .cv small{display:none}
.cv-sm b,.klist .cv b{left:8cqw;right:6cqw;top:9cqw;font-size:max(12px,10.5cqw);line-height:1.3}
.cv-sm .cv-fig,.klist .cv .cv-fig{width:40cqw;right:8cqw;bottom:9cqw}
.cv-sm .cv-bars,.klist .cv .cv-bars{left:8cqw;right:8cqw;bottom:9cqw;gap:2cqw}
.cv-sm .cv-bars div,.klist .cv .cv-bars div{grid-template-columns:1fr}
.cv-sm .cv-bars i,.klist .cv .cv-bars i,.cv-sm .cv-bars em,.klist .cv .cv-bars em,.cv-sm .cv-src,.klist .cv .cv-src,.cv-sm .cv-note,.klist .cv .cv-note{display:none}
.cv-sm .cv-bars u,.klist .cv .cv-bars u{height:3.2cqw}
@media (max-width:820px){
.md-grid .feat .cv{aspect-ratio:4/3;border-radius:10px}
.md-grid .feat .cv small{display:none}
.md-grid .feat .cv b{left:8cqw;right:6cqw;top:9cqw;font-size:max(12px,10.5cqw);line-height:1.3}
.md-grid .feat .cv .cv-fig{width:40cqw;right:8cqw;bottom:9cqw}
.md-grid .feat .cv .cv-bars{left:8cqw;right:8cqw;bottom:9cqw;gap:2cqw}
.md-grid .feat .cv .cv-bars div{grid-template-columns:1fr}
.md-grid .feat .cv .cv-bars i,.md-grid .feat .cv .cv-bars em,.md-grid .feat .cv .cv-src,.md-grid .feat .cv .cv-note{display:none}
.md-grid .feat .cv .cv-bars u{height:3.2cqw}
.md-grid .feat .cv{grid-column:1;grid-row:1/3;width:132px}
.cv-lg .cv-src{display:none}.cv-lg .cv-bars div{grid-template-columns:11cqw 1fr 22cqw}.cv-lg .cv-bars{bottom:7cqw}
}

/* ---- v3pages/thumbs_proposal.css ---- */
/* /thumbs/ サムネイル3案（比較ページ専用） */
.tp-sec{padding:72px 0;border-top:1px solid var(--line)}
.tp-sec:first-child{border-top:0}
.tp-h1{font-size:40px;font-weight:900;line-height:1.4;margin-top:8px}
.tp-sec h2{font-size:28px;font-weight:900;margin-top:6px}
.tp-nav{display:flex;flex-wrap:wrap;gap:10px;margin-top:28px}
.tp-nav a{padding:8px 18px;border-radius:99px;background:var(--panel);font-weight:700;font-size:14px}
.tp-meta{display:grid;grid-template-columns:72px 1fr;gap:8px 16px;margin-top:22px;font-size:14px;max-width:900px}
.tp-meta dt{font-weight:700;color:var(--red)}
.tp-meta dd{color:var(--sub)}
.tp-h{font-size:15px;font-weight:700;color:var(--sub);margin:44px 0 18px}
.tp-top{display:grid;grid-template-columns:1.1fr 1fr;gap:48px;align-items:start}
.tp-kl{display:grid;grid-template-columns:132px 1fr;gap:22px;align-items:center;padding:20px 0;border-top:1px solid var(--line)}
.tp-kl:first-child{border-top:0;padding-top:0}
.tp-kl h3{margin-top:4px;font-size:15px;font-weight:700;line-height:1.65}
.tp-top .feat>.tp-th,.tp-top .feat>.ph{aspect-ratio:16/10;border-radius:var(--r) 0 var(--r) var(--r)}
.tp-kl>.tp-th,.tp-kl>.ph{aspect-ratio:4/3;border-radius:10px}
.tp-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:32px 24px}
.tp-grid .tp-th{aspect-ratio:16/10;border-radius:14px}
.tp-grid .k{margin-top:14px;font-size:12px;font-weight:700;color:var(--red)}
.tp-grid h3{margin-top:4px;font-size:14px;font-weight:700;line-height:1.6;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}
.tp-og{max-width:720px}
.tp-og .tp-th{aspect-ratio:1200/630;border-radius:8px;box-shadow:0 1px 0 var(--line),0 12px 32px rgba(0,0,0,.08)}

.tp-th{position:relative;overflow:hidden;container-type:inline-size;display:block;width:100%}
/* 案A 色面×英字 */
.tp-a{--bg:#f2f4f6;--fg:#1f2328;--mo:rgba(232,32,63,.9);background:var(--bg);color:var(--fg)}
.tp-a.t-red{--bg:linear-gradient(135deg,#ff5233,#e8203f);--fg:#fff;--mo:rgba(255,255,255,.28)}
.tp-a.t-ink{--bg:#1f2328;--fg:#fff;--mo:#e8203f}
.tp-a.t-org{--bg:#fff0ea;--fg:#1f2328;--mo:#ff5233}
.tp-a.t-pale{--bg:#f2f4f6;--fg:#1f2328;--mo:#e8203f}
.tp-a small{position:absolute;left:7cqw;top:7cqw;font-family:var(--en);font-weight:700;font-size:max(9px,4cqw);letter-spacing:.06em;opacity:.75}
.tp-a b{position:absolute;left:7cqw;bottom:6cqw;font-family:var(--en);font-weight:800;font-size:13cqw;line-height:1;letter-spacing:-.01em}
.tp-a i{position:absolute;inset:0}
.tp-a.m-ring i{background:radial-gradient(circle at 82% 30%,transparent 0 14cqw,var(--mo) 14cqw 15.5cqw,transparent 15.5cqw 22cqw,var(--mo) 22cqw 23cqw,transparent 23cqw)}
.tp-a.m-dot i{background:radial-gradient(var(--mo) 0 .9cqw,transparent 1cqw) 60cqw 6cqw/6cqw 6cqw;-webkit-mask:linear-gradient(90deg,transparent 55%,#000 70%);mask:linear-gradient(90deg,transparent 55%,#000 70%)}
.tp-a.m-arc i{background:radial-gradient(circle at 100% 0,var(--mo) 0 34cqw,transparent 34.2cqw)}
.tp-a.m-bar i{background:linear-gradient(var(--mo),var(--mo)) 62cqw 0/6cqw 100% no-repeat,linear-gradient(var(--mo),var(--mo)) 74cqw 30%/6cqw 70% no-repeat,linear-gradient(var(--mo),var(--mo)) 86cqw 55%/6cqw 45% no-repeat}
.tp-a.t-red.m-arc i,.tp-a.t-red.m-ring i{opacity:1}
/* 案B タイトル文字 */
.tp-b{background:#fff;box-shadow:inset 0 0 0 1px var(--line)}
.tp-b .tp-in{position:absolute;left:7cqw;right:7cqw;top:7cqw}
.tp-b::after{content:"";position:absolute;left:0;right:0;bottom:0;height:2.2cqw;background:var(--grad)}
.tp-b small{display:block;color:var(--red);font-weight:700;font-size:max(8px,3.6cqw);line-height:1.3}
.tp-b b{display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden;margin-top:3.5cqw;font-weight:900;font-size:7.4cqw;line-height:1.38;letter-spacing:.01em;color:var(--ink)}
.tp-b span{position:absolute;left:7cqw;bottom:6.5cqw;display:flex;align-items:center;gap:2cqw;font-size:max(7px,2.6cqw);font-weight:700;color:var(--sub)}
.tp-b span img{width:9cqw;height:auto}
.tp-kl .tp-b .tp-in{left:8cqw;right:8cqw;top:9cqw}
.tp-kl .tp-b b{font-size:11cqw;-webkit-line-clamp:4;margin-top:3cqw}
.tp-kl .tp-b small{font-size:7.5cqw}
.tp-kl .tp-b span{display:none}
/* 案C アイコン＋国 */
.tp-c{background:#fff4f1}
.tp-c svg{position:absolute;right:9cqw;top:50%;translate:0 -50%;width:34cqw;height:34cqw;fill:none;stroke:#e8203f;stroke-width:1.5;stroke-linecap:round;stroke-linejoin:round}
.tp-c p{position:absolute;left:7cqw;top:7cqw;display:flex;gap:1.6cqw}
.tp-c em{font-style:normal;padding:.6cqw 2.6cqw;border-radius:99px;background:#fff;color:var(--ink);font-weight:700;font-size:max(8px,3.4cqw)}
.tp-c small{position:absolute;left:7cqw;bottom:7cqw;right:48cqw;word-break:keep-all;overflow-wrap:anywhere;font-weight:900;font-size:max(9px,4.6cqw);line-height:1.4;color:var(--ink)}
.tp-kl .tp-c svg{width:44cqw;height:44cqw;right:50%;translate:50% -50%}
.tp-kl .tp-c small,.tp-kl .tp-c p{display:none}
@media (max-width:820px){.tp-top{grid-template-columns:1fr}.tp-grid{grid-template-columns:1fr 1fr}.tp-kl{grid-template-columns:96px 1fr;gap:16px}}

/* ---- 同じ記事で比較 ---- */
.tp-note{margin-top:14px;max-width:900px;font-size:14px;color:var(--sub);line-height:1.8}
.tp-note b{color:var(--ink)}
.tp-cmp{margin-top:56px}
.tp-ty{max-width:900px;font-size:14px;color:var(--sub);line-height:1.7}
.tp-ty b{display:inline-block;margin-right:12px;color:var(--red);font-weight:700}
.tp-pair{display:grid;grid-template-columns:1fr 1fr;gap:48px;margin-top:18px;align-items:start}
.tp-sl{font-size:14px;font-weight:700;color:var(--sub);margin-bottom:12px}
.tp-t{margin-top:14px;font-size:16px;font-weight:700;line-height:1.65}
.tp-kl-s{margin-top:22px;padding:18px 0 0;border-top:1px solid var(--line);grid-template-columns:132px 1fr}
.tp-kl-s:first-child{border-top:1px solid var(--line);padding-top:18px}
/* 左: 元画像を落ち着かせた案 */
/* 右: B＋図 */
@media (max-width:820px){.tp-pair{grid-template-columns:1fr;gap:40px}.tp-kl-s{grid-template-columns:132px 1fr}}

.tp-src{margin-top:6px;font-size:12px;color:var(--mute);line-height:1.5}

.tp-kl-s .k time{color:var(--mute);font-family:var(--en);margin-left:10px;font-weight:500}

/* ---- v3pages/top_parts.css ---- */
/* トップ本採用セクション（事例・補助的サービス要約・費用・FAQ）2026-10-13 */
mark.tbd{background:#fff4d6;color:#8a5a00;font-weight:700;padding:0 4px}
/* 事例 */
.results{padding-top:72px}
.rs{display:grid;grid-template-columns:minmax(0,1fr);gap:48px;margin-top:48px}
.rs-c{display:block;padding-top:24px;border-top:2px solid var(--ink)}
.rs-c .k{font-size:13px;font-weight:700;color:var(--red)}
.rs-c .m{margin-top:14px;font-size:13px;color:var(--sub)}
.rs-c .n{display:flex;align-items:baseline;flex-wrap:wrap;gap:4px 10px;font-family:var(--en);font-weight:800;line-height:1.1}
.rs-c .n span{font-size:22px;color:var(--mute)}.rs-c .n i{font-style:normal;color:var(--mute)}
.rs-c .n b{font-size:clamp(40px,4.2vw,56px);background:var(--grad);-webkit-background-clip:text;background-clip:text;color:transparent}
.rs-c .n small{font-family:var(--jp);font-size:15px;font-weight:700}
.rs-c h3{margin-top:16px;font-size:16px;font-weight:700;line-height:1.7}
.rs-c:hover h3{color:var(--red)}
/* 補助的サービス（要約） */
.ms3{display:grid;grid-template-columns:minmax(0,1fr);gap:48px;margin-top:56px}
.ms3>li{display:flex;flex-direction:column;padding-top:24px;border-top:2px solid var(--ink)}
.ms3 .no{font-family:var(--en);font-weight:800;font-size:40px;line-height:1;background:var(--grad);-webkit-background-clip:text;background-clip:text;color:transparent}
.ms3 h3{margin-top:14px;font-size:20px;font-weight:900;line-height:1.5}
.ms3 p{margin-top:12px;font-size:14px;color:var(--sub)}
.ms3 ul{margin:16px 0 20px;display:grid;gap:6px}
.ms3 ul li{font-size:14px;font-weight:700}.ms3 ul li::before{content:"・";color:var(--red)}
.ms3 .lnk{margin-top:auto}
/* 費用 */
.pr3{display:grid;grid-template-columns:minmax(0,1fr);gap:48px;margin-top:56px}
.pr3 li{padding-top:24px;border-top:2px solid var(--ink)}
.pr3 small{font-family:var(--en);font-size:12px;font-weight:700;letter-spacing:.1em;color:var(--red)}
.pr3 h3{margin-top:6px;font-size:22px;font-weight:900}
.pr3 .amt{margin-top:8px;font-size:17px;font-weight:900;color:var(--ink)}
.pr3 ul{margin-top:14px;display:grid;gap:6px}
.pr3 ul li{padding:0;border:0;font-size:14px;font-weight:700}.pr3 ul li::before{content:"・";color:var(--red)}
.pr3 .fit{margin-top:16px;font-size:14px}.pr3 .fit b{display:block;font-size:12px;color:var(--red);margin-bottom:2px}
.pr-n{margin-top:40px;font-size:14px;color:var(--sub)}
.pr3 p{margin-top:10px;font-size:14px;color:var(--sub)}
.pr-q{margin-top:56px;padding:36px 40px;border-radius:16px;background:var(--panel)}
.pr-q h3{font-size:17px;font-weight:900}
.pr-q ul{margin-top:14px;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px 32px;font-size:14px}
.pr-q li::before{content:"✓ ";color:var(--red);font-weight:900}
.pr-q+.more{margin-top:40px}
/* FAQ */
.fq{margin-top:48px;display:grid;grid-template-columns:minmax(0,1fr);gap:48px}
.fq-g h3{font-size:15px;font-weight:900;color:var(--red);margin-bottom:8px}
@media (min-width:721px){.rs,.ms3,.pr3{grid-template-columns:repeat(3,minmax(0,1fr))}}
@media (max-width:1100px){.rs,.ms3,.pr3{gap:32px}}
@media (max-width:720px){
 .rs,.ms3,.pr3{gap:28px}
 .pr-q{padding:24px 20px}.pr-q ul{grid-template-columns:minmax(0,1fr)}
 .results{padding-top:48px}
}

/* お客様の声＋継続率（2026-10-15 ポータル資料 p.15 から） */
.voices{padding-top:0}
.voices .sh h2 em{font-style:normal;color:var(--red)}
.voices .sh h2 .vc-n{font-size:.4em;vertical-align:super;line-height:0;margin-left:2px;color:var(--ink)}
.vc{list-style:none;margin:48px 0 0;padding:0;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:40px 48px}
.vc li{position:relative;padding-top:44px;border-top:2px solid var(--ink)}
.vc li::before{content:"\201C";position:absolute;top:6px;left:0;font-family:var(--en);font-size:44px;font-weight:800;line-height:1;color:var(--red)}
.vc li p{margin:0;font-size:15px;line-height:1.9;color:var(--ink)}
.vc-notes{list-style:none;margin:32px 0 0;padding:0;font-size:11px;line-height:1.7;color:var(--mute)}
@media (max-width:900px){.vc{grid-template-columns:minmax(0,1fr);gap:32px;margin-top:32px}.vc li p{font-size:14px}}

/* ---- v3pages/works.css ---- */
/* 支援実績 /works/ （担当 .wk-） */
.wk-hero{padding-bottom:56px}
.wk-hero h1{font-size:clamp(40px,5.6vw,80px)}
.wk-hero-d h1{font-size:clamp(24px,2.5vw,36px);line-height:1.6;max-width:980px;margin-top:18px;text-wrap:balance;word-break:auto-phrase}
.wk-hero-d h1::after{margin-top:24px}
.wk-cat{display:flex;flex-wrap:wrap;gap:6px 18px;margin-top:20px;font-size:14px;font-weight:700;color:var(--sub)}
.wk-cat time{font-family:var(--en);color:var(--mute);font-weight:500}
.wk-sec{padding-top:0}

/* フィルタ */
.wk-filter{display:grid;gap:14px;margin-bottom:56px;padding-bottom:28px;border-bottom:2px solid var(--ink)}
.wk-filter[hidden]{display:none}
.wk-filter dl{display:grid;grid-template-columns:88px 1fr;gap:14px;align-items:start}
.wk-filter dt{padding-top:9px;font-size:13px;font-weight:900}
.wk-filter dd{display:flex;flex-wrap:wrap;gap:8px}
.wk-filter button{display:inline-flex;align-items:center;gap:8px;min-height:40px;padding:0 16px;border:0;border-radius:99px;background:var(--panel);color:var(--ink);font:inherit;font-size:14px;font-weight:700;cursor:pointer;transition:background .2s,color .2s}
.wk-filter button small{font-family:var(--en);font-size:12px;color:var(--mute)}
.wk-filter button:hover{background:var(--line)}
.wk-filter button[aria-pressed="true"]{background:var(--ink);color:#fff}
.wk-filter button[aria-pressed="true"] small{color:#b9c0c7}
.wk-n{font-size:14px;color:var(--sub)}
.wk-n b{font-family:var(--en);font-size:28px;color:var(--ink);margin-right:4px}

/* 業種グループ */
.wk-grp{margin-bottom:80px}
.wk-grp[hidden]{display:none}
.wk-gh{display:flex;align-items:baseline;gap:16px;margin-bottom:28px}
.wk-gh h2{font-size:clamp(24px,2.6vw,34px);font-weight:900;line-height:1.4}
.wk-gh span{font-family:var(--en);font-weight:700;font-size:14px;color:var(--red)}

/* カード（数字主体・写真なし） */
.wk-list{display:grid;grid-template-columns:repeat(3,1fr);gap:20px}
.wk-card{position:relative;display:flex;flex-direction:column;padding:28px 26px 24px;border-radius:var(--r-s);background:var(--panel);transition:background .2s,color .2s}
.wk-card[hidden]{display:none}
.wk-meta{font-size:13px;font-weight:700;color:var(--red)}
.wk-card h3{word-break:auto-phrase;margin-top:8px;font-size:17px;font-weight:700;line-height:1.7}
.wk-figs{display:grid;grid-template-columns:repeat(3,auto);justify-content:space-between;gap:10px;margin-top:22px;padding:18px 0;border-top:1px solid var(--line);border-bottom:1px solid var(--line)}
.wk-figs li{min-width:0}
.wk-figs b{display:block;font-family:var(--en);font-size:clamp(26px,2.3vw,34px);font-weight:800;line-height:1.1;letter-spacing:-.01em;white-space:nowrap}
.wk-figs b small{margin-left:2px;font-size:.5em;font-weight:700}
.wk-figs span{display:block;margin-top:8px;font-size:11px;line-height:1.5;color:var(--sub)}
.wk-text{margin-top:18px;font-size:14px;line-height:1.85;color:var(--sub)}
.wk-cl::after{content:"";position:absolute;inset:0;border-radius:var(--r-s)}
.wk-cl:focus-visible{outline:none}
.wk-cl:focus-visible::after{outline:2px solid var(--red);outline-offset:2px}
.wk-scope{display:flex;flex-wrap:wrap;gap:6px 12px;margin-top:18px}
.wk-scope li{padding:3px 0;font-size:12px;font-weight:700}
.wk-scope li::before{content:"・";color:var(--red)}
.wk-scope li.l{padding:0}
.wk-scope li.l::before{content:none}
.wk-scope li.l a{position:relative;z-index:1;display:block;padding:3px 10px;border-radius:99px;background:#fff;color:var(--ink);transition:background .2s,color .2s}
.wk-scope li.l a:hover,.wk-scope li.l a:focus-visible{background:var(--red);color:#fff}
.wk-go{display:flex;justify-content:space-between;align-items:center;margin-top:auto;padding-top:22px;font-size:14px;font-weight:700}
.wk-go i{font-style:normal;display:inline-grid;place-items:center;width:32px;height:32px;border-radius:50%;background:#fff;transition:background .2s,color .2s}
.wk-card:hover{background:var(--ink);color:#fff}
.wk-card:hover .wk-meta{color:#ff8a9a}
.wk-card:hover .wk-text,.wk-card:hover .wk-figs span{color:#b9c0c7}
.wk-card:hover .wk-figs{border-color:var(--dark2)}
.wk-card:hover .wk-go i{background:var(--grad);color:#fff}
.wk-rel .wk-card{background:#fff}
.wk-rel .wk-scope li.l a{background:var(--panel)}
.wk-rel .wk-scope li.l a:hover,.wk-rel .wk-scope li.l a:focus-visible{background:var(--red);color:#fff}
.wk-rel .wk-go i{background:var(--panel)}
.wk-rel .wk-card:hover{background:var(--ink)}
.wk-back{margin-top:40px}

/* 個別ページ本文 */
.wk-body{max-width:1000px;word-break:auto-phrase;font-size:16px;line-height:2;color:var(--ink)}
.wk-body strong{font-weight:900}
.wk-body .wp-block-h2{margin:72px 0 24px;font-size:clamp(22px,2.4vw,30px);font-weight:900;line-height:1.55;padding-top:28px;border-top:2px solid var(--ink)}
.wk-body .wp-block-h3{margin:44px 0 14px;font-size:clamp(18px,1.8vw,22px);font-weight:900;line-height:1.6}
.wk-body .wp-block-paragraph{margin:0 0 22px}
.wk-body .wp-block-list{margin:0 0 28px;padding:0}
.wk-body ul.wp-block-list li{position:relative;padding:0 0 0 20px;margin-bottom:8px}
.wk-body ul.wp-block-list li::before{content:"";position:absolute;left:2px;top:.95em;width:8px;height:2px;background:var(--red)}
.wk-body ol.wp-block-list{counter-reset:wk}
.wk-body ol.wp-block-list li{position:relative;padding:0 0 0 44px;margin-bottom:14px;counter-increment:wk}
.wk-body ol.wp-block-list li::before{content:counter(wk,decimal-leading-zero);position:absolute;left:0;top:0;font-family:var(--en);font-weight:800;font-size:16px;color:var(--red)}

.wk-body .wp-block-table{margin:0 0 40px;overflow-x:auto}
.wk-body .wp-block-table table{width:100%;border-collapse:collapse;font-size:14px;line-height:1.75}
.wk-body .wp-block-table td{padding:14px 14px;text-align:left;vertical-align:top;border-bottom:1px solid var(--line)}
.wk-body .wp-block-table thead td{padding-top:0;font-size:12px;font-weight:700;color:var(--mute);border-bottom:2px solid var(--ink)}
.wk-body .wp-block-table tbody td:first-child{font-weight:900;white-space:nowrap;width:1%}
.wk-body .wp-block-table tbody td:nth-child(n+2){color:var(--sub)}

.wk-body .works-kpi{display:grid;grid-template-columns:repeat(4,1fr);gap:12px;margin:48px 0 56px}
.wk-body .works-kpi_item{padding:26px 18px 22px;border-radius:var(--r-s);background:var(--panel)}
.wk-body .works-kpi_label{font-size:12px;line-height:1.6;color:var(--sub)}
.wk-body .works-kpi_value{margin-top:14px;font-family:var(--en);font-size:clamp(30px,3vw,40px);font-weight:800;line-height:1.1;letter-spacing:-.01em;color:var(--ink);white-space:nowrap}
.wk-body .works-kpi_unit{margin-left:3px;font-size:.42em;font-weight:700}
.wk-body .works-kpi_note{margin-top:12px;font-size:12px;line-height:1.6;color:var(--red);font-weight:700}

.wk-body .works-flow{display:grid;grid-template-columns:repeat(5,1fr);gap:12px;margin:36px 0 48px}
.wk-body .works-flow_step{position:relative;padding:22px 14px;border-radius:var(--r-s);background:var(--panel)}
.wk-body .works-flow_step:not(:last-child)::after{content:"";position:absolute;top:50%;right:-12px;width:12px;height:2px;background:var(--red)}
.wk-body .works-flow_no{font-family:var(--en);font-size:12px;font-weight:800;letter-spacing:.1em;color:var(--red)}
.wk-body .works-flow_term{margin-top:8px;font-size:12px;color:var(--mute)}
.wk-body .works-flow_title{margin-top:6px;font-size:15px;font-weight:900;line-height:1.55}
.wk-body .works-flow_text{margin-top:10px;font-size:12px;line-height:1.85;color:var(--sub)}

.wk-body .works-chart{margin:32px 0 44px}
.wk-body .works-chart svg{display:block;width:100%;height:auto}
.wk-body .works-chart_caption{margin-top:12px;font-size:12px;line-height:1.75;color:var(--mute)}
.wk-body .works-legend{display:flex;flex-wrap:wrap;gap:8px 22px;margin-top:16px;font-size:12px;line-height:1.6;color:var(--ink)}
.wk-body .works-legend span{display:inline-block;width:11px;height:11px;margin-right:7px;border-radius:2px;vertical-align:-1px}

.wk-body .works-ba{display:grid;grid-template-columns:1fr 44px 1fr;align-items:stretch;margin:36px 0 44px}
.wk-body .works-ba_col{padding:28px 26px;border-radius:var(--r-s);background:var(--panel)}
.wk-body .works-ba_col--after{background:var(--dark);color:#fff}
.wk-body .works-ba_head{font-family:var(--en);font-size:13px;font-weight:800;letter-spacing:.12em;color:var(--red)}
.wk-body .works-ba_col--after .works-ba_head{color:#ff8a9a}
.wk-body .works-ba_term{margin-top:4px;font-size:12px;color:var(--mute)}
.wk-body .works-ba_col--after .works-ba_term{color:#b9c0c7}
.wk-body .works-ba_list{margin-top:16px;font-size:14px;line-height:1.9}
.wk-body .works-ba_list li{position:relative;padding:0 0 0 18px;margin-bottom:6px;list-style:none}
.wk-body .works-ba_list li::before{content:"";position:absolute;left:0;top:.95em;width:8px;height:2px;background:var(--red)}
.wk-body .works-ba_col--after .works-ba_list li::before{background:#ff8a9a}
.wk-body .works-ba_arrow{display:flex;align-items:center;justify-content:center;font-size:16px;color:var(--red)}

@media (max-width:1100px){
 .wk-list{grid-template-columns:repeat(2,1fr)}
 .wk-body .works-kpi{grid-template-columns:repeat(2,1fr)}
 .wk-body .works-flow{grid-template-columns:repeat(2,1fr)}
 .wk-body .works-flow_step:not(:last-child)::after{display:none}
}
@media (max-width:720px){
 .wk-hero{padding-bottom:40px}
 .wk-filter{margin-bottom:40px}
 .wk-filter dl{grid-template-columns:1fr;gap:8px}
 .wk-filter dt{padding-top:0}
 .wk-filter button{min-height:44px;font-size:14px}
 .wk-grp{margin-bottom:56px}
 .wk-list{grid-template-columns:1fr}
 .wk-card{padding:24px 20px 20px}
 .wk-body{font-size:15px}
 .wk-body .wp-block-h2{margin-top:56px}
 .wk-body .works-kpi{gap:8px}
 .wk-body .works-kpi_item{padding:20px 12px 16px}
 .wk-body .works-flow{grid-template-columns:1fr}
 .wk-body .works-ba{grid-template-columns:1fr}
 .wk-body .works-ba_arrow{padding:10px 0;transform:rotate(90deg)}
 .wk-body .wp-block-table tbody td:first-child{white-space:normal;width:34%}
 .wk-body .wp-block-table td{padding:12px 8px}
}
.wk-body .works-chart:not(:has(.works-legend)) rect{fill:var(--red)}
.wk-body .works-chart:not(:has(.works-legend)) text[fill="#a30707"]{fill:var(--red)}

/* ---- v3pages/zy_industry.css ---- */
/* /industry/<slug>/ 業種別ページ（確認用モック） */
.icta{display:flex;flex-wrap:wrap;gap:12px;margin-top:32px}
.icta .btn{min-height:60px}
.ihint{margin-top:20px;font-size:14px;color:var(--sub);overflow-wrap:anywhere}
.ihint a{text-decoration:underline;text-underline-offset:3px;color:var(--ink)}
.ipl{grid-template-columns:repeat(2,minmax(0,1fr))}
.ipl li{min-width:0}
.ipl .ir{margin-top:10px;font-size:13px;line-height:1.8}
.ipl .ir a{display:block;text-decoration:underline;text-underline-offset:3px;color:var(--ink);overflow-wrap:anywhere}
.iw{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));column-gap:64px}
.iw li{min-width:0;padding:28px 0;border-top:1px solid var(--line)}
.iw small{font-family:var(--en);font-size:12px;font-weight:700;letter-spacing:.1em;color:var(--red)}
.iw h3{margin-top:4px;font-size:18px;font-weight:900;line-height:1.6}
.iw p{margin-top:6px;font-size:15px;color:var(--sub);line-height:1.9;overflow-wrap:anywhere}
.iw .il{display:flex;flex-wrap:wrap;gap:4px 20px;margin-top:12px}
.iw .il a{font-size:14px;font-weight:700;color:var(--red)}
.ist{grid-template-columns:repeat(4,minmax(0,1fr))}
.ist li{min-width:0}
.irole{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:48px}
.irole>div{min-width:0}
.irole h3{padding-bottom:12px;border-bottom:2px solid var(--ink);font-size:18px;font-weight:900}
.irole li{padding:14px 0;border-bottom:1px solid var(--line);font-size:15px;color:var(--sub);overflow-wrap:anywhere}
.icb{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:48px}
.icb>li{min-width:0;padding-top:24px;border-top:2px solid var(--ink)}
.icb h3{font-size:18px;font-weight:900;line-height:1.6}
.icb .cn{margin-top:8px;font-size:13px;color:var(--sub);overflow-wrap:anywhere}
.icb dl{margin-top:16px}
.icb dl>div{padding:12px 0;border-top:1px solid var(--line)}
.icb dt{font-size:12px;font-weight:900;color:var(--mute)}
.icb dd{margin-top:2px;font-size:16px;font-weight:900;overflow-wrap:anywhere}
.icb .bg{margin-left:8px;padding:1px 8px;border-radius:99px;background:#fff4d6;font-size:12px;font-weight:700}
.ipn{margin-top:32px;font-size:14px;color:var(--sub);overflow-wrap:anywhere}
.ipn+.more{margin-top:32px}
.ik{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));column-gap:48px}
.ik a{min-width:0}
.ik a:first-child{padding-top:20px;border-top:1px solid var(--line)}
.ik h3{overflow-wrap:anywhere}
@media (max-width:1100px){.ist{grid-template-columns:repeat(2,minmax(0,1fr));row-gap:40px}.ist li:nth-child(3){border-left:0;padding-left:0}.icb{gap:32px}}
@media (max-width:720px){
 .ipl,.iw,.irole,.icb,.ik{grid-template-columns:minmax(0,1fr)}
 .iw{column-gap:0}.irole{gap:40px}.icb{gap:40px}
 .ist{grid-template-columns:minmax(0,1fr);row-gap:0}.ist li,.ist li+li{padding:24px 0;border-left:0;border-top:1px solid var(--line)}
 .icta .btn{width:100%}
 .ik a:first-child{padding-top:20px}
}
/* 関連コラム行は番号列ではなく本文列に置く（自動配置で56pxの番号列に落ちていた） */
.ipl .ir{grid-column:2/-1}
/* 文節で折り返す（/service/ と同じ扱い） */
body.pg-ind :is(.sub-hero h1,.sub-hero .tag,.sub-hero .lead,.sh h2,.ipl h3,.ipl p,.iw h3,.iw p,.ist h3,.ist p,.irole li,.icb h3,.ik h3,.faq summary,.faq .a){word-break:auto-phrase;line-break:strict}

/* ---- v3pages/zz_fv_trust.css ---- */
/* FV 権威性バッジ（月桂樹×文字のみ・枠/背景なし） */
.hero .in.fvt{display:block;margin-top:40px}
.fvt-list{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(4,1fr);gap:24px 12px}
.fvt-list li{position:relative;display:flex;align-items:center;justify-content:center;aspect-ratio:140/124;max-width:200px;width:100%;margin:0 auto;text-align:center}
.fvt-list .lw{position:absolute;inset:0;width:100%;height:100%;pointer-events:none}
.fvt-list .t{position:relative;display:flex;flex-direction:column;align-items:center;justify-content:center;width:100%;gap:2px;padding-top:6%}
.fvt-list small{display:block;max-width:58%;font-size:12px;line-height:1.35;color:var(--mute);font-weight:700;letter-spacing:.02em;word-break:auto-phrase;text-wrap:balance}
.fvt-list small.wb{max-width:64%}
.fvt-list b{display:block;font-family:var(--en),var(--jp);font-weight:800;font-size:24px;line-height:1.2;color:var(--ink);letter-spacing:0;white-space:nowrap}
/* PC: FV内に収めるコンパクト1行 */
@media (min-width:1100px){
 .hero.hero-b{padding:20px 0 40px}
 .hero-b .in:first-child .script{margin-bottom:8px}
 .hero-b .lead{margin-top:16px}
 .hero-b .formula{margin-top:16px}
 .hero-b .pos{margin-top:10px}
 .hero-b .cta{margin-top:22px}
 .hero-b .collage{height:500px}
 .hero .in.fvt{margin-top:28px;margin-bottom:0}
 .fvt-list{grid-template-columns:repeat(8,1fr);gap:0 6px}
 .hero-b .collage::before{bottom:-14px}
 .fvt-list li{aspect-ratio:144/128;max-width:144px}
 .fvt-list .t{padding-top:7%;gap:1px}
 .fvt-list small{max-width:62%;overflow-wrap:normal;line-height:1.3}
 .fvt-list small.wb{max-width:62%}
 .fvt-list small.wk{max-width:62%}
 .fvt-list b{font-size:20px}
}
@media (max-width:1099px) and (min-width:721px){.fvt-list li{max-width:200px}}
@media (max-width:720px){.hero .in.fvt{margin-top:40px}.fvt-list{grid-template-columns:repeat(2,1fr);gap:20px 8px}.fvt-list li{max-width:none}}
@media (max-width:380px){.fvt-list b{font-size:22px}}

/* ---- v3pages/zz_misc.css ---- */
/* zz_misc (.zm-) 支援事例 / 規約 / LINE / サイトマップ */
.zm-filter{margin-top:40px;display:grid;gap:0}
.zm-frow{display:grid;grid-template-columns:96px 1fr;gap:20px;align-items:center;padding:18px 0;border-top:1px solid var(--line)}
.zm-frow:last-child{border-bottom:1px solid var(--line)}
.zm-frow>b{font-size:14px}
.zm-chips{display:flex;flex-wrap:wrap;gap:8px}
.zm-chips input{display:none}
.zm-chips span{display:inline-block;padding:8px 16px;border-radius:99px;background:var(--panel);cursor:pointer;font-size:14px;font-weight:500}
.zm-chips input:checked+span{background:var(--ink);color:#fff}
.zm-cases{margin-top:56px}
.zm-items{display:grid;grid-template-columns:repeat(5,1fr);gap:28px;counter-reset:zi}
.zm-items li{counter-increment:zi}
.zm-items li::before{content:counter(zi,decimal-leading-zero);display:block;font-family:var(--en);font-weight:800;font-size:40px;line-height:1;background:var(--grad);-webkit-background-clip:text;background-clip:text;color:transparent;margin-bottom:14px}
.zm-items b{display:block;font-size:17px;margin-bottom:6px}
.zm-items p{font-size:14px;color:var(--sub);line-height:1.85}
.zm-meta{display:grid;grid-template-columns:repeat(2,1fr);gap:14px 28px;margin-top:36px;max-width:520px}
.zm-meta dt{font-size:12px;font-weight:700;color:var(--mute)}
.zm-meta dd{font-weight:700;font-size:18px}
.zm-body{max-width:820px}
.zm-fill{color:var(--sub)}
.zm-metrics{display:grid;grid-template-columns:repeat(3,1fr);gap:24px}
.zm-metrics li{padding:36px 32px;border-radius:16px;background:#fff}
.zm-metrics small{display:block;font-size:13px;font-weight:700;color:var(--mute)}
.zm-metrics b{display:block;margin-top:8px;font-family:var(--en);font-size:56px;font-weight:800;line-height:1.1;color:var(--red)}
.zm-voice{max-width:820px;padding:44px 48px;border-radius:var(--r) 0 var(--r) var(--r);background:var(--panel)}
.zm-voice blockquote{font-size:18px;font-weight:700;line-height:1.9}
.zm-voice figcaption{margin-top:20px;font-size:13px;color:var(--mute)}
.zm-legal{display:grid;grid-template-columns:260px 1fr;gap:64px;align-items:start}
.zm-toc{position:sticky;top:96px;padding:28px 26px;border-radius:16px;background:var(--panel)}
.zm-toc>p{font-family:var(--en);font-weight:700;font-size:13px;color:var(--red);letter-spacing:.06em;margin-bottom:12px}
.zm-toc ol{display:grid;gap:8px;font-size:13px;line-height:1.6;font-weight:700}
.zm-toc a:hover{color:var(--red)}
.zm-doc{max-width:820px}
.zm-intro{margin-bottom:56px;color:var(--sub)}
.zm-art{padding:44px 0;border-top:1px solid var(--line);scroll-margin-top:96px}
.zm-art h2{font-size:22px;font-weight:900;line-height:1.5;margin-bottom:18px}
.zm-art p+p,.zm-art p+ul,.zm-art ul+p{margin-top:14px}
.zm-art ul{display:grid;gap:10px;list-style:none}
.zm-art ul ul{margin:10px 0 0 1.4em}
.zm-art li{color:var(--ink);font-size:15px;line-height:1.9}
.zm-art p{font-size:15px}
.zm-art a{text-decoration:underline;text-underline-offset:3px}
.zm-line{display:grid;grid-template-columns:240px 1fr;gap:56px;align-items:center}
.zm-qr{display:grid;place-items:center;align-content:center;gap:10px;aspect-ratio:1;border-radius:var(--r);background:#fff;color:var(--mute)}
.zm-qr span{font-family:var(--en);font-weight:800;font-size:56px;letter-spacing:.08em;color:var(--ink)}
.zm-qr small{font-size:12px;text-align:center;padding:0 14px}
.zm-steps3{grid-template-columns:repeat(3,1fr)}
.zm-smwrap{display:grid;gap:0}
.zm-sm{display:grid;grid-template-columns:260px 1fr;gap:40px;padding:44px 0;border-top:1px solid var(--line)}
.zm-sm:last-child{border-bottom:1px solid var(--line)}
.zm-sm-h .lab{font-family:var(--en);font-weight:700;font-size:13px;color:var(--red);letter-spacing:.06em}
.zm-sm-h h2{margin-top:6px;font-size:22px;font-weight:900;line-height:1.5}
.zm-sm-list{display:grid;grid-template-columns:repeat(2,1fr);gap:10px 40px}
.zm-sm-list a,.zm-cat a{font-size:15px;font-weight:700}
.zm-sm-list a:hover,.zm-cat a:hover{color:var(--red)}
.zm-sm-list a::before{content:"→";margin-right:10px;color:var(--red);font-family:var(--en)}
.zm-sm-b>.zm-sm-list{margin-bottom:18px}
.zm-cat{padding:14px 0;border-top:1px solid var(--line)}
.zm-cat summary{display:flex;align-items:center;gap:14px;cursor:pointer;list-style:none}
.zm-cat summary::-webkit-details-marker{display:none}
.zm-cat summary::after{content:"+";margin-left:auto;font-family:var(--en);font-weight:700;color:var(--mute)}
.zm-cat[open] summary::after{content:"−"}
.zm-cat em{font-style:normal;font-size:12px;color:var(--mute);font-family:var(--en);font-weight:700}
.zm-cat ul{display:grid;gap:8px;margin-top:14px;padding-left:4px}
.zm-cat li a{font-weight:500;font-size:14px;line-height:1.7}
@media(max-width:1100px){
 .zm-items{grid-template-columns:repeat(3,1fr)}
 .zm-legal{grid-template-columns:1fr;gap:40px}
 .zm-toc{position:static}
 .zm-sm{grid-template-columns:1fr;gap:20px}
}
@media(max-width:720px){
 .zm-h1{font-size:30px}
 .zm-frow{grid-template-columns:1fr;gap:10px}
 .zm-items{grid-template-columns:1fr}
 .zm-metrics{grid-template-columns:1fr}
 .zm-voice{padding:30px 24px}
 .zm-line{grid-template-columns:1fr;gap:32px}
 .zm-qr{max-width:240px}
 .zm-steps3{grid-template-columns:1fr}
 .zm-sm-list{grid-template-columns:1fr}
 .zm-art{padding:32px 0}
 .zm-meta{grid-template-columns:1fr 1fr}
}
@media(max-width:720px){
 .zm-toc ol{gap:0;font-size:15px}
 .zm-toc a{display:flex;align-items:center;min-height:44px;line-height:1.5}
 .zm-sm-list{gap:0}
 .zm-sm-list a{display:block;padding:9px 0 9px 28px;text-indent:-28px;line-height:1.6}
 .zm-sm-list a::before{display:inline-block;width:28px;text-indent:0;margin-right:0}
 .zm-cat summary{min-height:44px}
 .zm-cat ul{gap:0}
 .zm-cat li a{display:block;padding:9px 0;font-size:15px}
 .zm-chips span{display:inline-flex;align-items:center;min-height:44px;padding:0 18px;font-size:15px}
}
@media(max-width:720px){.zm-cat summary a{display:inline-flex;align-items:center;min-height:44px}}

/* ---- v3pages/zz_seo.css ---- */
.seo-rs-l{margin-top:40px;display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:16px}
.seo-rs-l a{display:grid;grid-template-columns:1fr auto;gap:4px 16px;align-items:center;padding:26px 30px;border-radius:var(--r);background:var(--panel)}
.seo-rs-l small{grid-column:1;font-family:var(--en);font-weight:700;font-size:12px;letter-spacing:.1em;color:var(--red)}
.seo-rs-l b{grid-column:1;font-size:18px;font-weight:700;line-height:1.5}
.seo-rs-l i{grid-row:1/3;grid-column:2;font-style:normal;color:var(--red);transition:transform .2s}
.seo-rs-l a:hover i{transform:translateX(4px)}
@media (max-width:720px){.seo-rs-l a{padding:22px 24px}}

/* ---- v3pages/zz_sp_service.css ---- */
/* サービス系ページ SP最適化（担当B）。@S = サービス22ページに限定（crumbに/service/リンクがある or /service/自身=.sec.cap） */
@media(max-width:720px){
html body.pg-svc.pg-svc.pg-svc .crumb a{display:inline-block;padding:13px 5px;margin:-13px -5px}
html body.pg-svc.pg-svc.pg-svc .crumb{margin-bottom:24px}
html body.pg-svc.pg-svc.pg-svc .cta-band .line{display:inline-flex;align-items:center;justify-content:center;min-height:44px}
html body.pg-svc.pg-svc.pg-svc .sub-hero h1,html body.pg-svc.pg-svc.pg-svc .sub-hero .tag,html body.pg-svc.pg-svc.pg-svc .sub-hero .lead,html body.pg-svc.pg-svc.pg-svc .sh h2,html body.pg-svc.pg-svc.pg-svc .pains q,html body.pg-svc.pg-svc.pg-svc .pains p,html body.pg-svc.pg-svc.pg-svc .road h3,html body.pg-svc.pg-svc.pg-svc .road p,html body.pg-svc.pg-svc.pg-svc .steps h3,html body.pg-svc.pg-svc.pg-svc .steps p,html body.pg-svc.pg-svc.pg-svc .play h3,html body.pg-svc.pg-svc.pg-svc .play p,html body.pg-svc.pg-svc.pg-svc .scope li,html body.pg-svc.pg-svc.pg-svc .cmap .tg,html body.pg-svc.pg-svc.pg-svc .cmap .nm,html body.pg-svc.pg-svc.pg-svc .others a,html body.pg-svc.pg-svc.pg-svc .brand-go p,html body.pg-svc.pg-svc.pg-svc .pmo-pts p,html body.pg-svc.pg-svc.pg-svc .pmo-cols p,html body.pg-svc.pg-svc.pg-svc .share li,html body.pg-svc.pg-svc.pg-svc .faq summary,html body.pg-svc.pg-svc.pg-svc .faq .a{word-break:auto-phrase;line-break:strict}
html body.pg-svc.pg-svc.pg-svc .sh h2,html body.pg-svc.pg-svc.pg-svc .road h3,html body.pg-svc.pg-svc.pg-svc .play h3,html body.pg-svc.pg-svc.pg-svc .steps h3,html body.pg-svc.pg-svc.pg-svc .pains q{text-wrap:balance}
html body.pg-svc.pg-svc.pg-svc .pains li{padding:26px 22px}
html body.pg-svc.pg-svc.pg-svc .pains p,html body.pg-svc.pg-svc.pg-svc .steps p,html body.pg-svc.pg-svc.pg-svc .pmo-cols p,html body.pg-svc.pg-svc.pg-svc .sub-flow p{font-size:15px;line-height:1.85}
html body.pg-svc.pg-svc.pg-svc .mini span,html body.pg-svc.pg-svc.pg-svc .mini span b,html body.pg-svc.pg-svc.pg-svc .mini-all{font-size:12px}
html body.pg-svc.pg-svc.pg-svc .others a small,html body.pg-svc.pg-svc.pg-svc .cmap .nm small,html body.pg-svc.pg-svc.pg-svc .mini b{font-size:12px}
html body.pg-svc.pg-svc.pg-svc .others a{padding:18px 20px;min-height:64px}
html body.pg-svc.pg-svc.pg-svc .others{gap:8px}
html body.pg-svc.pg-svc.pg-svc .mk-g+.others a{padding:14px 18px;min-height:0}
html body.pg-svc.pg-svc.pg-svc .mk-g+.others a small{margin-bottom:2px}
html body.pg-svc.pg-svc.pg-svc .mk-g{font-size:15px;margin:32px 0 12px}
html body.pg-svc.pg-svc.pg-svc .cmap ul li{font-size:14px;padding:6px 13px}
html body.pg-svc.pg-svc.pg-svc .cmap .cc{padding:24px 22px 26px}
html body.pg-svc.pg-svc.pg-svc .cmap .core{height:72px}
html body.pg-svc.pg-svc.pg-svc .scope li,html body.pg-svc.pg-svc.pg-svc .scope .items li{line-height:1.75}
html body.pg-svc.pg-svc.pg-svc .road .go a{min-height:48px}
html body.pg-svc.pg-svc.pg-svc .road .go a i{padding-left:12px}
html body.pg-svc.pg-svc.pg-svc .cmp .bar span{font-size:13px;min-height:56px;padding:8px 6px}
html body.pg-svc.pg-svc.pg-svc .cmp .bar.imj,html body.pg-svc.pg-svc.pg-svc .cmp .bar.gen{grid-template-columns:1fr 1fr;gap:4px}
html body.pg-svc.pg-svc.pg-svc .cmp .bar.gen .no{display:none}
html body.pg-svc.pg-svc.pg-svc .cmp .bar span,html body.pg-svc.pg-svc.pg-svc .cmp .bar span:first-of-type,html body.pg-svc.pg-svc.pg-svc .cmp .bar span:last-of-type{border-radius:10px}
html body.pg-svc.pg-svc.pg-svc .cmp .imj{margin:40px 0 48px}
html body.pg-svc.pg-svc.pg-svc .cmp .imj em{font-size:13px;line-height:1.5}
html body.pg-svc.pg-svc.pg-svc .cmp .imj .own{position:absolute;top:100%;left:0;right:0;margin-top:12px}
html body.pg-svc.pg-svc.pg-svc .cmp .imj .cs{margin-bottom:10px}
html body.pg-svc.pg-svc.pg-svc .scope-cmp h3{line-height:1.5}
html body.pg-svc.pg-svc.pg-svc .line-flow li,html body.pg-svc.pg-svc.pg-svc .line-tags span,html body.pg-svc.pg-svc.pg-svc .sys-ex li{font-size:14px}
html body.pg-svc.pg-svc.pg-svc .play li{grid-template-columns:42px 1fr;padding:22px 0}
html body.pg-svc.pg-svc.pg-svc .faq summary{min-height:56px}
html body.pg-svc.pg-svc.pg-svc .journey .stage a{min-height:48px}
}

/* ---- v3pages/zzz_data.css ---- */
/* /data/ 訪日インバウンドの最新データ（確認用モック）。枠線カード・ゼブラ・左線カード・入れ子の箱は使わない */
.dt-top{padding-bottom:40px}
.dt-upd{margin-top:-24px;font-size:14px;color:var(--sub)}
.dt-keys{margin-top:56px;display:grid;grid-template-columns:minmax(0,1fr);gap:40px}
.dt-keys li{padding-top:20px;border-top:2px solid var(--ink);min-width:0}
.dt-keys li p:not(.dt-big){margin-top:8px;font-size:14px;color:var(--sub)}
.dt-keys small{display:block;margin-top:8px;font-size:12px;color:var(--mute)}
.dt-big{font-family:var(--en);font-weight:800;font-size:clamp(34px,4.2vw,56px);line-height:1.15;letter-spacing:.01em;color:var(--ink);overflow-wrap:anywhere}
.dt-sec{padding-top:56px;padding-bottom:56px}
.dt-sec h3{margin-top:48px;font-size:20px;font-weight:900}
.dt-sec .sh+h3,.dt-sec .sh+.dt-pair{margin-top:0}
.dt-pair{display:grid;grid-template-columns:minmax(0,1fr);gap:32px}
.dt-pair>div{padding-top:20px;border-top:2px solid var(--ink);min-width:0}
.dt-pair p:not(.dt-big){margin-top:8px;font-size:14px;color:var(--sub)}
.dt-bars{margin-top:20px}
.dt-bars li{display:grid;grid-template-columns:7.5em minmax(0,1fr) auto;gap:12px;align-items:center;padding:10px 0;border-top:1px solid var(--line);font-size:14px}
.dt-bars li:last-child{border-bottom:1px solid var(--line)}
.dt-m{color:var(--sub);white-space:nowrap}
.dt-bar{display:block;height:12px;min-width:0}
.dt-bar i{display:block;height:100%;background:var(--ink)}
.dt-bar i.est{background:var(--mute)}
.dt-v{text-align:right;font-family:var(--en);font-weight:700;white-space:nowrap}
.dt-v em{display:inline-block;min-width:4.6em;margin-left:10px;font-style:normal;font-weight:500}
.dt-v small,.dt-t small{margin-left:4px;font-size:12px;color:var(--mute);font-family:var(--jp);font-weight:400}
.up{color:var(--ink)}.dn{color:var(--red)}
.dt-t{margin-top:20px}
.dt-t table{width:100%;border-collapse:collapse;font-size:14px}
.dt-t th,.dt-t td{text-align:left;vertical-align:top;padding:14px 12px;border-bottom:1px solid var(--line);overflow-wrap:anywhere}
.dt-t thead th{font-size:12px;color:var(--mute);border-bottom:2px solid var(--ink)}
.dt-t tbody th{font-weight:700;white-space:nowrap}
.dt-news td:nth-child(2){font-weight:700}
.dt-news a{text-decoration:underline;text-underline-offset:3px}
.dt-news a:hover,.dt-src a:hover{color:var(--red)}
.dt-note{margin-top:16px;font-size:14px;color:var(--sub)}
.dt-src{margin-top:20px;font-size:12px;color:var(--mute);line-height:1.8;overflow-wrap:anywhere}
.dt-src a{text-decoration:underline;text-underline-offset:3px}
.dt-tbd{font-size:14px}
.dt-rel{padding-top:56px}
.dt-ctab{padding:56px 0 8px;border-top:2px solid var(--ink)}
.dt-ctab h2{font-size:clamp(24px,2.6vw,34px);font-weight:900}
.dt-ctab p{margin-top:16px;max-width:720px;color:var(--sub)}
.dt-ctab .more{margin-top:28px}
@media (min-width:721px){.dt-keys{grid-template-columns:repeat(3,minmax(0,1fr));gap:48px}.dt-pair{grid-template-columns:repeat(2,minmax(0,1fr));gap:48px}.dt-bars li{grid-template-columns:9em minmax(0,1fr) 20em}}
@media (max-width:720px){
 .dt-bars li{grid-template-columns:minmax(0,1fr) auto;row-gap:6px}
 .dt-bars .dt-bar{grid-column:1/-1;grid-row:2}
 .dt-t thead{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0)}
 .dt-t table,.dt-t tbody,.dt-t tr,.dt-t td,.dt-t th{display:block;width:100%}
 .dt-t tr{padding:14px 0;border-bottom:1px solid var(--line)}
 .dt-t td,.dt-t th{padding:3px 0;border:0;white-space:normal}
 .dt-t td::before,.dt-t tbody th::before{content:attr(data-l) "　";font-size:12px;color:var(--mute)}
}
@media (min-width:721px){.dt-news td:first-child{white-space:nowrap}}
.dt-view{margin-top:28px;font-size:15px;line-height:1.9;color:var(--ink);max-width:760px}
.dt-view b{display:inline-block;margin-right:8px;font-weight:900}
.dt-view small{display:inline-block;margin-right:10px;font-size:12px;color:var(--red);font-weight:700}
.dt-sec h2,.dt-sec h3{word-break:auto-phrase}

.dt-regv ul{margin-top:12px}
.dt-regv li{padding:6px 0;display:grid;grid-template-columns:6em minmax(0,1fr);gap:8px}
.dt-regv li b{margin-right:0}
.dt-more{margin-top:12px}
.dt-more summary{cursor:pointer;padding:12px 0;font-weight:700;font-size:14px;border-top:1px solid var(--line);list-style:none}
.dt-more summary::-webkit-details-marker{display:none}
.dt-more summary::after{content:"＋";margin-left:8px;color:var(--red)}
.dt-more[open] summary::after{content:"−"}
.dt-more[open] .dt-bars{margin-top:0}
.dt-bars sup{font-size:10px;color:var(--mute);margin-left:2px}
@media (max-width:720px){.dt-regv li{grid-template-columns:minmax(0,1fr);gap:0}}
/* ページ見出しを h1 に（2026-10-14）。見た目は共通の .sh h2 と同じ */
.dt-top .sh h1{display:inline;font-size:clamp(28px,3.3vw,46px);font-weight:900;line-height:1.45;letter-spacing:.03em}
.dt-top .sh h1::after{content:"→";display:inline-grid;place-items:center;width:1.8em;height:1.8em;margin-left:.6em;vertical-align:.35em;border-radius:50%;background:var(--grad);color:#fff;font-size:.42em;font-family:var(--en);font-weight:700;line-height:1}
@media(max-width:720px){.dt-top .sh h1::after{display:none}}
.dt-top .crumb{margin-bottom:28px}

/* ---- v3pages/zzz_hero_cands.css ---- */
/* FV写真候補の切替バー（確認用 /b/hero/） */
.hb .hn{display:inline-flex;gap:6px;margin-left:auto}
.hb .hn a{padding:4px 12px;border-radius:99px;background:#fff;color:var(--ink);font-weight:700;text-decoration:none;box-shadow:0 0 0 1px #d7dce1}
.hb .hn a[aria-current]{background:var(--red);color:#fff;box-shadow:none}

/* ---- v3pages/zzz_price_mock.css ---- */
/* /b/price/ 費用欄の新しい見せ方（確認用モック） */
.pm3{display:grid;grid-template-columns:minmax(0,1fr);gap:48px;margin-top:56px}
.pm3>li{padding-top:24px;border-top:2px solid var(--ink);min-width:0}
.pm3 small{font-family:var(--en);font-size:12px;font-weight:700;letter-spacing:.1em;color:var(--red)}
.pm3 h3{margin-top:6px;font-size:22px;font-weight:900}
.pm3 .w{margin-top:4px;font-size:14px;color:var(--sub)}
.pm{margin-top:20px;display:grid;gap:10px}
.pm p{font-size:14px;color:var(--sub);overflow-wrap:anywhere}
.pm b{display:block;color:var(--ink);font-size:15px;font-weight:700}
.pm b.amt{font-size:20px;font-weight:900}
.pm em{display:block;margin-top:2px;font-style:normal;color:var(--ink)}
.pm3 dl{margin-top:20px}
.pm3 dl>div{padding:12px 0;border-top:1px solid var(--line)}
.pm3 dt{font-size:12px;font-weight:900;color:var(--mute)}
.pm3 dd{margin-top:2px;font-size:14px;color:var(--ink);overflow-wrap:anywhere}
.pk{margin-top:64px;padding-top:24px;border-top:2px solid var(--ink)}
.pk>h3{font-size:20px;font-weight:900}
.pk ol{margin-top:24px;display:grid;grid-template-columns:minmax(0,1fr);gap:24px}
.pk small{font-family:var(--en);font-size:12px;font-weight:700;letter-spacing:.1em;color:var(--red)}
.pk li h3{margin-top:4px;font-size:18px;font-weight:900}
.pk li p{margin-top:6px;font-size:14px;color:var(--sub)}
.pn{margin-top:32px;font-size:14px;color:var(--sub);overflow-wrap:anywhere}
.pmn h3{margin-top:40px;font-size:20px;font-weight:900}
.pmn .sh+h3{margin-top:48px}
.nn{margin-top:12px;font-size:14px;color:var(--sub)}
.nt{margin-top:16px;overflow-x:auto}
.nt table{width:100%;border-collapse:collapse;font-size:14px}
.nt th,.nt td{text-align:left;vertical-align:top;padding:14px 12px;border-bottom:1px solid var(--line);overflow-wrap:anywhere}
.nt thead th{font-size:12px;color:var(--mute)}.nt tbody th{white-space:nowrap}
.nf{margin-top:16px;display:grid;gap:6px;font-size:14px;color:var(--sub)}
.nf li::before{content:"・";color:var(--red)}
@media (min-width:721px){.pm3{grid-template-columns:repeat(3,minmax(0,1fr))}.pk ol{grid-template-columns:repeat(3,minmax(0,1fr))}}
@media (max-width:1100px){.pm3{gap:32px}}
@media (max-width:720px){.pm3{gap:40px}.nt table{min-width:560px}}
.pn+.more{margin-top:40px}

/* ---- v3pages/zzz_price_sim.css ---- */
/* /price/ 費用シミュレーター（確認用モック）。色・見出しは v3.css のトークンを流用 */
.ps .pw{display:grid;grid-template-columns:minmax(0,1fr);gap:56px;align-items:start}
.ps h2,.pq h2{font-size:22px;font-weight:900;line-height:1.5}
.ps .gp{padding-top:24px;border-top:2px solid var(--ink);margin-bottom:48px;min-width:0}
.ps .gp h3{font-size:18px;font-weight:900}
.ps .gp ul{margin-top:8px}
.ps .it{padding:20px 0;border-top:1px solid var(--line);min-width:0}
.ps .it:first-child{border-top:0}
.ps .ck{display:flex;gap:14px;align-items:flex-start;cursor:pointer}
.ps .ck input{flex:none;width:22px;height:22px;margin-top:5px;accent-color:var(--red)}
.ps .tx{display:block;min-width:0}
.ps .tx b{display:block;font-size:16px;font-weight:700;line-height:1.6}
.ps .d{display:block;margin-top:2px;font-size:14px;color:var(--sub);line-height:1.8}
.ps .mt{margin:8px 0 0 36px;display:flex;flex-wrap:wrap;align-items:center;gap:4px 14px;font-size:13px}
.ps .am{color:var(--ink);font-weight:700}
.ps .lk{margin-left:auto;font-weight:700;color:var(--red);text-decoration:underline;text-underline-offset:3px}
.ps .stp{margin:12px 0 0 36px;display:flex;align-items:center;gap:10px;font-size:14px}
.ps .stp[hidden],.ps [hidden]{display:none}
.ps .stp button{width:44px;height:44px;border:0;border-radius:50%;background:var(--panel);font:inherit;font-size:20px;font-weight:700;cursor:pointer}
.ps .stp input{width:72px;height:44px;border:0;border-radius:8px;background:var(--panel);text-align:center;font:inherit;font-size:16px}
.bg,.ps i.bg{display:inline-block;margin-left:6px;padding:0 6px;border-radius:4px;background:var(--panel);color:var(--sub);font-style:normal;font-size:12px;font-weight:700;line-height:1.7;vertical-align:1px}
.ps .sr{margin-top:14px;display:flex;flex-wrap:wrap;gap:8px}
.ps .sr input{position:absolute;opacity:0;pointer-events:none}
.ps .sr span{display:inline-flex;align-items:center;min-height:44px;padding:0 20px;border-radius:99px;background:var(--panel);cursor:pointer;font-size:15px;font-weight:700}
.ps .sr input:checked+span{background:var(--ink);color:#fff}
.ps .sr input:focus-visible+span{outline:2px solid var(--red);outline-offset:2px}
.ps .nt{margin-top:12px;font-size:13px;color:var(--sub);line-height:1.8}
.ps .pa{padding-top:24px;border-top:2px solid var(--ink);min-width:0}
.ps .pa .em{margin-top:16px;color:var(--sub);font-size:14px}
.ps .bk{margin-top:24px;padding-top:16px;border-top:1px solid var(--line)}
.ps .bk:first-of-type{border-top:0;padding-top:0}
.ps .bk h3{font-size:14px;font-weight:900;color:var(--sub)}
.ps .tt{margin-top:4px;font-size:22px;font-weight:900;line-height:1.5;overflow-wrap:anywhere}
.ps .tt small{display:block;font-size:13px;font-weight:500;color:var(--sub)}
.ps .bk ul{margin-top:8px}
.ps .bk li{display:flex;justify-content:space-between;gap:16px;padding:6px 0;font-size:13px;color:var(--sub);line-height:1.7}
.ps .bk li span{min-width:0;overflow-wrap:anywhere}
.ps .bk li b{flex:none;max-width:55%;text-align:right;color:var(--ink);font-weight:700;overflow-wrap:anywhere}
.ps .bk li.tx2{flex-direction:column;gap:0}.ps .bk li.tx2 b{max-width:none;text-align:left;font-weight:500;color:var(--sub)}
.ps .pa .btn{margin-top:24px;width:100%}
.pq .qa{margin-top:24px;display:grid;gap:0}
.pq .qa>div{padding:20px 0;border-top:1px solid var(--line)}
.pq .qa h3{font-size:16px;font-weight:900}
.pq .qa p{margin-top:6px;font-size:14px;color:var(--sub)}
.pq .nt{margin-top:8px;font-size:13px;color:var(--sub)}
.ptb{margin-top:20px;width:100%;border-collapse:collapse;font-size:14px}
.ptb th,.ptb td{text-align:left;vertical-align:top;padding:12px;border-bottom:1px solid var(--line);overflow-wrap:anywhere}
.ptb thead th{font-size:12px;color:var(--mute);border-bottom:2px solid var(--ink)}
.pbar{display:none}
@media (min-width:1001px){.ps .pw{grid-template-columns:minmax(0,1fr) 400px;gap:72px}.ps .pa{position:sticky;top:108px;max-height:calc(100vh - 128px);overflow-y:auto}}
@media (max-width:1000px){.pbar{position:fixed;left:0;right:0;bottom:0;z-index:60;display:flex;align-items:center;justify-content:space-between;gap:12px;padding:10px 16px;background:#fff;border-top:1px solid var(--line);box-shadow:0 -6px 20px rgba(0,0,0,.06)}
 .pbar span{font-size:14px;font-weight:900;min-width:0}.pbar .btn{flex:none}body.pbody{padding-bottom:72px}}
@media (max-width:720px){
 .ptb thead{position:absolute;left:-9999px}
 .ptb tr{display:block;padding:14px 0;border-bottom:1px solid var(--line)}
 .ptb th,.ptb td{display:flex;gap:12px;padding:2px 0;border:0}
 .ptb th{font-weight:900}
 .ptb td::before{content:attr(data-l);flex:none;width:5.5em;font-size:12px;color:var(--mute)}
 .ps .mt{margin-left:36px}.ps .lk{margin-left:0}
}

/* ---- v3pages/zzz_price_zbudget.css ---- */
/* ===== 月予算ごとの実施例（確認用モック /b/budget/ /b/budget-price/） ===== */
.bd3,.bd5{display:grid;gap:20px;list-style:none;padding:0}
.bd3{grid-template-columns:repeat(3,1fr)}
.bd5{grid-template-columns:repeat(5,1fr);gap:14px}
.bd3>li,.bd5>li{display:flex;flex-direction:column;padding:28px 26px 26px;border-radius:var(--r);background:#fff;box-shadow:0 0 0 1px #e3e6ea}
.bd5>li{padding:22px 18px 20px}
.bd-amt{display:flex;align-items:baseline;gap:4px;margin-bottom:14px;padding-bottom:16px;border-bottom:1px solid #e3e6ea;color:var(--red);font-weight:900}
.bd-amt small{margin-right:6px;font-size:13px;font-weight:700;color:var(--ink)}
.bd-amt b{font-family:var(--en);font-size:48px;line-height:1;letter-spacing:-.01em}
.bd5 .bd-amt b{font-size:38px}
.bd-amt span{font-size:16px}
.bd3 h3,.bd5 h3{font-size:19px;font-weight:900;line-height:1.5;margin-bottom:14px}
.bd5 h3{font-size:16px}
.bd-k{font-size:12px;font-weight:700;color:#7a838c;margin-bottom:6px}
.bd3 ul,.bd5 ul{list-style:none;padding:0;margin-bottom:18px}
.bd3 ul li,.bd5 ul li{position:relative;padding:5px 0 5px 16px;font-size:14.5px;font-weight:500;line-height:1.6}
.bd5 ul li{font-size:13.5px}
.bd3 ul li::before,.bd5 ul li::before{content:"";position:absolute;left:2px;top:.95em;width:6px;height:6px;border-radius:50%;background:var(--red)}
.bd3 .fit,.bd5 .fit{margin-top:auto;padding-top:14px;border-top:1px dashed #d7dce1;font-size:13.5px;line-height:1.65;color:#5b636b}
.bd3 .fit b,.bd5 .fit b{display:block;font-size:12px;color:var(--red);margin-bottom:2px}
.bd3 h3,.bd5 h3,.bd3 li,.bd5 li,.bd3 .fit,.bd5 .fit{word-break:auto-phrase;text-wrap:pretty}
.bd-n{margin-top:18px;font-size:13px;color:#5b636b;line-height:1.7}
.bd-mo{display:flex;align-items:center;gap:28px;flex-wrap:wrap}
@media(max-width:1100px){.bd5{grid-template-columns:repeat(3,1fr)}}
@media(max-width:720px){
 html body:not(#_z) .bd3,html body:not(#_z) .bd5{grid-template-columns:1fr;gap:12px}
 html body:not(#_z) .bd3>li,html body:not(#_z) .bd5>li{padding:20px 18px}
 html body:not(#_z) .bd-amt{margin-bottom:10px;padding-bottom:12px}
 html body:not(#_z) .bd-amt b{font-size:40px}
 html body:not(#_z) .bd3 h3,html body:not(#_z) .bd5 h3{font-size:17px;margin-bottom:8px}
 html body:not(#_z) .bd3 ul,html body:not(#_z) .bd5 ul{margin-bottom:12px}
 html body:not(#_z) .bd-mo{flex-direction:column;align-items:stretch;gap:14px}
}

/* ---- v3pages/zzz_proposal_b.css ---- */
/* /b/notes/ 判断材料（確認用・トップへの採用は top_parts.css） */
.pb{position:relative;z-index:1;display:flex;flex-wrap:wrap;gap:6px 20px;align-items:center;padding:10px var(--g);background:#fff4d6;font-size:13px;color:var(--ink)}
.pb b{font-weight:900}.pb span{color:var(--sub)}.pb span a{text-decoration:underline}.pb>a{margin-left:auto;font-weight:700;color:var(--red)}
.nb{padding-top:72px}
.nb-l{margin-top:40px;display:grid;grid-template-columns:minmax(0,1fr);gap:48px}
.nb-l h3,.kr h3{font-size:20px;font-weight:900}
.nb-l p,.nb-lead{margin-top:12px;color:var(--sub)}
.nb-l a{text-decoration:underline}.nb-lead b{color:var(--ink)}
.nb-l p,.kr li,.nb-lead{overflow-wrap:anywhere}
.nb-t{margin-top:20px;overflow-x:auto}
.nb-t table{width:100%;border-collapse:collapse;font-size:14px}
.nb-t th,.nb-t td{text-align:left;vertical-align:top;padding:14px 12px;border-bottom:1px solid var(--line)}
.nb-t thead th{font-size:12px;color:var(--mute)}
.nb-t tbody th{white-space:nowrap;font-weight:900}.nb-t tbody th small{display:block;color:var(--red);font-size:12px}
.nb-t td b{display:block;color:var(--ink)}
.nb-t tr.rec{background:#fff8e8}
.kr{display:grid;grid-template-columns:minmax(0,1fr);gap:40px;margin-top:40px}
.kr>li{padding-top:20px;border-top:2px solid var(--ink)}
.kr .u{font-family:var(--en);font-size:13px;color:var(--red)}.kr .u a{text-decoration:underline}
.kr h3{margin-top:6px}.kr .kw{margin-top:6px;font-size:13px;color:var(--mute)}
.kr .h1{margin-top:12px;font-weight:700;line-height:1.6}
.kr h4{margin-top:18px;font-size:13px;font-weight:900}
.kr ul ul,.kr li ul{margin-top:6px;display:grid;gap:4px;font-size:14px;color:var(--sub)}
.kr li ul li::before{content:"・";color:var(--red)}.kr li ul.no li::before{content:"× ";color:var(--mute)}
@media (min-width:721px){.kr{grid-template-columns:repeat(3,minmax(0,1fr))}}
@media (max-width:1100px){.kr{gap:32px}}
@media (max-width:720px){.pb{padding:8px 16px;font-size:12px}.pb>a{margin-left:0}.kr{gap:28px}.nb{padding-top:48px}}

/* ---- v3pages/zzzz_data_links.css ---- */
/* /data/ への導線（帯）。枠線カード・ゼブラなし。zzz_data.css の dt-* と同じ「上線2px」の語彙 */
.dl-sec{padding-top:0;padding-bottom:72px}
.dl-strip{margin-top:56px;padding-top:24px;border-top:2px solid var(--ink)}
.dl-sec .dl-strip{margin-top:72px}
.dl-k{font-size:14px;font-weight:900}
.dl-strip ul{margin:20px 0 24px;display:grid;grid-template-columns:minmax(0,1fr);gap:20px}
.dl-strip li{display:flex;flex-direction:column;gap:2px;min-width:0}
.dl-strip small{font-size:12px;color:var(--mute);font-weight:700}
.dl-strip b{font-family:var(--en);font-weight:800;font-size:clamp(26px,3vw,36px);line-height:1.2;overflow-wrap:anywhere}
.dl-strip span{font-size:13px;color:var(--sub)}
.dl-strip .lnk:hover{color:var(--red)}
.dl-media{margin-top:0;margin-bottom:48px}
.dl-ctx{margin:48px 0 0;font-size:15px;line-height:1.9;color:var(--sub)}
.dl-ctx a{text-decoration:underline;text-underline-offset:3px;color:var(--ink);font-weight:700}
.dl-ctx a:hover{color:var(--red)}
@media (min-width:721px){.dl-strip ul{grid-template-columns:repeat(3,minmax(0,1fr));gap:40px}}

/* ---- v3pages/zzzzy_works_links.css ---- */
.wl-g{display:grid;grid-template-columns:minmax(0,1fr);gap:32px;margin-top:40px}
.wl-c{display:block;padding:24px 24px 28px;background:var(--panel);border-radius:var(--r-s)}
.wl-c .k{font-size:13px;font-weight:700;color:var(--red)}
.wl-c .m{margin-top:10px;font-size:13px;color:var(--sub)}
.wl-c .n{display:flex;align-items:baseline;gap:6px;font-family:var(--en);font-weight:800;line-height:1.1}
.wl-c .n b{font-size:clamp(32px,3.2vw,40px);background:var(--grad);-webkit-background-clip:text;background-clip:text;color:transparent}
.wl-c .n small{font-family:var(--jp);font-size:14px;font-weight:700}
.wl-c h3{margin-top:12px;font-size:15px;font-weight:700;line-height:1.7}
.wl-c:hover h3{color:var(--red)}
@media (min-width:721px){.wl-g{grid-template-columns:repeat(3,minmax(0,1fr))}}
@media (max-width:1100px){.wl-g{gap:20px}}
/* 事例詳細：この事例で行った施策（既存 .others を流用。説明文の行だけ追加） */
.wl-sv .others{margin-top:40px}
.wl-sv .others a span em{display:block;margin-top:8px;font-style:normal;font-size:13px;font-weight:400;line-height:1.7;color:var(--sub);text-wrap:balance;word-break:auto-phrase}
.wl-sv .others a:hover span em{color:#c9ced4}
.wl-sv .others a span small{letter-spacing:.04em}
@media (min-width:721px){.wl-sv .others.wl-sv2{grid-template-columns:repeat(2,1fr)}}

/* ---- v3pages/zzzzzz_hsform.css ---- */
/* HubSpot フォーム（css:"" で既定スタイル無効→ v3 の .form に寄せる）。DOM: .hs-form > fieldset > .hs-form-field > label + .input */
.hs-wrap .hs-fallback{color:var(--mute,#666);font-size:14px;margin:0}
.hs-wrap:has(form) .hs-fallback{display:none}
.hs-wrap form{display:block}
.hs-wrap fieldset{max-width:none;border:0;margin:0;padding:0;display:grid;gap:0}
.hs-wrap .hs-form-field{padding:24px 0;border-top:1px solid var(--line);margin:0}
.hs-wrap .hs-form-field>label{display:block;font-weight:700;margin-bottom:10px}
.hs-wrap .hs-form-required{margin-left:8px;padding:2px 8px;border-radius:4px;background:var(--red);color:#fff;font-size:11px;font-style:normal;vertical-align:2px}
.hs-wrap .input{margin:0}
.hs-wrap input[type=text],.hs-wrap input[type=email],.hs-wrap input[type=tel],.hs-wrap input[type=number],.hs-wrap select,.hs-wrap textarea{width:100%;padding:14px 16px;border:0;border-radius:8px;background:var(--panel);font:inherit;box-sizing:border-box}
.hs-wrap textarea{min-height:180px}
.hs-wrap input[type=checkbox],.hs-wrap input[type=radio]{width:auto;display:inline-block;padding:0;margin-right:8px;vertical-align:-2px}
.hs-wrap ul.inputs-list{list-style:none;margin:0;padding:0}
.hs-wrap ul.inputs-list li{margin:6px 0}
.hs-wrap ul.inputs-list label{font-weight:500}
.hs-wrap .hs-richtext,.hs-wrap .legal-consent-container{font-size:14px;line-height:1.7}
.hs-wrap .hs-richtext a,.hs-wrap .legal-consent-container a{text-decoration:underline}
.hs-wrap .hs-error-msgs{list-style:none;margin:6px 0 0;padding:0;color:var(--red);font-size:13px}
.hs-wrap .hs-error-msgs label{font-weight:500;color:inherit}
.hs-wrap .hs-submit{margin-top:40px}
.hs-wrap .hs-button,.hs-wrap input[type=submit]{border:0;min-width:320px;min-height:64px;font:inherit;font-weight:700;cursor:pointer}
.hs-wrap .hs-button,.hs-wrap input[type=submit]{background:var(--grad);color:#fff;border-radius:6px}
.hs-wrap iframe{display:block;width:100%;max-width:820px}
.hs-wrap .submitted-message{padding:24px 0;font-weight:700}
@media (max-width:720px){.hs-wrap .hs-button,.hs-wrap input[type=submit]{min-width:0;width:100%}}

/* 自前フォーム（2026-10-15〜 .form.hsf。v3 の .form をそのまま使い、足りない部品だけ足す）。上の .hs-wrap は送信失敗時の埋め込みフォーム用に残す */
.hsf-box{max-width:820px}
.hsf-lead{font-size:14px;line-height:1.8;color:var(--mute);margin:0 0 4px}
.hsf-lead+.form{margin-top:20px}
.hsf-hp{position:absolute;left:-9999px;width:1px;height:1px;overflow:hidden}
.form.hsf .lb{display:block;font-weight:700;padding-top:12px}
.form.hsf .lb em{font-style:normal;margin-left:8px;padding:2px 8px;border-radius:4px;background:var(--red);color:#fff;font-size:11px;vertical-align:2px}
.hsf-note{margin:8px 0 0;font-size:13px;line-height:1.7;color:var(--mute)}
.form.hsf .chips+.hsf-err,.hsf-note+.chips{margin-top:8px}
.hsf-err{margin:8px 0 0;color:var(--red);font-size:13px;font-weight:700}
.form.hsf [aria-invalid=true]{box-shadow:inset 0 0 0 2px var(--red)}
.form.hsf .chips label{position:relative}
.form.hsf .chips input{display:block;position:absolute;top:0;left:0;width:1px;height:1px;margin:0;padding:0;border:0;opacity:0;overflow:hidden;clip-path:inset(50%);appearance:none;-webkit-appearance:none;background:none}
.form.hsf .chips input:focus-visible+span{outline:2px solid var(--ink);outline-offset:2px}
.form.hsf .chips [aria-invalid=true]+span{box-shadow:inset 0 0 0 1px var(--red)}
.form.hsf .chips [aria-invalid=true]{box-shadow:none}
.hsf-agree{margin:0 0 14px}
.hsf-agree label{display:block;padding:0;font-weight:500;line-height:1.7}
.hsf-agree a{text-decoration:underline}
.hsf-agree .hsf-err{margin-top:4px}
.form.hsf .send{margin-top:32px}
.hsf-msg{margin:6px 0 18px;color:var(--red);font-weight:700;line-height:1.7}
.hsf-alt{margin-top:10px;padding:0;border:0;background:none;color:var(--ink);font:inherit;font-weight:700;cursor:pointer}
.form.hsf button.btn{border:0;min-width:320px;min-height:64px;font:inherit;font-weight:700;cursor:pointer}
.form.hsf button.btn:disabled{opacity:.6;cursor:wait}
.hsf-done{padding:32px;border-radius:12px;background:var(--panel);line-height:1.8}
.hsf-done:focus{outline:none}
.hsf-done h2{font-size:20px;margin:0 0 12px}
.hsf-done p+p{margin-top:12px}
.hsf-done a{text-decoration:underline}
.hsf-box .hs-wrap{margin-top:8px}
@media (max-width:720px){.form.hsf button.btn{min-width:0;width:100%}.hsf-done{padding:24px 20px}.form.hsf .lb{padding-top:0}}

/* ---- v3pages/zzzzzzzz_sp_a_common.css ---- */
/* SP共通部品の縦長圧縮（担当A）。PCは不変＝全て720px以下 */
@media(max-width:720px){
 /* セクション余白・見出し */
 .sec{padding:44px 0}
 .sh{margin-bottom:22px}
 .sh .lab{margin-bottom:8px}
 .sh p{margin-top:12px}
 /* サブヒーロー */
 .sub-hero{padding:8px 0 28px}
 .sub-hero:not(.wk-hero):not(.md-ahead) h1{margin-top:6px}
 .sub-hero:not(.wk-hero):not(.md-ahead) h1::after{margin-top:12px}
 .sub-hero .tag{margin-top:14px}
 .sub-hero .lead{margin-top:10px}
 .sub-hero .sub-grid{gap:18px}
 .sub-hero .ph{aspect-ratio:16/8;max-height:170px;overflow:hidden}
 .sub-hero .ph img{width:100%;height:100%;object-fit:cover}
 .sub-hero .mini{margin-top:14px}
 .crumb{margin-bottom:8px}
 /* お問い合わせ帯 */
 .cta-band{padding:30px 20px;gap:16px}
 .cta-band h2{margin-top:4px}
 .cta-band p{margin-top:8px}
 .cta-band .acts{gap:8px}
 .cta-band .acts .btn{min-height:52px}
 .cta-band .line{min-height:40px}
 /* FAQ */
 .faq summary{padding:14px 0;min-height:52px}
 .faq .a{padding-bottom:16px}
 /* 関連コラム・同カテゴリ・必読 */
 .seo-rel .know{margin-top:20px!important;gap:0}
 .seo-rel .know .feat .ph,.seo-rel .know .feat .cv{aspect-ratio:16/8}
 .seo-rel .feat h3{margin-top:10px;font-size:18px;line-height:1.5}
 .seo-rel .feat .k{margin-top:12px!important}
 .seo-rel .feat p:not(.k){display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;margin-top:6px}
 .klist a{padding:12px 0;gap:12px;grid-template-columns:110px 1fr}
 .md-mustrow{margin-bottom:36px}
 .md-must-g{margin-top:24px}
 .seo-rs-l{margin-top:20px;gap:10px}
 .seo-rs-l a{padding:16px 18px}
 /* フッター */
 .ft{margin-top:32px;padding:26px 0 16px}
 .ft .top{grid-template-columns:repeat(2,1fr);gap:12px 16px}
 .ft .top>div:first-child{grid-column:1/-1}
 .ft address{margin-top:10px;line-height:1.7}
 .ft .top>div:nth-child(n+2){grid-column:1/-1}
 .ft .top>div:nth-child(2) ul,.ft .top>div:nth-child(3) ul,.ft .top>div:nth-child(4) ul{display:grid;grid-template-columns:repeat(3,1fr);column-gap:10px}
 .ft li a{min-height:32px;font-size:13px;line-height:1.3;padding:0;letter-spacing:-.04em}
 .ft .top>div:nth-child(n+2) ul{column-gap:4px}
 .ft h4{margin-bottom:2px}
 .ft .big{display:none}
 .ft .bot{margin-top:16px;gap:4px}
}
@media(max-width:720px){
 .ft .logo img{width:110px;height:auto}
 .ft .top{gap:8px 16px}
 .ft{padding:22px 0 14px}
 .ft .top>div:first-child{display:grid;grid-template-columns:auto 1fr;align-items:center;gap:0 14px}
 .ft address{margin-top:0;font-size:12px}
}
@media(max-width:720px){
 .klist a{grid-template-columns:96px 1fr;gap:12px;padding:10px 0;align-items:start}
 .klist h3{margin-top:2px;font-size:14px;line-height:1.5;display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden}
 .klist .k{font-size:12px;line-height:1.4}
 .klist .k time{margin-left:6px}
}
@media(max-width:720px){
 .klist{margin-top:14px}
 .klist a{grid-template-columns:112px 1fr}
 .klist .cv .cv-fig{display:none}
 .klist .cv b{right:8cqw}
}
@media(max-width:720px){
 .sub-hero:not(.wk-hero):not(.md-ahead) h1{font-size:clamp(28px,8vw,34px)}
 .sub-hero .tag{font-size:16px;line-height:1.55}
 .sub-hero .lead{line-height:1.75}
 .sub-hero .ph{max-height:120px;aspect-ratio:auto;height:120px}
 .sub-hero.md-ahead .ph,.sub-hero.wk-hero .ph{max-height:none;height:auto}
}

/* ---- v3pages/zzzzzzzz_sp_b_top.css ---- */
/* SP縦長圧縮（担当B：トップ）。PC不変＝全部 max-width:720px 内 */
@media(max-width:720px){
/* ---- hero ---- */
html body.pg-top .hero{padding:10px 0 28px}
html body.pg-top .hero .in{gap:18px}
html body.pg-top .hero .script{margin-bottom:8px}
html body.pg-top .hero-b .lead{font-size:15px;line-height:1.75;margin-top:14px}
html body.pg-top .hero-b .formula{margin-top:14px;gap:6px}
html body.pg-top .hero-b .formula span{padding:5px 14px;font-size:14px}
html body.pg-top .hero-b .pos{margin-top:10px;font-size:13px}
html body.pg-top .hero .cta{margin-top:18px;gap:6px}
html body.pg-top .hero .cta .btn{min-height:52px}
html body.pg-top .hero .cta .lnk{min-height:44px}
html body.pg-top .collage{height:230px;margin-top:0}
html body.pg-top .hero .in.fvt{margin-top:22px}
html body.pg-top .fvt-list{grid-template-columns:repeat(2,1fr);gap:6px 8px}
html body.pg-top .fvt-list li{aspect-ratio:140/92}
html body.pg-top .fvt-list .t{padding-top:3%;gap:0}
html body.pg-top .fvt-list b{font-size:20px}
html body.pg-top .fvt-notes{margin-top:12px;font-size:12px;line-height:1.5}
html body.pg-top .fvt-notes li.all{margin-top:2px}
/* ---- results ---- */
html body.pg-top .results{padding-top:44px}
html body.pg-top .results .sh-row{gap:8px}
html body.pg-top .results .sh h2{font-size:26px}
html body.pg-top .rs{display:flex;gap:14px;margin:18px -20px 0;padding:0 20px 6px;overflow-x:auto;scroll-snap-type:x mandatory;scrollbar-width:none}
html body.pg-top .rs::-webkit-scrollbar{display:none}
html body.pg-top .rs-c{flex:0 0 76%;scroll-snap-align:start;padding-top:14px}
html body.pg-top .rs-c .m{margin-top:8px;font-size:12px}
html body.pg-top .rs-c .n b{font-size:38px}
html body.pg-top .rs-c h3{margin-top:10px;font-size:14px;line-height:1.6}
/* ---- voices ---- */
html body.pg-top .voices{padding-top:0}
html body.pg-top .vc{display:flex;gap:14px;margin:16px -20px 0;padding:0 20px 6px;overflow-x:auto;scroll-snap-type:x mandatory;scrollbar-width:none}
html body.pg-top .vc::-webkit-scrollbar{display:none}
html body.pg-top .vc li{flex:0 0 80%;scroll-snap-align:start;padding-top:34px}
html body.pg-top .vc li::before{top:2px;font-size:36px}
html body.pg-top .vc li p{font-size:14px;line-height:1.75}
html body.pg-top .vc-notes{margin-top:14px;font-size:12px;line-height:1.55}
/* ---- issues ---- */
html body.pg-top .issues{padding-top:48px!important}
html body.pg-top .issue-list{display:flex;gap:12px;margin:0 -20px;padding:0 20px 6px;overflow-x:auto;scroll-snap-type:x mandatory;scrollbar-width:none}
html body.pg-top .issue-list::-webkit-scrollbar{display:none}
html body.pg-top .issue-list li{flex:0 0 80%;scroll-snap-align:start;padding:18px 18px 20px}
html body.pg-top .issue-list small{margin-top:10px}
html body.pg-top .issue-list h3{font-size:16px}
html body.pg-top .issue-list p:last-child{margin-top:8px;font-size:14px;line-height:1.7}
html body.pg-top .answer{margin-top:22px}
html body.pg-top .answer span{font-size:20px;line-height:1.5}
/* ---- consulting steps / points ---- */
html body.pg-top .steps{margin-top:0}
html body.pg-top .steps li,html body.pg-top .steps li+li{display:grid;grid-template-columns:60px 1fr;column-gap:12px;padding:14px 0}
html body.pg-top .steps .n{grid-row:1/3}
html body.pg-top .steps .n b{font-size:34px;display:block;line-height:1}
html body.pg-top .steps h3{font-size:16px;line-height:1.4}
html body.pg-top .steps p:not(.n){margin-top:4px;font-size:14px;line-height:1.7}
html body.pg-top .points{margin-top:20px;gap:8px}
html body.pg-top .points li{padding:16px 18px}
html body.pg-top .points h4{margin:2px 0 4px;font-size:16px}
html body.pg-top .points p{font-size:14px;line-height:1.7}
/* ---- more-svc / cost / dl / know / news ---- */
html body.pg-top .ms3{margin-top:20px;gap:20px}
html body.pg-top .ms3>li{padding-top:14px}
html body.pg-top .ms3 .no{font-size:28px}
html body.pg-top .ms3 h3{margin-top:6px;font-size:17px}
html body.pg-top .ms3 p{margin-top:6px;line-height:1.7}
html body.pg-top .ms3 ul{margin:8px 0 10px;display:flex;flex-wrap:wrap;gap:2px 14px}
html body.pg-top .pr3{margin-top:20px;gap:20px}
html body.pg-top .pr3 li{padding-top:14px}
html body.pg-top .pr3 h3{font-size:18px}
html body.pg-top .pr3 .amt{margin-top:4px;font-size:15px}
html body.pg-top .pr3 ul{margin-top:8px;gap:2px}
html body.pg-top .pr3 .fit{margin-top:8px}
html body.pg-top .pr3 p{margin-top:6px}
html body.pg-top .dl-sec .dl-strip{margin-top:0}
html body.pg-top .dl-strip ul{margin:12px 0 14px;gap:10px}
html body.pg-top .know{gap:14px;margin-top:20px!important}
html body.pg-top .klist a{padding:12px 0;grid-template-columns:104px 1fr;gap:12px}
html body.pg-top .klist a:first-child{padding-top:12px}
html body.pg-top .klist h3{font-size:14px;line-height:1.55}
html body.pg-top .cats{margin-top:14px;gap:6px}
html body.pg-top .cats a{padding:5px 12px}
html body.pg-top .news{margin-top:16px!important}
html body.pg-top .news li a{padding:12px 0}
html body.pg-top .fq{margin-top:20px;gap:14px}
html body.pg-top .fq-g h3{margin-bottom:0}
/* ---- 共通部品（/service/ にも出る）: cap / pmo / dark / more-svc / journey ---- */
html body .cmap .cc{padding:16px 18px 18px}
html body .cmap .tg{margin:6px 0 10px}
html body .cmap ul{gap:4px}
html body .cmap ul li{padding:3px 10px}
html body .cmap .core{height:56px}
html body .pmo-pts li,html body .pmo-pts li+li{padding:9px 0}
html body .pmo-pts p{font-size:14px;line-height:1.6}
html body .scope-cmp{margin-top:28px;padding:20px 16px 22px}
html body .pmo-cols{margin-top:20px;padding-top:16px;grid-template-columns:1fr;gap:12px}
html body .pmo-cols li,html body .pmo-cols li+li{padding:0;border-left:0}
html body .brands{gap:10px}
html body .brands a{padding:18px 18px 16px}
html body .brands strong{margin:4px 0 8px;font-size:22px}
html body .brands .go{padding-top:10px}
html body .brands .g{margin-bottom:6px}
html body.pg-top .hero h1{font-size:8vw;line-height:1.28}
html body.pg-top .sh h2{font-size:24px;line-height:1.45}
html body.pg-top .sh{margin-bottom:20px}
html body .cmap ul{display:flex;flex-wrap:wrap;gap:2px 14px}
html body .cmap ul li{background:none;padding:0;border-radius:0;font-size:14px;line-height:1.55}
html body .cmap ul li::before,html body .cmap ul li.l::before{content:"・";color:var(--red);font-weight:700}
html body .cmap ul li.l a{display:inline;padding:0;border-radius:0;background:none;text-decoration:underline;text-underline-offset:3px}
html body .cmap .cc{padding:14px 16px 14px}
html body .cmap .nm{font-size:18px}
html body .cmap .core{height:44px}
html body .cmap .core img{width:72px}
html body.pg-top .know .feat .cv{aspect-ratio:auto;height:104px;min-height:0}
html body.pg-top .know .feat .k{margin-top:10px!important}
html body.pg-top .know .feat h3{font-size:16px;line-height:1.5;margin-top:4px}
html body.pg-top .know .feat p:last-child{display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;margin-top:6px;font-size:14px;line-height:1.65}
html body.pg-top .klist h3{display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;margin-top:2px}
html body.pg-top .klist .k{font-size:12px;line-height:1.4}
html body.pg-top .cats a{font-size:13px;padding:4px 12px}
html body .brands a{padding:14px 16px 12px}
html body .brands strong{font-size:20px;margin:2px 0 6px}
html body .brands p{line-height:1.65}
html body.pg-top .faq summary{padding:9px 0;min-height:48px}
html body .cmp .bar.imj,html body .cmp .bar.gen{grid-template-columns:1fr 1fr}
html body .cmp .bar.gen .no{display:none}
html body .cmp .bar span,html body .cmp .bar span:first-of-type,html body .cmp .bar span:last-of-type{border-radius:10px;min-height:44px;font-size:13px}
html body .cmp .imj{margin:34px 0 44px}
html body .cmp .imj .own{position:absolute;top:100%;left:0;right:0;margin-top:10px;white-space:normal}
html body.pg-top .steps .n{display:flex;flex-direction:column;align-items:flex-start;gap:0;margin:0}
html body.pg-top .steps .n small{font-size:12px;line-height:1.2;letter-spacing:.08em}
html body.pg-top .steps li,html body.pg-top .steps li+li{grid-template-columns:56px 1fr;padding:12px 0}
html body.pg-top .steps h3{align-self:end}
html body.pg-top .rs,html body.pg-top .vc,html body.pg-top .issue-list{scroll-padding-left:20px}
html body.pg-top .ms3 .lnk{min-height:40px}
html body.pg-top .fvt-n{font-size:12px}
html body.pg-top .fvt-notes{line-height:1.42}
html body.pg-top .voices .sh h2 .vc-n{font-size:12px}
}

/* ---- v3pages/zzzzzzzz_sp_c_service.css ---- */
/* IMJ v3 SP縦長圧縮（担当C：サービス・業種・ブランド）。720px以下のみ・PCは不変 */
@media(max-width:720px){
/* 悩みカード */
html body:is(.pg-service,.pg-svc,.pg-ind,.pg-industry,.pg-brand):not(.z):not(.z) .pains{gap:10px}
html body:is(.pg-service,.pg-svc,.pg-ind,.pg-industry,.pg-brand):not(.z):not(.z) .pains li{padding:18px 18px 16px}
html body:is(.pg-service,.pg-svc,.pg-ind,.pg-industry,.pg-brand):not(.z):not(.z) .pains q{font-size:16px;line-height:1.6}
html body:is(.pg-service,.pg-svc,.pg-ind,.pg-industry,.pg-brand):not(.z):not(.z) .pains q::before{display:inline;font-size:30px;line-height:0;margin:0 4px 0 0;vertical-align:-.3em}
html body:is(.pg-service,.pg-svc,.pg-ind,.pg-industry,.pg-brand):not(.z):not(.z) .pains p{padding-top:10px;font-size:14px;line-height:1.7}
html body:is(.pg-service,.pg-svc,.pg-ind,.pg-industry,.pg-brand):not(.z):not(.z) .who-for{margin-top:14px;padding:16px 18px;font-size:14px;line-height:1.7}
/* 支援内容 */
html body:is(.pg-service,.pg-svc,.pg-ind,.pg-industry,.pg-brand):not(.z):not(.z) .scope{gap:22px}
html body:is(.pg-service,.pg-svc,.pg-ind,.pg-industry,.pg-brand):not(.z):not(.z) .scope h3{margin-bottom:10px}
html body:is(.pg-service,.pg-svc,.pg-ind,.pg-industry,.pg-brand):not(.z):not(.z) .items{gap:6px}
html body:is(.pg-service,.pg-svc,.pg-ind,.pg-industry,.pg-brand):not(.z):not(.z) .items li{padding:7px 14px;font-size:14px}
html body:is(.pg-service,.pg-svc,.pg-ind,.pg-industry,.pg-brand):not(.z):not(.z) .scope ol li{grid-template-columns:40px 1fr;padding:11px 0;font-size:14px}
html body:is(.pg-service,.pg-svc,.pg-ind,.pg-industry,.pg-brand):not(.z):not(.z) .scope ol li::before{font-size:18px}
/* 役割・手順リスト */
html body:is(.pg-service,.pg-svc,.pg-ind,.pg-industry,.pg-brand):not(.z):not(.z) .play{column-gap:0}
html body:is(.pg-service,.pg-svc,.pg-ind,.pg-industry,.pg-brand):not(.z):not(.z) .play li{grid-template-columns:38px 1fr;padding:14px 0}
html body:is(.pg-service,.pg-svc,.pg-ind,.pg-industry,.pg-brand):not(.z):not(.z) .play b{font-size:18px}
html body:is(.pg-service,.pg-svc,.pg-ind,.pg-industry,.pg-brand):not(.z):not(.z) .play h3{font-size:16px;line-height:1.5;margin-bottom:3px}
html body:is(.pg-service,.pg-svc,.pg-ind,.pg-industry,.pg-brand):not(.z):not(.z) .play p{font-size:14px;line-height:1.7}
html body:is(.pg-service,.pg-svc,.pg-ind,.pg-industry,.pg-brand):not(.z):not(.z) .steps li,html body:is(.pg-service,.pg-svc,.pg-ind,.pg-industry,.pg-brand):not(.z):not(.z) .steps li+li{padding:13px 0}
html body:is(.pg-service,.pg-svc,.pg-ind,.pg-industry,.pg-brand):not(.z):not(.z) .steps .n{gap:8px}
html body:is(.pg-service,.pg-svc,.pg-ind,.pg-industry,.pg-brand):not(.z):not(.z) .steps .n small{font-size:12px}
html body:is(.pg-service,.pg-svc,.pg-ind,.pg-industry,.pg-brand):not(.z):not(.z) .steps .n b{font-size:24px}
html body:is(.pg-service,.pg-svc,.pg-ind,.pg-industry,.pg-brand):not(.z):not(.z) .steps h3{margin:4px 0 3px;font-size:16px}
html body:is(.pg-service,.pg-svc,.pg-ind,.pg-industry,.pg-brand):not(.z):not(.z) .steps p{font-size:14px;line-height:1.7}
/* 専門サービス導線 */
html body:is(.pg-service,.pg-svc,.pg-ind,.pg-industry,.pg-brand):not(.z):not(.z) .brand-go{padding:18px 18px 20px;gap:12px}
html body:is(.pg-service,.pg-svc,.pg-ind,.pg-industry,.pg-brand):not(.z):not(.z) .brand-go strong{margin:2px 0 6px;font-size:24px}
html body:is(.pg-service,.pg-svc,.pg-ind,.pg-industry,.pg-brand):not(.z):not(.z) .brand-go p{font-size:14px;line-height:1.65}
html body:is(.pg-service,.pg-svc,.pg-ind,.pg-industry,.pg-brand):not(.z):not(.z) .brand-go .btn{min-height:44px}
html body:is(.pg-service,.pg-svc,.pg-ind,.pg-industry,.pg-brand):not(.z):not(.z) .others{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}
html body:is(.pg-service,.pg-svc,.pg-ind,.pg-industry,.pg-brand):not(.z):not(.z) .others a span{min-width:0;overflow-wrap:anywhere}
html body:is(.pg-service,.pg-svc,.pg-ind,.pg-industry,.pg-brand):not(.z):not(.z) .others a{padding:12px 10px 12px 14px;min-height:0;gap:4px;font-size:14px;line-height:1.5}
html body:is(.pg-service,.pg-svc,.pg-ind,.pg-industry,.pg-brand):not(.z):not(.z) .others a:last-child:nth-child(odd){grid-column:1/-1}
html body:is(.pg-service,.pg-svc,.pg-ind,.pg-industry,.pg-brand):not(.z):not(.z) .mk-g+.others a{padding:12px 12px 12px 14px}
html body:is(.pg-service,.pg-svc,.pg-ind,.pg-industry,.pg-brand):not(.z):not(.z) .mk-g{margin:18px 0 8px}
/* 5つの段階 */
html body:is(.pg-service,.pg-svc,.pg-ind,.pg-industry,.pg-brand):not(.z):not(.z) .road li{display:block;padding:13px 0}
html body:is(.pg-service,.pg-svc,.pg-ind,.pg-industry,.pg-brand):not(.z):not(.z) .road .n{gap:8px}
html body:is(.pg-service,.pg-svc,.pg-ind,.pg-industry,.pg-brand):not(.z):not(.z) .road .n small{font-size:12px}
html body:is(.pg-service,.pg-svc,.pg-ind,.pg-industry,.pg-brand):not(.z):not(.z) .road .n b{font-size:24px}
html body:is(.pg-service,.pg-svc,.pg-ind,.pg-industry,.pg-brand):not(.z):not(.z) .road h3{font-size:16px;margin:4px 0 4px}
html body:is(.pg-service,.pg-svc,.pg-ind,.pg-industry,.pg-brand):not(.z):not(.z) .road p{font-size:14px;line-height:1.75}
html body:is(.pg-service,.pg-svc,.pg-ind,.pg-industry,.pg-brand):not(.z):not(.z) .road .go{flex-direction:row;flex-wrap:wrap;gap:6px 14px;padding-top:8px}
html body:is(.pg-service,.pg-svc,.pg-ind,.pg-industry,.pg-brand):not(.z):not(.z) .road .go a{min-height:36px;padding:0;border-bottom:0;gap:6px;font-size:14px;color:var(--red)}
/* 本文中の手動改行を外して行数を減らす */
html body:is(.pg-service,.pg-svc,.pg-ind,.pg-industry,.pg-brand):not(.z):not(.z) :is(.road,.play,.pains,.steps,.iw,.irole,.icb,.scope,.brand-go) p br{display:none}
/* 業種ページ */
html body:is(.pg-service,.pg-svc,.pg-ind,.pg-industry,.pg-brand):not(.z):not(.z) .ipl li{padding:14px 0}
html body:is(.pg-service,.pg-svc,.pg-ind,.pg-industry,.pg-brand):not(.z):not(.z) .ipl .ir{margin-top:6px;font-size:13px;line-height:1.6}
html body:is(.pg-service,.pg-svc,.pg-ind,.pg-industry,.pg-brand):not(.z):not(.z) .ipl .ir a{padding:3px 0;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}
html body:is(.pg-service,.pg-svc,.pg-ind,.pg-industry,.pg-brand):not(.z):not(.z) .iw li{padding:14px 0}
html body:is(.pg-service,.pg-svc,.pg-ind,.pg-industry,.pg-brand):not(.z):not(.z) .iw h3{font-size:16px;line-height:1.5}
html body:is(.pg-service,.pg-svc,.pg-ind,.pg-industry,.pg-brand):not(.z):not(.z) .iw p{margin-top:4px;font-size:14px;line-height:1.7}
html body:is(.pg-service,.pg-svc,.pg-ind,.pg-industry,.pg-brand):not(.z):not(.z) .iw .il{gap:2px 16px;margin-top:6px}
html body:is(.pg-service,.pg-svc,.pg-ind,.pg-industry,.pg-brand):not(.z):not(.z) .iw .il a{font-size:14px;padding:6px 0}
html body:is(.pg-service,.pg-svc,.pg-ind,.pg-industry,.pg-brand):not(.z):not(.z) .irole{gap:22px}
html body:is(.pg-service,.pg-svc,.pg-ind,.pg-industry,.pg-brand):not(.z):not(.z) .irole h3{padding-bottom:8px;font-size:16px}
html body:is(.pg-service,.pg-svc,.pg-ind,.pg-industry,.pg-brand):not(.z):not(.z) .irole li{padding:9px 0;font-size:14px;line-height:1.7}
html body:is(.pg-service,.pg-svc,.pg-ind,.pg-industry,.pg-brand):not(.z):not(.z) .icb{gap:22px}
html body:is(.pg-service,.pg-svc,.pg-ind,.pg-industry,.pg-brand):not(.z):not(.z) .icb>li{padding-top:14px}
html body:is(.pg-service,.pg-svc,.pg-ind,.pg-industry,.pg-brand):not(.z):not(.z) .icb h3{font-size:16px;line-height:1.5}
html body:is(.pg-service,.pg-svc,.pg-ind,.pg-industry,.pg-brand):not(.z):not(.z) .icb dl{margin-top:8px;display:grid;grid-template-columns:1fr 1fr;gap:0 12px}
html body:is(.pg-service,.pg-svc,.pg-ind,.pg-industry,.pg-brand):not(.z):not(.z) .icb dl>div{padding:8px 0}
html body:is(.pg-service,.pg-svc,.pg-ind,.pg-industry,.pg-brand):not(.z):not(.z) .icb dd{font-size:15px}
html body:is(.pg-service,.pg-svc,.pg-ind,.pg-industry,.pg-brand):not(.z):not(.z) .icb .bg{margin-left:4px;padding:0 6px}
html body:is(.pg-service,.pg-svc,.pg-ind,.pg-industry,.pg-brand):not(.z):not(.z) .ipn{margin-top:18px;font-size:13px;line-height:1.7}
html body:is(.pg-service,.pg-svc,.pg-ind,.pg-industry,.pg-brand):not(.z):not(.z) .ipn+.more,html body:is(.pg-service,.pg-svc,.pg-ind,.pg-industry,.pg-brand):not(.z):not(.z) .more{margin-top:16px}
html body:is(.pg-service,.pg-svc,.pg-ind,.pg-industry,.pg-brand):not(.z):not(.z) .rs{gap:18px;margin-top:22px}
html body:is(.pg-service,.pg-svc,.pg-ind,.pg-industry,.pg-brand):not(.z):not(.z) .rs-c{padding-top:12px}
html body:is(.pg-service,.pg-svc,.pg-ind,.pg-industry,.pg-brand):not(.z):not(.z) .rs-c .m{margin-top:6px}
html body:is(.pg-service,.pg-svc,.pg-ind,.pg-industry,.pg-brand):not(.z):not(.z) .rs-c .n b{font-size:38px}
html body:is(.pg-service,.pg-svc,.pg-ind,.pg-industry,.pg-brand):not(.z):not(.z) .rs-c h3{margin-top:6px;font-size:15px;line-height:1.6}
html body:is(.pg-service,.pg-svc,.pg-ind,.pg-industry,.pg-brand):not(.z):not(.z) .icta{gap:8px;margin-top:18px}
html body:is(.pg-service,.pg-svc,.pg-ind,.pg-industry,.pg-brand):not(.z):not(.z) .icta .btn{min-height:52px}
html body:is(.pg-service,.pg-svc,.pg-ind,.pg-industry,.pg-brand):not(.z):not(.z) .ihint{margin-top:12px;font-size:13px;line-height:1.7}
html body:is(.pg-service,.pg-svc,.pg-ind,.pg-industry,.pg-brand):not(.z):not(.z) .ik{margin-top:20px!important}
html body:is(.pg-service,.pg-svc,.pg-ind,.pg-industry,.pg-brand):not(.z):not(.z) .ik h3{display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}
html body:is(.pg-service,.pg-svc,.pg-ind,.pg-industry,.pg-brand):not(.z):not(.z) .sec:not(.seo-rel):not(.gate-case) .sh-row{gap:6px 16px;align-items:center}
html body:is(.pg-service,.pg-svc,.pg-ind,.pg-industry,.pg-brand):not(.z):not(.z) .sec:not(.seo-rel):not(.gate-case) .sh-row .lnk{min-height:44px}
/* 共通部品（サービス各ページ） */
html body:is(.pg-service,.pg-svc,.pg-ind,.pg-industry,.pg-brand):not(.z):not(.z) .feat4{padding:2px 18px}
html body:is(.pg-service,.pg-svc,.pg-ind,.pg-industry,.pg-brand):not(.z):not(.z) .feat4 li,html body:is(.pg-service,.pg-svc,.pg-ind,.pg-industry,.pg-brand):not(.z):not(.z) .feat4 li:nth-child(odd),html body:is(.pg-service,.pg-svc,.pg-ind,.pg-industry,.pg-brand):not(.z):not(.z) .feat4 li:nth-child(even){padding:12px 0}
html body:is(.pg-service,.pg-svc,.pg-ind,.pg-industry,.pg-brand):not(.z):not(.z) .feat4 h4{font-size:16px}
html body:is(.pg-service,.pg-svc,.pg-ind,.pg-industry,.pg-brand):not(.z):not(.z) .feat4 p{margin-top:3px;font-size:14px;line-height:1.7}
html body:is(.pg-service,.pg-svc,.pg-ind,.pg-industry,.pg-brand):not(.z):not(.z) .sub-flow li,html body:is(.pg-service,.pg-svc,.pg-ind,.pg-industry,.pg-brand):not(.z):not(.z) .sub-flow li+li{grid-template-columns:40px 1fr;padding:11px 0}
html body:is(.pg-service,.pg-svc,.pg-ind,.pg-industry,.pg-brand):not(.z):not(.z) .sub-flow b{font-size:22px}
html body:is(.pg-service,.pg-svc,.pg-ind,.pg-industry,.pg-brand):not(.z):not(.z) .sub-flow h4{margin:0 0 2px;font-size:16px}
html body:is(.pg-service,.pg-svc,.pg-ind,.pg-industry,.pg-brand):not(.z):not(.z) .sub-flow p{font-size:14px;line-height:1.7}
html body:is(.pg-service,.pg-svc,.pg-ind,.pg-industry,.pg-brand):not(.z):not(.z) .roles{gap:2px}
html body:is(.pg-service,.pg-svc,.pg-ind,.pg-industry,.pg-brand):not(.z):not(.z) .roles>div{padding:14px 16px}
html body:is(.pg-service,.pg-svc,.pg-ind,.pg-industry,.pg-brand):not(.z):not(.z) .roles b{margin:2px 0 4px;font-size:20px}
html body:is(.pg-service,.pg-svc,.pg-ind,.pg-industry,.pg-brand):not(.z):not(.z) .roles>i{height:16px}
html body:is(.pg-service,.pg-svc,.pg-ind,.pg-industry,.pg-brand):not(.z):not(.z) .roles p{font-size:13px;line-height:1.65}
html body:is(.pg-service,.pg-svc,.pg-ind,.pg-industry,.pg-brand):not(.z):not(.z) .ad-gap{height:10px}
html body:is(.pg-service,.pg-svc,.pg-ind,.pg-industry,.pg-brand):not(.z):not(.z) .vs p{padding:16px 18px;font-size:15px}
html body:is(.pg-service,.pg-svc,.pg-ind,.pg-industry,.pg-brand):not(.z):not(.z) .vs p.imj{font-size:16px}
html body:is(.pg-service,.pg-svc,.pg-ind,.pg-industry,.pg-brand):not(.z):not(.z) .sys-ex{margin-top:16px}
html body:is(.pg-service,.pg-svc,.pg-ind,.pg-industry,.pg-brand):not(.z):not(.z) .sys-ex li,html body:is(.pg-service,.pg-svc,.pg-ind,.pg-industry,.pg-brand):not(.z):not(.z) .sys-ex li+li{padding:12px 0}
html body:is(.pg-service,.pg-svc,.pg-ind,.pg-industry,.pg-brand):not(.z):not(.z) .sys-ex h4{margin:2px 0 3px;font-size:16px}
html body:is(.pg-service,.pg-svc,.pg-ind,.pg-industry,.pg-brand):not(.z):not(.z) .sys-ex p{font-size:14px;line-height:1.7}
html body:is(.pg-service,.pg-svc,.pg-ind,.pg-industry,.pg-brand):not(.z):not(.z) .points{margin-top:22px;gap:8px}
html body:is(.pg-service,.pg-svc,.pg-ind,.pg-industry,.pg-brand):not(.z):not(.z) .points li{padding:16px 18px}
html body:is(.pg-service,.pg-svc,.pg-ind,.pg-industry,.pg-brand):not(.z):not(.z) .points h4{margin:3px 0 4px;font-size:16px}
html body:is(.pg-service,.pg-svc,.pg-ind,.pg-industry,.pg-brand):not(.z):not(.z) .points p{line-height:1.7}
html body:is(.pg-service,.pg-svc,.pg-ind,.pg-industry,.pg-brand):not(.z):not(.z) .ms{margin-top:36px}
html body:is(.pg-service,.pg-svc,.pg-ind,.pg-industry,.pg-brand):not(.z):not(.z) .ms-nav a,html body:is(.pg-service,.pg-svc,.pg-ind,.pg-industry,.pg-brand):not(.z):not(.z) .ms-nav a+a{padding:12px 0}
html body:is(.pg-service,.pg-svc,.pg-ind,.pg-industry,.pg-brand):not(.z):not(.z) .ms-head{gap:2px;margin-bottom:18px}
html body:is(.pg-service,.pg-svc,.pg-ind,.pg-industry,.pg-brand):not(.z):not(.z) .ms-head .no{font-size:40px}
html body:is(.pg-service,.pg-svc,.pg-ind,.pg-industry,.pg-brand):not(.z):not(.z) .ms-head h3{font-size:20px}
html body:is(.pg-service,.pg-svc,.pg-ind,.pg-industry,.pg-brand):not(.z):not(.z) .ms-head p{margin-top:8px}
html body:is(.pg-service,.pg-svc,.pg-ind,.pg-industry,.pg-brand):not(.z):not(.z) .share{margin-top:32px;padding-top:26px}
html body:is(.pg-service,.pg-svc,.pg-ind,.pg-industry,.pg-brand):not(.z):not(.z) .share h3{margin-bottom:14px;font-size:18px}
html body:is(.pg-service,.pg-svc,.pg-ind,.pg-industry,.pg-brand):not(.z):not(.z) .share .cols{gap:18px}
html body:is(.pg-service,.pg-svc,.pg-ind,.pg-industry,.pg-brand):not(.z):not(.z) .share .cols li{padding:8px 0 8px 22px}
html body:is(.pg-service,.pg-svc,.pg-ind,.pg-industry,.pg-brand):not(.z):not(.z) .share .cols li::before{top:1.1em}
html body:is(.pg-service,.pg-svc,.pg-ind,.pg-industry,.pg-brand):not(.z):not(.z) .share .who.rp{margin:22px 0 10px}
html body:is(.pg-service,.pg-svc,.pg-ind,.pg-industry,.pg-brand):not(.z):not(.z) .line-b{padding:22px 18px;gap:14px}
html body:is(.pg-service,.pg-svc,.pg-ind,.pg-industry,.pg-brand):not(.z):not(.z) .line-flow li{padding:10px}
html body:is(.pg-service,.pg-svc,.pg-ind,.pg-industry,.pg-brand):not(.z):not(.z) .sub-tbl tr{padding:10px 0}
html body:is(.pg-service,.pg-svc,.pg-ind,.pg-industry,.pg-brand):not(.z):not(.z) .issue-list{gap:8px}
html body:is(.pg-service,.pg-svc,.pg-ind,.pg-industry,.pg-brand):not(.z):not(.z) .issue-list li{padding:14px 16px}
html body:is(.pg-service,.pg-svc,.pg-ind,.pg-industry,.pg-brand):not(.z):not(.z) .issue-list small{margin-top:8px}
html body:is(.pg-service,.pg-svc,.pg-ind,.pg-industry,.pg-brand):not(.z):not(.z) .hero-b .formula{margin-top:16px}
html body:is(.pg-service,.pg-svc,.pg-ind,.pg-industry,.pg-brand):not(.z):not(.z) .answer{margin-top:24px}
html body:is(.pg-service,.pg-svc,.pg-ind,.pg-industry,.pg-brand):not(.z):not(.z) .ms3{gap:24px;margin-top:24px}
html body:is(.pg-service,.pg-svc,.pg-ind,.pg-industry,.pg-brand):not(.z):not(.z) .ms3>li{padding-top:14px}
html body:is(.pg-service,.pg-svc,.pg-ind,.pg-industry,.pg-brand):not(.z):not(.z) .ms3 ul{margin:8px 0 10px}
/* ブランド */
html body:is(.pg-service,.pg-svc,.pg-ind,.pg-industry,.pg-brand):not(.z):not(.z) .br-list{display:grid;gap:10px}
html body:is(.pg-service,.pg-svc,.pg-ind,.pg-industry,.pg-brand):not(.z):not(.z) .br-row{padding:18px 16px;gap:10px}
html body:is(.pg-service,.pg-svc,.pg-ind,.pg-industry,.pg-brand):not(.z):not(.z) .br-big{display:none}
html body:is(.pg-service,.pg-svc,.pg-ind,.pg-industry,.pg-brand):not(.z):not(.z) .br-b dl{margin-top:8px;grid-template-columns:7em minmax(0,1fr);gap:4px 10px}
html body:is(.pg-service,.pg-svc,.pg-ind,.pg-industry,.pg-brand):not(.z):not(.z) .br-b dd{margin-bottom:0}
html body:is(.pg-service,.pg-svc,.pg-ind,.pg-industry,.pg-brand):not(.z):not(.z) .br-row .go{margin-top:10px}
html body:is(.pg-service,.pg-svc,.pg-ind,.pg-industry,.pg-brand):not(.z):not(.z) .br-flow3 li,html body:is(.pg-service,.pg-svc,.pg-ind,.pg-industry,.pg-brand):not(.z):not(.z) .br-flow4 li{padding:10px 0}
html body:is(.pg-service,.pg-svc,.pg-ind,.pg-industry,.pg-brand):not(.z):not(.z) .br-note{margin-top:14px}
/* 横スクロール1行（カード列。1ページ最大2か所） */
html body:is(.pg-service,.pg-svc,.pg-ind,.pg-industry,.pg-brand):not(.z):not(.z) .pains,html body:is(.pg-service,.pg-svc,.pg-ind,.pg-industry,.pg-brand):not(.z):not(.z) .ipl,html body:is(.pg-service,.pg-svc,.pg-ind,.pg-industry,.pg-brand):not(.z):not(.z) .iw{display:flex;gap:10px;overflow-x:auto;overscroll-behavior-x:contain;scroll-snap-type:x mandatory;scroll-padding:0 20px;margin-left:-20px;margin-right:-20px;padding:0 20px 6px;scrollbar-width:none}
html body:is(.pg-service,.pg-svc,.pg-ind,.pg-industry,.pg-brand):not(.z):not(.z) .pains::-webkit-scrollbar,html body:is(.pg-service,.pg-svc,.pg-ind,.pg-industry,.pg-brand):not(.z):not(.z) .ipl::-webkit-scrollbar,html body:is(.pg-service,.pg-svc,.pg-ind,.pg-industry,.pg-brand):not(.z):not(.z) .iw::-webkit-scrollbar{display:none}
html body:is(.pg-service,.pg-svc,.pg-ind,.pg-industry,.pg-brand):not(.z):not(.z) .pains>li,html body:is(.pg-service,.pg-svc,.pg-ind,.pg-industry,.pg-brand):not(.z):not(.z) .ipl>li,html body:is(.pg-service,.pg-svc,.pg-ind,.pg-industry,.pg-brand):not(.z):not(.z) .iw>li{flex:0 0 80%;scroll-snap-align:start;min-width:0}
html body:is(.pg-service,.pg-svc,.pg-ind,.pg-industry,.pg-brand):not(.z):not(.z) .ipl>li,html body:is(.pg-service,.pg-svc,.pg-ind,.pg-industry,.pg-brand):not(.z):not(.z) .iw>li{padding:16px 16px 14px;border-radius:16px;background:#fff;border-top:0;display:grid;grid-template-columns:34px 1fr;column-gap:0;align-content:start}
html body:is(.pg-service,.pg-svc,.pg-ind,.pg-industry,.pg-brand):not(.z):not(.z) .iw>li{display:block;background:var(--panel)}
html body:is(.pg-service,.pg-svc,.pg-ind,.pg-industry,.pg-brand):not(.z):not(.z) .ipl>li>b{grid-row:span 3}
html body:is(.pg-service,.pg-svc,.pg-ind,.pg-industry,.pg-brand):not(.z):not(.z) .ipl>li .ir{grid-column:2}
html body:is(.pg-service,.pg-svc,.pg-ind,.pg-industry,.pg-brand):not(.z):not(.z) .ipl,html body:is(.pg-service,.pg-svc,.pg-ind,.pg-industry,.pg-brand):not(.z):not(.z) .iw{align-items:flex-start}
/* 行間の最終調整 */
html body:is(.pg-service,.pg-svc,.pg-ind,.pg-industry,.pg-brand):not(.z):not(.z) :is(.road,.play,.steps,.iw,.feat4,.sub-flow,.sys-ex,.points,.brand-go,.pains,.icb) p,html body:is(.pg-service,.pg-svc,.pg-ind,.pg-industry,.pg-brand):not(.z):not(.z) .irole li{line-height:1.62}
html body:is(.pg-service,.pg-svc,.pg-ind,.pg-industry,.pg-brand):not(.z):not(.z) .scope ol li,html body:is(.pg-service,.pg-svc,.pg-ind,.pg-industry,.pg-brand):not(.z):not(.z) .scope .items li{line-height:1.55}
html body:is(.pg-service,.pg-svc,.pg-ind,.pg-industry,.pg-brand):not(.z):not(.z) .road .go{padding-top:4px;gap:0 14px}
html body:is(.pg-service,.pg-svc,.pg-ind,.pg-industry,.pg-brand):not(.z):not(.z) .road .go a{min-height:34px}
html body:is(.pg-service,.pg-svc,.pg-ind,.pg-industry,.pg-brand):not(.z):not(.z) .sh h2{overflow-wrap:anywhere}
}

/* ---- v3pages/zzzzzzzz_sp_d_content.css ---- */
/* SP圧縮 D担当: 事例・記事・データ・資料・会社ほか（全て 720px 以下・ページクラス/ページ固有クラスで限定） */
@media(max-width:720px){
/* ===== /works/ 一覧 ===== */
body.pg-works .wk-filter{margin-bottom:24px;padding-bottom:16px;gap:10px}
body.pg-works .wk-filter dd{gap:6px;flex-wrap:nowrap;overflow-x:auto;-webkit-overflow-scrolling:touch;scrollbar-width:none;margin-right:-16px;padding-right:16px}
body.pg-works .wk-filter dd::-webkit-scrollbar{display:none}
body.pg-works .wk-filter button{flex:none;white-space:nowrap}
body.pg-works .wk-n b{font-size:22px}
body.pg-works .wk-filter button{min-height:40px;padding:0 12px;font-size:13px}
body.pg-works .wk-grp{margin-bottom:36px}
body.pg-works .wk-gh{margin-bottom:14px}
body.pg-works .wk-list{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}
body.pg-works .wk-card{padding:14px 12px 12px}
body.pg-works .wk-meta{font-size:12px}
body.pg-works .wk-card h3{margin-top:6px;font-size:13px;line-height:1.5;font-weight:700}
body.pg-works .wk-figs{grid-template-columns:minmax(0,1fr);gap:4px;margin-top:10px;padding:8px 0}
body.pg-works .wk-figs li{display:flex;align-items:baseline;gap:6px}
body.pg-works .wk-figs li:nth-child(n+2){display:none}
body.pg-works .wk-figs b{font-size:24px}
body.pg-works .wk-figs span{margin-top:0;font-size:12px;line-height:1.4}
body.pg-works .wk-text,body.pg-works .wk-scope{display:none}
body.pg-works .wk-go{padding-top:8px;font-size:12px}
body.pg-works .wk-go i{width:26px;height:26px}
/* 関連事例(詳細ページ下) */
body.pg-works .wk-rel .wk-list{display:flex;overflow-x:auto;scroll-snap-type:x mandatory;-webkit-overflow-scrolling:touch;gap:10px;margin-right:-20px;padding-right:20px;scrollbar-width:none}
body.pg-works .wk-rel .wk-card{flex:0 0 62%;scroll-snap-align:start}
body.pg-works .wk-back{margin-top:16px}

/* ===== /works/<slug>/ 詳細 ===== */
body.pg-works .wk-body{font-size:15px;line-height:1.75}
body.pg-works .wk-body .wp-block-paragraph{margin-bottom:10px}
body.pg-works .wk-body .wp-block-h2{margin:26px 0 10px;padding-top:14px;font-size:19px}
body.pg-works .wk-body .wp-block-h3{margin:18px 0 6px;font-size:16px}
body.pg-works .wk-body .wp-block-list{margin-bottom:16px}
body.pg-works .wk-body ul.wp-block-list li{margin-bottom:6px}
body.pg-works .wk-body ol.wp-block-list li{margin-bottom:8px}
body.pg-works .wk-body .wp-block-table{margin-bottom:20px}
body.pg-works .wk-body .wp-block-table td{padding:8px 6px;font-size:13px;line-height:1.65}
body.pg-works .wk-body .works-kpi{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;margin:20px 0 24px}
body.pg-works .wk-body .works-kpi_item{padding:12px 10px 10px}
body.pg-works .wk-body .works-kpi_value{margin-top:6px;font-size:30px}
body.pg-works .wk-body .works-kpi_note{margin-top:6px;line-height:1.5}
body.pg-works .wk-body .works-flow{gap:6px;margin:16px 0 24px}
body.pg-works .wk-body .works-flow_step{padding:10px 12px}
body.pg-works .wk-body .works-flow_no,body.pg-works .wk-body .works-flow_term{display:inline;margin:0 8px 0 0}
body.pg-works .wk-body .works-flow_title{margin-top:2px;font-size:15px;line-height:1.5}
body.pg-works .wk-body .works-flow_text{margin-top:2px;line-height:1.6}
body.pg-works .wk-body .works-chart{margin:12px 0 16px}
body.pg-works .wk-body .works-chart_caption{margin-top:6px;line-height:1.55}
body.pg-works .wk-body .works-legend{margin-top:8px;gap:4px 14px}
body.pg-works .wk-body .works-ba{margin:16px 0 22px}
body.pg-works .wk-body .works-ba_col{padding:16px 14px}
body.pg-works .wk-body .works-ba_arrow{display:none}
body.pg-works .wk-body .works-ba{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}
body.pg-works .wk-body .works-ba_list{font-size:13px}
body.pg-works .wk-body .works-ba_list li{padding-left:14px;margin-bottom:4px}
body.pg-works .wk-body .works-ba_list{margin-top:8px;line-height:1.75}
body.pg-works .wk-back{margin-top:20px}

/* ===== /media/ 一覧・カテゴリ ===== */
body.pg-media .md-cats{margin-bottom:20px;gap:6px}
body.pg-media .md-cats a{min-height:40px;padding:0 12px;font-size:13px}
body.pg-media .md-latest{margin-bottom:32px}
body.pg-media .md-sub{margin-bottom:14px;font-size:18px}
body.pg-media .md-grid{gap:16px}
body.pg-media .md-grid .feat{gap:2px 12px}
body.pg-media .md-grid .feat h3{font-size:14px;line-height:1.5;-webkit-line-clamp:3}
body.pg-media .md-grid .feat .k time{display:inline;margin-left:8px}
body.pg-media .md-grid .feat{grid-template-columns:112px minmax(0,1fr)}
body.pg-media .md-grid .feat .cv{width:112px}
body.pg-media .md-grid .feat p:last-child:not(.k){margin-top:0;font-size:13px;line-height:1.55;-webkit-line-clamp:1}
body.pg-media .md-all .feat:first-child p:last-child{-webkit-line-clamp:2}
body.pg-media .dl-strip{margin-top:20px;padding-top:12px}
body.pg-media .dl-strip ul{grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;margin:8px 0 10px}
body.pg-media .dl-strip b{font-size:17px;line-height:1.3}
body.pg-media .dl-strip span{font-size:12px;line-height:1.45}
body.pg-media .md-know{gap:14px}
body.pg-media .md-know .klist a{grid-template-columns:96px minmax(0,1fr);gap:12px;padding:10px 0}
body.pg-media .md-know .klist h3{font-size:14px;line-height:1.55}
body.pg-media .md-pager{margin-top:28px}

/* ===== 記事ページ（本文の文字サイズ・行間は維持） ===== */
body.pg-media .md-toc{padding:14px 16px;margin-bottom:24px}
body.pg-media .md-toc .t{margin-bottom:4px}
body.pg-media .md-toc li{padding:3px 0;line-height:1.55;font-size:14px}
body.pg-media .md-body p{margin-bottom:1.1em}
body.pg-media .md-body h2{margin:44px 0 14px;padding-top:20px}
body.pg-media .md-body h3{margin:30px 0 10px}
body.pg-media .md-body h4{margin:24px 0 8px}
body.pg-media .md-body ul,body.pg-media .md-body ol{margin-bottom:1.2em}
body.pg-media .md-body blockquote{padding:14px 16px;margin-bottom:1.2em}
body.pg-media .md-body hr{margin:28px 0}
body.pg-media .md-body .ph{margin:20px 0}
body.pg-media .md-body img{margin:20px auto}
body.pg-media .md-tbl{margin-bottom:1.2em}
body.pg-media .md-tbl th,body.pg-media .md-tbl td{padding:8px 10px;font-size:14px;line-height:1.65}
body.pg-media .md-tbl.n2 tbody th{min-width:4.6em}
body.pg-media .md-pn{margin-top:32px;gap:10px}
body.pg-media .md-pn a{padding:12px 14px}
body.pg-media .md-back{margin-top:20px}

/* ===== /data/ （body は pg-top のため dt-* で限定） ===== */
.dt-top{padding-bottom:16px}
.dt-top .crumb{margin-bottom:14px}
.dt-upd{margin-top:-8px}
.dt-keys{margin-top:20px;gap:12px}
.dt-keys li{padding-top:10px}
.dt-keys li p:not(.dt-big){margin-top:2px}
.dt-keys small{margin-top:2px}
.dt-big{font-size:30px}
.dt-sec{padding-top:24px;padding-bottom:24px}
.dt-sec h3{margin-top:24px;font-size:17px}
.dt-pair{gap:12px}
.dt-pair>div{padding-top:10px}
.dt-bars{margin-top:8px}
.dt-bars li{grid-template-columns:5.3em minmax(40px,1fr) auto;gap:8px;row-gap:0;padding:6px 0;font-size:13px}
.dt-bars .dt-bar{grid-column:auto;grid-row:auto;height:8px}
.dt-v em{min-width:0;margin-left:6px}
.dt-m{font-size:13px}
.dt-more{margin-top:6px}
.dt-more summary{padding:8px 0}
.dt-t{margin-top:8px;overflow-x:auto;-webkit-overflow-scrolling:touch}
.dt-t table{display:table;width:100%;min-width:0}
.dt-t tbody{display:table-row-group}
.dt-t tr{display:table-row;padding:0}
.dt-t thead{position:static;width:auto;height:auto;overflow:visible;clip:auto;display:table-header-group}
.dt-t td,.dt-t th{display:table-cell;width:auto;padding:7px 6px;border-bottom:1px solid var(--line);font-size:13px;line-height:1.5;white-space:normal}
.dt-t thead th{font-size:12px;padding:6px 6px}
.dt-t td::before,.dt-t tbody th::before{content:none}
.dt-t tbody th{white-space:nowrap}
.dt-news table{min-width:560px}
.dt-news td:first-child{white-space:nowrap}
.dt-note{margin-top:8px}
.dt-view{margin-top:12px;font-size:14px;line-height:1.75}
.dt-regv li{padding:3px 0}
.dt-src{margin-top:10px;line-height:1.65}
.dt-rel{padding-top:24px}
.dt-ctab{padding:24px 0 4px}
.dt-ctab .more{margin-top:14px}

/* ===== /download/ ===== */
body.pg-download .cp-dl{gap:20px}
body.pg-download .cp-cover{aspect-ratio:16/8;padding:16px 18px}
body.pg-download .cp-cover b{font-size:19px;line-height:1.35}
body.pg-download .cp-cap{padding-top:12px}
body.pg-download .cp-cap h3{margin-top:4px;font-size:17px}
body.pg-download .cp-cap p:not(.cp-k){margin-top:4px;line-height:1.65}
body.pg-download .cp-more{margin-top:8px}
body.pg-download .cp-more i{width:32px;height:32px}
body.pg-download .cp-terms-note{gap:12px}
body.pg-download .cp-detail{gap:20px}
body.pg-download .cp-todo-box{margin:14px 0 20px;padding:16px 18px}
body.pg-download .cp-toc{margin:12px 0 20px}
body.pg-download .cp-toc li{padding:10px 0;gap:0}
body.pg-download .cp-toc li p{margin-top:2px;line-height:1.7}
body.pg-download .cp-toc h3{font-size:16px;line-height:1.5}
body.pg-download .cp-h{margin-bottom:8px;font-size:20px}
body.pg-download .cp-todo{padding:16px 18px;font-size:15px}

/* ===== /company/ ===== */
body.pg-company .cp-story{gap:18px}
body.pg-company .cp-links{margin-top:18px!important;gap:6px 24px}
body.pg-company .cp-fields{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}
body.pg-company .cp-fields li{grid-template-columns:1fr;gap:2px;padding:12px 14px;font-size:14px;line-height:1.5}
body.pg-company .cp-fields li::before{font-size:16px}
body.pg-company .cp-fields small{font-size:12px;line-height:1.5}
/* 2026-10-21 事業領域を6本＋補足付きにしたため、2列だと見出しが「プロモーショ／ン」と折れる→1列・番号を左に */
body.pg-company .cp-fields{grid-template-columns:1fr}
body.pg-company .cp-fields li{grid-template-columns:34px 1fr;gap:0}
body.pg-company .cp-msg1 h3{margin-bottom:20px;font-size:20px;line-height:1.55}
body.pg-company .cp-msg1 p{font-size:15px;line-height:1.95}
body.pg-company .cp-msg1 .cp-who{margin-top:24px;font-size:15px}
body.pg-company .cp-fields li:last-child:nth-child(odd){grid-column:1/-1}
body.pg-company .cp-vision{font-size:20px;line-height:1.55}
body.pg-company .cp-prof>div{grid-template-columns:6.2em minmax(0,1fr);gap:10px;padding:10px 0}
body.pg-company .cp-prof dt{font-size:13px;line-height:1.7}
body.pg-company .cp-prof dd{line-height:1.65;font-size:14px}
body.pg-company .cp-brands{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}
body.pg-company .cp-brands li{padding:14px 14px 12px}
body.pg-company .cp-brands strong{margin:4px 0 6px;font-size:17px}
body.pg-company .cp-brands p{font-size:13px;line-height:1.6}
body.pg-company .cp-go{padding-top:10px}
body.pg-company .cp-go i{width:28px;height:28px}
body.pg-company .cp-msg,body.pg-company .cp-access{gap:14px}
body.pg-company .cp-msg .ph{aspect-ratio:16/8}
body.pg-company .cp-access .ph{aspect-ratio:16/7}
body.pg-company .cp-todo{padding:14px 16px;margin-top:10px;font-size:15px}
body.pg-company .cp-addr{font-size:16px;line-height:1.6}
body.pg-company .cp-who{font-size:17px}
body.pg-company .cp-note{margin-top:6px}

/* ===== /news/ ===== */
body.pg-news .news a{padding-top:14px;padding-bottom:14px}
body.pg-news .cp-body{margin-top:14px}
body.pg-news .cp-back{margin-top:24px;gap:10px 24px}
body.pg-news .cp-todo{padding:14px 16px;font-size:15px}

/* ===== /price/ （操作UI。タップ領域は維持） ===== */
body.pg-price .ps .pw{gap:24px}
body.pg-price .ps .gp{padding-top:14px;margin-bottom:20px}
body.pg-price .ps .gp .sr{margin-top:8px;gap:6px}
body.pg-price .ps .sr span{padding:0 14px;min-height:44px}
body.pg-price .ps .it{padding:12px 0}
body.pg-price .ps .tx b{font-size:15px;line-height:1.5}
body.pg-price .ps .d{line-height:1.6;font-size:13px}
body.pg-price .ps .mt{margin-top:4px;gap:2px 12px}
body.pg-price .ps .nt{margin-top:8px;line-height:1.65}
body.pg-price .ps .pa{padding-top:14px}
body.pg-price .ps .pa .em{margin-top:8px}
body.pg-price .ps .bk{margin-top:12px;padding-top:10px}
body.pg-price .ps .bk li{padding:3px 0;line-height:1.55}
body.pg-price .ps .pa .btn{margin-top:14px}
body.pg-price .pq .qa{margin-top:12px}
body.pg-price .ptb{margin-top:10px}
body.pg-price .ptb tr{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:2px 8px;padding:8px 0}
body.pg-price .ptb th{grid-column:1/3;display:block;padding:0;font-size:14px;line-height:1.5}
body.pg-price .ptb td{display:block;padding:0;font-size:13px;line-height:1.5}
body.pg-price .ptb td::before{display:block;width:auto;line-height:1.3}
body.pg-price .ptb td:nth-child(6){grid-column:3;grid-row:1;text-align:right}
body.pg-price .ptb td:nth-child(6)::before{display:none}
body.pg-price .ptb td:nth-child(5){grid-column:1/-1}

/* ===== /contact/ /contact-entry/ （入力欄の高さ・タップ領域は維持） ===== */
body.pg-contact .form.hsf .send,body.pg-contact-entry .form.hsf .send{margin-top:18px}
body.pg-contact .hsf-agree,body.pg-contact-entry .hsf-agree{margin-bottom:8px}
body.pg-contact .hsf-note,body.pg-contact-entry .hsf-note{margin-top:4px;line-height:1.55}

:is(body.pg-download,body.pg-contact,body.pg-contact-entry) .form .row{padding:10px 0;gap:4px}
:is(body.pg-download,body.pg-contact,body.pg-contact-entry) .form.hsf .lb,:is(body.pg-download,body.pg-contact,body.pg-contact-entry) .form label{padding-top:0}
:is(body.pg-download,body.pg-contact,body.pg-contact-entry) .form input:not([type=checkbox]),:is(body.pg-download,body.pg-contact,body.pg-contact-entry) .form select{min-height:44px;padding-top:10px;padding-bottom:10px}
:is(body.pg-download,body.pg-contact,body.pg-contact-entry) .form textarea{min-height:120px}
:is(body.pg-download,body.pg-contact,body.pg-contact-entry) .form .chips{gap:6px;padding-top:2px}
:is(body.pg-download,body.pg-contact,body.pg-contact-entry) .form .chips span{padding:8px 14px;line-height:1.4}
:is(body.pg-download,body.pg-contact,body.pg-contact-entry) .hsf-note{margin-top:2px}

body.pg-contact-entry .zm-line{display:grid;grid-template-columns:116px minmax(0,1fr);gap:14px;align-items:center}
body.pg-contact-entry .zm-qr{aspect-ratio:1;gap:4px;padding:6px}
body.pg-contact-entry .zm-qr span{font-size:26px}
body.pg-contact-entry .zm-qr small{font-size:12px;line-height:1.3}
body.pg-contact-entry .zm-line p{margin-top:0;line-height:1.65}
body.pg-contact-entry .zm-line .btn{margin-top:10px}
body.pg-contact-entry .zm-steps3 li{padding:12px 0}
body.pg-contact-entry .zm-steps3 .n{margin-bottom:0}
body.pg-contact-entry .zm-steps3 .n b{font-size:28px}
body.pg-contact-entry .zm-steps3 h3{margin-top:2px;font-size:16px}
body.pg-contact-entry .zm-steps3 li p:not(.n){margin-top:2px;line-height:1.65}
body.pg-top .dt-bars sup{font-size:12px}
}

/* ---- v3pages/zzzzzzzzz_news_detail.css ---- */
/* お知らせ詳細: タイトルが長文なので見出しを一段小さく（2026-10-18） */
html body:not(#_z) .news-hero h1{font-size:clamp(26px,3.2vw,42px);line-height:1.5;letter-spacing:.01em;text-wrap:pretty}
/* お知らせ詳細の関連リンク（2026-10-21） */
.cp-links{margin-top:32px;padding:22px 0 0;border-top:1px solid var(--line);list-style:none;display:grid;gap:12px}
.cp-links .lnk{font-size:15px;line-height:1.6}
.cp-links .lnk{gap:12px}.cp-links .lnk i{width:32px;height:32px;flex:none}

/* ---- v3pages/zzzzzzzzz_sp_e_fix.css ---- */
/* ===== SP最終調整（2026-10-18）: フッター／コラム表紙／PMO比較／窓口IMJ。PCは触らない ===== */
@media(max-width:720px){
 /* フッター: 3列・13px・字間詰めをやめ、2列14pxで行区切り */
 html body:not(#_z) .ft{padding:32px 0 18px}
 html body:not(#_z) .ft .top{grid-template-columns:1fr;gap:26px}
 html body:not(#_z) .ft .top>div:first-child{display:block}
 html body:not(#_z) .ft .logo img{width:120px}
 html body:not(#_z) .ft address{margin-top:12px;font-size:13px;line-height:1.75}
 html body:not(#_z) .ft h4{margin-bottom:4px;padding-bottom:8px;border-bottom:1px solid #3a3f45}
 html body:not(#_z) .ft .top>div:nth-child(n+2) ul{display:grid;grid-template-columns:1fr 1fr;column-gap:16px}
 html body:not(#_z) .ft li a{display:flex;align-items:center;min-height:44px;padding:8px 0;font-size:14px;line-height:1.45;letter-spacing:normal;text-wrap:pretty;border-bottom:1px solid #30353b}
 html body:not(#_z) .ft .bot{margin-top:22px;gap:6px}

 /* コラム表紙: 中身はcqw(幅基準)で描くので比率を変えると切れる→元の16:10に戻す */
 html body:not(#_z) .know .feat .cv,html body:not(#_z) .seo-rel .know .feat .cv{aspect-ratio:16/10;height:auto}

 /* 窓口はIMJひとつ: 縦積みでは「カードの途中の線」に見えるので、カード群の先頭に置く */
 html body:not(#_z) .cmap{gap:10px}
 html body:not(#_z) .cmap .row{gap:10px}
 html body:not(#_z) .cmap .core{order:-1;height:auto;display:block}
 html body:not(#_z) .cmap .core::before{display:none}
 html body:not(#_z) .cmap .core span{justify-content:center;gap:12px;padding:14px 16px;border-radius:14px;background:var(--dark);box-shadow:none}
 html body:not(#_z) .cmap .core img{width:78px;filter:brightness(0) invert(1)}
 html body:not(#_z) .cmap .core b{font-size:15px;color:#fff}

 /* PMO比較: 2社を左右に並べ、行=4段階。一般は2段階だけ、IMJは4段階すべて */
 html body:not(#_z) .scope-cmp{padding:24px 16px 24px}
 html body:not(#_z) .cmp{grid-template-columns:1fr 1fr;gap:6px 8px;align-items:stretch;margin-top:20px}
 html body:not(#_z) .cmp .bar{display:contents}
 html body:not(#_z) .cmp .co{grid-column:1;grid-row:1;align-self:end;margin:0 0 4px;font-size:13px;line-height:1.4}
 html body:not(#_z) .cmp .co.imj{grid-column:2;font-size:24px}
 html body:not(#_z) .cmp .co.imj small{display:inline;margin:0 0 0 6px;font-size:12px}
 html body:not(#_z) .cmp .bar span,html body:not(#_z) .cmp .bar span:first-of-type,html body:not(#_z) .cmp .bar span:last-of-type{display:grid;place-items:center;height:auto;min-height:46px;padding:6px 8px;border-radius:10px;font-size:13px;line-height:1.35}
 html body:not(#_z) .cmp .gen span{grid-column:1}
 html body:not(#_z) .cmp .imj span{grid-column:2}
 html body:not(#_z) .cmp .bar span:nth-of-type(1){grid-row:2}
 html body:not(#_z) .cmp .bar span:nth-of-type(2){grid-row:3}
 html body:not(#_z) .cmp .bar span:nth-of-type(3){grid-row:4}
 html body:not(#_z) .cmp .bar span:nth-of-type(4){grid-row:5}
 html body:not(#_z) .cmp .gen .no{display:grid;background:transparent;box-shadow:inset 0 0 0 1px #c9d0d6;color:#a3abb3;text-decoration:line-through}
 html body:not(#_z) .cmp .imj em{position:static;grid-column:1/-1;margin:0;white-space:normal;font-size:13px;line-height:1.55;text-align:left;text-wrap:pretty}
 html body:not(#_z) .cmp .imj .cs{grid-row:6;margin-top:10px}
 html body:not(#_z) .cmp .imj .cs::before{width:20px;margin-right:8px}
 html body:not(#_z) .cmp .imj .own{grid-row:7}
}

/* ---- v3pages/zzzzzzzzz_sp_f_service.css ---- */
/* ===== SP調整F（2026-10-18）: PMO比較・装飾リング・旅程帯。PCは触らない ===== */
@media(max-width:720px){
 /* PMO比較(.vs): 暗背景に溶けていたIMJ側を明るい面＋赤枠にし、見出しラベルをカード上部に近接 */
 html body:not(#_z) .vs{gap:10px}
 html body:not(#_z) .vs p{position:relative;padding:14px 16px 16px;border:1px solid #d3d8dd;background:#fff;color:var(--sub)}
 html body:not(#_z) .vs p small{display:inline-block;align-self:flex-start;margin:0 0 8px;padding:3px 10px;border-radius:99px;background:#e6e9ec;color:var(--sub);font-size:12px;line-height:1.4}
 html body:not(#_z) .vs p.imj{background:#fff;color:var(--ink);border:2px solid #f0475f;box-shadow:0 0 0 3px rgba(240,71,95,.18)}
 html body:not(#_z) .vs p.imj small{background:var(--grad);color:#fff}
 /* 暗背景セクション内の明るいカード(feat4)で見出しが白抜きで消えるのを防ぐ */
 html body:not(#_z) .dark .feat4 h4{color:var(--ink)}

 /* 装飾リング: 文字に重なる・帯の境目で切れるのでSPでは出さない */
 html body:not(#_z) .ring{display:none}

 /* ヒーロー旅程帯: 4列→2x2 */
 html body:not(#_z) .sub-hero .mini{grid-template-columns:1fr 1fr;gap:12px 10px}
 html body:not(#_z) .sub-hero .mini span{padding-right:4px}
}

/* ---- v3pages/zzzzzzzzz_sp_g_works.css ---- */
/* SP(720px以下)補正 g: 支援実績 一覧/詳細・業種ページの価格行 */
@media(max-width:720px){
/* 1. 一覧カード: 1列、タイトルのPC向けbrを無効化、負のletter-spacingを0に */
/* 一覧は2列のまま（1列だと72件で約10,600pxになる） */
html body:not(#_z) .wk-card{padding:18px 16px 16px}
html body:not(#_z) .wk-card h3{font-size:15px;line-height:1.6}
html body:not(#_z) .wk-card h3 br,html body:not(#_z) .wk-hero-d h1 br{display:none}
html body:not(#_z) .wk-figs span{white-space:normal}
html body:not(#_z) .wk-figs b,html body:not(#_z) .wk-figs b small,html body:not(#_z) .wk-figs span,
html body:not(#_z) .works-kpi_value,html body:not(#_z) .works-kpi_unit,html body:not(#_z) .works-kpi_label,html body:not(#_z) .works-kpi_note,
html body:not(#_z) .wk-body small{letter-spacing:0}
html body:not(#_z) .works-kpi_label{white-space:normal;overflow-wrap:anywhere}
/* 2. 事例詳細の表: 幅100%に収め折り返す */
html body:not(#_z) .wk-body .wp-block-table{overflow-x:visible;max-width:100%}
html body:not(#_z) .wk-body .wp-block-table table{width:100%;max-width:100%;table-layout:fixed}
html body:not(#_z) .wk-body .wp-block-table td{overflow-wrap:anywhere;word-break:break-word}
html body:not(#_z) .wk-body .wp-block-table tbody td:first-child{width:34%;white-space:normal}
/* 3. 価格行: 金額と「仮」を同じ行に収める */
html body:not(#_z) .icb dd .bg{white-space:nowrap;margin-left:4px;padding:0 6px}
}
@media(max-width:720px){
/* 価格行の「仮」: 金額が長いと次行に落ちるので、項目名の行の右端に置く */
html body:not(#_z) .icb dd{position:relative}
html body:not(#_z) .icb dd .bg{position:absolute;right:0;bottom:100%;margin:0 0 6px}
}

/* ---- v3pages/zzzzzzzzz_sp_h_content.css ---- */
/* SP圧縮 H担当: 小サイズ表紙(.cv-sm/.klist .cv/.md-grid .feat .cv)・資料表紙(.cp-cover)・必読記事見出し（全て 720px 以下） */
@media(max-width:720px){
/* 小サイズ表紙: 比率は変えず、文字を一回り小さく・3行で切る・図形は文字と重ならない大きさに */
html body:not(#_z) .cv-sm b,
html body:not(#_z) .klist .cv b,
html body:not(#_z) .md-grid .feat .cv b{left:7cqw;right:5cqw;top:8cqw;font-size:9.2cqw;line-height:1.28;letter-spacing:0;word-break:normal;overflow:hidden;display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:3;line-clamp:3;z-index:1}
html body:not(#_z) .cv-sm .cv-fig,
html body:not(#_z) .klist .cv .cv-fig,
html body:not(#_z) .md-grid .feat .cv .cv-fig{width:30cqw;right:7cqw;bottom:8cqw;z-index:0}
/* 資料表紙: 円を右上の角に収め、タイトルと重ねない */
html body:not(#_z) .cp-cover::after{right:16px;top:14px;bottom:auto;width:40px;height:40px}
html body:not(#_z) .cp-cover b{z-index:2}
/* 必読記事の見出し行: 縦に並べる */
html body:not(#_z) .md-mustrow .md-sub{flex-direction:column;align-items:flex-start;justify-content:flex-start;gap:6px}
html body:not(#_z) .md-mustrow .md-sub .lnk{font-size:14px;gap:10px;color:var(--sub)}
html body:not(#_z) .md-mustrow .md-sub .lnk i{width:32px;height:32px;font-size:14px}
}

/* ---- v3pages/zzzzzzzzzz_label.css ---- */
/* ===== セクション見出しラベル（2026-10-18 CEO決定 A案）: 短い赤線＋大文字の英字。旧＝[More_Support] ===== */
html body:not(#_z) p.lab{display:flex;align-items:center;gap:12px;font-family:var(--en);font-weight:700;font-size:13px!important;letter-spacing:.18em!important;text-transform:uppercase;line-height:1.3}
html body:not(#_z) p.lab::before{content:"";flex:none;width:28px;height:2px;background:currentColor}
@media(max-width:720px){
 html body:not(#_z) p.lab{gap:10px;font-size:12px!important;letter-spacing:.16em!important}
 html body:not(#_z) p.lab::before{width:22px}
}

/* ---- v3pages/zzzzzzzzzzz_launch.css ---- */
/* 人物・店舗写真なしでも、空の右カラムや写真枠を残さない。 */
html body .sub-grid.nophoto{display:block}
html body .hero.photo-free>.in:not(.fvt){grid-template-columns:minmax(0,1fr) 240px;gap:80px;align-items:center}
html body .hero.photo-free .collage{height:auto;width:240px;margin:0}
html body .hero.photo-free .collage::before{display:none}
html body .hero.photo-free .collage .p2.reel{position:relative;inset:auto;width:100%;height:340px;border-radius:24px}
html body .hero.photo-free .collage .rv-v svg{display:none}
html body .hero.photo-free h1{font-size:clamp(34px,4.1vw,64px)}
@media(max-width:720px){
 html body.pg-top .hero.photo-free>.in:not(.fvt){grid-template-columns:minmax(0,1fr);gap:18px}
 html body.pg-top .hero.photo-free .collage{display:none}
 html body.pg-top .hero.photo-free h1{font-size:8vw}
}
