/* アプリの配色に合わせる(app/lib/ui/theme.dart): オフホワイト・黒・灰色。差し色の赤橙はハートだけ */
:root{--bg:#f7f7f5;--ink:#111;--mid:#8a8a85;--line:#cfcfcb;--accent:#ff4d2e}
*{box-sizing:border-box}
html{color-scheme:light}
body{margin:0;background:var(--bg);color:var(--ink);font-family:-apple-system,BlinkMacSystemFont,"Hiragino Sans","Noto Sans JP",sans-serif;font-weight:400;line-height:1.9;font-size:15px}
.wrap{max-width:640px;margin:0 auto;padding:0 20px}
header{padding:24px 0;text-align:center;border-bottom:1px solid var(--line)}
header a{color:var(--ink);text-decoration:none;font-size:15px;letter-spacing:.08em}
a{color:var(--ink);text-underline-offset:3px}
h1{font-size:22px;font-weight:400;margin:40px 0 8px;letter-spacing:.04em}
h2{font-size:15px;font-weight:500;margin:40px 0 6px;padding-top:24px;border-top:1px solid var(--line)}
h3{font-size:15px;font-weight:500;margin:24px 0 0}
p{margin:6px 0}
.lead,.sub{color:var(--mid)}
.hero{text-align:center;padding:48px 0 24px}
.hero h1{margin-top:36px}
.rail{display:flex;flex-direction:column;align-items:center;gap:0}
.rail .dot{width:44px;height:44px;border-radius:50%;background:var(--ink)}
.rail .dots{width:0;height:72px;border-left:2px dotted var(--line);margin:10px 0}
.rail svg{width:64px;height:auto;display:block}
.cards{margin:24px 0}
.card{padding:16px 0;border-top:1px solid var(--line)}
.card b{display:block;font-weight:500}
.card span{color:var(--mid)}
.btn{display:block;text-align:center;border:1.2px solid var(--ink);border-radius:24px;padding:13px;color:var(--ink);text-decoration:none;margin:24px 0}
.note{color:var(--mid);text-align:center;margin:32px 0}
table{border-collapse:collapse;width:100%;font-size:14px}td,th{border-bottom:1px solid var(--line);padding:10px 8px 10px 0;text-align:left;vertical-align:top;font-weight:400}
th{color:var(--mid)}
footer{margin:64px 0 32px;padding-top:20px;border-top:1px solid var(--line);color:var(--mid);font-size:13px;text-align:center}
footer a{color:var(--mid);margin:0 8px}

/* LP(参考: 吹き出しタグ・円形のファーストビュー・丸アイコン・下部ストアバー。配色はアプリのまま) */
body.lp{padding-bottom:84px}
.top{padding:18px 20px;text-align:center}.top a{color:var(--ink);text-decoration:none;letter-spacing:.08em}
.w{max-width:960px;margin:0 auto;padding:0 20px}
.c{text-align:center}
.mini{color:var(--mid);font-size:12px;margin:8px 0 0}
.stores{display:flex;gap:12px;justify-content:center;flex-wrap:wrap;margin:20px 0 0}
.store{background:var(--ink);color:#fff;border-radius:12px;padding:8px 22px;display:inline-flex;flex-direction:column;align-items:center;line-height:1.35;min-width:150px}
.store b{font-weight:500;font-size:15px}.store small{color:#bbb;font-size:10px}
.phone{border:7px solid var(--ink);border-radius:40px;overflow:hidden;background:#fff;box-shadow:0 12px 32px rgba(0,0,0,.12);max-width:250px;margin:0 auto}
.phone img{display:block;width:100%;height:auto}
.fv{background:#ecece8;border-radius:0 0 50% 50%/0 0 48px 48px;padding:24px 0 72px;overflow:hidden}
.fv-in{max-width:960px;margin:0 auto;padding:0 20px;display:grid;gap:32px;align-items:center}
.fv-circle{background:var(--bg);border-radius:48px;padding:40px 24px;text-align:center}
.fv-circle .rail svg{width:44px}
.kicker{align-self:center;color:var(--accent);font-size:14px;margin:12px 0 0;display:inline-block;border-bottom:1.5px solid var(--accent)}
.fv h1{font-size:34px;line-height:1.35;margin:16px 0 0;font-weight:500;letter-spacing:.02em}
.big{font-size:30px;line-height:1.4;font-weight:500;margin:6px 0 16px;border:0;padding:0}
.mid{font-size:22px;font-weight:500;border:0;padding:0;margin:0 0 20px;text-align:center}
.intro{display:grid;gap:32px;margin-top:72px;align-items:center}
.intro-phones{display:flex;gap:16px;justify-content:center}.intro-phones .phone{max-width:190px;margin:0}
.intro-phones .phone:last-child{margin-top:48px}
.btn{max-width:280px}
.tag{display:inline-block;background:var(--accent);color:#fff;border-radius:18px 18px 18px 2px;padding:3px 18px;font-size:14px}
.tag.s{border-radius:18px}
.feat-band{background:#efefeb;margin:72px 0;padding:56px 0}
.feat{display:grid;gap:32px;align-items:center}
.rev{margin:72px auto}
.circles{list-style:none;display:flex;flex-wrap:wrap;gap:16px;padding:0;margin:20px 0 0}
.circles li{width:96px;text-align:center;font-size:12px;line-height:1.5}
.ci{display:flex;width:64px;height:64px;border-radius:50%;background:var(--bg);border:1px solid var(--line);align-items:center;justify-content:center;margin:0 auto 6px}
.feat-band .ci{background:#fff}
.ci svg{width:28px;height:28px}
.how{margin:72px auto}
.steps{list-style:none;padding:0;display:grid;gap:12px}
.steps li{display:flex;gap:16px;align-items:center;background:#fff;border:1px solid var(--line);border-radius:20px;padding:18px 20px}
.steps b{width:32px;height:32px;border-radius:50%;background:var(--ink);color:#fff;display:inline-flex;align-items:center;justify-content:center;font-weight:400;flex:none}
.more{background:#efefeb;padding:48px 0}.more .circles{justify-content:center}.more .circles li{width:104px}.more .ci{background:#fff}
.safe{margin:72px auto}
.safe-head{text-align:center;margin-bottom:24px}
.safe-list{display:grid;gap:20px}
.safe-list>div{background:#fff;border:1px solid var(--line);border-radius:24px;padding:24px;text-align:center}
.safe-list h3{margin:8px 0;font-size:16px;font-weight:500}.safe-list p{color:var(--mid);font-size:14px;text-align:left;margin:0}
.env ul{color:var(--mid);max-width:560px;margin:0 auto}
.contact{margin:56px auto}
.lpf{color:var(--mid);font-size:13px;text-align:center;padding:24px 0}.lpf a{color:var(--mid);margin:0 8px}
.bar{position:fixed;left:0;right:0;bottom:0;background:var(--ink);padding:10px 12px;z-index:9}
.bar .stores{margin:0;gap:10px}.bar .store{background:#fff;color:var(--ink);min-width:140px;padding:5px 18px}.bar .store small{color:var(--mid)}
@media(min-width:760px){
 .fv-in{grid-template-columns:1.1fr .9fr}
 .fv-circle{border-radius:50%;aspect-ratio:1/1;display:flex;flex-direction:column;justify-content:center;padding:32px}
 .fv h1{font-size:42px}.big{font-size:34px}
 .intro{grid-template-columns:1fr 1fr}
 .feat{grid-template-columns:1fr 1fr;gap:64px}
 .rev .fe-txt{order:2}
 .safe-list{grid-template-columns:repeat(3,1fr)}
 .steps{grid-template-columns:repeat(3,1fr)}
 .steps li{flex-direction:column;text-align:center}
 .phone{max-width:270px}
}
.phone video{display:block;width:100%;height:auto}
