:root{--ink:#101316;--ink2:#171b1f;--paper:#f8f6f1;--white:#fff;--gold:#ba9254;--gold2:#dfc38e;--bronze:#735934;--muted:#6b6c6d;--line:#ded8cc;--serif:"Yu Mincho","Hiragino Mincho ProN","Noto Serif JP",serif;--sans:"Hiragino Kaku Gothic ProN","Yu Gothic",sans-serif;--shadow:0 28px 80px rgba(21,18,12,.14)}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--paper);color:var(--ink);font-family:var(--sans);line-height:1.9;letter-spacing:.04em}a{color:inherit}img{max-width:100%;display:block}button,input,textarea,select{font:inherit}.skip{position:absolute;left:-9999px}.skip:focus{left:12px;top:12px;z-index:999;background:#fff;padding:10px}.site-header{position:fixed;z-index:50;left:0;right:0;top:0;height:88px;display:flex;align-items:center;justify-content:space-between;padding:0 4vw;color:#fff;background:linear-gradient(180deg,rgba(8,10,12,.92),rgba(8,10,12,.52));border-bottom:1px solid rgba(255,255,255,.12);backdrop-filter:blur(12px)}.brand{display:flex;align-items:center;gap:14px;text-decoration:none;min-width:250px}.brand-mark{font-family:Georgia,serif;font-size:31px;font-style:italic;color:var(--gold2);line-height:1}.brand b{display:block;font-family:var(--serif);font-size:15px;letter-spacing:.12em}.brand small{display:block;font-size:9px;letter-spacing:.2em;color:#c8c6c1}.global-nav{display:flex;align-items:center;gap:clamp(14px,2vw,30px)}.global-nav a{font-size:12px;text-decoration:none;position:relative;white-space:nowrap}.global-nav a:after{content:"";position:absolute;left:0;right:100%;bottom:-9px;height:1px;background:var(--gold2);transition:.3s}.global-nav a:hover:after,.global-nav a[aria-current=page]:after{right:0}.header-tools{display:flex;align-items:center;gap:10px}.lang-btn,.menu-btn{border:1px solid rgba(255,255,255,.35);color:#fff;background:transparent;padding:9px 12px;cursor:pointer}.menu-btn{display:none;width:44px;height:42px;position:relative}.menu-btn span,.menu-btn:before,.menu-btn:after{content:"";position:absolute;left:10px;right:10px;height:1px;background:#fff;transition:.25s}.menu-btn:before{top:12px}.menu-btn span{top:20px}.menu-btn:after{top:28px}.menu-btn[aria-expanded=true] span{opacity:0}.menu-btn[aria-expanded=true]:before{top:20px;transform:rotate(45deg)}.menu-btn[aria-expanded=true]:after{top:20px;transform:rotate(-45deg)}.hero{min-height:760px;background:#0d0f10;color:#fff;position:relative;display:grid;grid-template-columns:minmax(0,1.07fr) minmax(360px,.93fr);overflow:hidden}.hero:before{content:"";position:absolute;inset:0;background:radial-gradient(circle at 22% 28%,rgba(184,145,84,.18),transparent 35%),linear-gradient(135deg,#161a1d 0%,#080a0c 72%)}.hero-copy{z-index:2;position:relative;align-self:center;padding:160px 4vw 90px 8vw}.eyebrow{display:flex;align-items:center;gap:13px;text-transform:uppercase;letter-spacing:.22em;font-size:11px;color:var(--gold2)}.eyebrow:before{content:"";width:42px;height:1px;background:currentColor}.hero h1{font-family:var(--serif);font-size:clamp(43px,5.8vw,79px);font-weight:500;line-height:1.32;letter-spacing:.08em;margin:.35em 0}.hero h1 em{color:var(--gold2);font-style:normal}.hero-lead{max-width:660px;font-family:var(--serif);font-size:17px;color:#dedbd5}.hero-actions,.cta-row{display:flex;flex-wrap:wrap;gap:14px;margin-top:34px}.btn{display:inline-flex;align-items:center;justify-content:center;gap:10px;min-height:54px;padding:0 24px;border:1px solid var(--gold);background:var(--gold);color:#111;text-decoration:none;font-weight:700;font-size:13px;transition:.25s}.btn:hover{transform:translateY(-2px);background:var(--gold2)}.btn.ghost{background:transparent;color:#fff;border-color:rgba(255,255,255,.4)}.btn.dark{background:var(--ink);border-color:var(--ink);color:#fff}.hero-portrait{position:relative;z-index:1;min-height:760px}.hero-portrait img{width:100%;height:100%;object-fit:cover;object-position:center top;filter:saturate(.72) contrast(1.03)}.hero-portrait:before{content:"";position:absolute;z-index:2;inset:0;background:linear-gradient(90deg,#0d0f10 0%,transparent 38%),linear-gradient(0deg,rgba(13,15,16,.65),transparent 45%)}.hero-note{position:absolute;z-index:3;right:6%;bottom:7%;text-align:right}.hero-note b{display:block;font-family:var(--serif);font-size:20px}.hero-note span{font-size:10px;letter-spacing:.2em;color:var(--gold2)}.vertical-word{position:absolute;z-index:3;right:3%;top:18%;writing-mode:vertical-rl;letter-spacing:.28em;font-size:10px;color:rgba(255,255,255,.5)}.trust-strip{position:relative;z-index:3;margin-top:-42px;margin-left:6vw;width:min(900px,88vw);background:#fff;box-shadow:var(--shadow);display:grid;grid-template-columns:repeat(3,1fr)}.trust-item{padding:25px 28px;border-right:1px solid var(--line)}.trust-item:last-child{border:0}.trust-item small{display:block;color:var(--bronze);font-size:10px;letter-spacing:.16em}.trust-item b{display:block;font-family:var(--serif);font-size:17px;margin-top:4px}.section{padding:110px 6vw}.section.dark{background:var(--ink2);color:#fff}.section.white{background:#fff}.section.goldwash{background:linear-gradient(135deg,#ede5d5,#f9f7f2)}.wrap{max-width:1180px;margin:auto}.section-head{display:grid;grid-template-columns:260px 1fr;gap:55px;align-items:start;margin-bottom:52px}.kicker{font-size:10px;color:var(--bronze);letter-spacing:.25em;text-transform:uppercase}.dark .kicker{color:var(--gold2)}.section h2,.page-hero h1{font-family:var(--serif);font-weight:500;letter-spacing:.08em;line-height:1.5;margin:.18em 0;font-size:clamp(32px,4vw,51px)}.section-head p{margin:5px 0;color:var(--muted);max-width:720px}.dark .section-head p{color:#c9c8c5}.grid-3{display:grid;grid-template-columns:repeat(3,1fr);gap:22px}.grid-2{display:grid;grid-template-columns:repeat(2,1fr);gap:32px}.card{background:#fff;padding:36px;border:1px solid var(--line);position:relative;transition:.3s}.card:hover{transform:translateY(-5px);box-shadow:var(--shadow)}.card .num{font-family:Georgia,serif;color:var(--gold);font-size:13px}.card h3{font-family:var(--serif);font-size:22px;letter-spacing:.06em;line-height:1.55}.card p{color:var(--muted);font-size:14px}.dark .card{background:#202529;border-color:#33383c}.dark .card p{color:#c9c8c5}.dark .card h3{color:#fff}.practice-card{min-height:270px;display:flex;flex-direction:column}.practice-card .arrow{margin-top:auto;color:var(--gold);font-size:23px}.message-layout{display:grid;grid-template-columns:.86fr 1.14fr;gap:70px;align-items:center}.message-photo{position:relative}.message-photo:before{content:"";position:absolute;width:72%;height:72%;left:-20px;bottom:-20px;background:#c9a66a}.message-photo img{position:relative;z-index:1;width:100%;aspect-ratio:4/5;object-fit:cover;object-position:center top;filter:saturate(.8)}.quote{font-family:var(--serif);font-size:clamp(27px,3.2vw,42px);line-height:1.7;letter-spacing:.08em}.signature{margin-top:30px}.signature b{font-family:var(--serif);font-size:23px}.facts{display:grid;grid-template-columns:repeat(4,1fr);border-top:1px solid #413d37;border-bottom:1px solid #413d37}.fact{padding:28px;border-right:1px solid #413d37}.fact:last-child{border:0}.fact strong{display:block;font-family:Georgia,serif;color:var(--gold2);font-size:31px}.fact span{font-size:11px;color:#c7c3ba}.steps{counter-reset:step}.step{counter-increment:step;display:grid;grid-template-columns:92px 1fr;gap:32px;padding:32px 0;border-top:1px solid var(--line)}.step:before{content:"0" counter(step);font:35px Georgia,serif;color:var(--gold)}.step h3{font-family:var(--serif);margin:0;font-size:21px}.step p{margin:7px 0;color:var(--muted);font-size:14px}.page-hero{min-height:460px;padding:170px 7vw 80px;color:#fff;background:radial-gradient(circle at 82% 24%,rgba(186,146,84,.24),transparent 25%),linear-gradient(135deg,#171b1f,#080a0b);position:relative;overflow:hidden}.page-hero:after{content:attr(data-letter);position:absolute;right:5%;bottom:-80px;font:260px Georgia,serif;color:rgba(255,255,255,.035)}.page-hero p{max-width:720px;color:#d3d1ca}.breadcrumbs{font-size:10px;color:#aaa;letter-spacing:.15em}.profile-table{border-top:1px solid var(--line)}.profile-row{display:grid;grid-template-columns:240px 1fr;border-bottom:1px solid var(--line);padding:22px 0}.profile-row dt{font-weight:700}.profile-row dd{margin:0;color:var(--muted)}.tag-list{display:flex;flex-wrap:wrap;gap:8px}.tag{border:1px solid var(--line);padding:7px 12px;font-size:12px;background:#fff}.fee-box{border:1px solid var(--line);background:#fff;padding:34px}.fee-box .price{font-family:var(--serif);font-size:32px;color:var(--bronze)}.notice{border-left:3px solid var(--gold);background:#f0ebe1;padding:20px 24px;font-size:13px}.access-grid{display:grid;grid-template-columns:1fr 1fr;gap:40px}.map-frame{width:100%;min-height:440px;border:0;filter:grayscale(.25)}.info-list{border-top:1px solid var(--line)}.info-list div{padding:20px 0;border-bottom:1px solid var(--line)}.info-list small{display:block;color:var(--bronze);font-size:10px}.contact-panel{background:var(--ink);color:#fff;padding:55px;position:relative;overflow:hidden}.contact-panel:after{content:"S";position:absolute;right:20px;bottom:-85px;font:260px Georgia,serif;color:rgba(255,255,255,.035)}.contact-form{display:grid;gap:20px}.field label{display:block;font-weight:700;font-size:13px;margin-bottom:6px}.field input,.field textarea,.field select{width:100%;padding:15px;border:1px solid #ccc;background:#fff}.field textarea{min-height:180px;resize:vertical}.check{font-size:12px}.form-note{color:#aaa;font-size:11px}.faq details{border-top:1px solid var(--line);padding:22px 0}.faq summary{cursor:pointer;font-family:var(--serif);font-size:18px}.faq p{color:var(--muted);font-size:14px;padding-left:28px}.cta-band{background:linear-gradient(110deg,#8a6b3e,#c29a5a);color:#111;padding:62px 6vw}.cta-band .wrap{display:flex;justify-content:space-between;align-items:center;gap:30px}.cta-band h2{font-family:var(--serif);font-size:32px;margin:0}.site-footer{background:#090b0d;color:#bbb;padding:70px 6vw 28px}.footer-grid{display:grid;grid-template-columns:1.3fr 1fr 1fr;gap:50px}.footer-logo{font-family:var(--serif);font-size:21px;color:#fff}.site-footer a{color:#c7c7c7;text-decoration:none}.site-footer ul{list-style:none;padding:0;margin:0}.site-footer li{margin:8px 0;font-size:12px}.copyright{border-top:1px solid #282b2d;margin-top:44px;padding-top:20px;font-size:10px;color:#777}.reveal{opacity:0;transform:translateY(20px);transition:.7s}.reveal.on{opacity:1;transform:none}.en{display:none}body.lang-en .ja{display:none!important}body.lang-en .en{display:initial}body.lang-en .en.block{display:block}@media(max-width:1060px){.global-nav{position:fixed;top:88px;left:0;right:0;background:#0d0f10;display:none;padding:28px 6vw;grid-template-columns:1fr 1fr}.global-nav.open{display:grid}.menu-btn{display:block}.hero{grid-template-columns:1fr .7fr}.hero h1{font-size:51px}.grid-3{grid-template-columns:repeat(2,1fr)}}@media(max-width:760px){.site-header{height:74px;padding:0 18px}.brand{min-width:0}.brand b{font-size:12px}.brand small{display:none}.brand-mark{font-size:24px}.lang-btn{padding:7px 9px}.global-nav{top:74px;grid-template-columns:1fr}.hero{display:block;min-height:auto}.hero-copy{padding:132px 22px 70px}.hero h1{font-size:39px}.hero-portrait{min-height:500px}.hero-portrait:before{background:linear-gradient(0deg,#0d0f10 0%,transparent 42%)}.trust-strip{margin:-28px 18px 0;width:auto;grid-template-columns:1fr}.trust-item{border-right:0;border-bottom:1px solid var(--line);padding:18px 22px}.section{padding:76px 20px}.section-head{grid-template-columns:1fr;gap:10px}.grid-3,.grid-2,.message-layout,.access-grid,.footer-grid{grid-template-columns:1fr}.message-layout{gap:50px}.facts{grid-template-columns:1fr 1fr}.fact:nth-child(2){border-right:0}.page-hero{padding:130px 22px 60px;min-height:390px}.profile-row{grid-template-columns:1fr;gap:5px}.cta-band .wrap{display:block}.contact-panel{padding:32px 22px}.map-frame{min-height:340px}.footer-grid{gap:28px}.cta-row{display:grid}.btn{width:100%}.hero-actions{display:grid}.hero-note{right:20px}.step{grid-template-columns:65px 1fr;gap:15px}}@media(max-width:430px){.hero h1{font-size:33px}.hero-portrait{min-height:430px}.grid-3{grid-template-columns:1fr}.facts{grid-template-columns:1fr}.fact{border-right:0;border-bottom:1px solid #413d37}.footer-logo{font-size:18px}}
