@import url('https://fonts.googleapis.com/css2?family=Noto+Sans+JP:wght@400;500;600&family=Noto+Serif+JP:wght@400;500;600&display=swap');
:root{--paper:#faf8f4;--white:#fff;--cream:#f0ebe2;--ink:#342c29;--muted:#68605b;--wine:#702836;--wine-dark:#4c1a26;--gold:#786030;--line:#dcd2c4;--serif:'Noto Serif JP','Hiragino Mincho ProN','Yu Mincho',serif;--sans:'Noto Sans JP','Hiragino Sans',sans-serif;color-scheme:light}
*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:140px}body{margin:0;background:var(--paper);color:var(--ink);font-family:var(--sans);font-size:15px;line-height:1.95;-webkit-font-smoothing:antialiased}img{display:block;width:100%;height:auto}a{color:inherit;text-decoration:none}button{font:inherit}h1,h2,h3,p,figure{margin:0}h1,h2,h3{font-family:var(--serif);font-weight:500}h1{font-size:clamp(32px,3.5vw,52px);line-height:1.65;letter-spacing:.12em}h2{font-size:clamp(27px,2.6vw,38px);line-height:1.7;letter-spacing:.08em}h3{font-size:21px;line-height:1.7;letter-spacing:.04em}p+p{margin-top:1em}a,summary,button{-webkit-tap-highlight-color:transparent}a:focus-visible,summary:focus-visible,button:focus-visible{outline:3px solid var(--wine);outline-offset:5px}.wrap{width:min(1120px,calc(100% - 80px));margin-inline:auto}.section{padding-block:100px}.white{background:white}.cream{background:var(--cream)}.eyebrow{font-size:11px;letter-spacing:.24em;font-weight:500;color:var(--gold);text-transform:uppercase;display:block;margin-bottom:18px}.small{font-size:13px;color:var(--muted);line-height:1.85}.muted{color:var(--muted)}.copy{max-width:39em;color:var(--muted)}.section-head{display:flex;align-items:end;justify-content:space-between;gap:36px;margin-bottom:40px}.section-head .copy{max-width:30em}.section-head h2{margin-top:5px}.btn{display:inline-flex;justify-content:center;align-items:center;gap:35px;padding:17px 26px;min-height:56px;border:1px solid var(--wine);background:var(--wine);color:white;font-size:14px;letter-spacing:.05em;transition:background .2s,transform .2s}.btn::after{content:'↗';font-size:18px}.btn:hover{background:var(--wine-dark);transform:translateY(-2px)}.btn.outline{background:transparent;color:var(--wine)}.btn.outline:hover{background:#f2e8e8}.btn.light{background:var(--paper);color:var(--wine);border-color:var(--paper)}.text-link{display:inline-flex;gap:32px;align-items:center;min-height:44px;border-bottom:1px solid var(--gold);font-size:14px}.text-link::after{content:'→';color:var(--gold)}.button-row{display:flex;flex-wrap:wrap;gap:14px;margin-top:30px}.skip{position:fixed;left:20px;top:-100px;z-index:100;background:white;padding:14px}.skip:focus{top:20px}.preview-bar{background:var(--wine-dark);color:#f1e7dc;text-align:center;font-size:10px;line-height:25px;letter-spacing:.14em}.header{background:rgba(250,248,244,.97);position:sticky;top:0;z-index:20;border-bottom:1px solid var(--line)}.header-inner{max-width:1440px;padding:18px 42px;margin:auto;display:flex;align-items:center;justify-content:space-between;gap:25px}.brand{display:flex;align-items:center;gap:19px;min-height:50px}.brand-kanji{font-family:var(--serif);font-size:37px;letter-spacing:.18em;line-height:1.3}.brand-meta{display:flex;flex-direction:column;line-height:1.8;border-left:1px solid var(--line);padding-left:17px}.brand-roman{font-family:Georgia,serif;font-size:13px;letter-spacing:.25em}.brand-location{font-size:10px;letter-spacing:.07em;color:var(--muted)}.nav{display:flex;align-items:center;gap:27px;font-size:13px}.nav a{min-height:44px;display:flex;align-items:center;border-bottom:1px solid transparent}.nav a:hover,.nav a[aria-current=page]{color:var(--wine);border-bottom-color:var(--wine)}.nav .nav-cta{background:var(--wine);color:#fff;padding:10px 20px}.nav .nav-cta:hover{color:white;background:var(--wine-dark)}.mobile-nav,.mobile-dock{display:none}
.hero{display:grid;grid-template-columns:47% 53%;min-height:650px;max-width:1600px;margin:auto}.hero-content{background:var(--wine);color:var(--paper);padding:70px 45px 65px max(40px,calc((100vw - 1120px)/2));position:relative;display:flex;flex-direction:column;justify-content:center;overflow:hidden}.hero-content::before{content:'';width:450px;height:450px;border:1px solid #ffffff0e;border-radius:50%;position:absolute;left:-260px;top:100px;pointer-events:none}.hero .eyebrow{color:#d9c6a3}.hero h1{font-size:clamp(34px,3.1vw,49px);letter-spacing:.1em;line-height:1.9;position:relative;white-space:nowrap}.hero-desc{font-size:14px;line-height:2.1;margin-top:25px;max-width:29em;color:#f0e2df}.hero-content .button-row{margin-top:34px;align-items:center}.hero-content .text-link{color:white;border-color:#c8aeba}.hero-image{position:relative;min-height:100%}.hero-image img{position:absolute;height:100%;object-fit:cover;object-position:50% 52%}.image-note{position:absolute;bottom:15px;right:20px;color:#4b3a35;font-size:10px;background:#ffffffde;padding:3px 10px;letter-spacing:.02em}.hero-bottom{border-bottom:1px solid var(--line);padding:21px 0;background:white}.facts{display:flex;justify-content:center;gap:0;list-style:none;margin:0;padding:0;font-size:13px}.facts li{padding:0 35px;border-right:1px solid var(--line)}.facts li:last-child{border:0}.facts span{color:var(--gold);font-size:11px;margin-right:12px}.intro{text-align:center;padding:82px 0}.intro .eyebrow{margin-bottom:23px}.intro p{margin:23px auto 0;max-width:41em;color:var(--muted)}.service-grid{display:grid;grid-template-columns:1fr 1fr;gap:28px}.service-card{background:white}.service-photo{height:310px;overflow:hidden;position:relative}.service-photo img{height:100%;object-fit:cover;object-position:50% 43%;transition:transform .5s}.service-card:hover .service-photo img{transform:scale(1.035)}.service-body{padding:31px 32px 32px}.service-label{display:flex;align-items:center;justify-content:space-between;gap:15px;margin-bottom:14px}.service-label .eyebrow{margin:0}.service-body p{font-size:14px;color:var(--muted)}.starting{margin:20px 0 22px;padding-top:19px;border-top:1px solid var(--line);display:flex;align-items:baseline;gap:10px}.starting .price{font-family:Georgia,serif;font-size:30px;color:var(--wine)}.starting small{font-size:11px;color:var(--muted)}.service-body .text-link{width:100%;justify-content:space-between}.notes{border-left:2px solid var(--gold);padding:3px 0 3px 20px;margin-top:30px;font-size:13px;color:var(--muted)}.concept-grid{display:grid;grid-template-columns:46% 1fr;gap:80px;align-items:center}.concept-photo{position:relative;max-width:470px}.concept-photo::after{content:'';position:absolute;inset:20px -20px -20px 20px;border:1px solid var(--line);z-index:0}.concept-photo img{height:550px;object-fit:cover;position:relative;z-index:1}.concept-copy p{margin-top:24px;color:var(--muted)}.concept-copy .text-link{margin-top:27px}.assurances{display:grid;grid-template-columns:repeat(3,1fr);gap:36px;margin-top:50px}.assurance{border-top:1px solid var(--gold);padding-top:25px}.assurance-no{font-family:Georgia,serif;color:var(--gold);font-size:14px;display:block;margin-bottom:15px}.assurance h3{font-size:19px;margin-bottom:15px}.assurance p{color:var(--muted);font-size:14px}.flow-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:27px;list-style:none;padding:0;margin:42px 0 0;counter-reset:step}.flow-grid li{position:relative;border-top:1px solid var(--line);padding-top:25px}.flow-grid li::before{counter-increment:step;content:'0' counter(step);display:block;font-family:Georgia,serif;font-size:30px;color:var(--gold);margin-bottom:14px}.flow-grid h3{font-size:18px;margin-bottom:13px}.flow-grid p{font-size:13px;color:var(--muted)}.faq-layout{display:grid;grid-template-columns:30% 1fr;gap:55px}.faq-list{border-top:1px solid var(--line)}details{border-bottom:1px solid var(--line)}summary{padding:22px 36px 22px 30px;position:relative;cursor:pointer;list-style:none;font-size:15px;line-height:1.8;min-height:64px}summary::-webkit-details-marker{display:none}summary::before{content:'Q';font-family:Georgia,serif;position:absolute;left:0;color:var(--wine);font-size:20px}summary::after{content:'＋';position:absolute;right:0;color:var(--wine)}details[open] summary::after{content:'−'}.faq-answer{padding:0 30px 25px;font-size:14px;color:var(--muted)}.faq-followup{margin-top:25px}.access-grid{display:grid;grid-template-columns:1fr 1fr;gap:75px}.address{font-family:var(--serif);font-size:21px;line-height:1.8;margin:18px 0}.access-meta{display:grid;grid-template-columns:95px 1fr;margin-top:25px;font-size:14px}.access-meta dt,.access-meta dd{padding:13px 0;border-bottom:1px solid var(--line);margin:0}.access-meta dt{color:var(--muted)}.access-mark{display:flex;align-items:center;justify-content:center;min-height:310px;background:var(--cream);border:1px solid var(--line);position:relative;overflow:hidden}.access-mark::before,.access-mark::after{content:'';position:absolute;width:100%;height:1px;background:#d7c9b7;transform:rotate(-35deg)}.access-mark::after{transform:rotate(30deg)}.access-mark-inner{background:var(--paper);position:relative;z-index:1;text-align:center;padding:38px 46px;border:1px solid var(--line)}.access-mark-inner strong{font-family:var(--serif);font-size:32px;font-weight:500;letter-spacing:.2em;display:block}.access-mark-inner span{font-size:13px}.contact-band{background:var(--wine);color:white;padding:70px 0}.contact-band .wrap{display:flex;justify-content:space-between;align-items:center;gap:40px}.contact-band .eyebrow{color:#dfcba6}.contact-band h2{font-size:31px}.contact-band p{font-size:14px;color:#f2e5e5;margin-top:14px}.contact-actions{display:flex;flex-direction:column;min-width:290px;gap:13px}.contact-actions .text-link{color:white;border-color:#c9aeb5;justify-content:center}.footer{padding:62px 0 28px;background:var(--paper)}.footer-top{display:flex;gap:40px;justify-content:space-between}.footer-nav{display:grid;grid-template-columns:repeat(2,1fr);gap:10px 35px;font-size:13px}.footer-nav a{min-height:40px;display:flex;align-items:center}.footer-info{margin-top:20px;font-size:12px;color:var(--muted)}.footer-bottom{display:flex;justify-content:space-between;gap:15px;border-top:1px solid var(--line);padding-top:23px;margin-top:42px;font-size:10px;color:var(--muted)}
.breadcrumb{font-size:11px;color:var(--muted);padding-top:22px}.breadcrumb a{text-decoration:underline;text-underline-offset:4px}.page-head{padding:45px 0 58px;border-bottom:1px solid var(--line)}.page-head .eyebrow{margin-bottom:13px}.page-head p{max-width:43em;margin-top:20px;color:var(--muted)}.page-jumps{display:flex;gap:15px;margin-top:26px}.page-jumps a{display:inline-flex;min-height:45px;align-items:center;padding:7px 20px;border:1px solid var(--line);font-size:13px;background:white}.page-jumps a::after{content:'↓';margin-left:35px;color:var(--gold)}.category-head{display:grid;grid-template-columns:1fr 1fr;gap:40px;align-items:end;margin-bottom:35px}.category-head p{font-size:14px;color:var(--muted);max-width:36em}.course-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:28px}.course-card{background:white;border:1px solid var(--line);display:flex;flex-direction:column;padding:34px}.course-id{font-size:11px;letter-spacing:.15em;color:var(--gold);margin-bottom:12px}.course-card h3{font-size:22px;line-height:1.7;min-height:76px}.course-card .desc{font-size:14px;color:var(--muted);margin:18px 0 0}.price-table{width:100%;border-collapse:collapse;margin-top:17px;font-size:13px}.price-table th{font-weight:400;text-align:left}.price-table th,.price-table td{padding:14px 0;border-top:1px solid var(--line)}.price-table td:last-child{text-align:right;font-family:Georgia,serif;font-size:25px;color:var(--wine);white-space:nowrap}.price-table tr:first-child th{color:var(--wine);font-weight:500}.tax{font-size:11px;color:var(--muted);text-align:right;margin-top:7px}.course-details{border-top:1px solid var(--line);margin-top:25px;padding-top:21px}.course-details h4{font-size:12px;font-weight:500;margin:0 0 12px;color:var(--gold);letter-spacing:.08em}.treatments{list-style:none;padding:0;margin:0;font-size:13px;color:var(--muted)}.treatments li{position:relative;padding-left:17px;margin-top:8px}.treatments li::before{content:'·';position:absolute;left:1px;color:var(--wine)}.course-card .course-link{margin-top:auto;padding-top:27px}.course-link .text-link{width:100%;justify-content:space-between;color:var(--wine)}.notice-box{padding:27px 30px;background:var(--cream);margin-top:30px;font-size:14px}.notice-box h3{font-size:17px;margin-bottom:12px}.notice-box ul{padding-left:1.2em;margin:0;color:var(--muted)}.notice-box li+li{margin-top:7px}.checklist{list-style:none;padding:0;margin:25px 0 0}.checklist li{padding:16px 0 16px 28px;border-bottom:1px solid var(--line);position:relative;font-size:14px;color:var(--muted)}.checklist li::before{content:'✓';position:absolute;left:0;color:var(--wine)}.two-column{display:grid;grid-template-columns:1fr 1fr;gap:65px}.contact-options{display:grid;grid-template-columns:1fr 1fr;gap:25px}.contact-option{padding:32px;border:1px solid var(--line);background:white;display:flex;flex-direction:column}.contact-option.line{background:var(--wine);color:white;grid-column:1/-1;display:grid;grid-template-columns:1fr auto;align-items:center;gap:30px}.contact-option .eyebrow{margin-bottom:9px}.contact-option.line .eyebrow{color:#dfcba6}.contact-option.line p{color:#f2e5e5}.contact-option p{font-size:14px;margin-top:13px;color:var(--muted)}.contact-option .contact-value{font-size:24px;font-family:var(--serif);margin-top:24px;min-height:44px;display:flex;align-items:center;overflow-wrap:anywhere;word-break:break-word;color:var(--wine);line-height:1.6}.contact-option .email{font-family:var(--sans);font-size:17px}.contact-option .btn{margin-top:25px}.contact-option.line .btn{margin:0;min-width:230px}.request-list{display:grid;grid-template-columns:repeat(3,1fr);gap:15px;list-style:none;padding:0;margin:26px 0 20px}.request-list li{padding:20px;background:white;border-top:2px solid var(--gold);font-family:var(--serif);font-size:18px}.request-list span{font-family:Georgia,serif;color:var(--gold);font-size:14px;margin-right:17px}.info{border-collapse:collapse;width:100%;font-size:14px}.info th,.info td{text-align:left;border-bottom:1px solid var(--line);padding:21px 15px;vertical-align:top;overflow-wrap:anywhere}.info th{font-weight:500;width:24%;color:var(--muted)}.info a{text-decoration:underline;text-underline-offset:4px}.map{width:100%;height:370px;border:0;margin-top:40px}.back-link{margin-top:30px}.photo-caption{font-size:11px;color:var(--muted);margin-top:10px;text-align:right}
@media(min-width:1600px){.hero-content{padding-left:120px}}
@media(max-width:1100px){.header-inner{padding:15px 26px}.nav{gap:17px;font-size:12px}.brand-meta{display:none}.hero-content{padding-left:40px;padding-right:30px}.hero h1{font-size:35px}.hero-content .button-row{gap:20px}.hero-content .btn{padding-inline:22px}.concept-grid{gap:55px}.facts li{padding-inline:22px}.course-card{padding:27px}.course-card h3{font-size:20px}.contact-band h2{font-size:28px}}
@media(max-width:800px){body{font-size:14px}.wrap{width:calc(100% - 40px)}.section{padding-block:66px}.header-inner{padding:12px 20px}.brand-kanji{font-size:30px}.brand-meta{display:flex;padding-left:12px}.brand{gap:13px}.brand-roman{font-size:10px}.brand-location{font-size:9px}.nav>a{display:none}.nav .nav-cta{display:flex;font-size:11px;min-height:40px;padding:7px 15px}.mobile-nav{display:flex;justify-content:space-around;border-top:1px solid var(--line);padding:0 12px;gap:10px}.mobile-nav a{font-size:11px;display:flex;align-items:center;justify-content:center;min-height:43px;padding:6px}.mobile-nav a[aria-current=page]{color:var(--wine);border-bottom:1px solid var(--wine)}.hero{grid-template-columns:1fr;min-height:auto}.hero-content{padding:42px 26px 40px;order:2}.hero h1{font-size:34px;line-height:1.7}.hero .eyebrow{margin-bottom:16px;font-size:10px}.hero-desc{margin-top:18px;font-size:13px;max-width:none}.hero-image{height:340px;order:1}.hero-image img{object-position:50% 63%}.hero-content .button-row{margin-top:24px;gap:20px}.hero-content .btn{min-height:51px;font-size:13px}.hero-content .text-link{font-size:12px;gap:15px}.hero-bottom{padding:19px 0}.facts{font-size:11px;gap:0;justify-content:space-around}.facts li{padding-inline:10px;display:flex;flex-direction:column;text-align:center;line-height:1.8;flex:1}.facts span{margin:0;font-size:9px}.intro{padding:58px 0}.intro p{text-align:left;font-size:14px;line-height:2}.intro h2{font-size:27px}.section-head{align-items:start;flex-direction:column;gap:18px;margin-bottom:28px}.section-head .eyebrow{margin-bottom:9px}.service-grid{gap:21px}.service-photo{height:250px}.service-body{padding:22px}.service-label{align-items:start;flex-direction:column;gap:5px}.service-body h3{font-size:24px}.concept-grid{grid-template-columns:1fr;gap:55px}.concept-photo{max-width:none;margin-right:16px}.concept-photo img{height:430px;object-position:50% 35%}.concept-photo::after{inset:16px -16px -16px 16px}.concept-copy h2{font-size:28px}.assurances{grid-template-columns:1fr;gap:25px;margin-top:30px}.assurance{padding-top:21px}.assurance-no{float:left;width:42px;margin-top:2px}.assurance h3{margin-left:42px;margin-bottom:10px}.assurance p{margin-left:42px}.flow-grid{grid-template-columns:1fr 1fr;gap:30px 24px;margin-top:27px}.faq-layout{grid-template-columns:1fr;gap:28px}.faq-layout .eyebrow{margin-bottom:8px}summary{font-size:14px}.access-grid{grid-template-columns:1fr;gap:35px}.access-mark{min-height:265px;order:2}.contact-band{padding:55px 0}.contact-band .wrap{flex-direction:column;align-items:stretch;gap:29px}.contact-band h2{font-size:26px}.contact-actions{min-width:0}.contact-band .eyebrow{margin-bottom:13px}.footer{padding:45px 0 100px}.footer-top{flex-direction:column;gap:28px}.footer-nav{grid-template-columns:1fr 1fr;gap:5px 20px}.footer-bottom{flex-direction:column;margin-top:24px;padding-top:21px}.mobile-dock{display:grid;position:fixed;z-index:25;bottom:0;left:0;right:0;grid-template-columns:1fr 1fr;gap:10px;background:rgba(250,248,244,.98);padding:10px 14px calc(10px + env(safe-area-inset-bottom));border-top:1px solid var(--line);box-shadow:0 -4px 20px #342c2908}.mobile-dock a{display:flex;align-items:center;justify-content:center;min-height:46px;font-size:12px;background:var(--wine);color:white}.mobile-dock a:first-child{background:white;color:var(--wine);border:1px solid var(--wine)}.page-head{padding:34px 0 40px}.page-head h1{font-size:31px}.page-head p{font-size:14px}.page-jumps{gap:10px}.page-jumps a{padding-inline:17px;font-size:12px}.page-jumps a::after{margin-left:22px}.category-head{grid-template-columns:1fr;gap:18px;margin-bottom:26px}.course-grid{gap:20px}.course-card{padding:25px}.course-card h3{min-height:70px;font-size:19px;overflow-wrap:anywhere}.price-table{font-size:12px}.price-table td:last-child{font-size:23px}.notice-box{padding:23px;font-size:13px}.two-column{grid-template-columns:1fr;gap:35px}.contact-options{gap:18px}.contact-option{padding:25px}.contact-option.line{grid-template-columns:1fr;gap:22px}.contact-option.line .btn{width:100%}.contact-option .contact-value{font-size:21px}.contact-option .email{font-size:15px}.request-list li{font-size:15px;padding:15px}.request-list span{display:block}.info th{width:30%}.info th,.info td{padding:18px 10px;font-size:13px}.eyebrow{font-size:10px}.btn{min-height:52px;font-size:13px}html{scroll-padding-top:150px}}
@media(max-width:580px){.service-grid,.course-grid,.contact-options{grid-template-columns:1fr}.course-card h3{min-height:0;font-size:21px}.service-photo{height:270px}.service-label{flex-direction:row;align-items:center}.service-body{padding:26px}.service-label h3{font-size:25px}.course-card{padding:26px}.price-table{font-size:13px}.price-table td:last-child{font-size:27px}.contact-option.line{grid-column:auto}.request-list{grid-template-columns:1fr;gap:10px}.request-list li{display:flex;gap:20px;align-items:center;padding:15px 20px;font-size:17px}.request-list span{margin:0}.info{display:block}.info tbody{display:block}.info tr{display:block;border-bottom:1px solid var(--line);padding:16px 0}.info th,.info td{display:block;width:auto;border:0;padding:0}.info th{margin-bottom:8px;font-size:12px}.info td{font-size:14px}.hero-image{height:295px}.hero-content{padding:35px 24px 37px}.hero h1{font-size:32px}.hero-desc{font-size:13px}.hero-content .button-row{gap:18px;justify-content:space-between}.hero-content .text-link{gap:14px}.hero-content .btn{padding:13px 18px;gap:20px}.hero .eyebrow{letter-spacing:.17em}.contact-option .email{font-size:16px}.image-note{font-size:9px;right:13px;bottom:12px}.address{font-size:19px}.flow-grid h3{font-size:17px}.flow-grid p{font-size:13px}}
@media(max-width:360px){.brand-meta{display:none}.hero h1{font-size:27px}.hero-content .button-row{gap:14px}.hero-content .btn{padding-inline:14px;gap:15px}.hero-content .text-link{gap:10px;font-size:11px}.hero-image{height:250px}.wrap{width:calc(100% - 32px)}.course-card{padding:21px}.course-card h3{font-size:19px}.page-jumps a{padding-inline:12px}.facts li{padding-inline:6px}.nav .nav-cta{padding-inline:14px}.intro h2{font-size:24px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*::before,*::after{transition:none!important;animation:none!important}}
.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.mini-course{padding:19px 0;border-bottom:1px solid var(--line)}.mini-course>a{font-family:var(--serif);font-size:17px;line-height:1.7;display:block}.mini-course>a:hover{color:var(--wine)}.mini-course>a>span{color:var(--gold)}.mini-price{display:flex;flex-wrap:wrap;gap:8px 20px;margin-top:10px;font-size:12px;color:var(--muted)}.mini-price strong{font-size:19px;font-family:Georgia,serif;font-weight:400;color:var(--wine);margin-left:5px}.service-body>.text-link{margin-top:19px}.mobile-break{display:none}@media(max-width:580px){.mobile-break{display:block}.mini-course>a{font-size:17px}.mini-price{gap:7px 16px}.contact-option h2{font-size:24px}}
.hero-image img{object-position:65% 50%}@media(max-width:800px){.hero-image img{object-position:65% 50%}}

.nav .nav-cta[aria-current=page]{color:#fff;border-bottom-color:var(--wine)}
