/* 商品ページ（bookmap-mt5 / urikai-system）共通。tools.html（道具セット）と同じ昼の側の設計。
   2026-10-25 本人指摘で作り直し：
   ・ボタンは役割で3段階（購入＝金の塗り／次の一歩＝線／そのほか＝文字のリンク）。購入の主役は「セットで買う」
   ・意味の伝わらない日本語の小見出しをやめ、英字の短い見出しにする（challenge と同じ形）
   ・「何をするか」は番号付きのカード。記録は暗い帯でページの山場にする
   ・囲みの罫線は増やさない（紙が浮いて見える影だけ） */
:root{
  --ink:#F7F5F0;--panel:#FFFFFF;--line:#E2DCD0;--line-2:#C9C0AE;
  --fg:#111A24;--fg-dim:#384553;--fg-faint:#5C6875;
  --brass:#9A6E24;--brass-2:#B8893A;--brass-deep:#7A5618;--brass-soft:rgba(154,110,36,.09);
  --night:#0B1626;--night-2:#13243A;--break:#B23A22;
  --measure:68rem;--col:40rem;
  --shadow:0 18px 50px rgba(17,26,36,.08),0 2px 6px rgba(17,26,36,.04);
}
*{box-sizing:border-box}
html{-webkit-text-size-adjust:100%;scroll-behavior:smooth}
body{margin:0;background:var(--ink);color:var(--fg);
  font-family:"Noto Sans JP","Hiragino Kaku Gothic ProN","Yu Gothic",sans-serif;
  font-weight:400;font-size:17px;line-height:1.95;letter-spacing:.01em;-webkit-font-smoothing:antialiased}
h1,h2,h3{font-family:"Shippori Mincho","Yu Mincho",serif;font-weight:600;margin:0;line-break:strict;text-wrap:balance}
p{margin:0}
a{color:inherit}
img{max-width:100%;display:block}
.mono{font-family:"IBM Plex Mono",ui-monospace,monospace;font-variant-numeric:tabular-nums}
.wrap{max-width:var(--measure);margin:0 auto;padding:0 1.5rem}
.col{max-width:var(--col)}
.center{text-align:center}
.center .col{margin-left:auto;margin-right:auto}

/* 小見出し（英字） */
.eyebrow{font-family:"IBM Plex Mono",monospace;font-size:.82rem;font-weight:600;letter-spacing:.22em;text-transform:uppercase;color:var(--brass);display:flex;align-items:center;gap:.8rem}
.eyebrow::before{content:"";width:1.8rem;height:1px;background:var(--brass)}
.center .eyebrow{justify-content:center}
.center .eyebrow::after{content:"";width:1.8rem;height:1px;background:var(--brass)}

/* ===== ボタン：3段階 ===== */
.btn{display:inline-flex;flex-direction:column;align-items:center;justify-content:center;gap:.1rem;
  text-decoration:none;cursor:pointer;font-family:"Noto Sans JP",sans-serif;line-height:1.4;text-align:center;
  transition:transform .15s ease,box-shadow .15s ease,background .15s ease}
.btn:focus-visible{outline:2px solid var(--fg);outline-offset:3px}
/* 1. 購入（主役） */
.btn-buy{padding:1.05rem 2.4rem;border-radius:999px;color:#fff;font-weight:700;font-size:1.04rem;letter-spacing:.04em;
  background:linear-gradient(180deg,var(--brass-2),var(--brass) 55%,var(--brass-deep));
  box-shadow:0 10px 26px rgba(122,86,24,.32),inset 0 1px 0 rgba(255,255,255,.35)}
