/* SANDLOCK LP — セクションB（固定ヘッダー／仕様／オファー／FAQ／ラスト／フッター） */
.wrap--narrow{width:min(820px,100% - var(--gutter)*2)}
.btn .roll{white-space:nowrap}
.btn--sm{min-height:44px;padding:0 1.5em;font-size:.9rem}

/* ===== 固定ヘッダー ===== */
.topbar{position:fixed;inset:0 0 auto 0;z-index:50;background:rgba(10,7,5,.86);backdrop-filter:blur(14px);-webkit-backdrop-filter:blur(14px);border-bottom:1px solid var(--line);transform:translateY(-101%);visibility:hidden;transition:transform .6s var(--mp-ease-out),visibility 0s .6s}
.topbar.is-on{transform:none;visibility:visible;transition:transform .6s var(--mp-ease-out),visibility 0s}
.topbar__in{width:min(var(--wrap),100% - var(--gutter)*2);margin-inline:auto;height:60px;display:flex;align-items:center;gap:20px}
.topbar__brand{display:flex;align-items:center;gap:12px;color:var(--brass)}
.topbar__name{font-family:var(--f-latin);font-weight:600;font-size:1.15rem;letter-spacing:.28em;color:var(--cream)}
.topbar__chip{margin-left:auto;font-family:var(--f-latin);font-weight:600;font-size:1.05rem;letter-spacing:.08em;color:var(--brass-hi)}
.cta-bar{display:none}

