@charset "UTF-8";
:root { --ink:#243c47; --muted:#61757c; --paper:#fafbf9; --line:#d6e0df; --green:#192d28; }
* { box-sizing:border-box; }
html { scroll-behavior:smooth; scroll-padding-top:30px; }
.rd { margin:0; background:var(--paper); color:var(--ink); font-family:"Hiragino Mincho ProN","Yu Mincho","Noto Serif CJK JP",serif; font-size:16px; line-height:2.1; letter-spacing:.035em; overflow-wrap:anywhere; -webkit-text-size-adjust:100%; }
p,h1,h2,h3 { margin:0; }
a { color:inherit; text-underline-offset:5px; }
.rd-main { max-width:920px; margin:auto; padding:0 48px; }
.rd-nav { display:flex; justify-content:space-between; align-items:center; padding:25px 0; border-bottom:1px solid var(--line); }
.rd-nav a { text-decoration:none; font-size:13px; }
.rd-nav .rd-brand { font-size:24px; letter-spacing:.2em; }
.rd-brand span { font:10px sans-serif; letter-spacing:.23em; margin-left:12px; }
.rd-nav a:last-child span { margin-left:16px; }
.rd-hero { position:relative; overflow:hidden; padding:90px 56px 75px; border-bottom:1px solid var(--line); }
.rd-eyebrow { color:var(--muted); font-size:12px; letter-spacing:.18em; }
.rd h1 { position:relative; font-size:clamp(28px,4vw,42px); font-weight:500; line-height:1.6; letter-spacing:.09em; margin:18px 0 24px; }
.rd-hero p,.rd-text-link { position:relative; }
.rd-hero .rd-lead { font-size:22px; line-height:1.9; margin-bottom:34px; }
.rd-hero p + p { margin-top:20px; }
.rd-text-link { display:inline-block; margin-top:32px; font-size:13px; text-decoration:none; border-bottom:1px solid var(--muted); padding-bottom:5px; }
.rd-text-link span { margin-left:22px; }
.rd-ripple { position:absolute; width:390px; height:390px; right:-80px; top:5px; border-radius:50%; background:radial-gradient(ellipse,#e2eceb80,transparent 70%); pointer-events:none; }
.rd-ripple i { position:absolute; border:1px solid #a8c3c555; border-radius:50%; inset:20%; transform:scaleY(.6) rotate(-25deg); }
.rd-ripple i:nth-child(2) { inset:6%; }
.rd-ripple i:nth-child(3) { inset:-10%; }
.rd-section { max-width:600px; margin:0 auto; padding:65px 0; border-bottom:1px solid var(--line); }
.rd-section h2 { font-size:26px; font-weight:500; line-height:1.6; margin:12px 0 30px; }
.rd-section p + p { margin-top:25px; }
.rd-chooser { padding:65px 0 75px; }
.rd-chooser > h2 { font-size:27px; font-weight:500; margin:12px 0 30px; }
.rd-options { display:grid; grid-template-columns:1fr 1fr; gap:20px; }
.rd-options > a { position:relative; background:#eef3f1; border:1px solid var(--line); text-decoration:none; padding:28px; transition:background .2s; }
.rd-options > a:hover { background:#e4eeeb; }
.rd-option-label { display:block; color:var(--muted); font-size:12px; letter-spacing:.2em; }
.rd-options h3 { font-size:25px; font-weight:500; margin:8px 0 14px; }
.rd-options p { font-size:14px; line-height:1.9; }
.rd-option-price { display:block; margin-top:24px; font-size:22px; }
.rd-option-more { display:block; margin-top:10px; font-size:12px; }
.rd-plan { position:relative; padding-bottom:75px; margin-bottom:50px; border-bottom:1px solid var(--line); display:flow-root; }
.rd-plan__image { display:block; width:100%; height:280px; object-fit:cover; margin:0 0 0; border-radius:2px 2px 0 0; }
.rd-plan__head { position:relative; width:calc(100% - 70px); margin:24px auto 38px; padding:28px 36px; background:var(--paper); border:1px solid var(--line); box-shadow:0 6px 20px #243c4705; }
.rd-plan__head h2 { font-size:32px; font-weight:500; margin:10px 0; letter-spacing:.12em; }
.rd-price { font-size:34px; line-height:1.5; font-variant-numeric:lining-nums; }
.rd-price span { font-size:16px; margin-left:6px; }
.rd-support { display:inline-block; font-size:12px; padding:2px 12px; background:#eaf0ed; margin-top:14px; }
.rd-plan__body { max-width:540px; margin:auto; }
.rd-plan__body > * + * { margin-top:27px; }
.rd-btn { display:flex; justify-content:center; align-items:center; min-height:62px; padding:16px 20px; background:var(--green); color:white; text-decoration:none; font-size:18px; letter-spacing:.07em; border:1px solid var(--green); border-radius:4px; transition:background .2s; }
.rd-btn::after { content:'→'; margin-left:22px; }
.rd-btn:hover { background:#2d4840; }
a:focus-visible { outline:3px solid #658a80; outline-offset:5px; }
.rd-purchase-note { color:var(--muted); font-size:13px; border-left:2px solid #a7bdb5; padding-left:18px; }
.rd-notes { color:var(--muted); }
.rd-signature { text-align:right; font-size:22px; }
.rd-footer { display:flex; justify-content:space-between; align-items:center; padding:40px 0; color:var(--muted); font-size:12px; }
.rd-footer a { font-size:23px; text-decoration:none; }
.rd-footer span { font:10px sans-serif; letter-spacing:.2em; margin-left:10px; }
@media(min-width:760px) { .rd-plan__head .rd-price { position:absolute; top:50px; right:36px; } }
@media(max-width:600px) {
 .rd-main { padding:0 22px; }
 .rd-nav { padding:18px 0; }
 .rd-hero { padding:58px 4px 48px; }
 .rd-hero .rd-lead { font-size:20px; }
 .rd-ripple { right:-190px; top:-45px; opacity:.65; }
 .rd-section { padding:45px 4px; }
 .rd-section h2,.rd-chooser > h2 { font-size:23px; }
 .rd-chooser { padding:45px 0; }
 .rd-options { gap:12px; }
 .rd-options > a { padding:20px 14px; }
 .rd-options h3 { font-size:22px; }
 .rd-options p { font-size:13px; }
 .rd-option-price { font-size:21px; }
 .rd-plan { padding-bottom:48px; margin-bottom:30px; }
 .rd-plan__image { height:230px; }
 .rd-plan__head { width:calc(100% - 24px); margin-top:20px; padding:23px; }
 .rd-plan__head h2 { font-size:29px; }
 .rd-plan__body { padding:0 8px; }
 .rd-footer { padding:30px 0; }
}
@media(max-width:360px) { .rd { font-size:15px; } .rd-options { grid-template-columns:1fr; } .rd-hero .rd-lead { font-size:18px; } .rd h1 { font-size:26px; } .rd-main { padding:0 18px; } }
@media(prefers-reduced-motion:reduce) { html { scroll-behavior:auto; } * { transition:none !important; } }
