/*
 * Xtend 公開サイト（トップ・商品ページ）専用スタイル 2026-09-30。
 * LINEリッチメニュー準拠：明るい地・青緑・黄色の差し色・線画アイコン・流線・筆文字。
 * /guide /legal は既存の site.css（ダーク）のまま。このファイルはトップと /product/ 専用。
 */
:root{
  --bg:#F3F8F9; --paper:#FFFFFF; --navy:#16243A; --ink:#2B3A4E; --muted:#5C6B7D;
  --teal:#1E8F8E; --teal-d:#17777A; --teal-2:#37B3B0; --aqua:#BFE6EA; --aqua-2:#E3F3F5;
  --gold:#E0A526; --gold-2:#F5DC9A; --gold-d:#7A5300; --line:#D9E6E8; --line-green:#06C755; --line-green-d:#05A346;
  --shadow:0 10px 30px rgba(22,36,58,.08);
  --f-head:"Zen Kaku Gothic New","Hiragino Kaku Gothic ProN","Hiragino Sans","Yu Gothic","Meiryo",sans-serif;
  --f-brush:"Yuji Syuku","Klee One","Hiragino Mincho ProN","Yu Mincho",serif;
  --f-mono:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;
}
*{box-sizing:border-box}
html{scroll-behavior:smooth;-webkit-text-size-adjust:100%}
html,body{margin:0}
body.lp{background:var(--bg);color:var(--ink);font-family:var(--f-head);font-size:16px;line-height:1.8;-webkit-font-smoothing:antialiased;overflow-x:hidden}
h1,h2,h3{font-family:var(--f-head);color:var(--navy);margin:0;line-height:1.3;letter-spacing:.01em}
h1{font-size:clamp(30px,4.4vw,54px);font-weight:900}
h2{font-size:clamp(24px,2.8vw,34px);font-weight:900}
h3{font-size:18px;font-weight:700}
p{margin:0}
a{color:inherit;text-decoration:none}
img,svg,video{max-width:100%}
.wrap{max-width:1120px;margin-inline:auto;padding-inline:20px}
.skip-link{position:absolute;left:-9999px;top:0;background:var(--navy);color:#fff;padding:10px 16px;z-index:100}
.skip-link:focus{left:8px;top:8px}
:focus-visible{outline:3px solid var(--gold);outline-offset:2px;border-radius:6px}

.eyebrow{font-family:var(--f-mono);font-size:12px;letter-spacing:.14em;color:var(--teal-d);font-weight:700}
.brush{font-family:var(--f-brush);color:var(--navy);font-size:clamp(20px,2.4vw,30px);line-height:1.4}
.brush u{text-decoration:none;background:linear-gradient(transparent 62%,var(--aqua) 62%)}
.note{font-size:13px;color:var(--muted);line-height:1.7}
.btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;padding:14px 24px;border-radius:999px;font-weight:700;font-size:15px;line-height:1.3;border:0;cursor:pointer;font-family:inherit}
.btn-primary{background:var(--navy);color:#fff;box-shadow:0 8px 20px rgba(22,36,58,.18)}
.btn-ghost{background:#fff;color:var(--navy);border:1.5px solid var(--line)}
.btn-line{background:var(--line-green);color:#fff;box-shadow:0 8px 20px rgba(6,199,85,.22)}
.btn-line:hover{background:var(--line-green-d)}
.btn-sm{padding:10px 18px;font-size:13px}
.btn-row{display:flex;gap:12px;flex-wrap:wrap}
.pill{display:inline-block;padding:3px 12px;border-radius:999px;font-size:12px;font-weight:700;background:var(--aqua-2);color:var(--teal-d)}
.pill-gold{background:var(--gold-2);color:var(--gold-d)}
.pill-gray{background:#EEF1F4;color:var(--muted)}

/* カード・アイコン */
.card{background:var(--paper);border-radius:22px;box-shadow:var(--shadow);position:relative;overflow:hidden}
.card .wave{position:absolute;inset:auto -20% -40% -20%;height:60%;background:radial-gradient(60% 60% at 30% 100%,var(--aqua) 0,transparent 70%),radial-gradient(40% 50% at 90% 90%,var(--gold-2) 0,transparent 70%);opacity:.9;pointer-events:none}
.dots{position:absolute;width:70px;height:70px;background-image:radial-gradient(var(--aqua) 1.6px,transparent 1.7px);background-size:10px 10px;opacity:.8;pointer-events:none}
.ico{width:64px;height:64px;display:grid;place-items:center;border-radius:50%;background:var(--aqua-2);flex:none}
.ico svg{width:36px;height:36px;fill:none;stroke:var(--teal);stroke-width:2.6;stroke-linecap:round;stroke-linejoin:round}
.ico svg .g{stroke:var(--gold)} .ico svg .gf{fill:var(--gold);stroke:none}
.bar{display:block;width:34px;height:4px;border-radius:2px;background:var(--teal)} .bar.g{background:var(--gold)}
.chev{position:absolute;right:16px;bottom:16px;width:30px;height:30px;border-radius:50%;background:var(--aqua-2);display:grid;place-items:center;color:var(--teal-d);font-weight:700}

/* ヘッダー */
.site-header{position:sticky;top:0;z-index:40;background:rgba(243,248,249,.92);backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);border-bottom:1px solid rgba(217,230,232,.7)}
.site-header .bar-row{display:flex;align-items:center;justify-content:space-between;gap:14px;padding-block:12px}
.logo{display:flex;align-items:center;gap:10px;font-family:var(--f-head);font-weight:900;color:var(--navy);font-size:21px;line-height:1.15;white-space:nowrap}
.logo i{display:inline-block;width:38px;height:22px;border-radius:12px;background:linear-gradient(90deg,var(--teal) 0 55%,var(--gold) 55%);position:relative;flex:none}
.logo i::after{content:"";position:absolute;inset:5px 9px;border-radius:8px;background:var(--bg)}
.logo small{display:block;font:600 9px/1 var(--f-mono);letter-spacing:.2em;color:var(--muted);margin-top:3px}
nav.top{display:flex;align-items:center;gap:20px;font-size:14px;font-weight:700;color:var(--ink)}
nav.top a:not(.btn):hover{color:var(--teal-d)}
nav.top a[aria-current="page"]{color:var(--teal-d)}
.m-menu{display:none;position:relative}
.m-menu summary{list-style:none;cursor:pointer;width:42px;height:42px;display:grid;place-items:center;border-radius:12px;background:#fff;border:1px solid var(--line)}
.m-menu summary::-webkit-details-marker{display:none}
.m-menu summary svg{width:22px;height:22px;stroke:var(--navy);stroke-width:2.4;fill:none;stroke-linecap:round}
.m-menu nav{position:absolute;right:0;top:50px;width:min(260px,calc(100vw - 32px));background:#fff;border:1px solid var(--line);border-radius:16px;box-shadow:var(--shadow);padding:8px;display:flex;flex-direction:column}
.m-menu nav a{padding:11px 14px;border-radius:10px;font-weight:700;font-size:14px;color:var(--navy)}
.m-menu nav a:hover{background:var(--aqua-2)}
@media(max-width:1000px){nav.top{display:none}.m-menu{display:block}.site-header .bar-row{gap:8px}.site-header .btn-line{padding:9px 14px}}
@media(max-width:430px){.logo{font-size:18px}.logo small{display:none}.logo i{width:32px;height:19px}.logo i::after{inset:4px 8px}.site-header .btn-line{font-size:12px;padding:9px 11px}}

/* ヒーロー・セクション */
.hero-bg{position:relative;overflow:hidden}
.hero-bg::before{content:"";position:absolute;inset:-10% -10% auto -10%;height:120%;background:radial-gradient(45% 55% at 12% 20%,var(--aqua) 0,transparent 70%),radial-gradient(35% 45% at 88% 12%,var(--gold-2) 0,transparent 70%),radial-gradient(60% 50% at 70% 90%,var(--aqua-2) 0,transparent 70%);pointer-events:none}
.hero-bg>*{position:relative}
.hero{padding:44px 0 56px}
.hero .lead{margin:16px 0 22px;max-width:32em}
.section{padding:72px 0}
.section.tight{padding:48px 0}
.sec-head{display:flex;flex-direction:column;gap:8px;margin-bottom:28px}
.sec-head .lead{max-width:40em}
.grid{display:grid;gap:18px}
.g3{grid-template-columns:repeat(3,1fr)} .g2{grid-template-columns:repeat(2,1fr)} .g4{grid-template-columns:repeat(4,1fr)}
.split{display:grid;grid-template-columns:1.1fr .9fr;gap:36px;align-items:center}
.split.rev{grid-template-columns:.9fr 1.1fr}
.split>*{min-width:0}
@media(max-width:800px){.g3,.g2,.g4,.split,.split.rev{grid-template-columns:1fr}.split{gap:24px}.section{padding:52px 0}.hero{padding:28px 0 40px}}
@media(min-width:801px) and (max-width:1000px){.g3{grid-template-columns:repeat(2,1fr)}}
@media(min-width:801px) and (max-width:1180px){.g4{grid-template-columns:repeat(2,1fr)}}

.menu-card{padding:26px 22px 34px;display:flex;flex-direction:column;align-items:center;gap:12px;text-align:center;min-height:190px}
.menu-card>*{position:relative}
.menu-card>.wave,.menu-card>.dots{position:absolute}
.menu-card h3{font-size:19px;font-weight:900}
.menu-card p{font-size:13px;color:var(--muted);line-height:1.6}

/* 対応状況 */
.status{display:flex;flex-wrap:wrap;gap:10px;margin-top:6px}
.status .s{display:inline-flex;align-items:center;gap:8px;background:#fff;border:1px solid var(--line);border-radius:999px;padding:6px 14px 6px 8px;font-size:13px;font-weight:700;color:var(--navy)}
.status .s em{font-style:normal;font-size:11px;padding:2px 9px;border-radius:999px;background:var(--aqua-2);color:var(--teal-d)}
.status .s em.gold{background:var(--gold-2);color:var(--gold-d)}
.status .s em.gray{background:#EEF1F4;color:var(--muted)}
.status .s i{width:22px;height:22px;border-radius:50%;background:var(--aqua-2);display:inline-block;position:relative}
.status .s i::after{content:"";position:absolute;inset:7px;border-radius:50%;background:var(--teal)}
.status .s.wait i::after{background:var(--gold)}
.status .s.soon i::after{background:#B8C2CC}

/* 画面の簡易図（あとで実画面に差し替え） */
figure.shot{margin:0}
figure.shot figcaption{font-size:12px;color:var(--muted);margin-top:8px;text-align:center}
.mock{background:#fff;border:1px solid var(--line);border-radius:16px;overflow:hidden;font-size:12.5px;color:var(--ink);text-align:left}
.mock .bar-top{display:flex;align-items:center;gap:8px;padding:10px 14px;border-bottom:1px solid var(--line);background:#F8FBFC;font-weight:700;color:var(--navy)}
.mock .dot{width:8px;height:8px;border-radius:50%;background:var(--line);display:inline-block}
.mock .row{display:flex;gap:10px;align-items:center;padding:10px 14px;border-bottom:1px solid #EEF3F4;line-height:1.5}
.mock .row:last-child{border-bottom:0}
.mock .chip{padding:2px 8px;border-radius:999px;background:var(--aqua-2);color:var(--teal-d);font-weight:700;font-size:11px;white-space:nowrap;flex:none}
.mock .chip.gold{background:var(--gold-2);color:var(--gold-d)}
.mock .bubble{max-width:86%;padding:10px 12px;border-radius:14px;background:#F1F4F6;margin:8px 14px;font-size:12.5px;line-height:1.55}
.mock .bubble.me{margin-left:auto;background:var(--navy);color:#fff}
.mock .kpi{display:grid;grid-template-columns:repeat(3,1fr);gap:8px;padding:12px 14px}
.mock .kpi div{background:var(--aqua-2);border-radius:10px;padding:8px;text-align:center;font-size:11.5px}
.mock .kpi b{display:block;font-size:20px;color:var(--navy);line-height:1.3}
.shot-stack{display:grid;gap:14px}

/* デモ動画枠 */
.demo-video{position:relative;border-radius:18px;overflow:hidden;background:var(--navy);aspect-ratio:16/9;box-shadow:var(--shadow)}
.demo-video video{width:100%;height:100%;display:block;object-fit:cover;background:var(--navy)}
.demo-video .ph-msg{position:absolute;inset:0;display:none;flex-direction:column;align-items:center;justify-content:center;gap:10px;color:#fff;font-weight:700;background:radial-gradient(60% 70% at 30% 100%,rgba(55,179,176,.5) 0,transparent 70%),radial-gradient(40% 50% at 90% 90%,rgba(224,165,38,.35) 0,transparent 70%),var(--navy)}
.demo-video .ph-msg svg{width:52px;height:52px;fill:none;stroke:#fff;stroke-width:2.4;stroke-linejoin:round}
.demo-video.is-empty video{display:none}
.demo-video.has-video{aspect-ratio:9/19.5;max-width:320px;margin:0 auto;background:#0f1c2e}
.demo-video.has-video video{object-fit:contain}
@media(max-width:700px){.demo-video.has-video{max-width:260px}}
.demo-video.is-empty .ph-msg{display:flex}
.demo-video[data-src=""] video{display:none}
.demo-video[data-src=""] .ph-msg{display:flex}

/* 3ステップ */
.rail{display:grid;grid-template-columns:repeat(3,1fr);gap:0;position:relative}
.rail::before{content:"";position:absolute;left:16%;right:16%;top:38px;height:3px;background:linear-gradient(90deg,var(--teal),var(--aqua),var(--gold));border-radius:2px}
.rail .step{position:relative;padding:0 14px;text-align:center}
.rail .num{width:76px;height:76px;border-radius:50%;background:#fff;border:3px solid var(--teal);display:grid;place-items:center;margin:0 auto 14px;font:900 26px/1 var(--f-head);color:var(--navy);position:relative}
.rail .num.g{border-color:var(--gold)}
@media(max-width:800px){.rail{grid-template-columns:1fr;gap:26px}.rail::before{display:none}}

/* 料金 */
.price{padding:28px;display:flex;flex-direction:column;gap:12px}
.price>*{position:relative}
.price .amt{font-family:var(--f-head);font-size:44px;font-weight:900;color:var(--navy);line-height:1.1}
.price .amt small{font-size:14px;color:var(--muted);font-weight:700;margin-left:6px}
.price ul{margin:0;padding-left:1.2em;font-size:14px;color:var(--ink)}
.price ul li{margin:3px 0}
.pre-row{display:grid;grid-template-columns:repeat(3,1fr);gap:12px;margin-top:14px}
.pre-row div{background:#fff;border:1px solid var(--line);border-radius:14px;padding:12px 14px;font-size:14px;font-weight:700;color:var(--navy);display:flex;align-items:center;gap:10px}
.pre-row b{width:26px;height:26px;border-radius:50%;background:var(--gold-2);color:var(--gold-d);display:grid;place-items:center;font-size:13px;flex:none}
@media(max-width:800px){.pre-row{grid-template-columns:1fr}.price .amt{font-size:38px}}

/* 料金（4プラン・コンパクト表示・2026-10-04プラン改訂） */
.price.compact{padding:20px 18px;gap:8px}
.price.compact .amt{font-size:27px}
.price.compact .amt small{font-size:12px;margin-left:4px}
.price.compact ul{font-size:12.5px;padding-left:1.1em}
.price.compact ul li{margin:2px 0}
.price.compact .btn{margin-top:4px}
.price-addon{background:#fff;border:1px solid var(--line);border-radius:14px;padding:16px 18px;font-size:13.5px;color:var(--ink);display:flex;flex-direction:column;gap:6px;margin-top:14px}
.price-addon b{color:var(--navy)}
.price-note-row{display:flex;flex-wrap:wrap;gap:10px;margin-top:10px;font-size:13px;color:var(--muted)}

/* FAQ */
.faq{display:flex;flex-direction:column;gap:10px}
.faq details{background:#fff;border:1px solid var(--line);border-radius:14px;padding:0}
.faq summary{list-style:none;cursor:pointer;padding:14px 46px 14px 18px;font-weight:700;color:var(--navy);position:relative;line-height:1.6}
.faq summary::-webkit-details-marker{display:none}
.faq summary::after{content:"+";position:absolute;right:16px;top:50%;transform:translateY(-50%);width:26px;height:26px;border-radius:50%;background:var(--aqua-2);color:var(--teal-d);display:grid;place-items:center;font-weight:900}
.faq details[open] summary::after{content:"−"}
.faq .a{padding:0 18px 16px;font-size:14.5px;color:var(--ink)}

/* 商品ページ */
.feature{margin-bottom:64px}
.feature h2{margin:12px 0 10px}
.feature p.body{max-width:30em}
.feature .card.figure-card{padding:14px}
.feature ul.pts{margin:12px 0 0;padding-left:1.2em;font-size:14.5px}
.callout{background:#fff;border:1px solid var(--line);border-left:5px solid var(--gold);border-radius:14px;padding:18px 20px;display:flex;flex-direction:column;gap:6px;font-size:14.5px}
.callout strong{color:var(--navy)}
.table-lite{width:100%;border-collapse:collapse;background:#fff;border-radius:16px;overflow:hidden;box-shadow:var(--shadow);font-size:14px}
.table-lite th,.table-lite td{padding:12px 16px;border-bottom:1px solid #EEF3F4;text-align:left;vertical-align:top;line-height:1.6}
.table-lite th{width:11em;background:#F8FBFC;color:var(--navy)}
.table-lite tr:last-child th,.table-lite tr:last-child td{border-bottom:0}
@media(max-width:800px){.table-lite th{width:7.5em}.table-lite th,.table-lite td{padding:10px 12px}}
.tag-row{display:flex;flex-wrap:wrap;gap:8px}
.ph{display:inline-block;padding:4px 10px;border-radius:8px;background:#FFF4D6;color:var(--gold-d);font-size:13px;font-weight:700;border:1px dashed var(--gold)}
.final{text-align:center;padding:40px 24px}
.final>*{position:relative}
.final h2{margin-bottom:10px}
.final .btn-row{justify-content:center;margin-top:18px}

/* フッター（案A：明るい地に6つのカード） */
footer.site-footer{position:relative;overflow:hidden;background:var(--paper);border-top:1px solid var(--line);padding:56px 0 28px;color:var(--ink);font-size:inherit}
footer.site-footer::before{content:"";position:absolute;inset:auto -10% -60% -10%;height:120%;background:radial-gradient(50% 50% at 20% 100%,var(--aqua) 0,transparent 70%),radial-gradient(30% 40% at 85% 100%,var(--gold-2) 0,transparent 70%);pointer-events:none}
footer.site-footer>*{position:relative}
.foot-links{display:grid;grid-template-columns:repeat(3,1fr);gap:12px}
.foot-links a{display:flex;align-items:center;gap:10px;padding:14px 16px;border-radius:14px;background:#fff;border:1px solid var(--line);font-weight:700;color:var(--navy);font-size:14px;line-height:1.4}
.foot-links a:hover{border-color:var(--teal-2)}
.foot-links a span.i{width:34px;height:34px;border-radius:50%;background:var(--aqua-2);display:grid;place-items:center;flex:none}
.foot-links a svg{width:20px;height:20px;fill:none;stroke:var(--teal);stroke-width:2.4;stroke-linecap:round;stroke-linejoin:round}
.foot-links a svg .g{stroke:var(--gold)} .foot-links a svg .gf{fill:var(--gold);stroke:none}
.foot-links.grid-flat{display:grid}
.legal{display:flex;flex-wrap:wrap;gap:8px 18px;font-size:12.5px;color:var(--muted);margin-top:26px}
.legal a{color:var(--muted);text-decoration:underline;text-underline-offset:3px}
.legal a:hover{color:var(--navy)}
@media(max-width:800px){.foot-links{grid-template-columns:1fr 1fr}}
@media(max-width:480px){.foot-links{grid-template-columns:1fr}}
.line-sp{display:none}
@media(max-width:1000px){.line-sp{display:inline-flex}}

.logo .logo-mark{width:40px;height:20px;flex:none;display:block;object-fit:contain}
@media(max-width:430px){.logo .logo-mark{width:34px;height:17px}}