/* ===== 仕様 ===== */
.spec__grid{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.05fr);gap:clamp(36px,6vw,88px);align-items:start}
.spec__card{margin-top:40px;border-radius:10px;overflow:hidden;box-shadow:0 30px 60px -30px rgba(34,26,18,.5)}
.spec__mat{background:#fff;padding:clamp(4px,1vw,10px);overflow:hidden;border:1px solid rgba(166,124,61,.55);border-radius:10px}
.spec__mat img{display:block;width:100%;height:auto;transform:scale(1.55);transform-origin:50% 52%;mix-blend-mode:multiply}
.spec__mat{aspect-ratio:3/2;display:flex;align-items:center}
.spec__warn{color:var(--paper-ink);font-weight:500}
.spec__list{border-top:1px solid var(--paper-line);margin-top:6px}
.spec__row{display:grid;grid-template-columns:8.5em 1fr;gap:20px;padding:20px 2px;border-bottom:1px solid var(--paper-line)}
.spec__row dt{font-size:.82rem;letter-spacing:.14em;color:#6e4d1c;font-weight:700;padding-top:.25em}
.spec__row dd{font-family:var(--f-display);font-weight:500;font-size:1.02rem;line-height:1.75}
.spec__foot{margin-top:22px;font-size:.78rem;line-height:1.9;color:var(--paper-muted)}

/* ===== オファー ===== */
.offer{overflow:hidden}
.offer__panel{position:relative;margin-top:clamp(36px,5vw,64px);padding:clamp(26px,4vw,56px);border:1px solid var(--line-strong);border-radius:var(--radius-lg);background:linear-gradient(160deg,rgba(34,26,18,.72),rgba(17,12,8,.9));box-shadow:0 50px 100px -50px rgba(0,0,0,.9),0 0 0 6px rgba(10,7,5,.6),0 0 0 7px var(--line);display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.05fr);gap:clamp(28px,4.5vw,64px);align-items:start}
.offer__corner{position:absolute;width:26px;height:26px;border:1px solid var(--brass);pointer-events:none}
.offer__corner--tl{top:-1px;left:-1px;border-right:0;border-bottom:0;border-top-left-radius:var(--radius-lg)}
.offer__corner--br{bottom:-1px;right:-1px;border-left:0;border-top:0;border-bottom-right-radius:var(--radius-lg)}
.offer__fig{grid-column:1 / -1;border-radius:10px;overflow:hidden;border:1px solid var(--line-strong);box-shadow:0 30px 60px -28px #000;aspect-ratio:21/8}
.offer__fig img{width:100%;height:100%;object-fit:cover;object-position:50% 58%}
.offer__now-label{font-size:.9rem;letter-spacing:.18em;color:var(--brass)}
.offer__price{display:flex;align-items:baseline;gap:.15em;margin-top:6px;line-height:1;color:var(--brass-hi);font-size:clamp(4.2rem,9vw,6.6rem)}
.offer__yen{font-size:.5em;margin-right:.08em}
.offer__num{font-size:1em;font-weight:600}
.offer__tax{font-size:.9rem;letter-spacing:.14em;color:var(--muted);margin-left:.7em;font-family:var(--f-body)}
.offer__regular{margin-top:14px;color:var(--cream);font-size:1.05rem;line-height:1.8}
.offer__regular .numeral{font-size:1.25rem}
.offer__save{border:1px solid var(--brass);color:var(--brass-hi);border-radius:2px;padding:2px 12px;font-size:.78rem;letter-spacing:.14em;background:rgba(211,172,106,.08)}
.offer__deadline{margin-top:28px;padding-top:24px;border-top:1px solid var(--line)}
.offer__deadline-label,.offer__quota{font-size:.86rem;letter-spacing:.14em;color:var(--muted)}
.cd{display:grid;grid-template-columns:repeat(4,1fr);gap:10px;margin-top:12px;max-width:420px}
.cd__cell{border:1px solid var(--line-strong);border-radius:6px;padding:12px 4px 8px;text-align:center;background:rgba(10,7,5,.55)}
.cd__n{display:block;font-size:clamp(1.9rem,4vw,2.6rem);line-height:1.1;color:var(--cream)}
.cd__u{display:block;font-size:.7rem;letter-spacing:.18em;color:var(--brass);margin-top:2px}
.cd[hidden],.cd__closed[hidden]{display:none}
.cd__closed{margin-top:12px;padding:16px;border:1px solid var(--line-strong);border-radius:6px;text-align:center;color:var(--brass-hi);font-family:var(--f-display);font-weight:700;letter-spacing:.1em;max-width:420px}
.offer__deadline-display{margin-top:12px;font-size:.86rem;color:var(--muted)}
.offer__quota{margin-top:14px;display:flex;align-items:baseline;gap:.8em}
.offer__quota-num{font-size:1.6rem;color:var(--brass-hi)}
.offer__items{display:grid;gap:0;border-top:1px solid var(--line)}
.offer__items li{display:flex;gap:16px;padding:16px 0;border-bottom:1px solid var(--line)}
.offer__check{width:22px;height:22px;flex:none;color:var(--brass);margin-top:4px}
.offer__items strong{display:block;font-family:var(--f-display);font-weight:700;font-size:1.05rem;line-height:1.6}
.offer__items span{display:block;color:var(--muted);font-size:.9rem;line-height:1.8}
.offer__cta{margin-top:30px}
.offer__btn{width:100%;min-height:76px;font-size:1.2rem;box-shadow:0 0 0 1px rgba(240,217,166,.5) inset,0 22px 60px -12px rgba(211,172,106,.6),0 2px 0 rgba(255,255,255,.35) inset}
.offer__note{margin-top:12px;text-align:center;font-size:.82rem;color:var(--muted)}
.offer__guarantee{grid-column:1 / -1;display:flex;gap:20px;align-items:center;padding:24px 28px;border:1px solid var(--line);border-radius:10px;background:rgba(10,7,5,.4)}
.offer__g-icon{flex:none;color:var(--brass)}
.offer__guarantee p{color:var(--muted);font-size:.92rem;margin-top:4px;line-height:1.85}
.btn.is-closed{pointer-events:none;filter:grayscale(1) brightness(.55);box-shadow:none}
.btn.is-closed::after{display:none}

/* ===== FAQ ===== */
.faq__list{margin-top:clamp(32px,4vw,52px);border-top:1px solid var(--line-strong)}
.faq__item{border-bottom:1px solid var(--line)}
.faq__item summary{list-style:none;display:flex;align-items:center;justify-content:space-between;gap:24px;min-height:64px;padding:18px 4px;cursor:pointer}
.faq__item summary::-webkit-details-marker{display:none}
.faq__q{font-family:var(--f-display);font-weight:700;font-size:clamp(1rem,1.7vw,1.15rem);line-height:1.7}
.faq__icon{width:26px;height:26px;flex:none;color:var(--brass);transition:transform .45s var(--mp-ease-out)}
.faq__item[open] .faq__icon{transform:rotate(135deg)}
.faq__item summary:hover .faq__q{color:var(--brass-hi)}
.faq__a{padding:0 4px 26px;color:var(--muted);line-height:2;max-width:40em;animation:faq-in .5s var(--mp-ease-out)}
@keyframes faq-in{from{opacity:0;transform:translateY(-6px)}to{opacity:1;transform:none}}

/* ===== ラスト ===== */
.final{position:relative;overflow:hidden;padding-block:clamp(96px,14vw,190px);text-align:center;isolation:isolate}
.final__bg{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;z-index:-2}
.final__veil{position:absolute;inset:0;z-index:-1;background:linear-gradient(180deg,var(--ink) 0%,rgba(10,7,5,.84) 30%,rgba(10,7,5,.86) 70%,var(--ink) 100%)}
.final__h2{font-size:clamp(1.9rem,5vw,3.4rem);margin-top:0}
.final__text{max-width:32em;margin:26px auto 0;color:var(--cream);opacity:.88;line-height:2.05}
.final__cta{margin-top:44px;display:flex;flex-direction:column;align-items:center}
.final__cta .btn{min-height:76px;font-size:1.2rem;padding-inline:3.4em}
.final__deadline{margin-top:8px;font-size:.86rem;letter-spacing:.12em;color:var(--brass)}

/* ===== フッター ===== */
.foot{border-top:1px solid var(--line);padding:56px 0 48px;background:var(--ink)}
.foot__in{display:grid;gap:22px;justify-items:center;text-align:center}
.foot__brand{display:flex;align-items:center;gap:14px;color:var(--brass)}
.foot__name{font-family:var(--f-latin);font-weight:600;font-size:1.3rem;letter-spacing:.3em;color:var(--cream)}
.foot__links{display:flex;flex-wrap:wrap;justify-content:center;gap:4px 28px}
.foot__links a{display:inline-flex;align-items:center;min-height:44px;font-size:.86rem;color:var(--muted);border-bottom:1px solid transparent}
.foot__links a:hover{color:var(--brass-hi)}
.foot__note{max-width:46em;font-size:.78rem;line-height:1.9;color:var(--dim)}
.foot__copy{font-family:var(--f-latin);font-size:.85rem;letter-spacing:.1em;color:var(--dim)}

/* ===== スマホ ===== */
@media (max-width:860px){
  .spec__grid,.offer__panel{grid-template-columns:minmax(0,1fr)}
  .offer__fig{aspect-ratio:3/2}
  .spec__row{grid-template-columns:6.5em 1fr;gap:14px}
  .offer__guarantee{padding:20px}
  .topbar{display:none}
  .cta-bar{display:flex;position:fixed;left:0;right:0;bottom:0;z-index:50;align-items:center;justify-content:space-between;gap:14px;padding:10px var(--gutter) calc(10px + env(safe-area-inset-bottom));background:rgba(10,7,5,.92);backdrop-filter:blur(14px);-webkit-backdrop-filter:blur(14px);border-top:1px solid var(--line-strong);transform:translateY(101%);visibility:hidden;transition:transform .55s var(--mp-ease-out),visibility 0s .55s}
  .cta-bar.is-on{transform:none;visibility:visible;transition:transform .55s var(--mp-ease-out),visibility 0s}
  .cta-bar__label{font-family:var(--f-latin);font-weight:600;font-size:1.1rem;letter-spacing:.04em;color:var(--brass-hi)}
  .foot{padding-bottom:calc(48px + 76px)}
  .final__cta .btn,.offer__btn{width:100%;padding-inline:1.2em}
}
@media (max-width:420px){
  .cd{gap:6px}
  .offer__panel{padding:22px 18px}
}
@media (prefers-reduced-motion:reduce){
  .topbar,.cta-bar,.faq__icon{transition:none!important}
  .faq__a{animation:none}
}

/* 画像の注記・先着の単位 */
.img-note{margin:10px 0 0;font-size:.72rem;letter-spacing:.04em;color:var(--dim);line-height:1.7}
.offer__quota-unit{margin-left:.15em;font-size:.9em;color:var(--muted)}
/* 注記はグリッドの1マスを取らず、写真の直下に全幅で置く */
.offer__panel>.img-note{grid-column:1 / -1;margin:-14px 0 0}
