:root{--ink:#16151c;--night:#11121b;--paper:#f7f4ed;--gold:#b39a62;--wine:#741f3b;--line:#dcd4c4;--muted:#625f59}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:95px}body{margin:0;color:var(--ink);background:var(--paper);font:16px/1.9 -apple-system,BlinkMacSystemFont,"Noto Sans JP","Yu Gothic",sans-serif}a{color:inherit;text-underline-offset:5px}button,input,select,textarea{font:inherit}button,a,input,summary{touch-action:manipulation}a:focus-visible,button:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible,summary:focus-visible{outline:3px solid #b08626;outline-offset:5px}h1,h2,h3,.brand,.serif{font-family:"Yu Mincho","Hiragino Mincho ProN",Georgia,serif;font-weight:500}h1,h2,h3,p{margin-top:0}h1{font-size:clamp(35px,4.6vw,65px);line-height:1.55;letter-spacing:.06em}h2{font-size:clamp(27px,3vw,39px);line-height:1.6;letter-spacing:.055em}h3{font-size:23px;line-height:1.6}p{margin-bottom:1.3em}img{max-width:100%;display:block}header{position:sticky;top:0;z-index:20;background:#101017;color:#fff;border-bottom:1px solid #71613e}.navwrap{max-width:1400px;margin:auto;min-height:84px;padding:12px 4%;display:flex;align-items:center;gap:24px}.brand{text-decoration:none;display:flex;align-items:center;gap:12px;font-size:19px;white-space:nowrap;color:#e2d2a9}.brand svg{width:39px;height:43px}.brand small{font:9px/1.4 Georgia,serif;display:block;letter-spacing:.21em;color:#c8b78e}.nav{margin-left:auto;display:flex;align-items:center;gap:22px}.nav a{font-size:13px;text-decoration:none}.nav a:hover{color:#d4bd87}.btn{display:inline-flex;justify-content:center;align-items:center;gap:22px;padding:14px 24px;background:var(--wine);border:1px solid #b5677e;color:white;text-decoration:none;cursor:pointer;font-size:15px;letter-spacing:.03em;transition:background .2s}.btn:hover{background:#8f2f4e}.btn.light{background:transparent;color:inherit;border-color:#ab9b78}.btn:disabled{opacity:.5;cursor:not-allowed}.menu-toggle{display:none}.skip{position:fixed;top:-90px;z-index:50;background:white;color:black;padding:10px}.skip:focus{top:0}.hero{min-height:650px;position:relative;background:#08080e;color:white;overflow:hidden;display:flex;align-items:center}.hero img{position:absolute;width:100%;height:100%;object-fit:cover;object-position:center;inset:0}.hero:after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,rgba(4,4,9,.75),transparent 72%)}.hero-copy{position:relative;z-index:1;width:min(1280px,90%);margin:auto;padding:75px 0 100px}.eyebrow{font-size:11px;letter-spacing:.22em;color:var(--gold);font-family:Georgia,serif;text-transform:uppercase;margin-bottom:20px}.hero .eyebrow{color:#e2ce9b}.hero h1{max-width:640px;text-shadow:0 2px 25px #000}.hero h1 em{font-style:normal;color:#e4d5ae}.hero p{max-width:520px;font-size:15px;line-height:2.1}.hero small{position:absolute;bottom:16px;right:4%;z-index:2;font-size:10px;background:#0009;padding:3px 10px;color:#ddd}.hero-actions{display:flex;gap:15px;flex-wrap:wrap;margin-top:28px}.strip{background:var(--night);color:#e4dfd1;display:grid;grid-template-columns:repeat(3,1fr);padding:25px max(5%,calc((100vw - 1240px)/2));gap:25px}.strip div{font-size:14px;border-right:1px solid #66604d;padding-right:24px}.strip div:last-child{border:0}.strip b{display:block;color:#dcc899;font-family:serif;font-size:18px;font-weight:500}.section{max-width:1240px;padding:84px 0;margin:auto;width:90%}.section.narrow{max-width:850px}.section-head{display:flex;justify-content:space-between;align-items:end;gap:40px;margin-bottom:38px}.section-head p{max-width:480px;margin:0;color:var(--muted)}.section-head h2{margin-bottom:0}.section-head .eyebrow{margin-bottom:10px}.center{text-align:center}.intro{max-width:770px;margin:0 auto}.intro p{color:var(--muted)}.grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:24px}.scene{display:block;text-decoration:none;min-height:190px;padding:27px;border-top:1px solid var(--gold);background:#eee9df;position:relative}.scene .num{font:italic 14px Georgia;color:#947943;display:block;margin-bottom:22px}.scene h3{font-size:23px;margin-bottom:10px}.scene p{font-size:14px;color:var(--muted);margin-bottom:20px}.scene .arrow{position:absolute;right:24px;bottom:18px;color:#8b713d}.scene:hover{background:#e9e0d0}.dark{background:var(--night);color:#eee9dc}.dark .section-head p,.dark p{color:#c3bfba}.programs{display:grid;grid-template-columns:repeat(3,1fr);gap:0;border:1px solid #514b44}.program{padding:36px;border-right:1px solid #514b44}.program:last-child{border:0}.program svg{width:100%;height:125px;color:#c5aa71;margin-bottom:22px}.program h3{font-size:27px;margin-bottom:10px}.program p{font-size:14px}.tag{font:11px/1.4 sans-serif;letter-spacing:.06em;color:#e4c895;border:1px solid #776447;padding:5px 8px;display:inline-block;margin-bottom:18px}.note{font-size:13px;color:var(--muted);margin-top:20px}.dark .note{color:#bdb9b0}.split{display:grid;grid-template-columns:1fr 1fr;gap:70px;align-items:start}.checklist{border-top:1px solid var(--line)}.checkrow{display:grid;grid-template-columns:40px 1fr;padding:19px 0;border-bottom:1px solid var(--line)}.checkrow>span{color:#9b814b;font:italic 18px Georgia}.checkrow b{font-weight:500}.checkrow small{display:block;color:var(--muted);font-size:13px}.textlink{font-size:14px;display:inline-block;margin-top:15px}.price{padding:35px;border:1px solid var(--gold);background:#fffaf0}.price strong{font:58px/1.3 Georgia;letter-spacing:-.03em}.price .unit{font-size:20px}.price p{font-size:14px;margin:16px 0}.divider{border-top:1px solid var(--line)}.steps{display:grid;grid-template-columns:repeat(4,1fr);gap:25px}.step{border-top:1px solid var(--gold);padding-top:22px}.step .num{font:italic 29px Georgia;color:var(--gold)}.step h3{font-size:21px;margin:14px 0}.step p{font-size:14px;color:var(--muted)}details{border-bottom:1px solid var(--line);padding:19px 0}summary{cursor:pointer;list-style:none;padding-right:35px;position:relative}summary:after{content:"+";position:absolute;right:4px;color:#8c7543;font-size:24px;top:-6px}details[open] summary:after{content:"−"}details p{font-size:15px;color:var(--muted);margin:18px 25px 2px 0}.cta{background:#28131d;color:white;text-align:center;padding:70px 5%;border-top:1px solid #8a6b49}.cta p{color:#d2c7c3}.cta h2{color:#e4d4ae}.cta .btn{margin-top:10px}footer{background:#0c0d13;color:#c3bdaf;padding:50px 5% 25px;font-size:13px}.footer-inner{max-width:1240px;margin:auto;display:flex;gap:50px;justify-content:space-between}.footer-links{display:grid;grid-template-columns:repeat(3,1fr);gap:12px 30px}.footer-links a{text-decoration:none;font-size:12px}.copyright{max-width:1240px;margin:35px auto 0;padding-top:20px;border-top:1px solid #33313b;font-size:11px;color:#949088}.mobile-cta{display:none}.crumb{max-width:1240px;width:90%;margin:24px auto;font-size:12px;color:var(--muted)}.page-head{background:var(--night);color:white;padding:55px 5%}.page-head>div{max-width:1240px;margin:auto}.page-head h1{font-size:42px;margin-bottom:15px}.page-head p{max-width:760px;color:#d4cfc5;margin-bottom:0}.prose h2{font-size:28px;margin-top:50px}.prose h2:first-child{margin-top:0}.prose h3{font-size:22px;margin-top:32px}.prose ul{padding-left:23px}.prose li{margin:8px 0}.box{border:1px solid var(--line);padding:27px;margin:26px 0;background:#fffcf7}.box p:last-child{margin-bottom:0}.table-wrap{overflow:auto}table{border-collapse:collapse;width:100%;font-size:14px;margin:24px 0}th,td{text-align:left;vertical-align:top;border-bottom:1px solid var(--line);padding:16px 13px}th{background:#ece5d8;font-weight:500;white-space:nowrap}.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:23px}label{display:block;font-size:14px}input,select,textarea{display:block;width:100%;padding:12px;margin-top:7px;border:1px solid #c4bba9;background:#fffdfa;border-radius:0;color:var(--ink);min-width:0}textarea{min-height:140px;resize:vertical}.required{font-size:11px;color:#802a44;margin-left:10px}.full{grid-column:1/-1}.checkbox{display:flex;gap:12px;align-items:flex-start;margin:25px 0}.checkbox input{width:18px;height:18px;margin-top:7px;flex-shrink:0}.status{padding:18px;border-left:3px solid var(--gold);background:#eee7d9;margin:20px 0;font-size:14px}.hidden{display:none!important}.hp{position:absolute;left:-9999px;width:1px;height:1px;overflow:hidden}.review{white-space:pre-wrap;overflow-wrap:anywhere;font-size:14px}.fieldnote{font-size:12px;color:var(--muted);margin:5px 0 0}.checktool{display:grid;grid-template-columns:1fr 160px;align-items:center;gap:20px;border-bottom:1px solid var(--line);padding:15px 0}.checktool select{margin:0}.result{padding:22px;background:#eee7d9;margin-top:20px}.print-button{cursor:pointer;background:none;border:1px solid var(--gold);padding:8px 18px}.private-note{font-size:12px;background:#e8e1d2;text-align:center;padding:7px;color:#5e5340}.consent-panel{background:#eee7db;padding:16px;font-size:13px}.consent-panel button{padding:6px 14px;border:1px solid #8e7950;background:#fffcf6;margin:5px;cursor:pointer}
@media(min-width:1450px){.hero{min-height:730px}}@media(max-width:1100px){.nav{gap:13px}.nav a{font-size:12px}.navwrap{gap:12px}.brand{font-size:16px}.nav .btn{padding:10px 12px}.hero h1{font-size:48px}.split{gap:40px}}@media(max-width:800px){header .navwrap{min-height:72px}.brand{font-size:15px}.brand svg{width:30px}.menu-toggle{display:block;margin-left:auto;background:transparent;border:1px solid #71613e;color:#e2d2a9;padding:6px 12px;font-size:13px}.nav{display:none;position:absolute;top:100%;left:0;right:0;background:#11121b;padding:22px 5%;border-bottom:1px solid #71613e}.nav.open{display:flex;flex-direction:column;align-items:stretch;gap:19px}.nav a{font-size:15px}.hero{min-height:750px;align-items:end}.hero img{height:480px;object-position:76% 50%;opacity:.85}.hero:after{background:linear-gradient(0deg,#08080e 20%,transparent 90%)}.hero-copy{padding:330px 0 55px}.hero h1{font-size:37px;line-height:1.5;margin-bottom:18px}.hero p{font-size:14px;max-width:100%}.hero .eyebrow{font-size:10px;margin-bottom:14px}.hero small{font-size:9px;bottom:auto;top:14px}.hero-actions{gap:12px}.hero-actions .btn{width:100%;font-size:14px}.strip{padding:24px 5%;gap:17px;grid-template-columns:1fr}.strip div{border-right:0;border-bottom:1px solid #494438;padding:0 0 14px;font-size:12px}.strip b{display:inline;font-size:15px;margin-right:15px}.section{padding:55px 0}.section-head{display:block;margin-bottom:25px}.section-head p{margin-top:17px}.grid{grid-template-columns:1fr 1fr;gap:15px}.scene{padding:22px 18px}.scene h3{font-size:20px}.scene p{font-size:13px}.scene .num{margin-bottom:15px}.programs{grid-template-columns:1fr}.program{padding:28px;border-right:0;border-bottom:1px solid #514b44;display:grid;grid-template-columns:100px 1fr;gap:0 22px}.program svg{grid-row:1/5;height:110px;margin:20px 0}.program h3{font-size:23px}.program .tag{justify-self:start}.program p{margin-bottom:0}.split{grid-template-columns:1fr;gap:35px}.steps{grid-template-columns:1fr 1fr;gap:25px}.footer-inner{display:block}.footer-links{margin-top:30px;gap:14px}.mobile-cta{position:fixed;bottom:0;left:0;right:0;display:flex;background:var(--wine);color:white;z-index:19;justify-content:center;padding:14px;text-decoration:none;border-top:1px solid #c08094;font-size:14px}footer{padding-bottom:95px}.page-head{padding:35px 5%}.page-head h1{font-size:30px}.page-head p{font-size:14px}.form-grid{grid-template-columns:1fr}.full{grid-column:auto}.price strong{font-size:48px}.checktool{grid-template-columns:1fr 110px;gap:12px;font-size:14px}.prose h2{font-size:25px}.section-head p{font-size:14px}.footer-links{grid-template-columns:1fr 1fr}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*{transition:none!important}}@media print{header,footer,.mobile-cta,.cta,.btn,.print-button,.private-note{display:none!important}body{background:white;color:black}.section{width:100%;padding:10px}.page-head{background:white;color:black}.page-head p{color:black}.split{display:block}.box{break-inside:avoid}}
.menu-toggle{flex-shrink:0;white-space:nowrap}@media(max-width:800px){.navwrap{gap:8px}.brand{font-size:14px;gap:8px}.brand small{font-size:8px}.menu-toggle{padding:6px 9px}.hero img{object-position:90% 50%}}
