*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:2rem}body{margin:0;background:#f7f5ef;color:#292d29;font:16px/1.8 system-ui,sans-serif}a{color:#305b4d;text-underline-offset:.25em}header,main,footer{max-width:1120px;margin:auto;padding:24px}header{display:flex;justify-content:space-between;align-items:center;gap:20px;border-bottom:1px solid #d9ddd2}.brand{display:flex;align-items:center;gap:10px;font-size:22px;font-weight:700;text-decoration:none}nav{display:flex;align-items:center;gap:18px}button{font:inherit;background:transparent;border:1px solid #b3bdb0;border-radius:6px;padding:3px 10px;cursor:pointer}button[aria-pressed=true]{background:#305b4d;color:white}section{padding:64px 0;border-bottom:1px solid #d9ddd2}.hero{padding:90px 0}.eyebrow{font-size:12px;letter-spacing:.2em;color:#637164}h1,h2{font-family:Georgia,"Yu Mincho",serif;line-height:1.2}h1{font-size:clamp(42px,7vw,82px);margin:20px 0}h2{font-size:clamp(28px,4vw,40px);margin:0 0 32px}h3{font-size:21px;margin:0 0 12px}.lead{font-size:20px;max-width:720px}.primary{display:inline-block;background:#305b4d;color:white;text-decoration:none;padding:12px 26px;border-radius:8px;margin:16px 0}.grid{display:grid;grid-template-columns:repeat(3,1fr);gap:24px;padding-left:0;list-style-position:inside}.grid article,.grid li,.plans article{border:1px solid #d9ddd2;background:#fffdf7;padding:28px;border-radius:12px}.plans{display:grid;grid-template-columns:1fr 1fr;gap:24px}.price{font-size:28px;font-weight:650}.conditions{padding-left:24px}.conditions li{margin:14px 0}details{border-bottom:1px solid #d9ddd2;padding:20px 0}summary{font-size:18px;font-weight:600;cursor:pointer}details p{max-width:850px}footer{display:flex;gap:22px;flex-wrap:wrap;padding-top:40px;padding-bottom:40px;font-size:14px}.lang-en{display:none}body[data-lang=en] .lang-ja{display:none}body[data-lang=en] .lang-en{display:revert}:focus-visible{outline:3px solid #bf842d;outline-offset:4px}@media(max-width:700px){header{align-items:flex-start;flex-direction:column}nav{flex-wrap:wrap;gap:12px}.grid,.plans{grid-template-columns:1fr}.hero{padding:50px 0}section{padding:40px 0}header,main,footer{padding-left:20px;padding-right:20px}}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}}