.btn-buy:hover{transform:translateY(-1px);box-shadow:0 14px 32px rgba(122,86,24,.38),inset 0 1px 0 rgba(255,255,255,.35)}
.btn-buy small{font-weight:500;font-size:.8rem;letter-spacing:.02em;opacity:.92}
.btn-buy .arw{font-family:"IBM Plex Mono",monospace}
/* 2. 次の一歩（線） */
.btn-line{padding:.85rem 1.8rem;border-radius:999px;border:1px solid var(--fg);color:var(--fg);font-weight:500;font-size:.95rem;background:transparent}
.btn-line:hover{background:var(--fg);color:#fff}
/* 3. 文字のリンク */
.link{color:var(--brass);font-weight:500;text-decoration:none;border-bottom:1px solid rgba(154,110,36,.35);padding-bottom:.1rem}
.link:hover{border-bottom-color:var(--brass)}
/* 暗い帯の上 */
.on-dark .btn-line{border-color:rgba(255,255,255,.7);color:#fff}
.on-dark .btn-line:hover{background:#fff;color:var(--night)}
.on-dark .link{color:#E7C77E;border-bottom-color:rgba(231,199,126,.4)}

/* ===== 上の帯 ===== */
.bar{position:sticky;top:0;z-index:50;background:rgba(247,245,240,.92);backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);border-bottom:1px solid var(--line)}
.bar-in{max-width:var(--measure);margin:0 auto;padding:.7rem 1.5rem;display:flex;align-items:center;justify-content:space-between;gap:1rem}
.brand{font-family:"IBM Plex Mono",monospace;font-size:.8rem;letter-spacing:.3em;text-decoration:none;white-space:nowrap}
.brand span{color:var(--brass)}
.bar .btn-buy{padding:.55rem 1.3rem;font-size:.86rem;box-shadow:0 6px 16px rgba(122,86,24,.28)}

/* ===== 冒頭 ===== */
.hero{padding-top:clamp(3.2rem,8vw,6rem);padding-bottom:clamp(3.5rem,8vw,6rem)}
.hero-grid{display:grid;gap:2.8rem;align-items:center}
@media(min-width:62rem){.hero-grid{grid-template-columns:1fr 1.08fr;gap:3.6rem}}
.hero h1{font-size:clamp(2.1rem,5.6vw,3.5rem);line-height:1.3;margin:1.3rem 0 1.4rem}
.hero .lede{color:var(--fg-dim);font-size:1.06rem;max-width:34rem}
.hero .lede strong{color:var(--fg);font-weight:600}
.offer{margin-top:2.2rem}
.offer .price{display:flex;align-items:baseline;flex-wrap:wrap;gap:.2rem .6rem;color:var(--fg-dim);font-size:.95rem}
.offer .price b{font-family:"IBM Plex Mono",monospace;font-size:1.7rem;color:var(--fg);font-weight:600}
.offer .acts{display:flex;flex-wrap:wrap;align-items:center;gap:1rem 1.6rem;margin-top:1.2rem}
.offer .note{margin-top:.9rem;font-size:.88rem;color:var(--fg-faint)}

/* 製品画面の額 */
.device{margin:0}
.device .frame{background:#05080D;border-radius:14px;padding:10px;box-shadow:0 30px 70px rgba(11,22,38,.28),0 4px 12px rgba(11,22,38,.12)}
.device .frame img{border-radius:6px;width:100%;height:auto}
.device figcaption{margin-top:.9rem;font-size:.88rem;color:var(--fg-faint);line-height:1.8}
.device .video{margin-top:1rem}

/* URIKAI System：パネルの画像を大きく目立たせる（2026-10-25 本人指示）。画像が正方形に近いので、画像側の列を広げる */
@media(min-width:62rem){.hero-grid.hero-panel{grid-template-columns:.82fr 1.18fr;gap:3.2rem}}
.panel-shot{position:relative}
.panel-shot::before{content:"";position:absolute;inset:-8% -6% -6% -6%;background:radial-gradient(closest-side,rgba(154,110,36,.22),transparent 72%);z-index:0;pointer-events:none}
.panel-shot .frame{position:relative;z-index:1;padding:14px;border-radius:18px;box-shadow:0 40px 90px rgba(11,22,38,.34),0 6px 18px rgba(11,22,38,.14)}
.panel-shot .frame img{border-radius:8px}
@media(min-width:62rem){.panel-shot{max-width:36rem;margin-left:auto}}
.chart-shot{margin:2rem 0 0}

/* ===== 本文の段 ===== */
section{padding-top:clamp(4rem,9vw,6.5rem);padding-bottom:clamp(4rem,9vw,6.5rem)}
section.tint{background:#EFEBE2}
h2{font-size:clamp(1.55rem,3.8vw,2.25rem);line-height:1.45;margin:1rem 0 1.6rem}
h3{font-size:1.12rem;line-height:1.6}
.body{color:var(--fg-dim);font-size:1.02rem}
.body strong{color:var(--fg);font-weight:600}
.body p + p{margin-top:1.1rem}

/* 考え方（読ませる段） */
.concept .col{max-width:42rem}
.concept .lead{font-family:"Shippori Mincho",serif;font-size:clamp(1.15rem,2.6vw,1.4rem);line-height:1.9;color:var(--fg);margin-bottom:1.6rem;text-wrap:balance}
.concept .body p:not(.lead){text-align:left}

/* 機能のカード */
.cards{display:grid;gap:1.4rem;margin-top:2.4rem}
@media(min-width:48rem){.cards{grid-template-columns:1fr 1fr;gap:1.6rem}}
.card{background:var(--panel);border-radius:14px;padding:2rem 1.9rem;box-shadow:var(--shadow)}
.card .no{font-family:"IBM Plex Mono",monospace;font-size:1.9rem;font-weight:600;color:var(--brass);line-height:1;display:block}
.card .tag{font-size:.82rem;letter-spacing:.12em;color:var(--fg-faint);display:block;margin:.7rem 0 .5rem}
.card h3{margin-bottom:.6rem}
.card p{color:var(--fg-dim);font-size:.98rem}
.after-cards{margin-top:2.4rem;max-width:46rem}

/* 実測の数字 */
.stats{display:grid;gap:1.2rem;margin-top:2.2rem}
@media(min-width:48rem){.stats{grid-template-columns:repeat(3,1fr)}}
.stat{background:var(--panel);border-radius:14px;padding:1.8rem 1.6rem;box-shadow:var(--shadow)}
.stat .n{font-family:"IBM Plex Mono",monospace;font-size:clamp(1.9rem,4.6vw,2.5rem);font-weight:600;line-height:1.1;display:block;color:var(--fg)}
.stat .k{font-size:.9rem;color:var(--fg-dim);display:block;margin-top:.7rem;line-height:1.7}
.stats-note{margin-top:1.8rem;font-size:.95rem;color:var(--fg-dim);max-width:46rem;line-height:1.9}

/* 記録の帯（暗い山場） */
.proof{position:relative;color:#E9EEF5;background:var(--night);overflow:hidden}
.proof::before{content:"";position:absolute;inset:0;background:url(img/challenge-ai-hero.jpg) right center/cover no-repeat;opacity:.55}
.proof::after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,var(--night) 0%,rgba(11,22,38,.92) 42%,rgba(11,22,38,.45) 100%)}
.proof .wrap{position:relative;z-index:1}
/* 2026-10-25 本人指示「バナー画像に合わせて文字をもう少し大きく」：見出しは冒頭の見出しと同じ大きさ、説明・ボタンも一段大きく */
.proof{padding-top:clamp(5rem,11vw,8.5rem);padding-bottom:clamp(5rem,11vw,8.5rem)}
.proof .col{max-width:48rem}
.proof .eyebrow{color:#E7C77E;font-size:.92rem}
.proof .eyebrow::before{background:#E7C77E}
.proof h2{color:#fff;font-size:clamp(2.2rem,5.8vw,3.7rem);line-height:1.3;margin:1.2rem 0 1.8rem}
.proof .body{font-size:clamp(1.05rem,2.3vw,1.28rem);line-height:2}
.proof .sp{display:none}
@media(max-width:36rem){.proof .sp{display:inline}}
.proof .btn-line{font-size:1.08rem;padding:1.05rem 2.4rem}
.proof .link{font-size:1.08rem}
.proof .fine{font-size:.92rem}
.proof h2 .gold{background:linear-gradient(180deg,#fff2c4,#e7c77e 45%,#b8893a);-webkit-background-clip:text;background-clip:text;color:transparent}
.proof .body{color:#C9D3E0}
.proof .body strong{color:#fff}
.proof .acts{display:flex;flex-wrap:wrap;align-items:center;gap:1rem 1.6rem;margin-top:2rem}
.proof .fine{margin-top:1.4rem;font-size:.86rem;color:#9FB0C2}

/* 特典 */
.perk{display:grid;gap:1.6rem;align-items:center}
@media(min-width:56rem){.perk{grid-template-columns:1.3fr 1fr;gap:3rem}}
.perk .pill{display:inline-block;font-size:.82rem;font-weight:700;letter-spacing:.08em;color:var(--brass);background:var(--brass-soft);border-radius:999px;padding:.3rem .9rem}
.perk ul{margin:0;padding:0;list-style:none}
.perk li{position:relative;padding-left:1.6rem;color:var(--fg-dim);font-size:.98rem}
.perk li + li{margin-top:.6rem}
.perk li::before{content:"";position:absolute;left:0;top:.75rem;width:.55rem;height:.55rem;border-radius:50%;background:var(--brass)}

/* 価格 */
.plans{display:grid;gap:1.4rem;margin-top:2.4rem;align-items:stretch}
@media(min-width:52rem){.plans{grid-template-columns:1.15fr 1fr}}
.plan{background:var(--panel);border-radius:16px;padding:2.3rem 2rem;box-shadow:var(--shadow);display:flex;flex-direction:column;position:relative}
.plan.reco{outline:2px solid var(--brass);box-shadow:0 24px 60px rgba(122,86,24,.18)}
.plan .badge{position:absolute;top:-.85rem;left:1.6rem;font-size:.8rem;font-weight:700;letter-spacing:.1em;color:#fff;background:var(--brass);border-radius:999px;padding:.2rem .9rem}
.plan .name{font-size:.95rem;color:var(--fg-dim)}
.plan .amt{font-family:"IBM Plex Mono",monospace;font-size:2.3rem;font-weight:600;line-height:1.2;margin:.4rem 0 .1rem}
.plan .amt small{font-family:"Noto Sans JP",sans-serif;font-size:.9rem;font-weight:400;color:var(--fg-dim)}
.plan .save{font-size:.92rem;color:var(--brass);font-weight:600}
.plan ul{margin:1.2rem 0 1.6rem;padding:0;list-style:none;flex:1}
.plan li{position:relative;padding-left:1.5rem;color:var(--fg-dim);font-size:.96rem}
.plan li + li{margin-top:.45rem}
.plan li::before{content:"✓";position:absolute;left:0;color:var(--brass);font-weight:700}
.plan .btn{width:100%}
.plans-note{margin-top:1.4rem;font-size:.9rem;color:var(--fg-faint)}

/* 仕様・質問 */
.tbl{width:100%;border-collapse:collapse;font-size:.96rem;margin-top:.5rem;background:var(--panel);border-radius:14px;overflow:hidden;box-shadow:var(--shadow)}
.tbl th,.tbl td{border-top:1px solid var(--line);padding:.95rem 1.2rem;text-align:left;vertical-align:top;line-height:1.8}
.tbl tr:first-child th,.tbl tr:first-child td{border-top:0}
.tbl th{width:12rem;color:var(--fg-dim);font-weight:500;background:#FBFAF6}
@media(max-width:36rem){.tbl th{width:auto;display:block;padding-bottom:.2rem;border-top:1px solid var(--line)}.tbl tr:first-child th{border-top:0}.tbl td{display:block;border-top:0;padding-top:.1rem}}
details{border-top:1px solid var(--line)}
details:last-of-type{border-bottom:1px solid var(--line)}
summary{cursor:pointer;list-style:none;padding:1.2rem 2.2rem 1.2rem 0;position:relative;font-size:1.04rem;font-weight:500}
summary::-webkit-details-marker{display:none}
summary::after{content:"+";position:absolute;right:.2rem;top:1rem;color:var(--brass);font-family:"IBM Plex Mono",monospace;font-size:1.2rem}
details[open] summary::after{content:"−"}
summary:focus-visible{outline:2px solid var(--brass);outline-offset:2px}
details .ans{padding:0 0 1.4rem;color:var(--fg-dim);font-size:1rem;max-width:46rem;line-height:1.9}
details .ans p + p{margin-top:.7rem}
details .ans a{color:var(--brass)}

/* 最後の購入 */
.closing{text-align:center;background:radial-gradient(60rem 22rem at 50% 0%,rgba(154,110,36,.12),transparent 70%),var(--ink)}
.closing h2{font-size:clamp(1.8rem,4.4vw,2.6rem)}
.closing .body{max-width:36rem;margin:0 auto 2rem}
.closing .acts{display:flex;flex-direction:column;align-items:center;gap:1.1rem}
.closing .links{margin-top:1.6rem;font-size:.92rem;color:var(--fg-dim)}
.closing .links a{color:var(--brass)}

.disc{border-left:2px solid var(--line-2);padding-left:1.2rem;color:var(--fg-dim);font-size:.94rem;line-height:1.85}
.disc + .disc{margin-top:1rem}
footer{border-top:1px solid var(--line);padding-top:2.2rem;padding-bottom:3.2rem;font-size:.9rem;color:var(--fg-faint)}
footer a{color:var(--fg-faint)}
@media(max-width:30rem){.bar .btn-buy small{display:none}.btn-buy{padding:1rem 1.6rem}}
