:root{--fg:#1f2a24;--muted:#5b665f;--line:#06c755;--bg:#fbfaf6;--card:#fff;--bd:#e3e0d6}
@media (prefers-color-scheme:dark){:root{--fg:#ecefe9;--muted:#a9b3ac;--bg:#151a17;--card:#1d2420;--bd:#33403a}}
*{box-sizing:border-box}
body{margin:0;background:var(--bg);color:var(--fg);font:16px/1.75 -apple-system,BlinkMacSystemFont,"Hiragino Sans","Noto Sans JP",sans-serif}
main{max-width:560px;margin:0 auto;padding:20px 16px 40px}
.brand{font-weight:700;letter-spacing:.04em;color:#22543d;margin:0 0 8px}
@media (prefers-color-scheme:dark){.brand{color:#8fd1ae}}
section{background:var(--card);border:1px solid var(--bd);border-radius:12px;padding:18px 16px;margin:14px 0}
h1{font-size:1.2rem;margin:0 0 8px}
.btn{display:block;width:100%;text-align:center;padding:16px;border-radius:10px;border:0;background:var(--line);color:#fff;font-weight:700;font-size:1.05rem;text-decoration:none;cursor:pointer}
.btn.sub{background:#22543d}
.steps{padding-left:1.3em}
.note{font-size:.88rem;color:var(--muted)}
.foot{font-size:.82rem;color:var(--muted)}
pre{white-space:pre-wrap;word-break:break-all;background:var(--bg);border:1px solid var(--bd);border-radius:8px;padding:10px;font-size:.9rem}
.frame{border:1px solid var(--bd);border-radius:8px;overflow:hidden}
iframe{display:block;width:100%;height:1400px;border:0;background:#fff}
[hidden]{display:none!important}
dl{display:grid;grid-template-columns:auto 1fr;gap:4px 12px;margin:12px 0}dt{color:var(--muted)}dd{margin:0;word-break:break-all}
.btn+.btn{margin-top:10px}
.days{display:flex;gap:8px;overflow-x:auto;padding:4px 0 10px;-webkit-overflow-scrolling:touch}
.day{flex:0 0 auto;padding:8px 12px;border:1px solid var(--bd);border-radius:999px;background:var(--card);color:var(--fg);font-size:.95rem;cursor:pointer}
.day[aria-pressed=true]{background:var(--line);border-color:var(--line);color:#fff;font-weight:700}
.slots{display:grid;grid-template-columns:repeat(auto-fill,minmax(88px,1fr));gap:8px}
.slot{padding:12px 0;border:1px solid var(--line);border-radius:8px;background:var(--card);color:var(--fg);font-size:1rem;cursor:pointer}
label{display:block;margin:12px 0 4px;font-weight:600;font-size:.95rem}
input[type=text],input[type=email]{width:100%;padding:12px;border:1px solid var(--bd);border-radius:8px;font-size:16px;background:var(--card);color:var(--fg)}
.row2{display:grid;grid-template-columns:1fr 1fr;gap:10px}
.check{display:flex;gap:8px;align-items:flex-start;font-weight:400;margin:16px 0}
.check input{margin-top:5px}
.hp{position:absolute;left:-9999px;width:1px;height:1px;overflow:hidden}
.err{color:#b42318;font-weight:600}
.link{background:none;border:0;color:var(--muted);text-decoration:underline;cursor:pointer;font-size:.92rem;padding:8px 0}
.btn.danger{background:#b42318}
.pickhead{display:flex;justify-content:space-between;align-items:baseline}

/* 2026-10-27 安心ブロック・LINE案内 */
.trust{display:flex;gap:12px;align-items:flex-start;background:rgba(6,199,85,.07);border:1px solid var(--bd);border-radius:10px;padding:12px;margin:10px 0 12px}
.trust img{width:56px;height:56px;border-radius:50%;object-fit:cover;flex:none}
.trust-name{margin:0 0 4px;font-weight:700;font-size:.95rem}
.trust ul{margin:0;padding-left:1.1em;font-size:.88rem;line-height:1.6;color:var(--muted)}
.note.alt{margin-top:14px;font-size:.88rem}
.note.alt a{color:#06a648;font-weight:700}

/* 2026-10-27 同意チェックを押しやすく・リンクを見やすく */
input[type=checkbox]{width:22px;height:22px;vertical-align:middle;margin:0 8px 0 0;accent-color:#06c755}
section a{color:#0a8f43;text-decoration:underline}
@media (prefers-color-scheme:dark){section a{color:#7ee2a8}}

/* 2026-10-27 入力の目印・確認画面の省略 */
.knp-skip{display:none!important}
input.need{border-color:#e5484d!important;background:rgba(229,72,77,.08)!important}
label.check.need{color:#e5484d}
input::placeholder{color:#9aa39d}

/* 2026-10-31 予約特典の帯（bk-ux.js の knpGiftBox / knpGiftDone） */
.knp-gift{background:#fff8e8;border:2px solid #b8892b;border-radius:14px;padding:14px 14px 12px;margin:0 0 14px}
.knp-gift-badge{display:inline-block;background:#b8892b;color:#fff;font-weight:700;border-radius:999px;padding:2px 12px;font-size:12px;margin:0 0 6px}
.knp-gift-title{font-weight:700;font-size:16px;line-height:1.45;margin:0 0 8px;color:#1d2b24}
.knp-gift-list{list-style:none;padding:0;margin:0 0 6px;display:grid;grid-template-columns:1fr 1fr;gap:4px 10px;font-size:13.5px}
.knp-gift-list li::before{content:"✓ ";color:#1f4d3a;font-weight:700}
.knp-gift-note{font-size:12.5px;color:#5d6b63;margin:4px 0 0}
.knp-gift-done{text-align:center;margin:14px 0}
.knp-gift-btn{display:inline-block;background:#1f4d3a;color:#fff;border-radius:999px;padding:12px 22px;font-weight:700;text-decoration:none;margin:4px 0}

/* 2026-10-31 スマホでは特典の帯を短く（日時ボタンを1画面目に残すため）。一覧は隠し、見出しと一文だけ */
@media (max-width:560px){.knp-gift:not(.knp-gift-done) .knp-gift-list{display:none}.knp-gift:not(.knp-gift-done){padding:10px 12px;margin:0 0 10px}.knp-gift:not(.knp-gift-done) .knp-gift-title{font-size:14.5px;margin:0 0 2px}.knp-gift:not(.knp-gift-done) .knp-gift-badge{margin:0 0 4px}}
