:root{--color-bg:#ffffff;--color-surface:#f4f8fa;--color-surface-soft:#f8f8f8;--color-text:#5f5f65;--color-text-light:#898a8e;--color-text-dark:#121419;--color-link:#d6aeab;--color-link-hover:#c89490;--color-link-alt:#dd9db0;--color-blue:#87bad3;--color-border:#d6dadd;--color-border-soft:rgba(214,218,221,0.65);--color-inverse:#fcfcfc;--color-dark:#20232c;--color-extra-dark:#0b0d26;--layout-wide:1290px;--layout-content:1170px;--layout-gutter:clamp(20px,4.65vw,60px);--grid-gap:30px;--section-space:clamp(76px,9vw,140px);--section-space-small:clamp(52px,6vw,88px);--button-padding-y:19px;--button-padding-x:42px;--button-radius:0;--shadow-soft:0 7px 25px rgba(18,20,25,0.08)}*,:after,:before{box-sizing:border-box}html{max-width:100%;overflow-x:hidden;scroll-behavior:smooth}body{min-width:320px;min-height:100vh;margin:0;color:var(--color-text);background:var(--color-bg);font-family:var(--font-serif),"Noto Serif JP",serif;font-size:16px;font-weight:400;line-height:1.647;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}a{color:inherit;text-decoration:none}button,input,select,textarea{font:inherit}button{border:0}img{display:block;max-width:100%}blockquote,figure,h1,h2,h3,h4,ol,p,ul{margin:0}ol,ul{padding:0;list-style:none}h1,h2,h3,h4{color:var(--color-text-dark);font-family:var(--font-serif),"Noto Serif JP",serif;font-weight:700;letter-spacing:-.04em}p{margin-bottom:1.57em}p:last-child{margin-bottom:0}a,button{-webkit-tap-highlight-color:transparent}a:focus-visible,button:focus-visible{outline:3px solid var(--color-blue);outline-offset:4px}.sr-only{position:absolute;width:1px;height:1px;padding:0;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.card-kicker,.eyebrow,.status-label{color:var(--color-link);font-family:var(--font-sans),"DM Sans",sans-serif;font-size:.78rem;font-weight:700;letter-spacing:.12em;line-height:1.5;text-transform:uppercase}.button,.call-button{display:inline-flex;min-height:59px;align-items:center;justify-content:center;padding:var(--button-padding-y) var(--button-padding-x);border:1px solid transparent;border-radius:var(--button-radius);font-family:var(--font-serif),"Noto Serif JP",serif;font-size:15px;font-weight:700;line-height:21px;text-align:center;transition:color .18s ease,background-color .18s ease,border-color .18s ease}.button{color:var(--color-inverse);background:var(--color-link)}.button:focus-visible,.button:hover,.call-button:focus-visible,.call-button:hover{color:var(--color-inverse);background:var(--color-link-hover)}.button-secondary{color:var(--color-link);border-color:var(--color-link);background:transparent}.button-secondary:focus-visible,.button-secondary:hover{color:var(--color-inverse);border-color:var(--color-link);background:var(--color-link)}.text-link{display:inline-flex;width:fit-content;align-items:center;gap:.45em;color:var(--color-link-hover);font-weight:700;text-decoration:underline;text-decoration-thickness:1px;text-underline-offset:.25em}.text-link:focus-visible,.text-link:hover{color:var(--color-text-dark)}.hero-actions,.link-row{display:flex;flex-wrap:wrap;gap:14px}.section-heading{display:grid;gap:14px;margin-bottom:38px}.section-heading-wide{max-width:820px}.section-heading h2{font-size:clamp(2rem,4.3vw,3.45rem);line-height:1.18}.section-note,.source-note{color:var(--color-text-light);font-size:.9rem;line-height:1.75}.hero-description,.lead{line-height:1.9}@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,:after,:before{scroll-behavior:auto!important;transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}}.site-shell{min-height:100vh;overflow-x:clip;background:var(--color-bg)}.site-main{width:100%}.site-header{position:relative;z-index:20;background:var(--color-bg);border-bottom:1px solid var(--color-border-soft)}.site-header-inner{display:flex;width:min(100%,var(--layout-wide));min-height:116px;align-items:center;justify-content:space-between;gap:36px;margin:0 auto;padding:20px var(--layout-gutter)}.brand-block{display:grid;flex:0 0 auto;gap:9px}.brand-mark{display:inline-flex;width:fit-content}.brand-logo{width:178px;height:auto}.brand-copy{color:var(--color-text-light);font-size:.78rem;line-height:1.5}.main-nav{display:flex;flex:1 1 auto;align-items:center;justify-content:flex-end;gap:clamp(16px,2.25vw,34px);font-family:var(--font-sans),"DM Sans",sans-serif;font-size:15px;font-weight:700}.nav-link{position:relative;display:inline-flex;min-height:42px;align-items:center;color:var(--color-text-dark);white-space:nowrap}.nav-link:after{position:absolute;right:0;bottom:4px;left:0;height:1px;content:"";background:var(--color-link);transform:scaleX(0);transform-origin:right;transition:transform .18s ease}.nav-link-active:after,.nav-link:focus-visible:after,.nav-link:hover:after{transform:scaleX(1);transform-origin:left}.call-button{min-height:48px;padding:13px 26px;white-space:nowrap}.mobile-menu-root{display:none}.content-section,.home-section{width:100%}.home-section-alt{background:var(--color-surface)}.section-inner{width:min(100%,var(--layout-wide));margin:0 auto;padding:var(--section-space) var(--layout-gutter)}.site-footer{color:var(--color-inverse);background:var(--color-extra-dark)}.site-footer-inner{display:grid;width:min(100%,var(--layout-wide));grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:60px;margin:0 auto;padding:var(--section-space-small) var(--layout-gutter) 56px}.footer-brand{display:grid;align-content:start;gap:22px;max-width:430px}.footer-logo-link{display:inline-flex;width:fit-content}.footer-logo{width:178px;height:auto;filter:grayscale(1) brightness(0) invert(1)}.footer-brand p{color:rgba(252,252,252,.72);line-height:1.85}.footer-links{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));align-content:start;gap:16px 30px;font-family:var(--font-sans),"DM Sans",sans-serif;font-size:14px}.footer-links a{color:rgba(252,252,252,.82)}.footer-links a:focus-visible,.footer-links a:hover{color:var(--color-link-alt)}.site-footer-bottom{display:flex;width:min(100%,var(--layout-wide));justify-content:space-between;gap:20px;margin:0 auto;padding:18px var(--layout-gutter) 24px;border-top:1px solid rgba(252,252,252,.18);color:rgba(252,252,252,.56);font-family:var(--font-sans),"DM Sans",sans-serif;font-size:12px}.page-hero{color:var(--color-inverse);background:var(--color-dark)}.page-hero-inner{display:grid;width:min(100%,var(--layout-wide));grid-template-columns:minmax(0,.92fr) minmax(0,1.08fr);align-items:center;gap:clamp(34px,6vw,90px);min-height:590px;margin:0 auto;padding:clamp(72px,8vw,126px) var(--layout-gutter)}.page-hero-copy{display:grid;align-content:center;gap:22px}.page-hero .eyebrow{color:var(--color-link-alt)}.page-hero h1{max-width:12em;color:var(--color-inverse);font-size:clamp(2.8rem,6.4vw,5.4rem);line-height:1.12;white-space:pre-line}.home-hero .page-hero-inner{grid-template-columns:minmax(0,1.12fr) minmax(0,.88fr)}.home-hero h1.home-hero-title{max-width:none;font-size:clamp(2.8rem,5.6vw,4.6rem)}.home-hero-title span{display:block;white-space:nowrap}.page-hero .hero-description{max-width:39rem;color:rgba(252,252,252,.78)}.page-hero .button-secondary{color:var(--color-inverse);border-color:rgba(252,252,252,.62)}.page-hero .button-secondary:focus-visible,.page-hero .button-secondary:hover{color:var(--color-dark);border-color:var(--color-inverse);background:var(--color-inverse)}.hero-visual{position:relative;width:100%;overflow:hidden;aspect-ratio:16/9;background:#2c3039}.hero-visual-image{width:100%;height:100%;object-fit:cover}.method-section{border-bottom:1px solid var(--color-border)}.method-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:var(--grid-gap)}.method-item{display:grid;align-content:start;gap:16px;min-width:0;padding:24px 0 0;border-top:1px solid var(--color-text-dark)}.method-index{color:var(--color-link);font-family:var(--font-sans),"DM Sans",sans-serif;font-size:.78rem;font-weight:700;letter-spacing:.12em}.method-item h3{font-size:clamp(1.25rem,2vw,1.7rem);line-height:1.4}.contact-grid .lead,.lesson-card p,.method-item p,.testimonial-item blockquote{color:var(--color-text);line-height:1.9}.contact-grid,.profile-grid{display:grid;grid-template-columns:minmax(0,.88fr) minmax(0,1.12fr);align-items:start;gap:clamp(44px,7vw,100px)}.profile-visual{width:100%;overflow:hidden;aspect-ratio:4/3;background:var(--color-surface-soft)}.profile-visual img{width:100%;height:100%;object-fit:cover}.profile-copy{display:grid;align-content:start;gap:22px;padding-top:8px}.profile-copy .section-heading{margin-bottom:0}.profile-copy .section-heading h2{font-size:clamp(2.1rem,4.5vw,3.75rem)}.body-copy-stack{display:grid;gap:14px}.body-copy-stack p{color:var(--color-text);line-height:1.95}.profile-credentials{display:grid;gap:9px;padding-top:10px;border-top:1px solid var(--color-border);color:var(--color-text-dark);font-family:var(--font-sans),"DM Sans",sans-serif;font-size:.9rem;font-weight:700}.profile-credentials li{position:relative;padding-left:18px}.profile-credentials li:before{position:absolute;top:.7em;left:0;width:7px;height:1px;content:"";background:var(--color-link)}.stats-section{border-top:1px solid var(--color-border);border-bottom:1px solid var(--color-border)}.stats-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr))}.stat-item{display:grid;gap:10px;min-width:0;padding:0 24px;border-left:1px solid var(--color-border)}.stat-item:first-child{padding-left:0;border-left:0}.stat-value{color:var(--color-text-dark);font-family:var(--font-sans),"DM Sans",sans-serif;font-size:clamp(2rem,4.5vw,4rem);font-weight:700;letter-spacing:-.04em;line-height:1}.stat-label{color:var(--color-text-light);font-size:.85rem}.lesson-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:var(--grid-gap)}.lesson-card{min-width:0;border-top:1px solid var(--color-text-dark)}.lesson-card-image{overflow:hidden;aspect-ratio:16/9;background:var(--color-surface-soft)}.lesson-card-image img{width:100%;height:100%;object-fit:cover}.lesson-card-body{display:grid;align-content:start;gap:16px;padding:24px 0 0}.lesson-card-body h3{font-size:clamp(1.65rem,3vw,2.4rem);line-height:1.25}.pricing-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));border-top:1px solid var(--color-text-dark);border-bottom:1px solid var(--color-text-dark)}.pricing-item{display:grid;gap:22px;min-width:0;padding:26px 28px 30px;border-left:1px solid var(--color-border)}.pricing-item:first-child{padding-left:0;border-left:0}.pricing-item:last-child{padding-right:0}.plan-price{color:var(--color-text-dark);font-family:var(--font-sans),"DM Sans",sans-serif;font-size:clamp(2rem,4vw,3.4rem);font-weight:700;letter-spacing:-.04em;line-height:1}.plan-price span{margin-left:.25em;font-family:var(--font-serif),"Noto Serif JP",serif;font-size:1rem;font-weight:400;letter-spacing:0}.notice-strip{display:flex;align-items:center;justify-content:space-between;gap:24px;padding-top:28px}.notice-strip .source-note{max-width:42rem}.testimonial-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:0 var(--grid-gap);border-top:1px solid var(--color-text-dark)}.testimonial-item{display:grid;align-content:start;gap:24px;min-width:0;padding:30px 0 34px;border-bottom:1px solid var(--color-border)}.testimonial-item blockquote{position:relative;padding-left:34px;white-space:pre-line}.testimonial-item blockquote:before{position:absolute;top:-.15em;left:0;color:var(--color-link);content:"“";font-family:Georgia,serif;font-size:3.5rem;line-height:1}.testimonial-item figcaption{color:var(--color-text-dark);font-family:var(--font-sans),"DM Sans",sans-serif;font-size:.82rem;font-weight:700}.youtube-section .section-heading{margin-bottom:34px}.video-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:var(--grid-gap)}.video-card{display:grid;min-width:0;overflow:hidden;border:1px solid var(--color-border);background:var(--color-bg);transition:border-color .18s ease,box-shadow .18s ease}.video-card:focus-visible,.video-card:hover{border-color:var(--color-link);box-shadow:var(--shadow-soft)}.video-card-image{position:relative;display:block;overflow:hidden;aspect-ratio:4/3;background:var(--color-dark)}.video-card-image img{width:100%;height:100%;object-fit:cover;transition:transform .24s ease}.video-card:focus-visible .video-card-image img,.video-card:hover .video-card-image img{transform:scale(1.025)}.video-card-play{position:absolute;right:16px;bottom:16px;display:grid;width:42px;height:42px;place-items:center;background:var(--color-link)}.video-card-play span{width:0;height:0;margin-left:4px;border-top:7px solid transparent;border-bottom:7px solid transparent;border-left:10px solid var(--color-inverse)}.video-card-body{display:grid;align-content:start;gap:18px;padding:20px 20px 24px}.video-card-body strong{color:var(--color-text-dark);font-size:1rem;line-height:1.65}.section-action{display:flex;justify-content:center;padding-top:38px}.contact-section{background:var(--color-bg);border-top:1px solid var(--color-border)}.contact-grid{align-items:center}.contact-grid .section-heading{margin-bottom:26px}.callout-panel{display:grid;align-content:start;gap:18px;min-width:0;padding:30px;border-top:1px solid var(--color-text-dark);border-bottom:1px solid var(--color-text-dark);background:var(--color-surface)}.contact-quick-links{display:flex;flex-wrap:wrap;gap:16px 24px}.contact-quick-links a{color:var(--color-text-dark);font-family:var(--font-sans),"DM Sans",sans-serif;font-size:.9rem;font-weight:700;text-decoration:underline;text-decoration-color:var(--color-link);text-underline-offset:.3em}.contact-quick-links a:focus-visible,.contact-quick-links a:hover{color:var(--color-link-hover)}.content-section{width:min(100%,var(--layout-wide));margin:0 auto;padding:var(--section-space) var(--layout-gutter)}.content-section+.content-section{border-top:1px solid var(--color-border)}.page-intro{padding-bottom:var(--section-space-small)}.page-intro h1{max-width:16em;font-size:clamp(2.2rem,5vw,4rem);line-height:1.18}.split-section{grid-template-columns:minmax(0,1fr) minmax(0,1fr);align-items:start}.info-grid,.photo-grid,.review-grid,.service-grid,.split-section,.story-grid{display:grid;gap:var(--grid-gap)}.info-grid,.photo-grid,.review-grid,.service-grid,.story-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.empty-state,.info-card,.photo-card,.review-card,.service-card,.story-card,.youtube-panel{min-width:0;border:1px solid var(--color-border);background:var(--color-bg)}.empty-state,.info-card,.review-card,.story-card,.youtube-panel{padding:26px}.empty-state,.info-card,.review-card,.story-card{display:grid;align-content:start;gap:14px}.empty-state p,.info-card p:not(.card-kicker),.review-card p:not(.card-kicker),.story-card p,.youtube-panel p{color:var(--color-text);line-height:1.9}.service-card{display:grid;overflow:hidden}.service-card-image{width:100%;aspect-ratio:16/9;object-fit:cover}.service-card-body{display:grid;align-content:start;gap:14px;padding:24px}.service-card-body h2,.service-card-body h3,.story-card h3{color:var(--color-text-dark);font-size:clamp(1.45rem,2.8vw,2.2rem);line-height:1.3}.photo-card{overflow:hidden}.photo-card img{width:100%;aspect-ratio:5/4;object-fit:cover}.photo-card figcaption{padding:14px 18px 18px;color:var(--color-text-light)}.stack-list{display:grid;gap:13px}.stack-list li{position:relative;padding-left:22px;color:var(--color-text);line-height:1.85}.stack-list li:before{position:absolute;top:.85em;left:0;width:9px;height:1px;content:"";background:var(--color-link)}.youtube-panel{display:grid;align-content:start;gap:15px;background:var(--color-surface)}.callout-number{color:var(--color-text-dark);font-size:clamp(1.6rem,3vw,2.6rem);font-weight:700;line-height:1.25}.chip-list{display:flex;flex-wrap:wrap;gap:9px}.chip{padding:6px 10px;border:1px solid var(--color-border);color:var(--color-text);font-size:.82rem;line-height:1.5}.notice-strip-compact{padding-top:24px}.prose-section{display:grid;gap:20px}.article-meta{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:14px;padding-bottom:12px;border-bottom:1px solid var(--color-border)}.article-body{display:grid;max-width:52rem;gap:18px}.article-body h2,.article-body h3{margin-top:20px;color:var(--color-text-dark);line-height:1.3}.article-body h2{font-size:clamp(1.55rem,3vw,2.25rem)}.article-body h3{font-size:clamp(1.3rem,2.5vw,1.7rem)}.article-body p,.article-disclaimer p,.article-list li{color:var(--color-text);line-height:1.95}.article-list{display:grid;gap:12px;padding-left:1.45rem;color:var(--color-text)}.article-list li{padding-left:4px;white-space:pre-line}.article-list:not(ol){list-style:disc}.article-disclaimer{display:grid;max-width:52rem;gap:10px;padding:20px;border:1px solid var(--color-border);background:var(--color-surface)}blockquote{white-space:pre-line}@media (max-width:1279px){.site-header-inner{gap:24px}.main-nav{gap:18px;font-size:14px}.page-hero-inner{min-height:540px}}@media (max-width:1023px){.main-nav{display:none}.mobile-menu-root{display:block}.mobile-menu-trigger{display:inline-flex;min-height:48px;align-items:center;gap:10px;padding:10px 0 10px 12px;color:var(--color-text-dark);background:transparent;cursor:pointer;font-family:var(--font-sans),"DM Sans",sans-serif;font-size:13px;font-weight:700}.mobile-menu-trigger-icon{display:grid;width:23px;gap:6px}.mobile-menu-trigger-icon span{display:block;height:1px;background:currentColor}.mobile-menu-layer{position:fixed;z-index:100;inset:0;display:flex;justify-content:flex-end}.mobile-menu-backdrop{position:absolute;inset:0;width:100%;height:100%;background:rgba(18,20,25,.5);cursor:pointer}.mobile-menu-panel{position:relative;z-index:1;display:grid;align-content:start;width:min(88vw,390px);height:100%;overflow-y:auto;padding:26px 28px 34px;color:var(--color-text-dark);background:var(--color-bg);box-shadow:-10px 0 35px rgba(18,20,25,.12)}.mobile-menu-header{display:flex;align-items:center;justify-content:space-between;gap:16px;padding-bottom:22px;border-bottom:1px solid var(--color-border);font-family:var(--font-sans),"DM Sans",sans-serif;font-size:12px;font-weight:700;letter-spacing:.12em;text-transform:uppercase}.mobile-menu-close{display:inline-grid;width:44px;height:44px;place-items:center;color:var(--color-text-dark);background:transparent;cursor:pointer;font-size:28px;font-weight:300;line-height:1}.mobile-menu-links{display:grid;gap:0;padding-top:20px}.mobile-menu-links a{display:flex;min-height:54px;align-items:center;justify-content:space-between;border-bottom:1px solid var(--color-border-soft);color:var(--color-text-dark);font-family:var(--font-sans),"DM Sans",sans-serif;font-size:15px;font-weight:700}.mobile-menu-links a:after{color:var(--color-link);content:"→"}.mobile-menu-links a.is-current{color:var(--color-link-hover)}.mobile-menu-links .mobile-menu-booking{justify-content:center;margin-top:26px;border:1px solid var(--color-link);color:var(--color-inverse);background:var(--color-link)}.mobile-menu-links .mobile-menu-booking:after{content:none}.contact-grid,.home-hero .page-hero-inner,.page-hero-inner,.profile-grid,.split-section{grid-template-columns:1fr}.page-hero-inner{min-height:auto;gap:42px;padding-top:76px;padding-bottom:76px}.page-hero-copy{max-width:48rem}.profile-copy{padding-top:0}.profile-visual{max-width:720px}.info-grid,.photo-grid,.service-grid,.video-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (max-width:767px){.site-header-inner{min-height:88px;padding-top:16px;padding-bottom:16px}.brand-logo,.footer-logo{width:146px}.brand-copy{max-width:15rem;font-size:.7rem}.page-hero-inner{gap:32px;padding-top:58px;padding-bottom:58px}.home-hero h1.home-hero-title,.page-hero h1{font-size:clamp(2.45rem,11vw,4.1rem)}.hero-actions,.link-row{align-items:stretch;flex-direction:column}.hero-actions .button,.link-row .button,.notice-strip .button{width:100%}.content-section,.section-inner{padding-top:var(--section-space-small);padding-bottom:var(--section-space-small)}.section-heading{gap:11px;margin-bottom:28px}.section-heading h2{font-size:clamp(1.9rem,9vw,3rem)}.info-grid,.lesson-grid,.method-grid,.photo-grid,.pricing-grid,.review-grid,.service-grid,.stats-grid,.story-grid,.testimonial-grid,.video-grid{grid-template-columns:1fr}.method-grid{gap:34px}.stat-item,.stat-item:first-child{padding:22px 0 0;border-top:1px solid var(--color-border);border-left:0}.stat-item:first-child{padding-top:0;border-top:0}.pricing-grid{border-bottom:0}.pricing-item,.pricing-item:first-child,.pricing-item:last-child{padding:24px 0;border-bottom:1px solid var(--color-border);border-left:0}.notice-strip{align-items:stretch;flex-direction:column}.testimonial-grid{gap:0}.testimonial-item{padding-top:26px;padding-bottom:28px}.empty-state,.info-card,.review-card,.service-card-body,.story-card,.youtube-panel{padding:21px}.site-footer-inner{gap:38px;padding-top:var(--section-space-small);padding-bottom:40px}.footer-links,.site-footer-inner{grid-template-columns:1fr}.site-footer-bottom{align-items:flex-start;flex-direction:column;gap:8px}}@media (max-width:479px){.site-header-inner{gap:10px}.mobile-menu-panel{width:min(92vw,390px);padding-right:22px;padding-left:22px}.home-hero h1.home-hero-title,.page-hero h1{font-size:clamp(2.2rem,10vw,3.35rem)}.hero-visual{aspect-ratio:4/3}.video-card-body{padding-right:18px;padding-left:18px}}