
:root{
  --bg:#ffffff;
  --surface:#ffffff;
  --surface-2:#ffffff;
  --text:#2e3138;
  --muted:#56606d;
  --line:#e9ecf2;
  --accent:#1f3d63;
  --accent-soft:#eef4fb;
  --accent-2:#79b8b2;
  --accent-3:#f2d487;
  --shadow:0 14px 34px rgba(33,45,68,.06);
}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;background:#fff;color:var(--text);font-family:-apple-system,BlinkMacSystemFont,"Segoe UI","Hiragino Sans","Yu Gothic UI","Yu Gothic",Meiryo,sans-serif;font-size:17px;line-height:1.82}
a{color:inherit} img{max-width:100%;display:block}
.wrap{width:min(1080px,calc(100% - 32px));margin:0 auto}
.site-header{position:sticky;top:0;z-index:30;background:rgba(255,255,255,.96);backdrop-filter:blur(10px);border-bottom:1px solid var(--line)}
.header-inner{height:72px;display:flex;align-items:center;justify-content:space-between;gap:18px}
.brand{font-weight:850;font-size:1.24rem;text-decoration:none;letter-spacing:.01em}
.header-nav{display:flex;gap:16px;align-items:center;font-size:.92rem}.header-nav a{text-decoration:none;color:var(--muted)}.header-nav a:hover{color:var(--text)}
.hero{padding:72px 0 54px;background:#fff}
.hero-grid{display:grid;grid-template-columns:1.03fr .97fr;gap:40px;align-items:center}
.kicker{display:inline-flex;align-items:center;gap:8px;padding:7px 12px;border-radius:999px;background:var(--accent-soft);border:1px solid #dbe6f3;color:var(--accent);font-size:.82rem;font-weight:800}
h1{font-size:clamp(2rem,2.9vw,2.25rem);line-height:1.25;letter-spacing:-.018em;margin:18px 0 18px;font-weight:700}
.lead{font-size:clamp(1.06rem,1.7vw,1.22rem);color:var(--muted);margin:0;max-width:700px;font-weight:500}
.hero-points{display:grid;gap:10px;list-style:none;padding:0;margin:24px 0 0}.hero-points li{position:relative;padding-left:24px;font-weight:700}.hero-points li::before{content:"•";position:absolute;left:0;top:0;color:var(--accent-2);font-size:1.25rem;line-height:1}
.actions{display:flex;flex-wrap:wrap;gap:12px;margin-top:28px}
.btn{display:inline-flex;align-items:center;justify-content:center;min-height:52px;padding:0 22px;border-radius:999px;font-weight:800;text-decoration:none;border:1px solid transparent;transition:.18s}
.btn-primary{background:var(--accent);color:#fff}
.btn-secondary{background:#fff;color:var(--text);border-color:var(--line)}
.btn-disabled{background:#eef1f5 !important;color:#5f6876 !important;border-color:#e1e6ee !important;opacity:1;cursor:not-allowed;pointer-events:none}
.note{margin-top:13px;font-size:.94rem;color:var(--muted)}
.hero-card{background:#fff;border:1px solid var(--line);border-radius:28px;padding:16px;box-shadow:var(--shadow)}.hero-shot{border-radius:18px;overflow:hidden;border:1px solid var(--line);background:#fff}.caption{margin-top:10px;font-size:.9rem;color:var(--muted)}
.section{padding:68px 0;background:#fff;border-top:1px solid var(--line)}
.section:first-of-type{border-top:none}
.eyebrow{display:inline-flex;align-items:center;gap:7px;font-size:.8rem;font-weight:850;letter-spacing:.08em;color:var(--accent);text-transform:uppercase}
h2{font-size:clamp(1.55rem,2.8vw,2.15rem);line-height:1.38;letter-spacing:-.012em;margin:10px 0 16px;font-weight:700}.section-lead{margin:0 0 30px;max-width:800px;color:var(--muted);font-size:1.05rem;font-weight:500}
.panel{background:#fff;border:1px solid var(--line);border-radius:26px;padding:26px;box-shadow:var(--shadow)}.panel strong{font-size:1.15rem;font-weight:750}.panel p{margin:10px 0 0;color:var(--muted);font-size:1.02rem}
.cards{display:grid;grid-template-columns:repeat(4,1fr);gap:16px}.card{background:#fff;border:1px solid var(--line);border-radius:24px;padding:22px;box-shadow:var(--shadow);min-height:188px}.card-icon{font-size:1.65rem;margin-bottom:10px}.card h3{margin:0 0 8px;font-size:1.1rem;font-weight:730}.card p{margin:0;color:var(--muted);font-size:1rem}
.shot-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:20px}.shot-card{background:#fff;border:1px solid var(--line);border-radius:24px;padding:14px;box-shadow:var(--shadow)}.shot-frame{border:1px solid var(--line);border-radius:16px;overflow:hidden;background:#fff}.shot-card h3{margin:12px 0 6px;font-size:1.1rem;font-weight:730}.shot-card p{margin:0;color:var(--muted);font-size:1rem}
.split{display:grid;grid-template-columns:1fr 1fr;gap:18px}.callout{background:#fff;border:1px solid var(--line);border-radius:24px;padding:24px;box-shadow:var(--shadow)}.callout h3{margin:0 0 9px;font-size:1.14rem;font-weight:750}.callout p{margin:0;color:var(--muted);font-size:1.02rem}
.pricebox{background:#fff;border:1px solid var(--line);border-radius:26px;padding:26px;box-shadow:var(--shadow)}.pricebox .big{font-size:1.2rem;font-weight:760}.pricebox p{color:var(--muted);font-size:1.02rem}.price-list{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin-top:18px}.price-item{border:1px solid var(--line);border-radius:18px;padding:16px;background:#fff}.price-item strong{display:block;margin-bottom:7px;font-size:1.08rem;font-weight:750}
.sponsor{display:none;margin-top:16px;border:1px dashed #d6dde7;border-radius:18px;padding:16px;background:#fff}.sponsor small{display:block;color:var(--muted);margin-bottom:6px}.sponsor a{text-decoration:none}
.mini-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:16px}.mini{background:#fff;border:1px solid var(--line);border-radius:20px;padding:18px;box-shadow:var(--shadow)}.mini h3{margin:0 0 9px;font-size:1.1rem;font-weight:750}.mini p{margin:0;color:var(--muted);font-size:1rem}
.beta-box{background:#fff;border:1px solid var(--line);border-radius:26px;padding:26px;box-shadow:var(--shadow)}.beta-box strong{font-size:1.14rem;font-weight:750}.beta-box p{margin:8px 0 0;color:var(--muted);font-size:1.02rem}
.footer{padding:34px 0 48px;border-top:1px solid var(--line);background:#fff}.footer-inner{display:flex;justify-content:space-between;gap:22px;align-items:flex-start}.footer-links{display:flex;flex-wrap:wrap;gap:14px}.footer a{text-decoration:none;color:var(--muted)}.small{font-size:.82rem;color:var(--muted)}
.page{padding:64px 0 80px;background:#fff}.page article{max-width:820px}.page h1{font-size:clamp(2rem,5vw,3.4rem);font-weight:780}.page h2{font-size:1.32rem;margin-top:34px;font-weight:760}.page p,.page li{color:#434954}.back{display:inline-block;margin-bottom:24px;text-decoration:none;color:var(--accent);font-weight:800}
@media(max-width:860px){.hero-grid,.split,.shot-grid,.mini-grid{grid-template-columns:1fr}.cards{grid-template-columns:repeat(2,1fr)}.header-nav a:not(.keep){display:none}}
@media(max-width:560px){.wrap{width:min(100% - 24px,1080px)}.hero{padding:42px 0 46px}h1{font-size:2.85rem}.cards,.price-list{grid-template-columns:1fr}.actions{display:grid}.btn{width:100%}.footer-inner{display:grid}}

@media(min-width:861px){.hero-grid{grid-template-columns:1.16fr .84fr}.hero h1{white-space:nowrap}}
@media(max-width:860px){.hero h1{white-space:normal}}
