/* HOSHIAI トップページ — 確定デザイン「A 朝」（2026-10-03）
   生成り＋淡い青灰＋朝焼け。ネイビー文字、オレンジは「人の出番（承認待ち）」と飾りの1点だけ。
   キャラ画像は /assets/staff/*.webp（高解像度版を高さ520pxに縮小・透過あり。2026-10-03 差し替え済み）。表示サイズは CSS で固定しているので、同名の画像を差し替えるだけで済む。 */
:root{
  --navy:#16264F; --ink:#1d2433;
  --orange:#EC7A2C;
  --spark:#EC7A2C; --onspark:#16264F;
  --label:#8A4A24;
  --hl:#16264F;
  --cream:#FAF8F4; --sky:#E9EEF5; --sky2:#DCE6F2; --peach:#F8E2D4; --sand:#F2ECE2;
  --card:#FFFFFF; --card2:#F5F7FA;
  --night:#E8ECF6; --night2:#DFE5F3; --nightink:#3B4C7C;
  --run:#E3EEF9; --runline:#9CBCE0; --runink:#245084;
  --hero-g:linear-gradient(180deg,#DDE8F5 0%,#F6E6DC 60%,#FAF8F4 100%);
  --hero-g-sp:linear-gradient(180deg,#DDE8F5 0%,#F8E9DF 46%,#FAF8F4 70%);
  --crew-g:linear-gradient(180deg,#E3ECF7 0%,#EEF0F4 26%,#F8E9DF 62%,#FAF8F4 100%);
  --field-g:linear-gradient(180deg,#FAF8F4 0%,#E9EEF5 22%,#E9EEF5 78%,#FAF8F4 100%);
  --cta-g:linear-gradient(180deg,#FAF8F4 0%,#F8E6DA 34%,#E6EDF6 100%);
  --veil:#FAF8F4; --skytop:#DCE8F6;
  --slate:#3d5266; --body:#465061; --line:#DDD5C8; --line2:#D3DAE5;
  --min:"Shippori Mincho B1","Hiragino Mincho ProN","Yu Mincho",serif;
  --sans:"Zen Kaku Gothic New","Hiragino Sans","Hiragino Kaku Gothic ProN",sans-serif;
  --lat:"Jost",sans-serif; --it:"Cormorant Garamond",Georgia,serif; --mono:"IBM Plex Mono",ui-monospace,monospace;
  --gut:clamp(16px,5.5vw,80px);
  --edge:max(var(--gut),calc((100% - 1440px) / 2 + var(--gut)));
}
*{box-sizing:border-box;margin:0;padding:0}
html{scroll-behavior:smooth}
html,body{background:var(--cream);color:var(--ink);overflow-x:hidden}
body{font-family:var(--sans);font-size:16px;line-height:1.9;letter-spacing:.04em;-webkit-font-smoothing:antialiased}
h1,h2,h3,h4,p,li,dd,dt,blockquote,label,a,span,small,b,summary{word-break:auto-phrase;line-break:strict}
p{text-wrap:pretty}
img{display:block;max-width:100%}
a{color:inherit;text-decoration:none}
button{font:inherit;color:inherit}
section{scroll-margin-top:96px}
.nb{white-space:nowrap}
.spb{display:none}
.lbl{font-family:var(--lat);font-size:12px;letter-spacing:.26em;text-transform:uppercase;font-weight:500}
.wrap{padding:0 var(--gut);max-width:1440px;margin:0 auto}
.rule{max-width:1440px;margin:0 auto;padding:0 var(--gut)}.rule hr{border:0;border-top:1px solid var(--line)}
.sec-h .lbl{color:var(--label);display:flex;gap:12px;align-items:center}
.sec-h .lbl::before{content:"";width:28px;height:1px;background:currentColor}
.sec-h h2{font-family:var(--min);font-weight:600;font-size:46px;line-height:1.45;color:var(--navy);margin-top:20px;letter-spacing:.02em}
.sec-h p{margin-top:22px;color:var(--body);font-size:15px}
.pill{display:inline-flex;align-items:center;justify-content:center;gap:10px;border-radius:999px;padding:14px 26px;font-weight:700;font-size:14px;letter-spacing:.1em;white-space:nowrap;border:0;cursor:pointer;transition:transform .25s,background .25s}
.pill.navy{background:var(--navy);color:#fff}
.pill.navy:hover{background:#223670;transform:translateY(-2px)}
.pill.line{border:1px solid rgba(22,38,79,.45);color:var(--navy);background:rgba(250,248,244,.7)}
.pill.line:hover{background:#fff;transform:translateY(-2px)}
.ar{font-family:var(--lat);font-weight:400}
.link{display:inline-flex;gap:10px;align-items:center;font-weight:700;color:var(--navy);border-bottom:1px solid var(--navy);padding-bottom:4px;font-size:15px;white-space:nowrap}
:focus-visible{outline:2px solid var(--navy);outline-offset:3px;border-radius:4px}
.sr{position:absolute!important;left:-9999px!important;width:1px!important;height:1px!important;overflow:hidden!important}

/* ===== header (frosted capsule / 固定) ===== */
.hd{position:fixed;top:22px;left:max(calc(var(--gut) - 28px),calc((100% - 1440px) / 2 + var(--gut) - 28px));right:max(calc(var(--gut) - 28px),calc((100% - 1440px) / 2 + var(--gut) - 28px));z-index:40;height:72px;display:flex;align-items:center;gap:24px;padding:0 12px 0 28px;border-radius:999px;background:rgba(250,248,244,.86);backdrop-filter:blur(14px);-webkit-backdrop-filter:blur(14px);border:1px solid rgba(22,38,79,.08);box-shadow:0 14px 40px -24px rgba(22,38,79,.35)}
.hd .logo{height:44px;width:auto}
.nav{display:flex;align-items:center;gap:32px;font-size:14px;color:var(--navy);font-weight:500;letter-spacing:.12em;margin-left:auto;margin-right:16px}
.nav a{padding:6px 0;border-bottom:1px solid transparent;transition:border-color .2s}
.nav a:hover{border-bottom-color:var(--navy)}
.burger{display:none}
.hd-r{display:flex;align-items:center;gap:10px}
.hd-cta{padding:13px 26px}

/* ===== hero: morning storefront ===== */
/* 2026-10-03 第4ラウンド: 背景写真＋重ねた3体 → 「3体が朝の店先に立っている1枚の画像」に置き換え（本人「貼り付けた見え方をやめる」）。
   高さは画面に合わせる（金継ぎ診断: 高さ768の画面でも「相談する」が見えるように）。文字は流し込み（上に大見出し・下にリード）。 */
.hero{position:relative;overflow:hidden;color:var(--navy);background:var(--hero-g);min-height:clamp(700px,100svh,900px);display:flex;flex-direction:column;padding:clamp(112px,15vh,136px) 0 calc(54px + clamp(26px,4.4vh,44px))}
.hero .stage{position:absolute;inset:0;z-index:1}
.himg{position:absolute;inset:0;width:100%;height:100%;max-width:none;object-fit:cover;object-position:72% 86%;transform-origin:72% 86%}
/* 大見出しの後ろの地に、生成りの薄いベール（金継ぎ診断の指摘） */
.hero .veil{position:absolute;inset:0;pointer-events:none;background:linear-gradient(90deg,rgba(250,248,244,.62) 0%,rgba(250,248,244,.42) 34%,rgba(250,248,244,0) 54%),linear-gradient(180deg,rgba(220,232,246,.45) 0,rgba(220,232,246,0) 20%)}
.ch{position:relative;display:block;flex:none}
.ch img{position:relative;z-index:1;width:100%;height:auto}
.ch::after{content:"";position:absolute;left:8%;right:8%;bottom:-3%;height:9%;border-radius:50%;background:radial-gradient(ellipse at center,rgba(60,45,30,.34) 0%,rgba(60,45,30,.14) 55%,rgba(60,45,30,0) 72%)}
/* 稼働ボードのガラス風パネルと小カードは、3体に被らない画像の右上（扉の上）へ */
.hero .bubble{position:absolute;z-index:5;right:calc(5.5vw + 256px);top:300px;padding:14px 20px 14px;border-radius:18px 18px 4px 18px;background:rgba(255,255,255,.96);color:var(--navy);box-shadow:0 22px 44px -18px rgba(22,38,79,.4);border:1px solid rgba(22,38,79,.08)}
.hero .bubble small{display:block;font-family:var(--lat);font-size:12px;letter-spacing:.2em;color:var(--label)}
.hero .bubble b{display:block;font-size:15px;letter-spacing:.08em}
.hero .bubble span{display:block;font-size:12px;color:var(--body);letter-spacing:.06em}
.hero .bubble span em{font-style:normal;font-family:var(--mono);font-size:13px;color:var(--navy)}
.hero .bubble small.nt{font-family:var(--sans);font-size:12px;letter-spacing:.02em;color:var(--slate);margin-top:6px;padding-top:6px;border-top:1px solid var(--line2)}
.dot{width:8px;height:8px;border-radius:50%;background:var(--spark);box-shadow:0 0 0 4px rgba(22,38,79,.12);display:inline-block;flex:none}
.hpanel{position:absolute;z-index:4;right:5.5vw;top:118px;width:232px;border-radius:116px 116px 20px 20px;padding:50px 20px 18px;display:flex;flex-direction:column;align-items:center;text-align:center;color:var(--navy);background:linear-gradient(180deg,rgba(255,255,255,.86),rgba(255,255,255,.66));backdrop-filter:blur(12px) saturate(1.15);-webkit-backdrop-filter:blur(12px) saturate(1.15);border:1px solid rgba(255,255,255,.95);box-shadow:0 34px 60px -30px rgba(22,38,79,.5),0 0 0 1px rgba(22,38,79,.07)}
.hpanel::before{content:"";position:absolute;left:50%;top:-58px;height:58px;border-left:1px solid rgba(22,38,79,.55)}
.hpanel .node{position:absolute;left:-8px;top:142px;width:15px;height:15px;border-radius:50%;background:var(--spark);box-shadow:0 0 0 4px #fff,0 0 0 10px rgba(22,38,79,.14)}
.hp-live{display:inline-flex;align-items:center;gap:8px;font-size:12px;font-weight:700;letter-spacing:.1em}
.hpanel b{font-family:var(--min);font-weight:600;font-size:21px;letter-spacing:.12em;margin-top:8px;line-height:1.5;white-space:nowrap}
.hpanel em{font-style:normal;font-family:var(--mono);font-size:12px;color:var(--slate);letter-spacing:.04em;line-height:1.6}
.hp-num{display:flex;align-items:baseline;gap:10px;margin-top:12px;font-size:13px;font-weight:700;letter-spacing:.1em}
.hp-num strong{font-family:var(--mono);font-weight:500;font-size:50px;line-height:1;letter-spacing:-.02em}
.hpanel .mini{flex:none;width:156px;max-width:none;margin:16px 0 14px}
.hpanel .st{margin-top:0}
.hpanel small{font-size:12px;color:var(--slate);margin-top:12px;letter-spacing:.02em;white-space:nowrap}
.hchip{display:none}
.hero .copy{position:relative;margin-left:var(--edge);z-index:3}
.hero .eyebrow{display:flex;align-items:center;gap:14px;margin-bottom:22px;color:var(--label)}
.hero .eyebrow i{width:46px;height:1px;background:currentColor}
.hero h1{font-family:var(--min);font-weight:600;font-size:clamp(52px,min(6.8vw,10.9vh),98px);line-height:1.16;letter-spacing:-.01em;color:var(--navy)}
.hero h1 .ln{display:block;white-space:nowrap}
.hero h1 .ln2{padding-left:.6em}.hero h1 .ln3{padding-left:1.2em}
.hero .lead{position:relative;margin:auto 0 0 var(--edge);padding-top:24px;z-index:3;display:flex;flex-direction:column;gap:10px;max-width:min(600px,44vw)}
.hero .lead .who{font-size:15px;font-weight:700;letter-spacing:.14em;color:var(--navy);line-height:1.7}
.free{display:flex;align-items:center;gap:8px;font-size:13px;font-weight:700;letter-spacing:.06em;color:var(--label);line-height:1.7}
.free i{width:7px;height:7px;border-radius:999px;background:var(--orange);flex:none}
.hero .lead .free{font-size:13px;color:var(--label);line-height:1.7;margin-top:2px}
.cta .sec-h .free{margin-top:14px;font-size:14px;color:var(--label)}
.hero .lead .tag{font-family:var(--min);font-weight:600;font-size:23px;line-height:1.7;color:var(--navy);letter-spacing:.04em}
.hero .lead p{font-size:15px;line-height:1.95;color:#2b3550}
.btns{display:flex;gap:12px;flex-wrap:wrap;margin-top:6px}
.band{position:absolute;left:0;right:0;bottom:0;height:54px;z-index:6;border-top:1px solid rgba(22,38,79,.14);display:flex;align-items:center;justify-content:space-between;padding:0 var(--edge);background:rgba(250,248,244,.86);backdrop-filter:blur(10px);white-space:nowrap}
.band span{font-family:var(--lat);font-size:12px;letter-spacing:.3em;color:var(--slate)}
.band .jp{font-family:var(--min);font-size:15px;letter-spacing:.2em;color:var(--navy);font-weight:600}
.band i{width:5px;height:5px;border-radius:50%;background:var(--spark);display:inline-block}

/* ===== services ===== */
.svc{background:var(--cream);padding:120px 0 110px}
.svc .grid{display:grid;grid-template-columns:420px 1fr;gap:80px}
.svc .sec-h h2{font-size:44px}
.svc .arch{margin-top:44px;width:330px;height:410px;border-radius:165px 165px 18px 18px;overflow:hidden;position:relative;box-shadow:0 30px 60px -34px rgba(22,38,79,.45)}
.svc .arch .archph{position:absolute;inset:0;background:url(/assets/morning-storefront.webp) 78% 40%/auto 125% no-repeat}
.svc .arch .cap{position:absolute;left:14px;bottom:14px;right:14px;background:rgba(250,248,244,.95);border-radius:12px;padding:10px 14px;font-size:12px;color:var(--navy);font-weight:700;letter-spacing:.04em;white-space:nowrap;text-align:center}
.svc-list{border-top:1px solid var(--line)}
.svc-item{display:grid;grid-template-columns:104px 1fr 56px;gap:28px;align-items:center;padding:36px 0;border-bottom:1px solid var(--line);transition:background .25s}
.svc-item .no{font-family:var(--it);font-style:italic;font-size:62px;line-height:1;color:#8f7d68}
.svc-item .en{font-family:var(--lat);font-size:12px;letter-spacing:.24em;color:var(--slate)}
.svc-item h3{font-family:var(--min);font-weight:600;font-size:31px;color:var(--navy);line-height:1.4;margin:6px 0 6px;display:flex;align-items:center;gap:16px;flex-wrap:wrap}
.verb{font-family:var(--sans);font-size:13px;font-weight:700;letter-spacing:.1em;border:1px solid var(--navy);color:var(--navy);border-radius:6px;padding:2px 12px;line-height:1.7;white-space:nowrap}
.svc-item .desc{font-size:15px;color:var(--body);margin-top:6px;max-width:640px}
.svc-item .cav{font-size:12px;color:var(--slate);margin-top:8px;line-height:1.8}
.svc-item .sub{margin-top:12px;font-size:13.5px;color:var(--body);line-height:1.85;padding:10px 14px;border-radius:10px;background:var(--card2);max-width:640px;display:flex;gap:10px;align-items:flex-start}
.svc-item .sub b{flex:none;font-family:var(--lat);font-size:12px;letter-spacing:.14em;color:var(--navy);border:1px solid rgba(22,38,79,.35);border-radius:999px;padding:2px 10px;line-height:1.7;white-space:nowrap;margin-top:2px}
.svc-item .go{width:56px;height:56px;border-radius:50%;border:1px solid #c8bba8;display:grid;place-items:center;font-family:var(--lat);font-size:20px;color:var(--navy);transition:background .25s,color .25s}
.svc-item:hover .go{background:var(--navy);color:#fff;border-color:var(--navy)}
.svc-item.on{background:#fff;margin:0 -32px;padding:36px 32px;border-radius:20px;border-bottom-color:transparent;box-shadow:0 24px 50px -34px rgba(22,38,79,.4)}
.svc-item.on .no{color:var(--navy)}
.svc-item.on .verb{background:var(--navy);color:#fff}
.svc-item.on .go{background:var(--navy);color:#fff;border-color:var(--navy)}

/* ===== flow (how we help) ===== */
.flowsec{background:var(--cream);padding:20px 0 110px}
.flowsec .grid{display:grid;grid-template-columns:420px 1fr;gap:80px;align-items:start}
.frows{list-style:none;border-top:1px solid var(--line);position:relative}
.frows::before{content:"";position:absolute;left:27px;top:58px;bottom:58px;border-left:1.5px dashed rgba(22,38,79,.4)}
.frow{display:grid;grid-template-columns:56px 280px 1fr;column-gap:26px;align-items:start;padding:30px 0 32px;border-bottom:1px solid var(--line);position:relative}
.frow .n{width:56px;height:56px;border-radius:50%;background:var(--cream);border:1.5px solid var(--navy);display:grid;place-items:center;font-family:var(--it);font-style:italic;font-size:27px;color:var(--navy);position:relative;z-index:1}
.frow.on .n{background:var(--navy);color:#fff}
.frow h3{font-family:var(--min);font-weight:600;font-size:24px;color:var(--navy);line-height:1.5;margin-top:8px;white-space:nowrap}
.frow h3 small{font-family:var(--sans);font-size:12px;font-weight:700;background:var(--navy);color:#fff;border-radius:6px;padding:2px 9px;margin-right:10px;vertical-align:.3em;letter-spacing:.1em}
.frow .k{margin-top:4px;font-size:14px;font-weight:700;letter-spacing:.06em;color:var(--label)}
.frow p{font-size:15px;color:var(--body);margin-top:10px}

/* ===== AI coworkers: 24h operations board ===== */
.crew{position:relative;padding:130px 0 96px;overflow:hidden;background:var(--crew-g)}
.crew::before{content:"";position:absolute;inset:0;background-image:linear-gradient(rgba(22,38,79,.05) 1px,transparent 1px),linear-gradient(90deg,rgba(22,38,79,.05) 1px,transparent 1px);background-size:48px 48px;-webkit-mask-image:linear-gradient(180deg,#000 0,#000 30%,transparent 70%);mask-image:linear-gradient(180deg,#000 0,#000 30%,transparent 70%);pointer-events:none}
.crew .wrap{position:relative}
.crew .top{display:grid;grid-template-columns:1fr 460px;gap:70px;align-items:end}
.crew .sec-h h2{font-size:54px;line-height:1.42}
.crew .sec-h h2 em{font-style:normal;color:var(--hl)}
.crew .top .ld{color:#333d52;font-size:15px;line-height:2.05}
.crew .top .ld b{color:var(--navy)}
.board{margin-top:64px;background:var(--card);border-radius:26px;border:1px solid rgba(22,38,79,.1);box-shadow:0 50px 90px -60px rgba(22,38,79,.55);position:relative}
.board .hang{position:absolute;left:0;right:0;top:-38px;height:38px;pointer-events:none}
.b-head{display:flex;align-items:center;justify-content:space-between;gap:24px;padding:24px 40px;border-bottom:1px solid var(--line2)}
.b-title{display:flex;align-items:baseline;gap:18px}
.b-title b{white-space:nowrap;font-family:var(--min);font-size:26px;font-weight:600;color:var(--navy);letter-spacing:.14em}
.b-title span{white-space:nowrap;font-family:var(--lat);font-size:12px;letter-spacing:.26em;color:var(--slate);text-transform:uppercase}
.b-stat{display:flex;align-items:center;gap:22px;font-size:13px;color:var(--slate);white-space:nowrap}
.b-stat .live{display:inline-flex;align-items:center;gap:10px;font-weight:700;color:var(--navy);border:1px solid rgba(22,38,79,.25);border-radius:999px;padding:4px 14px 4px 12px}
.b-stat em{font-style:normal;font-family:var(--mono);font-size:14px;color:var(--navy);font-weight:500}
.mini{flex:1;max-width:330px;margin:0 auto;display:flex;justify-content:space-between;align-items:center;position:relative}
.mini::before{content:"";position:absolute;left:4px;right:4px;top:50%;border-top:1px solid rgba(22,38,79,.3)}
.mini::after{content:"";position:absolute;left:4px;width:var(--nowp,44%);top:50%;border-top:1.5px solid var(--navy)}
.mini i{width:9px;height:9px;border-radius:50%;background:#fff;border:1.5px solid var(--navy);position:relative;z-index:1}
.mini i.d{background:var(--navy)}
.mini i.a{background:var(--orange);border-color:var(--orange);box-shadow:0 0 0 5px rgba(236,122,44,.22)}
.mini i.n{background:var(--nightink);border-color:var(--nightink)}
.mini i.r{background:var(--runline);border-color:var(--runink)}

/* PM strip (always on) */
.pm{display:grid;grid-template-columns:118px 76px 138px 1fr 200px;column-gap:18px;align-items:center;padding:18px 40px 18px 40px;background:linear-gradient(90deg,var(--card2),var(--card) 70%);border-bottom:1px solid var(--line2);position:relative}
.pm .ch{height:112px;align-self:end;margin-bottom:-18px;z-index:2}
.pm .ch img{width:auto;height:100%}
.pm .ch::after{bottom:-2%;height:8%}
.pm .t{font-family:var(--mono);font-size:13px;font-weight:500;color:var(--navy);letter-spacing:.06em;display:flex;flex-direction:column;gap:4px}
.pm .t b{font-family:var(--sans);font-size:16px;font-weight:700;letter-spacing:.1em}
.pm .t small{font-size:12px;color:var(--slate);font-weight:500;white-space:nowrap}
.pm .nm{padding-top:0}
.pm .main h4{font-size:19px}
.pm .main p{margin-top:4px}
.pm .hum{margin-top:0;align-self:center}

/* 24h rail */
.rail24{padding:30px 40px 18px;border-bottom:1px solid var(--line2);position:relative}
.rail24 .lab{display:flex;justify-content:space-between;align-items:center;font-size:12px;font-weight:700;letter-spacing:.14em;color:var(--slate);margin-bottom:38px}
.rail24 .lab .nt{display:inline-flex;align-items:center;gap:8px;color:var(--nightink);background:var(--night);border-radius:999px;padding:3px 12px 3px 10px;letter-spacing:.06em}
.rail24 .lab .nt::before{content:"☾";font-size:13px}
.rl{position:relative;height:10px;border-radius:5px;background:var(--sky);margin:0 14px}
.rl .nz{position:absolute;top:0;bottom:0;background:var(--night2);border-radius:5px;background-image:repeating-linear-gradient(135deg,rgba(59,76,124,.16) 0 2px,transparent 2px 8px)}
.rl .nz.a{left:0;width:25%}.rl .nz.b{left:83.33%;right:0;border-radius:5px}
.rl .dn{position:absolute;top:0;bottom:0;left:25%;width:8.33%;background:linear-gradient(90deg,var(--night2),var(--sky))}
.rl .done{position:absolute;top:100%;margin-top:3px;height:2px;left:0;width:48.6%;border-radius:2px;background:var(--navy)}
.rl .cont{position:absolute;top:3px;height:4px;left:20.8%;right:0;background:repeating-linear-gradient(90deg,var(--runline) 0 6px,transparent 6px 11px);border-radius:2px;opacity:.9}
.rl .tk{position:absolute;top:20px;font-family:var(--mono);font-size:12px;color:var(--slate);transform:translateX(-50%);white-space:nowrap}
.rl .tk::before{content:"";position:absolute;left:50%;top:-10px;height:6px;border-left:1px solid rgba(22,38,79,.35)}
.rl .mk{position:absolute;bottom:14px;transform:translateX(-50%);display:flex;flex-direction:column;align-items:center;gap:2px}
.rl .mk .ch{height:34px}
.rl .mk .ch img{width:auto;height:100%}
.rl .mk .ch::after{display:none}
.rl .mk i{width:9px;height:9px;border-radius:50%;background:#fff;border:1.5px solid var(--navy)}
.rl .mk.d i{background:var(--navy)}
.rl .mk.r i{background:var(--runline);border-color:var(--runink)}
.rl .mk.w i{background:var(--orange);border-color:var(--orange);box-shadow:0 0 0 4px rgba(236,122,44,.22)}
.rl .mk.n i{background:var(--nightink);border-color:var(--nightink)}
.rl .now{position:absolute;left:48.6%;top:-44px;height:72px;border-left:1.5px solid var(--spark);z-index:3}
.rl .now span{position:absolute;left:-1px;top:-20px;transform:translateX(-50%);background:var(--spark);color:var(--onspark);font-family:var(--mono);font-size:12px;font-weight:500;letter-spacing:.06em;border-radius:999px;padding:0 10px;line-height:22px;white-space:nowrap}
.rl .now::after{content:"";position:absolute;left:-5px;bottom:-5px;width:9px;height:9px;border-radius:50%;background:var(--spark)}

.b-cols,.row{display:grid;grid-template-columns:76px 70px 138px 1fr 216px 184px;column-gap:18px;padding:0 40px}
.b-cols{background:var(--card2);border-bottom:1px solid var(--line2);font-size:12px;font-weight:700;letter-spacing:.14em;color:var(--slate);padding-top:10px;padding-bottom:10px}
.b-cols span:nth-child(2){grid-column:2/4}
.rows{position:relative}
.rows::before{content:"";position:absolute;z-index:1;left:125px;top:0;bottom:0;width:1px;background:linear-gradient(180deg,var(--navy) 0,var(--navy) var(--cut,52%),rgba(22,38,79,.25) var(--cut,52%),rgba(22,38,79,.25) 100%)}
.row{position:relative;align-items:start;padding-top:26px;padding-bottom:26px;border-bottom:1px solid #E9ECF1}
.row:last-child{border-bottom:0}
.row.nt{background:linear-gradient(90deg,var(--night) 0%,var(--night) 9%,var(--card) 34%)}
.row.act{background:linear-gradient(90deg,#FFF5EC 0%,#FFFAF6 50%,var(--card) 100%)}
.row.run{background:linear-gradient(90deg,var(--run) 0%,var(--card) 36%)}
.row .t{font-family:var(--mono);font-size:20px;font-weight:500;color:var(--navy);letter-spacing:0;line-height:1.2;position:relative;z-index:2;padding-top:28px}
.row .t small{display:block;font-family:var(--sans);font-size:12px;font-weight:700;letter-spacing:.08em;color:var(--slate);margin-top:6px;white-space:nowrap}
.row.nt .t small{color:var(--nightink)}
.row.nt .t small::before{content:"☾ "}
.row .t::after{content:"";position:absolute;right:-15px;top:36px;width:11px;height:11px;border-radius:50%;background:var(--navy);box-shadow:0 0 0 4px var(--card)}
.row.nt .t::after{background:var(--nightink)}
.row.act .t::after{background:var(--orange);box-shadow:0 0 0 4px #fff,0 0 0 9px rgba(236,122,44,.22)}
.row.run .t::after{background:var(--runline);border:1.5px solid var(--runink);box-shadow:0 0 0 4px #fff,0 0 0 9px rgba(36,80,132,.14)}
.row.nxt .t::after{background:#fff;border:1.5px solid var(--navy)}
.av{width:70px;height:86px;border-radius:35px 35px 10px 10px;position:relative;background:linear-gradient(180deg,#fff 0%,#EEF2F8 60%,#DCE6F2 100%);display:grid;place-items:center;border:1px solid rgba(22,38,79,.12)}
.row.nt .av{background:linear-gradient(180deg,#fff 0%,var(--night) 60%,var(--night2) 100%)}
.av .ch{position:absolute;left:50%;bottom:-4px;height:90px;transform:translateX(-50%)}
.av .ch img{width:auto;height:100%}
.av .ch::after{left:12%;right:12%;bottom:-2%;height:8%}
.nm{padding-top:18px;min-width:0}
.nm h3{font-size:16px;font-weight:700;color:var(--navy);line-height:1.5;letter-spacing:.04em;white-space:nowrap}
.st{display:inline-flex;align-items:center;gap:8px;margin-top:6px;font-size:12px;font-weight:700;letter-spacing:.06em;border-radius:999px;padding:2px 12px 2px 10px;white-space:nowrap;line-height:1.8}
.st i{width:7px;height:7px;border-radius:50%;display:inline-block}
.st.wait{background:#FDF1E7;color:var(--label);border:1px solid #F0C9A8}.st.wait i{background:var(--orange)}
.st.done{background:#EEF2F8;color:var(--navy);border:1px solid #CBD6E6}.st.done i{background:var(--navy)}
.st.run{background:var(--run);color:var(--runink);border:1px solid var(--runline)}.st.run i{background:var(--runink);box-shadow:0 0 0 3px rgba(36,80,132,.18)}
.st.plan{background:#fff;color:var(--slate);border:1px dashed #A9B4C6}.st.plan i{border:1.5px solid var(--slate);background:#fff}
.main h4{font-family:var(--min);font-weight:600;font-size:20px;line-height:1.55;color:var(--navy);letter-spacing:.01em}
.main p{font-size:14px;line-height:1.85;color:#333d52;margin-top:8px}
.main .meta{margin-top:8px;display:flex;gap:6px;flex-wrap:wrap;align-items:center}
.main .meta span{font-size:12px;color:var(--navy);background:#F1F4F9;border-radius:5px;padding:1px 8px;line-height:1.8;white-space:nowrap}
.main .meta em{font-style:normal;font-family:var(--mono);font-size:12px;color:var(--slate);white-space:nowrap}
.prog{margin-top:12px;display:flex;align-items:center;gap:8px;font-size:12px;font-weight:700;color:var(--navy);white-space:nowrap;flex-wrap:wrap}
.prog b{display:inline-flex;align-items:center;gap:6px;font-weight:700}
.prog b::before{content:"";width:9px;height:9px;border-radius:50%;background:var(--navy)}
.prog b.w::before{background:var(--orange);box-shadow:0 0 0 4px rgba(236,122,44,.22)}
.prog b.r::before{background:var(--runline);border:1.5px solid var(--runink);width:7px;height:7px}
.prog i{width:26px;border-top:1.5px solid var(--navy)}
.figc{min-width:0}
.fig{height:92px;border:1px solid #D5DEEA;border-radius:12px;background:#F6F8FB;display:flex;align-items:center;justify-content:center;gap:10px;padding:0 12px;position:relative;overflow:hidden;font-size:12px;font-weight:700;color:var(--navy);line-height:1.5;letter-spacing:.04em}
.row.nt .fig{background:var(--night);border-color:var(--night2)}
.fdoc{width:62px;height:70px;background:#fff;border:1.3px solid var(--navy);border-radius:6px;padding:7px 7px 0;display:flex;flex-direction:column;gap:5px;flex:none}
.fdoc i{display:block;height:3px;border-radius:2px;background:#C5CFDE}
.fdoc i:last-child{width:60%}
.farw{width:24px;border-top:1.5px dashed var(--navy);position:relative;flex:none}
.farw::after{content:"";position:absolute;right:-1px;top:-5px;width:7px;height:7px;border-top:1.5px solid var(--navy);border-right:1.5px solid var(--navy);transform:rotate(45deg)}
.fbtn{background:var(--navy);color:#fff;border-radius:999px;padding:5px 13px;white-space:nowrap;box-shadow:0 0 0 4px rgba(22,38,79,.12)}
.fbars{display:flex;align-items:flex-end;gap:8px;height:64px}
.fbars i{width:13px;border-radius:3px 3px 0 0;background:#B4C1D6;position:relative}
.fbars i.hit{background:var(--orange)}
.fbars i.hit::before{content:"";position:absolute;left:50%;bottom:100%;height:32px;border-left:1px solid var(--navy)}
.fbars i.hit::after{content:"ここ";position:absolute;left:50%;bottom:calc(100% + 30px);transform:translateX(-50%);background:var(--navy);color:#fff;border-radius:4px;padding:0 6px;font-style:normal;font-size:12px;line-height:18px;white-space:nowrap}
.fig.col{flex-direction:column;gap:6px}
.fcap{font-weight:700;white-space:nowrap}
.fcap em{font-style:normal;font-family:var(--mono);font-weight:500}
.fph{width:44px;height:74px;border:1.5px solid var(--navy);border-radius:9px;background:#fff;padding:11px 6px 0;display:flex;flex-direction:column;gap:6px;position:relative;flex:none}
.fph::before{content:"";position:absolute;left:50%;top:4px;width:12px;height:2px;border-radius:2px;background:var(--navy);transform:translateX(-50%)}
.fph b{display:block;height:8px;border-radius:2px;background:var(--navy)}
.fph i{display:block;height:3px;background:#C5CFDE;border-radius:2px;margin-left:9px;position:relative}
.fph i::before{content:"";position:absolute;left:-9px;top:-2px;width:5px;height:5px;border:1px solid var(--label);border-radius:1px}
.fpop{width:48px;height:68px;border:1.5px solid var(--navy);border-radius:6px;background:#fff;padding:5px 4px;display:flex;flex-direction:column;gap:4px;align-items:center;flex:none;white-space:nowrap}
.fpop::before{content:"";display:block;width:100%;height:26px;border-radius:3px;background:linear-gradient(135deg,#F3D9C6,#F9ECE2)}
.fstop{display:flex;flex-direction:column;align-items:center;gap:4px;color:var(--label);white-space:nowrap;flex:none}
.fstop::before{content:"";width:5px;height:16px;border-left:4px solid var(--orange);border-right:4px solid var(--orange)}
.fpop.wt{border:1.5px dashed #9AA7BC;background:transparent;width:32px;height:50px}.fpop.wt::before{display:none}
.fmemo{flex-direction:column;align-items:stretch;gap:5px;padding:0 16px}
.fmemo span{display:flex;align-items:center;gap:8px;white-space:nowrap}
.fmemo span::after{content:"";flex:1;border-top:2px solid #C5CFDE}
.ftbl{display:grid;grid-template-columns:1.3fr 1fr 1fr 1fr;width:128px;border:1.3px solid var(--navy);border-radius:5px;overflow:hidden;background:#fff;flex:none}
.ftbl i{height:16px;border-right:1px solid #C5CFDE;border-bottom:1px solid #C5CFDE}
.ftbl i.h{background:#DCE6F2}
.ftbl i.v{background:linear-gradient(#B4C1D6,#B4C1D6) center/56% 3px no-repeat}
.fstamp{border:1.5px solid var(--orange);color:var(--label);border-radius:6px;padding:1px 7px;transform:rotate(-8deg);white-space:nowrap;background:#fff}
.fcards{position:relative;width:70px;height:64px;flex:none}
.fcards i{position:absolute;left:0;top:0;width:52px;height:56px;background:#fff;border:1.3px solid var(--navy);border-radius:5px}
.fcards i:nth-child(2){left:9px;top:4px}.fcards i:nth-child(3){left:18px;top:8px}
.fcards i:nth-child(3)::before{content:"★";position:absolute;right:5px;top:3px;font-size:11px;color:var(--spark);font-style:normal}
.fcards i:nth-child(3)::after{content:"";position:absolute;left:7px;right:7px;top:22px;height:3px;background:#C5CFDE;border-radius:2px;box-shadow:0 8px 0 #C5CFDE,0 16px 0 #C5CFDE}
.floop{width:60px;height:60px;border-radius:50%;border:3px solid var(--runline);border-top-color:var(--runink);border-right-color:var(--runink);position:relative;flex:none;display:grid;place-items:center;font-family:var(--mono);font-size:12px;color:var(--runink);font-weight:500}
.floop::after{content:"";position:absolute;right:-2px;top:9px;width:7px;height:7px;border-top:3px solid var(--runink);border-right:3px solid var(--runink);transform:rotate(135deg)}
.fchips{display:flex;flex-direction:column;gap:6px}
.fchips span{border:1px solid var(--runline);color:var(--runink);background:#fff;border-radius:6px;padding:1px 9px;font-size:12px;white-space:nowrap;line-height:1.7}
.fpost{display:flex;gap:6px;align-items:center}
.fpost i{width:30px;height:30px;border-radius:7px;background:#fff;border:1.3px solid var(--navy);position:relative}
.fpost i::after{content:"";position:absolute;left:6px;right:6px;bottom:6px;height:3px;background:#C5CFDE;border-radius:2px}
.fpost i:nth-child(1)::before{content:"G";position:absolute;left:7px;top:2px;font-family:var(--lat);font-size:13px;color:var(--navy)}
.fpost i:nth-child(2)::before{content:"";position:absolute;left:8px;top:6px;width:12px;height:12px;border:1.5px solid var(--navy);border-radius:4px}
.fpost i:nth-child(3)::before{content:"@";position:absolute;left:7px;top:2px;font-family:var(--lat);font-size:13px;color:var(--navy)}
.out{display:flex;flex-wrap:wrap;gap:5px;margin-top:8px}
.out span{display:inline-flex;align-items:center;font-size:12px;font-weight:500;color:var(--navy);border:1px solid #CBD6E6;border-radius:6px;padding:1px 8px;background:#fff;line-height:1.75;white-space:nowrap}
.hum{font-size:14px;font-weight:700;color:var(--navy);line-height:1.7;padding-left:14px;border-left:2px solid var(--spark);margin-top:20px}
.hum small{display:block;font-size:12px;font-weight:500;color:var(--slate);margin-top:2px}
.toast{grid-column:4/-1;margin:18px 0 0 0;display:flex;align-items:center;gap:16px;background:#fff;border:1px solid #F0C9A8;border-left:4px solid var(--orange);border-radius:14px;padding:13px 16px 13px 20px;box-shadow:0 26px 46px -24px rgba(138,74,36,.5);position:relative;z-index:3}
.toast .cnt{display:flex;align-items:baseline;gap:8px;font-weight:700;color:var(--navy);font-size:15px;white-space:nowrap}
.toast .cnt em{font-family:var(--mono);font-style:normal;font-size:26px;font-weight:500;line-height:1}
.toast .dash{width:22px;border-top:1px solid var(--navy);opacity:.5;flex:none}
.toast p{font-size:15px;font-weight:700;color:var(--navy);flex:1;white-space:nowrap}
.toast .tb{display:flex;gap:8px}
.toast .tb span{font-size:13px;font-weight:700;border-radius:999px;padding:6px 16px;white-space:nowrap;border:1.5px solid var(--navy);color:var(--navy)}
.toast .tb .b1{background:var(--navy);color:#fff}
.now{position:relative;height:0;z-index:2}
.now::before{content:"";position:absolute;left:0;right:0;top:-1px;border-top:1.5px solid var(--spark)}
.now span{position:absolute;left:40px;top:-12px;background:var(--spark);color:var(--onspark);font-family:var(--mono);font-size:12px;font-weight:500;letter-spacing:.06em;border-radius:999px;padding:0 12px;line-height:23px;white-space:nowrap}
.now small{position:absolute;right:40px;top:-11px;background:#fff;padding:0 10px;font-size:12px;color:var(--label);font-weight:700;letter-spacing:.06em;line-height:22px;white-space:nowrap}
.now + .row{padding-top:38px}
.b-foot{display:flex;justify-content:space-between;gap:24px;align-items:center;padding:16px 40px;border-top:1px solid var(--line2);background:var(--card2);border-radius:0 0 26px 26px;font-size:12.5px;color:var(--slate)}
.b-foot .legend{display:flex;gap:16px;flex-wrap:wrap}
.b-foot .legend .st{margin-top:0}
.pl{display:none}
.sst{display:none}

/* promises */
.prom{margin-top:72px;background:var(--navy);color:#fff;border-radius:26px;padding:52px 56px 54px;position:relative;overflow:hidden}
.prom .ph{display:flex;align-items:baseline;gap:20px}
.prom .ph .lbl{color:#C9D4E8}
.prom .ph h3{font-family:var(--min);font-weight:600;font-size:28px;letter-spacing:.08em}
.prom ol{list-style:none;display:grid;grid-template-columns:repeat(3,1fr);gap:0;margin-top:30px;position:relative;z-index:1}
.prom li{padding:4px 34px 0;border-left:1px solid rgba(255,255,255,.22)}
.prom li:first-child{padding-left:0;border-left:0}
.prom li b{font-family:var(--it);font-style:italic;font-weight:400;font-size:40px;line-height:1;color:#C9D4E8;display:block}
.prom li h4{font-family:var(--min);font-size:21px;white-space:nowrap;font-weight:600;line-height:1.6;margin-top:10px;letter-spacing:.04em}
.prom li p{font-size:14.5px;line-height:1.95;color:rgba(255,255,255,.9);margin-top:8px}

/* intro steps */
.intro{margin-top:72px;display:grid;grid-template-columns:300px 1fr;gap:56px;align-items:start}
.intro h3{font-family:var(--min);font-weight:600;font-size:30px;color:var(--navy);line-height:1.6;margin-top:14px}
.intro .lbl{color:var(--label)}
.intro .ia{margin-top:22px}
.isteps{list-style:none;display:grid;grid-template-columns:repeat(5,1fr);gap:0;position:relative;counter-reset:s}
.isteps::before{content:"";position:absolute;left:16px;right:10%;top:16px;border-top:1.5px solid var(--navy)}
.isteps li{position:relative;padding:50px 18px 0 0;font-size:14.5px;font-weight:700;color:var(--navy);line-height:1.75;counter-increment:s}
.isteps li::before{content:counter(s,decimal-leading-zero);position:absolute;left:0;top:0;width:33px;height:33px;border-radius:50%;background:#fff;border:1.5px solid var(--navy);display:grid;place-items:center;font-family:var(--mono);font-size:12px;font-weight:500;letter-spacing:0}
.isteps li.key::before{background:var(--spark);border-color:var(--spark);color:var(--onspark)}
.isteps li small{display:block;font-size:12.5px;font-weight:500;color:var(--body);margin-top:4px;line-height:1.75}
.crew .note{margin-top:44px;font-size:12.5px;color:var(--slate)}

/* ===== approach ===== */
.appr{background:var(--cream);padding:100px 0 100px;position:relative;overflow:hidden}
.appr .grid{display:grid;grid-template-columns:1.05fr .95fr;gap:90px;align-items:end}
.appr h2{font-size:54px}
.appr .txt p{color:#3c4656;font-size:16px;line-height:2.15}
.appr .txt p+p{margin-top:14px}
.appr .txt .add{margin-top:26px;padding:22px 26px;border-radius:16px;background:#fff;border:1px solid var(--line);border-left:3px solid var(--spark);color:var(--navy);font-weight:500;line-height:2.05}
.appr .tags{display:flex;gap:10px;margin-top:30px;flex-wrap:wrap}
.appr .tags span{border:1px solid #cdbfac;border-radius:999px;padding:6px 16px;font-family:var(--lat);font-size:12px;letter-spacing:.2em;color:var(--slate)}
.appr .slogan{font-family:var(--min);font-size:24px;font-weight:500;color:var(--label);margin-top:34px;line-height:1.7}

/* ===== meaning ===== */
.mean{background:var(--cream);padding:110px 0 90px}
.mean .grid{display:grid;grid-template-columns:1.05fr 1fr;gap:100px;align-items:center}
.mean .visual{position:relative;height:640px}
.mean .circ{position:absolute;overflow:hidden}
.mean .c1{width:330px;height:470px;left:0;top:30px;border-radius:165px 165px 18px 18px;background:url(/assets/morning-storefront.webp) 44% 18%/auto 215% no-repeat}
.mean .c2{width:340px;height:450px;left:268px;top:170px;border-radius:170px 170px 18px 18px;background:url(/assets/morning-storefront.webp) 86% 55%/auto 150% no-repeat;box-shadow:0 0 0 10px var(--cream)}
.mean .tagc{position:absolute;z-index:4;font-family:var(--lat);font-size:12px;letter-spacing:.26em;color:var(--slate);display:flex;flex-direction:column;gap:2px;white-space:nowrap}
.mean .tagc b{font-family:var(--min);font-size:22px;letter-spacing:.1em;font-weight:600;color:var(--navy)}
.mean .t1{left:0;top:-40px}
.mean .t2{left:268px;bottom:-66px}
.mean .kanji{position:absolute;left:226px;top:330px;width:96px;height:96px;border-radius:50%;background:var(--cream);display:grid;place-items:center;box-shadow:0 20px 40px -10px rgba(22,38,79,.35);z-index:3}
.mean .kanji img{width:56px}
.mean h2{font-size:54px}
.mean h2 span{color:var(--label)}
.mean .body p{margin-top:24px;color:#3c4656;font-size:16px;line-height:2.1}
.mean blockquote{margin-top:34px;padding-top:22px;border-top:1px solid var(--line);font-family:var(--min);font-size:22px;line-height:1.8;color:var(--navy);font-weight:600}
.mean .link{margin-top:30px}

/* ===== stores ===== */
.field{background:var(--field-g);padding:100px 0 120px}
.field .top{display:flex;justify-content:space-between;align-items:flex-end;gap:40px}
.field .top .r{max-width:440px}
.field .top p{font-size:15px;color:var(--body)}
.count{display:flex;align-items:center;gap:18px;margin-bottom:16px;color:var(--navy)}
.count b{font-family:var(--mono);font-weight:500;font-size:44px;line-height:1;letter-spacing:-.02em}
.count b small{font-family:var(--sans);font-size:13px;font-weight:700;margin-left:6px;letter-spacing:.08em}
.count i{flex:none;width:64px;border-top:1.5px dashed var(--navy);position:relative}
.count i::after{content:"";position:absolute;right:-1px;top:-5px;width:8px;height:8px;border-top:1.5px solid var(--navy);border-right:1.5px solid var(--navy);transform:rotate(45deg)}
.count .to{color:#4b5a80}
.count em{font-style:normal;font-size:12px;font-weight:700;border:1px solid rgba(22,38,79,.4);border-radius:999px;padding:2px 12px;white-space:nowrap}
.shops{display:grid;grid-template-columns:repeat(3,1fr);gap:44px;margin-top:56px;align-items:start}
.shop .img{overflow:hidden;box-shadow:0 30px 60px -36px rgba(22,38,79,.5)}
.shop .img img{width:100%;height:100%;object-fit:cover}
.shop .img{height:450px;border-radius:999px 999px 20px 20px}
.shop:nth-child(2){margin-top:56px}
.shop:nth-child(1) .img img{filter:brightness(1.42) contrast(.9) saturate(.9)}
.shop .meta{display:flex;justify-content:space-between;align-items:baseline;margin-top:22px;gap:12px}
.shop .cat{font-size:13px;color:var(--label);font-weight:700;letter-spacing:.08em}
.shop h3{font-family:var(--min);font-size:34px;font-weight:600;color:var(--navy);line-height:1.3;margin-top:4px}
.shop .ro{font-family:var(--lat);font-size:12px;letter-spacing:.22em;color:var(--slate);text-transform:uppercase}
.shop .area{font-size:13px;border:1px solid #9fb0c6;border-radius:999px;padding:3px 14px;color:var(--slate);white-space:nowrap;background:rgba(255,255,255,.6)}

/* ===== founder ===== */
.founder{background:var(--cream);padding:110px 0 100px}
.founder .grid{display:grid;grid-template-columns:1fr 1fr;gap:100px;align-items:end}
.founder h2{font-size:48px}
.founder .sign{margin-top:44px;display:flex;align-items:center;gap:20px}
.founder .sign img{width:64px;height:64px}
.mean .kanji img{height:auto}
.founder .sign small{display:block;font-size:13px;color:var(--body)}
.founder .sign b{display:block;font-family:var(--min);font-size:30px;color:var(--navy);letter-spacing:.2em;font-weight:600}
.founder .msg p{font-size:16px;line-height:2.15;color:#3c4656}
.founder .msg p+p{margin-top:18px}
.founder .co{margin-top:64px;border-top:1px solid var(--line);border-bottom:1px solid var(--line);display:grid;grid-template-columns:1fr 1fr .8fr 1.5fr}
.founder .co div{padding:22px 28px 24px 0}
.founder .co div+div{padding-left:28px;border-left:1px solid var(--line)}
.founder dt{color:var(--slate);font-weight:700;font-size:13px;letter-spacing:.1em}
.founder dd{color:var(--ink);font-size:16px;margin-top:4px}

/* ===== news ===== */
.news{background:var(--cream);padding:90px 0 110px}
.news .grid{display:grid;grid-template-columns:400px 1fr;gap:80px;align-items:start}
.news .sec-h p{font-size:15px}
.nlist{display:flex;flex-direction:column;gap:14px}
.nitem{display:grid;grid-template-columns:120px 1fr 44px;gap:24px;align-items:center;padding:20px 24px;border-radius:16px;background:#fff;border:1px solid #e6ddd0;transition:transform .25s,box-shadow .25s}
.nitem:hover{transform:translateY(-2px);box-shadow:0 18px 40px -28px rgba(22,38,79,.5)}
.nitem.imp{border:1.5px solid var(--navy);box-shadow:0 18px 40px -28px rgba(22,38,79,.5)}
.nitem time{font-family:var(--mono);font-size:14px;letter-spacing:.06em;color:var(--slate)}
.nitem .tag{display:inline-block;font-size:12px;font-weight:700;letter-spacing:.08em;padding:3px 12px;border-radius:999px;background:var(--sand);color:var(--navy);margin-bottom:4px}
.nitem.imp .tag{background:var(--navy);color:#fff}
.nitem h3{font-size:16px;font-weight:700;color:var(--navy);line-height:1.7;letter-spacing:.04em}
.nitem .go{width:44px;height:44px;border-radius:50%;border:1px solid #c8bba8;display:grid;place-items:center;color:var(--navy);font-family:var(--lat)}
.nitem.imp .go{background:var(--navy);color:#fff;border-color:var(--navy)}
.news .more{margin-top:18px;text-align:right}

/* ===== faq ===== */
.faq{background:var(--cream);padding:100px 0 130px}
.faq .grid{display:grid;grid-template-columns:400px 1fr;gap:80px}
.qa{border-top:1px solid var(--line)}
.qa .item{padding:0;border-bottom:1px solid var(--line)}
.qa summary{list-style:none;cursor:pointer;padding:28px 0;display:grid;grid-template-columns:52px 1fr 40px;gap:8px 18px;align-items:start}
.qa summary::-webkit-details-marker{display:none}
.qa .q{font-family:var(--it);font-style:italic;font-size:30px;color:var(--navy);line-height:1.1}
.qa h3{font-size:18px;font-weight:700;color:var(--navy);line-height:1.7}
.qa .tg{width:40px;height:40px;border-radius:50%;border:1px solid #c8bba8;display:grid;place-items:center;color:var(--navy);font-size:18px}
.qa .tg::before{content:"＋"}
.qa .item[open] .tg::before{content:"−"}
.qa p{padding:0 0 28px 70px;margin-top:-10px;color:var(--body);font-size:15px}

/* ===== contact (morning sky) ===== */
.cta{position:relative;color:var(--navy);padding:130px 0 140px;overflow:hidden;background:var(--cta-g)}
.cta .inner{position:relative;display:grid;grid-template-columns:.9fr 1.1fr;gap:80px;align-items:start}
.cta h2{font-size:58px;line-height:1.38}
.cta .sec-h p{color:#2f384b;font-size:16px}
.steps{list-style:none;margin-top:44px;border-top:1px solid rgba(22,38,79,.25)}
.steps li{display:flex;gap:22px;align-items:center;padding:20px 0;border-bottom:1px solid rgba(22,38,79,.25);font-size:17px;font-weight:700;color:var(--navy)}
.steps li b{font-family:var(--it);font-style:italic;font-weight:400;font-size:34px;color:var(--label);width:44px}
.form{background:#fff;color:var(--ink);border-radius:28px;padding:44px 44px 40px;box-shadow:0 50px 90px -50px rgba(22,38,79,.55);border:1px solid rgba(22,38,79,.08)}
.f-row{display:grid;grid-template-columns:1fr 1fr;gap:18px}
.field-i{display:flex;flex-direction:column;gap:8px;margin-bottom:20px}
.field-i>label,.field-i .lb{font-size:14px;font-weight:700;color:var(--navy);display:flex;align-items:center;gap:8px}
.req{font-size:12px;font-weight:700;color:#fff;background:var(--navy);border-radius:4px;padding:1px 7px;letter-spacing:.06em}
.inp{width:100%;height:52px;border:1px solid #BFC8D6;border-radius:12px;background:var(--cream);padding:0 16px;font-size:16px;color:var(--ink);font-family:var(--sans);transition:border-color .2s,background .2s}
.inp:focus{outline:none;border-color:var(--navy);background:#fff;box-shadow:0 0 0 3px rgba(22,38,79,.12)}
.inp.ta{height:140px;padding:14px 16px;resize:vertical;line-height:1.7}
.chips{display:flex;flex-wrap:wrap;gap:8px}
.chips label{position:relative;cursor:pointer}
.chips input{position:absolute;opacity:0;width:1px;height:1px;left:0;top:0}
.chips span{display:inline-block;border:1px solid #BFC8D6;border-radius:999px;padding:8px 16px;font-size:14px;background:#fff;color:var(--ink);white-space:nowrap;transition:background .2s,color .2s,border-color .2s}
.chips input:checked+span{background:var(--navy);border-color:var(--navy);color:#fff;font-weight:700}
.chips input:focus-visible+span{outline:2px solid var(--navy);outline-offset:3px}
.agree{display:flex;align-items:center;gap:10px;font-size:14px;margin:6px 0 24px;cursor:pointer}
.agree input{width:22px;height:22px;accent-color:var(--navy);margin:0;flex:none}
.agree a{color:var(--navy);font-weight:700;text-decoration:underline;text-underline-offset:3px}
.submit{width:100%;padding:18px;font-size:16px}
.submit:disabled{opacity:.65;cursor:wait;transform:none}
.form .alt{margin-top:16px;font-size:13px;color:var(--body);text-align:center}
.form .alt a{color:var(--navy);text-decoration:underline;text-underline-offset:3px}
.contact-turnstile{margin:0 0 16px}
.contact-turnstile:empty{display:none}
.form-status{margin-top:14px;font-size:14px;font-weight:700;color:var(--navy);text-align:center;min-height:1em}
.form-status:empty{margin:0;min-height:0}

/* ===== footer ===== */
.ft{background:var(--navy);color:rgba(255,255,255,.86);padding:60px 0 36px;font-size:14px}
.ft .frow{display:flex;justify-content:space-between;align-items:center;gap:40px;flex-wrap:wrap}
.ft .logo{height:44px;width:auto}
.ft nav{display:flex;gap:30px;flex-wrap:wrap}
.ft nav a:hover{color:#fff;text-decoration:underline;text-underline-offset:4px}
.ft .bottom{margin-top:44px;padding-top:22px;border-top:1px solid rgba(255,255,255,.16);display:flex;justify-content:space-between;font-size:13px;color:rgba(255,255,255,.78);flex-wrap:wrap;gap:12px}

/* ===== 動き（2026-10-03 追加。控えめ・CSS中心。動きを減らす設定では全部止める） =====
   - 隠す初期状態は html.anim のときだけ（JS が見張りを用意できたときに付ける）。JSが失敗しても文字は消えない
   - ずっと動くもの（ふわふわ・点の明滅・光の点）は transform / box-shadow / opacity だけ。スクロール量の監視はしない */
@media (prefers-reduced-motion:no-preference){
  /* スクロールで下からふわっと（見出し・ブロック） */
  .rv{transition:opacity .7s ease,transform .7s ease}
  .anim .rv:not(.in){opacity:0;transform:translateY(16px)}
  /* カードは順番に少し遅れて（開いた時点で画面内にあったもの=.pre は動かさない） */
  .anim .rv.in:not(.pre) :is(.svc-item,.frow,.shop,.nitem,.prom li,.isteps li,.steps li,.qa .item){animation:rise .65s cubic-bezier(.2,.7,.2,1) backwards}
  .anim .rv.in:not(.pre) :is(.svc-item,.frow,.shop,.nitem,.prom li,.isteps li,.steps li,.qa .item):nth-child(2){animation-delay:.09s}
  .anim .rv.in:not(.pre) :is(.svc-item,.frow,.shop,.nitem,.prom li,.isteps li,.steps li,.qa .item):nth-child(3){animation-delay:.18s}
  .anim .rv.in:not(.pre) :is(.svc-item,.frow,.shop,.nitem,.prom li,.isteps li,.steps li,.qa .item):nth-child(4){animation-delay:.27s}
  .anim .rv.in:not(.pre) :is(.svc-item,.frow,.shop,.nitem,.prom li,.isteps li,.steps li,.qa .item):nth-child(5){animation-delay:.36s}

  /* ヒーローの画像: ごく弱いゆっくりしたズーム（3体は画像になったので個別の上下はなし） */
  .himg{animation:drift 28s ease-in-out infinite alternate}

  /* 稼働中の点: ゆっくり明滅 */
  .hp-live .dot,.b-stat .live .dot,.hchip>.dot{animation:live 2.6s ease-in-out infinite}
  /* 進行中・運用中の点（凡例は止めたまま） */
  .st.run i{animation:runp 2.8s ease-in-out infinite}
  .b-foot .st i{animation:none}
  /* 承認待ちバッジ: かすかに呼吸 */
  .hpanel .st.wait,.hchip .st.wait,.b-stat .st.wait,.row.act .st.wait,.toast .st.wait{animation:breathe 3.6s ease-in-out infinite}

  /* NOW線の上を小さな光の点が流れる（時刻レール=縦、稼働ボードの行=横） */
  .rl .now{--now-len:66px}
  .rl .now::before{content:"";position:absolute;left:-3.75px;right:auto;top:0;border:0;width:6px;height:6px;border-radius:50%;background:#fff;box-shadow:0 0 0 1.5px var(--spark),0 0 8px 2px rgba(236,122,44,.55);opacity:0;animation:nowv 3.4s ease-in-out infinite}
  .rows{container-type:inline-size}
  .rows>.now span,.rows>.now small{z-index:1}
  .rows>.now::after{content:"";position:absolute;z-index:0;left:0;top:-3.25px;width:6px;height:6px;border-radius:50%;background:#fff;box-shadow:0 0 0 1.5px var(--spark),0 0 8px 2px rgba(236,122,44,.55);opacity:0;animation:nowh 7s ease-in-out infinite}

  /* 時刻レールのキャラ: 見えたら順番にポンと */
  .rl .mk .ch{transform-origin:50% 100%}
  .anim .rail24:not(.in) .mk :is(.ch,i){opacity:0}
  .anim .rail24.in .mk :is(.ch,i){animation:pop .55s cubic-bezier(.34,1.56,.64,1) backwards;animation-delay:calc(var(--i,0) * 90ms + 150ms)}
}
/* ホバーでわずかに浮く（マウスのある端末だけ） */
@media (hover:hover) and (prefers-reduced-motion:no-preference){
  .svc-item{transition:background .25s,transform .3s ease,box-shadow .3s ease}
  .svc-item:hover{transform:translateY(-3px)}
  .svc-item.on:hover{box-shadow:0 32px 60px -34px rgba(22,38,79,.5)}
  .link{transition:transform .25s ease}
  .link:hover{transform:translateY(-2px)}
  .chips span{transition:background .2s,color .2s,border-color .2s,transform .2s ease}
  .chips label:hover span{transform:translateY(-2px)}
  .qa .tg{transition:transform .25s ease,background .25s}
  .qa summary:hover .tg{transform:translateY(-2px);background:#fff}
}
@media (prefers-reduced-motion:no-preference) and (min-width:761px) and (max-width:1180px){.rl .now{--now-len:88px}}
@media (prefers-reduced-motion:no-preference) and (max-width:760px){.rl .now{--now-len:34px}.rows>.now::after{top:-2.25px}}
@keyframes rise{from{opacity:0;transform:translateY(14px)}to{opacity:1;transform:none}}
@keyframes drift{from{transform:scale(1)}to{transform:scale(1.035)}}
@keyframes float{0%,100%{transform:translateY(0)}50%{transform:translateY(calc(var(--amp,3px) * -1))}}
@keyframes live{0%{box-shadow:0 0 0 0 rgba(236,122,44,.45);opacity:1}50%{opacity:.6}70%{box-shadow:0 0 0 7px rgba(236,122,44,0)}100%{box-shadow:0 0 0 0 rgba(236,122,44,0);opacity:1}}
@keyframes runp{0%,100%{box-shadow:0 0 0 3px rgba(36,80,132,.18);opacity:1}50%{box-shadow:0 0 0 5px rgba(36,80,132,.04);opacity:.55}}
@keyframes breathe{0%,100%{box-shadow:0 0 0 0 rgba(236,122,44,0)}50%{box-shadow:0 0 0 4px rgba(236,122,44,.14)}}
@keyframes nowv{0%{opacity:0;transform:translateY(0)}15%,80%{opacity:1}100%{opacity:0;transform:translateY(var(--now-len,66px))}}
@keyframes nowh{0%{opacity:0;transform:translateX(0)}8%,82%{opacity:1}92%,100%{opacity:0;transform:translateX(calc(100cqw - 6px))}}
@keyframes pop{0%{opacity:0;transform:translateY(8px) scale(.4)}60%{opacity:1}100%{opacity:1;transform:none}}
@media (prefers-reduced-motion:reduce){
  html{scroll-behavior:auto}
  *,*::before,*::after{transition:none!important;animation:none!important}
  .pill:hover,.nitem:hover{transform:none}
}

/* ===== tablet (761–1180px) ===== */
@media (max-width:1180px){
  .hero{min-height:680px;padding-top:124px;padding-bottom:calc(54px + 32px)}
  .himg{object-position:100% 100%;transform-origin:100% 100%}
  .hero .veil{background:linear-gradient(90deg,rgba(250,248,244,.72) 0%,rgba(250,248,244,.55) 38%,rgba(250,248,244,0) 56%)}
  .hpanel{transform:scale(.72);transform-origin:100% 0;right:4vw;top:104px}
  .hero .bubble{display:none}
  .hero h1{font-size:52px}
  .hero .eyebrow{margin-bottom:14px}
  .hero .lead{max-width:400px;gap:8px}
  .hero .lead .tag{font-size:18px;line-height:1.65}
  .hero .lead p{font-size:14px}
  .nav{gap:20px;font-size:13px;margin-right:8px}
  .hd{padding-left:20px}
  .band .x{display:none}
  .band{justify-content:center}
  .svc .grid,.flowsec .grid,.news .grid,.faq .grid,.appr .grid,.mean .grid,.founder .grid,.cta .inner{grid-template-columns:1fr;gap:40px}
  .svc .arch{display:none}
  .crew .top{grid-template-columns:1fr;gap:20px}
  .pm{grid-template-columns:118px 76px 138px 1fr}
  .pm .hum{grid-column:4;margin-top:10px}
  .b-cols span:nth-child(4),.b-cols span:nth-child(5){display:none}
  .b-cols,.row{grid-template-columns:76px 70px 138px 1fr}
  .figc,.hum{grid-column:4}
  .figc{margin-top:14px}
  .row .pl{display:block;font-size:12px;font-weight:700;letter-spacing:.14em;color:var(--slate);margin-bottom:6px}
  .fig{width:min(100%,260px)}
  .toast{grid-column:1/-1}
  .intro{grid-template-columns:1fr;gap:30px}
  .mean .visual{height:560px}
  .mean .t2{bottom:-40px}
  .shops{gap:20px}
  .shop .img{height:300px}
  .shop h3{font-size:26px}
  .founder .co{grid-template-columns:1fr 1fr}
  .founder .co div:nth-child(3){padding-left:0;border-left:0}
}

/* ===== SP ===== */
@media (max-width:760px){
  body{font-size:15px}
  section{scroll-margin-top:80px}
  .spb{display:block}
  .pcb{display:none}
  .hd{top:12px;left:10px;right:10px;height:58px;padding:0 6px 0 16px;gap:10px}
  .hd .logo{height:32px}
  .nav{display:none}
  .nav.open{display:flex;position:absolute;top:64px;left:0;right:0;flex-direction:column;align-items:stretch;gap:0;margin:0;padding:10px 8px;border-radius:20px;background:rgba(250,248,244,.98);backdrop-filter:blur(14px);-webkit-backdrop-filter:blur(14px);border:1px solid rgba(22,38,79,.08);box-shadow:0 24px 50px -24px rgba(22,38,79,.4)}
  .nav.open a{padding:13px 14px;font-size:15px;border-bottom:1px solid var(--line2)}
  .nav.open a:last-child{border-bottom:0}
  .hd-r{margin-left:auto}
  .hd-cta{padding:10px 18px;font-size:13px}
  .burger{display:grid;place-items:center;width:44px;height:44px;border-radius:50%;border:1px solid rgba(22,38,79,.3);background:transparent;color:var(--navy);font-size:17px;cursor:pointer}
  .hero{min-height:0;background:var(--hero-g-sp);padding:386px 0 64px}
  .hero .stage{bottom:auto;height:404px;-webkit-mask-image:linear-gradient(180deg,#000 80%,transparent);mask-image:linear-gradient(180deg,#000 80%,transparent)}
  .himg{object-position:100% 100%}
  .hero .veil{display:none}
  .hero .bubble{display:block}
  .hpanel{display:none}
  .hchip{display:flex;align-items:center;gap:8px;position:absolute;z-index:5;left:16px;top:84px;height:36px;padding:0 12px 0 12px;border-radius:999px;font-size:12px;font-weight:700;color:var(--navy);white-space:nowrap;background:rgba(255,255,255,.8);backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);border:1px solid rgba(255,255,255,.95);box-shadow:0 14px 30px -18px rgba(22,38,79,.5)}
  .hchip b{font-family:var(--min);font-size:14px;font-weight:600;letter-spacing:.06em}
  .hchip .st{margin-top:0;padding:0 9px 0 8px}
  .hchip small{font-size:12px;font-weight:500;color:var(--slate)}
  .hero .bubble{left:16px;right:auto;bottom:auto;top:134px;padding:9px 13px}
  .hero .bubble b{font-size:14px}
  .hero .copy{margin:0 16px}
  .hero .eyebrow{margin-bottom:10px;gap:10px}
  .hero .eyebrow i{width:24px}
  .hero h1{font-size:44px;line-height:1.28}
  .hero h1 .ln{display:inline}
  .hero h1 .ln:first-child{display:block}
  .hero h1 .ln2,.hero h1 .ln3{padding-left:0}
  .hero .lead{margin:0 16px;padding-top:18px;gap:8px;max-width:none}
  .hero .lead .who{font-size:14px}
  .hero .lead .tag{font-size:17px;line-height:1.65}
  .hero .lead p{font-size:13px;line-height:1.8}
  .btns{margin-top:8px;gap:8px}
  .hero .lead .btns .pill{padding:13px 20px}
  .band{height:44px;justify-content:center;padding:0 16px}
  .band .x{display:none}
  .band .jp{font-size:13px;letter-spacing:.14em}
  .sec-h h2{font-size:29px}
  .svc{padding:60px 0 52px}
  .svc .grid{grid-template-columns:minmax(0,1fr);gap:28px}
  .svc-list{min-width:0}
  .svc-item .sub{display:block;max-width:none;padding:10px 12px}
  .svc-item .sub b{display:inline-block;margin:0 8px 4px 0}
  .svc .arch{display:none}
  .svc-item{grid-template-columns:44px minmax(0,1fr);gap:12px;padding:26px 0}
  .svc-item .no{font-size:36px}
  .svc-item h3{font-size:22px;gap:10px}
  .verb{font-size:12px;padding:1px 10px}
  .svc-item .desc{font-size:14.5px}
  .svc-item .go{display:none}
  .svc-item.on{margin:0 -10px;padding:26px 10px}
  .flowsec{padding:4px 0 60px}
  .flowsec .grid{grid-template-columns:1fr;gap:24px}
  .flowsec .sec-h p br{display:none}
  .frows::before{left:22px;top:44px;bottom:60px}
  .frow{grid-template-columns:46px 1fr;column-gap:16px;padding:20px 0 22px}
  .frow .n{width:46px;height:46px;font-size:23px}
  .frow h3{font-size:21px;margin-top:5px;white-space:normal}
  .frow p{grid-column:2;font-size:14.5px;margin-top:6px}
  .crew{padding:64px 0 64px}
  .crew .top{grid-template-columns:1fr;gap:20px}
  .crew .sec-h h2{font-size:30px;line-height:1.5}
  .crew .top .ld{font-size:14.5px;line-height:1.95}
  .board{margin-top:40px;border-radius:20px}
  .board .hang{display:none}
  .b-head{flex-direction:column;align-items:flex-start;gap:10px;padding:20px 16px 16px}
  .b-title{gap:12px}
  .b-title b{font-size:21px}
  .b-stat{gap:8px 10px;font-size:12px;flex-wrap:wrap;white-space:normal}
  .b-cols{display:none}
  .mini{display:none}
  .pm{grid-template-columns:64px 1fr;column-gap:12px;row-gap:2px;padding:14px 16px 14px;align-items:center}
  .pm .ch{height:72px;margin-bottom:-14px;grid-row:1/4}
  .pm .t{flex-direction:row;align-items:baseline;gap:8px}
  .pm .t b{font-size:13px}
  .pm .nm{display:flex;gap:8px;align-items:center}
  .pm .nm h3{font-size:15px}
  .pm .main h4{font-size:14px;white-space:normal}
  .pm .main p,.pm .hum{display:none}
  .rail24{display:block;padding:14px 16px 40px}
  .rail24 .lab{margin-bottom:34px;font-size:12px;letter-spacing:.06em}
  .rail24 .lab .nt{font-size:12px;padding:2px 10px 2px 8px}
  .rl{margin:0 4px;height:8px}
  .rl .mk .ch{display:none}
  .rl .mk{bottom:-1px}
  .rl .mk i{width:8px;height:8px}
  .rl .tk{top:14px;font-size:12px}
  .rl .tk:nth-of-type(even){display:none}
  .rl .now{top:-22px;height:40px}
  .rl .now span{top:-20px;font-size:12px;line-height:22px}
  .rows::before{display:none}
  .row{grid-template-columns:44px 40px 1fr auto;column-gap:8px;row-gap:2px;padding:12px 14px 12px 16px;align-items:center}
  .row .t{font-size:13px;padding-top:0}
  .row .t small{display:none}
  .row .t::after{display:none}
  .row.nt{background:linear-gradient(90deg,var(--night) 0%,var(--night) 30%,var(--card) 100%)}
  .row.run{background:linear-gradient(90deg,var(--run) 0%,var(--card) 70%)}
  .av{width:40px;height:48px;border-radius:20px 20px 7px 7px}
  .av .ch{height:50px;bottom:-2px}
  .nm{padding-top:0;display:flex;flex-direction:column;align-items:flex-start;gap:0;min-width:0}
  .nm h3{font-size:12px;letter-spacing:.02em;color:var(--slate)}
  .nm .st{display:none}
  .row .main{grid-column:3/-1;grid-row:2}
  .row .nm{grid-column:3;grid-row:1}
  .row .t{grid-row:1/3}
  .row .av{grid-row:1/3}
  .row .sst{display:inline-flex;grid-column:4;grid-row:1;margin-top:0;padding:1px 9px 1px 8px;font-size:12px;align-self:center}
  .main h4{font-size:13.5px;line-height:1.5;white-space:normal;font-family:var(--sans);font-weight:700;margin-top:2px}
  .main h4 .nb{white-space:normal}
  .main p,.main .meta,.main .prog,.figc,.hum{display:none}
  .row.act{padding-bottom:18px;align-items:start}
  .row.act .t,.row.act .av{align-self:start}
  .row.act .main{grid-column:1/-1;grid-row:3;margin-top:10px}
  .row.act .main h4{font-family:var(--min);font-size:16px;font-weight:600}
  .row.act .main p{display:block;font-size:14px}
  .row.act .main .meta{display:flex}
  .row.act .figc,.row.act .hum{display:block;grid-column:1/-1;margin-top:12px}
  .row.act .figc{grid-row:4}.row.act .hum{grid-row:5;margin-top:12px}
  .row.act .toast{grid-row:6}
  .fig{width:auto}
  .pl{display:block;font-size:12px;font-weight:700;letter-spacing:.14em;color:var(--slate);margin-bottom:6px}
  .hum .pl{margin-bottom:2px}
  .toast{grid-column:1/-1;margin:14px 0 0;flex-wrap:wrap;gap:6px 12px;padding:14px 16px}
  .toast .dash{display:none}
  .toast p{white-space:normal;flex:1 1 100%;font-size:14px}
  .toast .tb{width:100%;margin-top:4px}
  .toast .tb span{flex:1;text-align:center;padding:10px 8px}
  .now{height:auto;padding:10px 16px 10px;display:flex;justify-content:space-between;align-items:flex-start;gap:10px}
  .now::before{top:0}
  .now span,.now small{position:static;transform:none}
  .now small{max-width:62%;white-space:normal;line-height:1.5;text-align:right;background:transparent;padding:0}
  .now + .row{padding-top:12px}
  .b-foot{flex-direction:column;align-items:flex-start;gap:10px;padding:14px 16px;border-radius:0 0 20px 20px}
  .b-foot .legend{gap:8px}
  .prom{margin-top:36px;padding:34px 22px 36px;border-radius:20px}
  .prom .ph{flex-direction:column;gap:6px}
  .prom .ph h3{font-size:23px}
  .prom ol{grid-template-columns:1fr;margin-top:20px}
  .prom li{padding:20px 0 20px 0 !important;border-left:0;border-top:1px solid rgba(255,255,255,.22);display:grid;grid-template-columns:48px 1fr;column-gap:8px}
  .prom li:first-child{border-top:0;padding-top:4px !important}
  .prom li:last-child{padding-bottom:0 !important}
  .prom li b{font-size:34px;grid-row:1/3}
  .prom li h4{font-size:19px;margin-top:0}
  .prom li p{font-size:14px;margin-top:4px}
  .intro{grid-template-columns:1fr;gap:22px;margin-top:44px}
  .intro h3{font-size:24px}
  .intro .ia{margin-top:14px}
  .isteps{grid-template-columns:1fr;gap:0}
  .isteps::before{left:16px;right:auto;top:10px;bottom:30px;border-top:0;border-left:1.5px solid var(--navy)}
  .isteps li{padding:4px 0 16px 50px;font-size:15px}
  .isteps li:last-child{padding-bottom:0}
  .isteps li small{font-size:13px}
  .crew .note{margin-top:30px}
  .appr{padding:60px 0 52px}
  .appr .grid{grid-template-columns:1fr;gap:24px}
  .appr h2{font-size:30px}
  .appr .slogan{font-size:19px;margin-top:18px}
  .appr .txt p{font-size:15px;line-height:2}
  .appr .txt .add{padding:18px 18px}
  .appr .tags{margin-top:20px}
  .mean{padding:44px 0 52px}
  .mean .grid{grid-template-columns:1fr;gap:28px}
  .mean .visual{height:372px;margin-top:36px}
  .mean .c1{width:170px;height:240px;top:14px;border-radius:85px 85px 12px 12px}
  .mean .c2{width:180px;height:240px;left:140px;top:70px;border-radius:90px 90px 12px 12px;box-shadow:0 0 0 6px var(--cream)}
  .mean .kanji{left:112px;top:150px;width:60px;height:60px}.mean .kanji img{width:36px}
  .mean .tagc b{font-size:18px}
  .mean .t2{left:auto;right:0;bottom:0;text-align:right;align-items:flex-end}
  .mean h2{font-size:31px}
  .mean .body p{font-size:15px;line-height:2}
  .mean blockquote{font-size:18px}
  .field{padding:60px 0 60px}
  .field .top{flex-direction:column;align-items:flex-start;gap:20px}
  .count b{font-size:36px}
  .count i{width:40px}
  .shops{grid-template-columns:1fr;gap:18px;margin-top:28px}
  .shop{display:grid;grid-template-columns:118px 1fr;gap:18px;align-items:center}
  .shop:nth-child(2){margin-top:0}
  .shop .img{height:142px;border-radius:59px 59px 12px 12px}
  .shop .meta{margin-top:0;flex-direction:column;align-items:flex-start;gap:8px}
  .shop h3{font-size:26px}
  .founder{padding:52px 0}
  .founder .grid{grid-template-columns:1fr;gap:24px}
  .founder h2{font-size:29px}
  .founder .sign{margin-top:28px}
  .founder .msg p{font-size:15px;line-height:2}
  .founder .co{grid-template-columns:1fr;margin-top:28px;border-bottom:0}
  .founder .co div,.founder .co div+div{padding:14px 0;border-left:0;border-bottom:1px solid var(--line);display:grid;grid-template-columns:96px 1fr;align-items:baseline}
  .founder dd{margin-top:0;font-size:15px}
  .news{padding:48px 0 52px}
  .news .sec-h p{display:none}
  .news .grid{grid-template-columns:1fr;gap:24px}
  .nitem{grid-template-columns:1fr;gap:6px;padding:18px}
  .nitem .go{display:none}
  .nitem h3{font-size:15px}
  .news .more{text-align:left}
  .faq{padding:48px 0 56px}
  .faq .grid{grid-template-columns:1fr;gap:26px}
  .qa summary{grid-template-columns:36px 1fr;padding:22px 0}
  .qa .tg{display:none}
  .qa .q{font-size:24px}
  .qa h3{font-size:16px}
  .qa p{padding:0 0 22px 0;font-size:14.5px}
  .cta{padding:60px 0 64px}
  .cta .inner{grid-template-columns:1fr;gap:36px}
  .cta h2{font-size:34px}
  .cta .sec-h p{font-size:15px}
  .steps{margin-top:22px;display:flex;border-top:0;gap:8px}
  .steps li{flex:1;flex-direction:column;align-items:flex-start;gap:2px;padding:12px 12px 14px;font-size:13px;line-height:1.6;border:1px solid rgba(22,38,79,.25);border-radius:12px;background:rgba(255,255,255,.6)}
  .steps li b{font-size:24px;width:auto}
  .form{padding:28px 18px;border-radius:22px}
  .f-row{grid-template-columns:1fr;gap:0}
  .chips span{padding:10px 16px}
  .ft{padding:44px 0 30px}
  .ft .frow{flex-direction:column;align-items:flex-start;gap:24px}
  .ft nav{gap:12px 22px}
  .svc-item .desc br,.founder .msg p br,.qa p br,.mean .body p br,.crew .top .ld br,.field .top p br,.nitem h3 br,.frow p br,.prom li p br{display:none}
}

/* 2026-10-03 修正: 高さ基準で置くキャラ画像が「img{max-width:100%}」に縮められ横に潰れていた（勤務表のアイコン）。
   高さを基準にするキャラは最大幅の制限を外し、縦横比を必ず保つ。ロゴも縮まないように。 */
.ch img{object-fit:contain}
.av .ch,.pm .ch,.rl .mk .ch{width:auto}
.av .ch img,.pm .ch img,.rl .mk .ch img{max-width:none;width:auto;height:100%}
.hd .logo,.ft .logo{max-width:none;flex:none;object-fit:contain}

/* ===== 2026-10-03 目視検証の修正（8幅 360〜1920 を全体撮影して見つけた崩れ） ===== */
/* 見出しラベル: 一部のセクションで「.sec-h p」等の指定に負けて、色・大きさが変わる／ニュースではスマホで消えていた。全セクションで同じ見た目にそろえる */
.sec-h p.lbl{display:flex;font-size:15px;line-height:1.9;color:var(--label);align-items:flex-start}
.sec-h .lbl::before{flex:none;margin-top:.95em}
/* フッター: 「導入の流れ」の行と同じクラス名(.frow)で、余計な下線と余白が付いていた */
.ft .frow{padding:0;border-bottom:0}
/* 稼働ボード: 時刻目盛りが下の見出し帯に重なる・ラベルがキャラに重なる */

/* 吊りひも(SVG)が幅1440px固定のまま、狭い画面でボードの外へはみ出していた */
.board .hang{width:100%}
.b-foot>span{white-space:nowrap}
/* 作業の流れ: 折り返したとき行末に線だけ残らないよう、線と次の項目をひとまとまりに */
.prog>span{display:inline-flex;align-items:center;gap:8px}
/* 店舗名の上の業態が1文字だけ折り返す（例: メンズ眉毛サロ／ン） */
.shop .cat{white-space:nowrap}
/* タブレット(761〜1180px) */
@media (min-width:761px) and (max-width:1180px){
  /* 固定ヘッダーの下に「HOSHIAI / HUMAN × AI × STORES」が隠れていた */
  /* 「HOSHIAIの意味」の説明文が写真の上に重なっていた */
  .mean .visual{height:640px;margin-bottom:56px}
  .mean .t2{bottom:-66px}
  /* 稼働ボードの見出し行が右にはみ出して日付が切れていた */
  .b-head{flex-wrap:wrap;row-gap:12px}
  .b-head .mini{display:none}
  .b-stat{flex-wrap:wrap;gap:10px 18px}
}
/* 761〜960px: メニューが2行に崩れる → メニューボタンに切り替え。ボード・店舗も1列寄りに */
@media (max-width:960px){
  .nav{display:none}
  .nav.open{display:flex;position:absolute;top:calc(100% + 8px);left:0;right:0;flex-direction:column;align-items:stretch;gap:0;margin:0;padding:10px 8px;border-radius:20px;background:rgba(250,248,244,.98);backdrop-filter:blur(14px);-webkit-backdrop-filter:blur(14px);border:1px solid rgba(22,38,79,.08);box-shadow:0 24px 50px -24px rgba(22,38,79,.4)}
  .nav.open a{padding:13px 14px;font-size:15px;border-bottom:1px solid var(--line2)}
  .nav.open a:last-child{border-bottom:0}
  .hd-r{margin-left:auto}
  .burger{display:grid;place-items:center;width:44px;height:44px;border-radius:50%;border:1px solid rgba(22,38,79,.3);background:transparent;color:var(--navy);font-size:17px;cursor:pointer}
}
@media (min-width:761px) and (max-width:960px){
  /* 761〜960px: 画像の3体と文字が重なる幅 → スマホと同じく「上に画像・下に文字」に積む */
  .hero{min-height:0;padding:480px 0 calc(54px + 28px);background:var(--hero-g-sp)}
  .hero .stage{bottom:auto;height:500px;-webkit-mask-image:linear-gradient(180deg,#000 84%,transparent);mask-image:linear-gradient(180deg,#000 84%,transparent)}
  .hero .veil{display:none}
  .hpanel{display:none}
  .hchip{display:flex;align-items:center;gap:8px;position:absolute;z-index:5;left:var(--gut);top:104px;height:38px;padding:0 14px;border-radius:999px;font-size:12px;font-weight:700;color:var(--navy);white-space:nowrap;background:rgba(255,255,255,.82);backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);border:1px solid rgba(255,255,255,.95);box-shadow:0 14px 30px -18px rgba(22,38,79,.5)}
  .hchip b{font-family:var(--min);font-size:14px;font-weight:600;letter-spacing:.06em}
  .hchip .st{margin-top:0;padding:0 9px 0 8px}
  .hchip small{font-size:12px;font-weight:500;color:var(--slate)}
  .hero h1 .ln{display:inline}
  .hero h1 .ln:first-child{display:block}
  .hero h1 .ln2,.hero h1 .ln3{padding-left:0}
  .hero .lead{max-width:560px}
  /* 「任せている仕事」の列が狭く、説明が細長くなっていた → 名前の下に本文を置く */
  .b-cols{display:none}
  .pm{grid-template-columns:118px 1fr;row-gap:6px}
  .pm .ch{grid-row:1/5}
  .pm .t{flex-direction:row;align-items:baseline;gap:10px}
  .pm .nm{display:flex;align-items:center;gap:12px}
  .pm .nm .st{margin-top:0}
  .pm .main,.pm .hum{grid-column:2}
  .row{grid-template-columns:76px 70px 1fr}
  .row .nm{grid-column:3;grid-row:1;display:flex;align-items:center;gap:12px;padding-top:8px}
  .row .nm .st{margin-top:0}
  .row .main,.row .figc,.row .hum{grid-column:3}
  .row .main{margin-top:10px}
  .row .t,.row .av{grid-row:1/span 3}
  .toast{grid-column:1/-1}
  /* キャラ同士が重なる → 少し小さく */
  .rl .mk .ch{height:26px}
  .shop .meta{flex-direction:column;align-items:flex-start;gap:8px}
}
/* スマホ */
@media (max-width:760px){
  .sec-h p.lbl{font-size:13px;letter-spacing:.2em}
  .mean .visual{margin-bottom:0}
  /* PM担当の名前が中央に寄っていた */
  .pm .nm{flex-direction:row;align-items:center}
  /* 見出しの句切れを守る（「止めずに／回す。」のような泣き別れを防ぐ） */
  .main h4 .nb{display:inline-block}
  /* 360px で上の稼働チップが右端にはみ出していた */
  .hchip{gap:6px;padding:0 10px}
}
@media (max-width:374px){
  .hchip{gap:4px;padding:0 8px;right:16px;justify-content:space-between}
  .hchip b{letter-spacing:0}
  .hchip .st{padding:0 7px 0 6px;gap:5px}
}

/* =====================================================================
   2026-10-03 第4ラウンド（本人の画面収録での指示・正本 copy-proposal-2026-10-02.md §6）
   ===================================================================== */

/* ---- サービス01・02の追加文と「こんな仕事を任せられます」 ---- */
.svc-item .desc.add{margin-top:10px}
.jobs{margin-top:16px;max-width:640px}
.jobs .jh{font-size:14px;font-weight:700;color:var(--navy);letter-spacing:.06em}
/* 2026-10-03 第5ラウンド: 実際の画面は撤回（§7）。業務の種類×出てくるもの×（ロゴ）の整ったカード群に */
.jobs .jq{margin-top:4px;font-family:var(--min);font-weight:600;font-size:17px;color:var(--label);letter-spacing:.04em;line-height:1.7}
.jl{list-style:none;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;margin-top:14px;align-items:start}
.jl li b{font-size:14px;font-weight:700;color:var(--navy);line-height:1.6;letter-spacing:.03em}
.jl li .o{font-size:13px;color:var(--body);line-height:1.6;display:flex;gap:8px;align-items:baseline;flex-wrap:wrap}
.jl li .o small{font-size:12px;font-weight:700;color:var(--slate);border:1px solid var(--line2);border-radius:6px;padding:0 6px;background:#fff;white-space:nowrap}
/* ロゴ（Simple Icons・CC0。各社の公式色・形は変えない・名前を文字で添える。ホットペッパーは公開ロゴ素材が無いので文字だけ） */
.brands{display:flex;flex-wrap:wrap;gap:6px 14px;align-items:center}
.brand{display:inline-flex;align-items:center;gap:6px;font-size:12px;font-weight:700;color:var(--navy);letter-spacing:.02em;white-space:nowrap;line-height:1.6}
.brand img{width:18px;height:18px;flex:none}
.brand.tx{border:1px solid var(--line2);border-radius:6px;padding:0 7px;background:#fff}
.fig.fbr{height:auto;min-height:92px;gap:8px;padding:12px 14px;align-items:flex-start}
.fig.fbr .brands{flex-direction:column;align-items:flex-start;gap:6px}
.fig.fbr .fcap{font-size:12px}
.figc .brands.sm{margin-top:8px}
.jobs .jf{margin-top:16px;font-size:15px;font-weight:700;color:var(--navy)}

/* ---- AI社員: 導入効果の一文 ---- */
.crew .sec-h .eff{max-width:600px;margin-top:20px}

/* ---- 稼働ボード ---- */
.pm .nm h3 small{display:block;font-size:12px;font-weight:500;color:var(--slate);white-space:normal;letter-spacing:0;line-height:1.5}
.row[data-k="always"] .t small{white-space:normal}
.toast[hidden],.rows>.now small[hidden]{display:none}
/* マニュアル担当の図: スマホ枠（ダミー画面に見える）→ 書類（手順書）の形に（§7） */
.fph{width:56px;height:70px;border-radius:6px;padding:9px 7px 0}
.fph::before{display:none}
.fph b{height:6px;width:70%}
/* 監査担当の点検表 */
.fchk{width:58px;height:70px;background:#fff;border:1.3px solid var(--navy);border-radius:6px;padding:12px 8px 0 22px;display:flex;flex-direction:column;gap:14px;flex:none}
.fchk i{display:block;height:3px;border-radius:2px;background:#C9D4E8;position:relative}
.fchk i::before{content:"";position:absolute;left:-15px;top:-4px;width:9px;height:9px;border:1.3px solid var(--navy);border-radius:2px;background:#fff}
.fchk i:first-child::after{content:"";position:absolute;left:-12px;top:-4px;width:4px;height:7px;border-right:1.6px solid var(--orange);border-bottom:1.6px solid var(--orange);transform:rotate(40deg)}

/* 時刻レール: キャラの重なりをなくす（本人「ちょっとだけ被ってる」）。
   1時間しか離れていない担当（9時と10時・13時と14時）は、片方を一段上げて細い線で点とつなぐ。
   NOW の札はレールの下へ移し、キャラと重ならないようにする */
.rail24{padding-bottom:66px}
.rail24 .lab{margin-bottom:104px}
.rl .mk.up .ch{margin-bottom:36px}
.rl .mk.up::before{content:"";position:absolute;left:50%;bottom:11px;height:36px;border-left:1px dashed rgba(22,38,79,.45)}
.rl .now{top:-12px;height:48px}
.rl .now span{top:calc(100% + 2px)}
.rl .now::after{bottom:auto;top:-4px}
.rl .tk{z-index:1}
@media (prefers-reduced-motion:no-preference){.rl .now{--now-len:42px}}
@media (min-width:761px) and (max-width:960px){
  .rail24 .lab{margin-bottom:96px}
}

/* ---- 進め方（新しい節） ---- */
.proc{background:var(--cream);padding:110px 0 100px}
.psteps{list-style:none;display:grid;grid-template-columns:repeat(3,1fr);gap:24px;margin-top:48px}
.psteps li{position:relative;background:#fff;border:1px solid var(--line);border-radius:18px;padding:94px 28px 30px;box-shadow:0 26px 50px -40px rgba(22,38,79,.45)}
.psteps .n{position:absolute;left:28px;top:26px;width:52px;height:52px;border-radius:999px;border:1.5px solid var(--navy);display:grid;place-items:center;font-family:var(--it);font-style:italic;font-size:26px;color:var(--navy);background:var(--cream)}
.psteps li:first-child .n{background:var(--navy);color:#fff}
.psteps li:not(:last-child)::after{content:"";position:absolute;top:51px;left:92px;right:-24px;border-top:1.5px dashed rgba(22,38,79,.4)}
.psteps h3{font-family:var(--min);font-weight:600;color:var(--navy);line-height:1.55}
.psteps p{margin-top:12px;color:var(--body)}
.pnote{margin-top:22px;font-size:14px;line-height:1.9;color:var(--body);padding:14px 18px;border-radius:6px;background:var(--card2);max-width:920px}
@media (max-width:1180px){
  .psteps{gap:16px}
  .psteps li{padding:86px 22px 24px}
  .psteps .n{left:22px;top:22px}
  .psteps li:not(:last-child)::after{top:47px;left:82px;right:-16px}
}
@media (max-width:760px){
  .proc{padding:56px 0 52px}
  .psteps{grid-template-columns:1fr;gap:12px;margin-top:26px}
  .psteps li{padding:20px 18px 20px 82px;min-height:86px}
  .psteps .n{left:18px;top:18px;width:46px;height:46px;font-size:23px}
  .psteps li:not(:last-child)::after{top:64px;left:41px;right:auto;bottom:-13px;border-top:0;border-left:1.5px dashed rgba(22,38,79,.4)}
  .psteps p{margin-top:6px}
  .pnote{padding:12px 14px}
  .jl{grid-template-columns:1fr;gap:8px}
  .jobs .jq{font-size:16px}
  .rail24{padding-bottom:58px}
  .rl .mk.up .ch{margin-bottom:0}
  .rl .mk.up::before{display:none}
  .rl .now{top:-8px;height:38px}
}

/* =====================================================================
   金継ぎ診断（2026-10-03・SHINDAN-20261003.md）の畳み込み。修理デモ kintsugi-repair.css を !important なしで本体へ。
   文字は「役割ごとに1本のclamp」（幅で連続的に変わる。メディアクエリごとの値の割れをなくす）。節ラベルは12px。
   ===================================================================== */
:root{
  --fs-h2:clamp(29px,calc(21px + 2vw),50px);         /* 節の見出し（全節共通） */
  --fs-h3l:clamp(22px,calc(18.5px + .9vw),30px);     /* 大きい小見出し（サービス名・約束・導入の流れ・店舗名・進め方） */
  --fs-h3m:clamp(17px,calc(15.5px + .35vw),20px);    /* 中の小見出し（流れの段・約束の各項・よくある質問） */
  --fs-h3s:clamp(14px,calc(12.5px + .25vw),16px);    /* 小さい見出し（担当名・動詞札・お知らせ） */
  --fs-board:clamp(14px,calc(9.6px + .72vw),20px);   /* 稼働ボードの各行の一行見出し */
  --fs-lead:clamp(17px,calc(14.8px + .57vw),23px);   /* リード（ヒーローの2行・引用・スローガン） */
  --fs-body:15px; --fs-note:14px; --fs-lbl:12px;
  /* 色の元栓（似て非なる色を役割ごとに1本へ。承認待ちの淡い橙・節の地の拍は残す） */
  --slate:#465061; --nightink:#16264F; --line2:#C9D4E8; --sand:#F5F7FA;
}
.lbl,.sec-h p.lbl{font-size:var(--fs-lbl)}
.sec-h p.lbl{color:var(--label);letter-spacing:.24em}
.sec-h p.lbl::before{margin-top:.9em}
.sec-h h2,.svc .sec-h h2,.crew .sec-h h2,.appr h2,.mean h2,.founder h2,.cta h2{font-size:var(--fs-h2)}
.svc-item h3,.prom .ph h3,.intro h3,.shop h3,.psteps h3{font-size:var(--fs-h3l)}
.prom li h4,.frow h3,.qa h3{font-size:var(--fs-h3m)}
.verb,.nm h3,.pm .nm h3,.nitem h3{font-size:var(--fs-h3s)}
.main h4,.pm .main h4,.row.act .main h4{font-size:var(--fs-board)}
.svc-item .cav,.crew .note,.founder dt,.form .alt,.frow .k,.main p,.row.act .main p,.pnote{font-size:var(--fs-note)}
.hero .lead p,.svc-item .desc,.frow p,.sec-h p:not(.lbl),.crew .top .ld,.toast p,.prom li p,.isteps li,.appr .txt p,.mean .body p,.field .top p,.founder .msg p,.founder dd,.qa p,.steps li,.psteps p{font-size:var(--fs-body)}
.hero .lead .tag,.mean blockquote,.appr .slogan{font-size:var(--fs-lead)}
.hero .lead .free{font-size:13px}
.hero .lead .who{font-size:15px}
@media (max-width:760px){
  .steps li{font-size:var(--fs-note)}
  .hero .lead p:not(.tag):not(.who):not(.free){font-size:14px}
}
/* 文字色: 本文色4種→--body、濃い文字2種→--ink */
.appr .txt p,.mean .body p,.founder .msg p,.crew .top .ld,.main p,.count .to{color:var(--body)}
.cta .sec-h p:not(.lbl):not(.free),.hero .lead p:not(.who):not(.free):not(.tag){color:var(--ink)}
/* 淡い面 → #F5F7FA の1本、青灰の線・塗り → #C9D4E8 の1本、生成りの線 → --line */
.rail24 .lab .nt,.rl,.st.run,.fig,.row.nt .fig,.main .meta span,.st.done{background:#F5F7FA}
.fig,.row.nt .fig,.st.done,.out span,.shop .area,.st.plan,.fpop.wt,.inp,.chips span{border-color:#C9D4E8}
.rl .nz,.fdoc i,.fph i,.ftbl i.h,.fbars i:not(.hit){background:#C9D4E8}
.ftbl i{border-color:#C9D4E8}
.svc-item .go,.nitem .go,.qa .tg,.nitem:not(.imp),.appr .tags span{border-color:var(--line)}
/* 読めない場所: 棒グラフの札「ここ」を白地に紺文字 */
.fbars i.hit::after{background:#fff;color:var(--navy);box-shadow:inset 0 0 0 1px var(--navy)}
/* 目視の崩れ（修理デモで確認済みの分） */
.hpanel small{width:156px}
.toast p{white-space:normal;min-width:0}
@media (max-width:1180px){
  .prom li h4{white-space:normal}
  .b-head{flex-wrap:wrap}
  .b-stat{flex-wrap:wrap;white-space:normal;gap:8px 14px}
  .toast{flex-wrap:wrap;gap:8px 14px}
}
@media (min-width:761px) and (max-width:1180px){
  .prom ol{grid-template-columns:1fr}
  .prom li{padding:20px 0;border-left:0;border-top:1px solid rgba(255,255,255,.22)}
  .prom li:first-child{border-top:0;padding-top:4px}
  .prom li:last-child{padding-bottom:0}
}
@media (max-width:760px){
  .svc-item .cav .nb{white-space:normal}
  .hero .eyebrow{letter-spacing:.1em;white-space:nowrap}
}
/* 角丸: 小6・面18・丸の3種へ */
.svc-item .sub,.frow h3 small,.rl,.rl .nz,.rl .nz.b,.rl .done,.rl .cont,.main .meta span,.fdoc,.fdoc i,.fph,.fph b,.fph i,.fpop,.ftbl,.fstamp,.fcards i,.fchips span,.fpost i,.out span,.req,.verb,.jc,.pnote,.fchk{border-radius:6px}
.fbars i{border-radius:6px 6px 0 0}
.hero .bubble{border-radius:18px 18px 6px 18px}
.svc .arch .cap,.svc-item.on,.board,.fig,.toast,.prom,.appr .txt .add,.nitem,.form,.inp,.nav.open,.psteps li{border-radius:18px}
@media (max-width:760px){.steps li{border-radius:18px}}
.b-foot{border-radius:0 0 18px 18px}
.hpanel{border-radius:116px 116px 18px 18px}
.av{border-radius:35px 35px 18px 18px}
.shop .img{border-radius:999px 999px 18px 18px}
.dot,.hpanel .node,.band i,.mini i,.rl .mk i,.st i,.floop,.svc-item .go,.frow .n,.mean .kanji,.nitem .go,.qa .tg,.burger,.isteps li::before,.rl .now::after,.row .t::after,.prog b::before,.ch::after,.psteps .n{border-radius:999px}
@media (max-width:760px){
  .av{border-radius:999px 999px 6px 6px}
  .mean .c1{border-radius:85px 85px 18px 18px}
  .mean .c2{border-radius:90px 90px 18px 18px}
  .shop .img{border-radius:59px 59px 18px 18px}
}
/* 節ラベルは全節で同じ（「.mean .body p」「.field .top p」など本文の指定に負けないよう、最後に1段強く） */
section .sec-h p.lbl{font-size:var(--fs-lbl);color:var(--label);letter-spacing:.24em;line-height:1.9}
@media (max-width:760px){
  /* 小カードが画像のクマの頭に掛かる → 担当数の行（上のチップと同じ情報）を省いて背を低く */
  .hero .bubble{top:130px}
  .hero .bubble>span{display:none}
  .hero .bubble small.nt{margin-top:4px;padding-top:4px}
  /* 「2026年度内に10店舗へ」が長くなり右にはみ出す → 折り返し可に */
  .count{flex-wrap:wrap;row-gap:10px}
}
/* 時刻レールの NOW は、行の NOW 線（.rows > .now）用の指定を受けないように */
.rl .now::before{display:none}
@media (prefers-reduced-motion:no-preference){.rl .now::before{display:block}}
@media (max-width:760px){
  .rail24 .lab{margin-bottom:30px}
  .rl .now{padding:0;display:block}
  .rl .now span{position:absolute;left:-1px;transform:translateX(-50%)}
}
/* 動き（第4ラウンドの追加分にも同じ調子で。動きを減らす設定では上の一括指定で止まる） */
@media (prefers-reduced-motion:no-preference){
  .anim .psteps.rv.in:not(.pre) li,.anim .rv.in:not(.pre) .jl li{animation:rise .65s cubic-bezier(.2,.7,.2,1) backwards}
  .anim .psteps.rv.in:not(.pre) li:nth-child(2){animation-delay:.09s}
  .anim .psteps.rv.in:not(.pre) li:nth-child(3){animation-delay:.18s}
  .anim .rv.in:not(.pre) .jl li{animation-delay:calc(.25s + var(--d,0s))}
  .anim .rv.in:not(.pre) .jl li:nth-child(2n){--d:.06s}
}
@media (hover:hover) and (prefers-reduced-motion:no-preference){
  .jc{transition:background .25s,border-color .25s}
  .jc summary:hover{background:#fff}
  .jc summary:hover .jm{text-decoration:underline;text-underline-offset:3px}
}
@media (max-width:374px){
  /* 360px: 小カードの下端がクマの耳に触れる → 少し上げて背を低く */
  .hero .bubble{top:124px;padding:7px 12px}
  .hero .bubble b{font-size:13px}
}

/* 相談の欄の3ステップ（PC）は行の区切り線なので角丸を付けない（金継ぎの角丸の集約で下の角が丸く出ていた） */

/* 2026-10-03 本人「11体の集合写真は、トップの一番上のように横幅いっぱいに」: 相談の欄の直前に全幅の写真の帯。
   上下の端は前後の節の地（生成り）へ溶かす。空の部分にヒーロー下の帯と同じ言葉と「相談する」 */
.teamband{position:relative;background:var(--cream);overflow:hidden;height:clamp(560px,56vw,86vh)}
.tb-photo{position:absolute;inset:0;-webkit-mask-image:linear-gradient(180deg,transparent 0,rgba(0,0,0,.35) 9%,#000 24%,#000 90%,transparent 100%);mask-image:linear-gradient(180deg,transparent 0,rgba(0,0,0,.35) 9%,#000 24%,#000 90%,transparent 100%)}
.tb-photo img{display:block;width:100%;height:100%;max-width:none;object-fit:cover;object-position:50% 68%;transform-origin:50% 70%}
.tb-photo::after{content:"";position:absolute;inset:0;pointer-events:none;background:radial-gradient(ellipse 46% 30% at 50% 17%,rgba(250,248,244,.62) 0%,rgba(250,248,244,.32) 55%,rgba(250,248,244,0) 100%)}
.tb-copy{position:absolute;left:0;right:0;top:clamp(64px,9%,110px);z-index:2;display:flex;flex-direction:column;align-items:center;gap:20px;text-align:center;padding:0 var(--gut)}
.tb-l{font-family:var(--min);font-weight:600;font-size:clamp(22px,calc(14px + 1.6vw),40px);line-height:1.5;color:var(--navy);letter-spacing:.12em;text-shadow:0 0 18px rgba(250,248,244,.85)}
@media (prefers-reduced-motion:no-preference){
  .tb-photo img{animation:drift 28s ease-in-out infinite alternate}
}
@media (max-width:760px){
  /* スマホ: 文字は写真の上（帯の外）。写真は全幅のまま高さを抑え、11体が切れないよう下寄り */
  .teamband{height:auto;display:flex;flex-direction:column;padding-top:28px}
  .tb-copy{position:static;order:-1;gap:16px;padding:0 16px}
  .tb-l{font-size:20px;letter-spacing:.08em;text-shadow:none}
  .tb-photo{position:relative;inset:auto;height:77vw;margin-top:8px;-webkit-mask-image:linear-gradient(180deg,transparent 0,#000 16%,#000 92%,transparent 100%);mask-image:linear-gradient(180deg,transparent 0,#000 16%,#000 92%,transparent 100%)}
  .tb-photo img{object-position:50% 78%}
  .tb-photo::after{display:none}
}
/* 帯の前後の余白: 写真の溶かしが余白の役をするので、よくある質問の下と相談の欄の上を詰める */
.faq:has(+ .teamband){padding-bottom:48px}
.teamband + .cta{padding-top:64px}
@media (max-width:760px){
  .faq:has(+ .teamband){padding-bottom:12px}
  .teamband + .cta{padding-top:32px}
}

/* 2026-10-03 本人: サービス02の8枚に線画アイコン（紺の細線＋橙の差し色1点・淡い青灰の丸い下地）と、押すと開く詳細。
   詳細の文言は稼働ボードの該当担当のものをそのまま使う（新しい説明文は作らない）。閉じた時の高さは同じ行でそろえる（home.js） */
.jc{display:block;background:var(--card2);border:1px solid var(--line2);border-radius:6px;overflow:hidden}
.jc summary{list-style:none;cursor:pointer;display:grid;grid-template-columns:40px minmax(0,1fr);column-gap:12px;align-items:start;padding:14px 14px 34px;position:relative;min-height:var(--jch,0px);border-radius:6px}
.jc summary::-webkit-details-marker{display:none}
.jc summary::marker{content:""}
.ji{width:40px;height:40px;border-radius:999px;background:#E9EEF5;display:grid;place-items:center}
.ji svg{display:block}
.jt{display:flex;flex-direction:column;gap:6px;min-width:0}
.jm{position:absolute;right:12px;bottom:9px;font-size:12px;font-weight:700;color:var(--navy);letter-spacing:.06em;line-height:1.6;white-space:nowrap}
.jm::before{content:"くわしく ＋"}
.jc[open] .jm::before{content:"とじる −"}
.jc[open]{background:#fff;border-color:#B9C6DA}
.jd{margin:0 14px;padding:12px 0 16px;border-top:1px dashed var(--line2)}
.jw{display:flex;align-items:center;gap:10px;font-size:13px;font-weight:700;color:var(--navy);letter-spacing:.04em}
.jav{width:36px;height:36px;border-radius:999px;background:#E9EEF5;display:flex;align-items:flex-end;justify-content:center;overflow:hidden;flex:none}
.jav img{height:32px;width:auto;max-width:none}
.jd dl{margin-top:10px;display:grid;gap:4px}
.jd dt{font-size:12px;font-weight:700;color:var(--label);letter-spacing:.08em;margin-top:6px}
.jd dd{font-size:13.5px;line-height:1.85;color:var(--body)}
.jd dd small{font-size:12.5px;color:var(--slate)}
@media (prefers-reduced-motion:no-preference){
  .jc[open] .jd{animation:jopen .32s ease both}
}
@keyframes jopen{from{opacity:0;transform:translateY(-4px)}to{opacity:1;transform:none}}
/* サービス02は中に開閉ボタンを持つので、全体をリンクにせず右の矢印だけリンクに */
div.svc-item .go{text-decoration:none}
.jc summary:focus-visible{outline-offset:-3px}

/* 2026-10-03 「ほしあい」のもう一つの読み方（福中さん案・本人指示）。本文と同じ明朝の2行を、細い左罫で静かに添える */
.yomi{margin:28px 0 30px;padding:4px 0 4px 20px;border-left:2px solid var(--orange,#EC7A2C)}
.yomi .yomi-l{font-size:12px;letter-spacing:.12em;color:#6B6257;margin:0 0 10px;font-weight:700}
.yomi .yomi-t{font-family:"Shippori Mincho B1",serif;font-size:clamp(17px,1.5vw,20px);line-height:1.8;color:#16264F;margin:0;letter-spacing:.06em}
.yomi .nb{display:inline-block}
.mean .body .yomi p{margin-top:0}
.mean .body .yomi .yomi-l{font-size:12px;line-height:1.6;color:#6B6257;margin-bottom:10px}
.mean .body .yomi .yomi-t{font-family:var(--min);font-size:clamp(17px,1.5vw,20px);line-height:1.8;color:#16264F}

/* 2026-10-03 音の重なりの手がかり（本人「追加して」）。小さく、ゴシックで添える */
.yomi .yomi-k{margin:8px 0 0;font-size:12px;letter-spacing:.14em;color:#6B6257}
.yomi .yomi-k b{color:var(--orange,#EC7A2C);font-weight:700}
.mean .body .yomi .yomi-k{margin-top:8px;font-size:12px;line-height:1.6;color:#6B6257}

/* 2026-10-10 正式名称（名刺と同じ見せ方）: 「×AI」だけ橙。名刺と同じ #D96518（ロゴの #EC7A2C を少し深く。生成り地 #FAF8F4 で 3.40:1（白地なら 3.61:1）＝大きい文字の基準3:1以上・本文の基準4.5:1には届かない） */
.svc-item h3 .nm{min-width:0}
.svc-item h3 .xai{color:#D96518}
.svc-item .desc.catch{color:var(--navy);font-weight:700}
.svc .sec-h p.svc-catch{margin-top:18px;font-family:var(--min);font-weight:600;font-size:var(--fs-h3m);color:var(--navy);line-height:1.7}
.svc-item .desc.catch br{display:inline}
