:root{--paper:#f3efe8;--ink:#20211e;--muted:#77756f;--line:#d8d1c6;--wine:#713e47;--white:#fffdf9;--serif:'Noto Serif JP',Georgia,serif;--sans:'DM Sans','Noto Sans JP',Arial,sans-serif}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--paper);color:var(--ink);font-family:var(--sans);font-size:15px;line-height:1.8}a{color:inherit;text-decoration:none}button,input,textarea,select{font:inherit}.skip{position:absolute;left:-10000px;top:1rem;background:#fff;padding:.7rem;z-index:20}.skip:focus{left:1rem}.header{height:92px;padding:0 6vw;display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid #e4ded5}.brand{font-family:var(--serif);font-size:23px;letter-spacing:.08em;line-height:1.1}.brand span{color:var(--wine);font-size:17px}.brand small{display:block;font:9px var(--sans);letter-spacing:.23em;color:var(--muted);margin-top:6px}.header nav{display:flex;gap:36px;font-size:12px;color:#5e5c57}.header-cta{font-size:12px;border-bottom:1px solid var(--wine);padding:8px 0;color:var(--wine)}.header-cta span{margin-left:14px}.hero{min-height:635px;padding:44px 6vw 58px;display:grid;grid-template-columns:.84fr 1.16fr;gap:5vw;align-items:center}.hero-copy{padding:22px 0 16px}.eyebrow,.section-tag{font-size:10px;letter-spacing:.2em;color:var(--wine);font-weight:600}.hero h1,.register h2{font:500 clamp(42px,5vw,72px)/1.5 var(--serif);letter-spacing:.045em;margin:26px 0 17px}.hero h1 em{font-style:normal;color:var(--wine)}.lead{font-size:14px;color:#5f5d58;line-height:2.2}.button{display:inline-flex;gap:26px;align-items:center;justify-content:space-between;background:var(--wine);border:1px solid var(--wine);color:#fffaf5;padding:13px 19px;min-width:205px;font-size:12px;letter-spacing:.03em;cursor:pointer;transition:.2s}.button:hover{background:#512d34}.button span{font-size:18px}.status-note{margin-top:24px;display:flex;align-items:center;gap:9px;font-size:11px;color:#75535a}.status-note i{width:7px;height:7px;border-radius:50%;background:#b16e53}.hero-mark{margin-top:48px;border-top:1px solid var(--line);padding-top:13px;font-size:10px;letter-spacing:.18em}.hero-mark span{float:right;letter-spacing:0;color:var(--muted)}.hero-photo{position:relative;margin:0;height:min(530px,55vw);min-height:390px;overflow:hidden;background:#b8a28d}.hero-photo img{width:100%;height:100%;object-fit:cover;object-position:center}.hero-photo figcaption{position:absolute;bottom:12px;right:15px;color:white;font-size:9px;text-shadow:0 1px 5px #333}.ribbon{height:61px;background:#252522;color:#f4eee5;display:flex;align-items:center;justify-content:center;gap:5vw;font-size:10px;letter-spacing:.25em}.ribbon b{color:#c49b87;font-size:14px}.section{padding:100px 10vw}.about-grid{margin-top:42px;display:grid;grid-template-columns:1fr 1fr;gap:9vw;align-items:start}.about h2,.safety h2,.legal h2{font:500 clamp(30px,3.3vw,48px)/1.65 var(--serif);margin:0;letter-spacing:.05em}.about-grid p{margin:0 0 18px;color:#5e5d57;font-size:14px}.conditions{background:#e6ded3;padding:88px 10vw}.conditions-grid{display:grid;grid-template-columns:1fr 1fr;gap:8vw;align-items:center;margin-top:32px}.conditions h2{font:500 clamp(32px,3.6vw,50px)/1.6 var(--serif);margin:14px 0}.rate-card{background:var(--white);padding:30px 34px}.rate-card>div{display:flex;justify-content:space-between;align-items:baseline;padding:11px 0;border-bottom:1px solid var(--line)}.rate-card>div span{font-size:12px;color:var(--muted)}.rate-card strong{font:500 28px var(--serif);color:var(--wine)}.rate-card strong small{font:12px var(--sans);color:var(--ink)}.rate-card .text-rate{font-size:19px}.rate-card p{font-size:11px;color:var(--muted);margin:17px 0 0;line-height:1.9}.safety{padding-bottom:96px}.safety-heading{display:grid;grid-template-columns:1fr 1fr;gap:8vw;align-items:end;margin:34px 0 45px}.safety-heading p{color:var(--muted);font-size:13px}.safety-list article{display:grid;grid-template-columns:70px 1fr;gap:18px;border-top:1px solid var(--line);padding:24px 0}.safety-list article>span{font-size:11px;color:var(--wine);letter-spacing:.1em}.safety-list h3{font:500 18px var(--serif);margin:0 0 7px}.safety-list p{font-size:12px;color:#68665f;margin:0;max-width:760px}.safety-footnote{background:#e8e1d8;padding:15px 18px;color:#68665f;font-size:11px;margin-top:27px}.register{background:#252522;color:#f5efe7;padding:92px 10vw;display:grid;grid-template-columns:.92fr 1.08fr;gap:8vw}.register .eyebrow{color:#d5a899}.register h2{font-size:clamp(36px,4vw,55px);line-height:1.6;margin:18px 0}.register-copy>p{color:#c6c0b8;font-size:13px}.email-plan{border-left:2px solid #b7837b;padding:8px 0 8px 17px;margin-top:26px!important;font-size:11px!important}.email-plan strong{color:#f4d4c4}.form-card{background:var(--white);color:var(--ink);padding:30px 32px}.form-card h3{font:500 22px var(--serif);margin:0 0 18px}.form-card label{display:block;font-size:11px;color:#5e5c57;margin:13px 0}.form-card input,.form-card textarea,.form-card select{display:block;width:100%;margin-top:6px;background:#fff;border:1px solid #d7d0c7;padding:10px 11px;border-radius:0;color:var(--ink);font-size:13px}.form-card textarea{resize:vertical}.form-card .consent{display:flex;align-items:flex-start;gap:9px;font-size:10px;line-height:1.7}.form-card .consent input{width:auto;margin:4px 0 0}.button-dark{margin-top:9px}.form-note{font-size:10px;color:var(--muted);margin:13px 0 0}.legal{padding:85px 10vw}.legal-grid{display:grid;grid-template-columns:.7fr 1.3fr;gap:6vw;margin-top:34px}.legal-grid p{font-size:11px;color:#625f59;margin:0 0 14px}.legal-grid a{text-decoration:underline;color:var(--wine)}.footer{border-top:1px solid var(--line);padding:33px 6vw 26px;display:grid;grid-template-columns:1fr auto;align-items:center;gap:26px}.footer>div{display:flex;gap:24px;font-size:11px}.footer>p{grid-column:1/-1;border-top:1px solid var(--line);padding-top:15px;margin:0;color:var(--muted);font-size:10px}.review-dialog{border:0;padding:32px;width:min(620px,calc(100vw - 28px));background:var(--white);color:var(--ink);box-shadow:0 18px 60px #0004}.review-dialog::backdrop{background:#1413109c}.review-dialog h2{font:500 28px var(--serif)}.review-dialog>p{font-size:12px;color:var(--muted)}.review-dialog pre{white-space:pre-wrap;max-height:38vh;overflow:auto;background:#f0ece5;padding:16px;font:12px/1.7 var(--sans)}.review-dialog form{position:absolute;right:14px;top:12px}.close{border:0;background:none;font-size:26px;cursor:pointer}.dialog-actions{display:flex;gap:12px;flex-wrap:wrap}.dialog-actions .button{margin:0}.dialog-actions button.button{color:var(--wine);background:transparent}.review-dialog #copy-status{min-height:1.5em}
@media(max-width:850px){.header{padding:0 5vw}.header nav{gap:17px}.hero{padding:30px 5vw 48px;grid-template-columns:1fr 1fr;gap:4vw}.hero h1{font-size:46px}.hero-photo{height:430px;min-height:330px}.section,.conditions,.register,.legal{padding-left:7vw;padding-right:7vw}.conditions-grid{gap:4vw}.register{gap:4vw}}
@media(max-width:650px){body{font-size:14px}.header{height:76px}.brand{font-size:20px}.brand span{font-size:15px}.brand small{font-size:8px}.header nav{display:none}.header-cta{font-size:11px}.hero{display:flex;flex-direction:column;align-items:stretch;padding:32px 6vw 39px;gap:25px}.hero-copy{padding:0}.hero h1{font-size:clamp(39px,11vw,57px);margin:18px 0 11px}.lead{font-size:12px}.hero-mark{margin-top:28px}.hero-mark span{font-size:9px}.hero-photo{height:68vw;min-height:270px;max-height:390px}.ribbon{gap:4vw;height:50px;font-size:8px}.section,.conditions,.register,.legal{padding:62px 6vw}.about-grid,.conditions-grid,.safety-heading,.register,.legal-grid{grid-template-columns:1fr;gap:22px}.about-grid{margin-top:22px}.about h2,.safety h2,.legal h2{font-size:31px}.conditions-grid{margin-top:20px}.rate-card{padding:22px}.safety-heading{margin:21px 0 28px}.safety-list article{grid-template-columns:40px 1fr;gap:8px;padding:19px 0}.safety-list h3{font-size:16px}.register{padding-top:63px;padding-bottom:65px}.register h2{font-size:39px}.form-card{padding:24px 19px}.footer{padding:25px 6vw;grid-template-columns:1fr}.footer>div{gap:16px;flex-wrap:wrap}.footer>p{grid-column:auto}.review-dialog{padding:26px 20px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*::before,*::after{transition:none!important}}
