:root{--ink:#112c3b;--text:#344b56;--muted:#536670;--accent:#bd382b;--line:#d9e0e2;--tint:#eff4f6;--sans:system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI","Hiragino Kaku Gothic ProN","Yu Gothic","Microsoft YaHei",sans-serif;--serif:"Yu Mincho","Hiragino Mincho ProN","Songti SC","Noto Serif CJK SC",serif}
*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:110px}body{margin:0;background:#fff;color:var(--ink);font:1rem/1.85 var(--sans);overflow-wrap:anywhere}a{color:inherit;text-decoration:none}a:focus-visible{outline:3px solid var(--accent);outline-offset:5px}a:hover{color:var(--accent)}img{max-width:100%;display:block}p,h1,h2,h3,figure,blockquote,dl,dd{margin:0}h1,h2,h3{overflow-wrap:normal;line-break:strict}h1,h2{font-family:var(--serif);font-weight:600}h3{font-size:1.2rem;line-height:1.55}p{color:var(--text)}.container{width:min(1200px,calc(100% - 80px));margin-inline:auto}.skip{position:fixed;left:12px;top:-90px;background:#fff;padding:12px;z-index:50}.skip:focus{top:8px}.header{position:sticky;top:0;background:rgba(255,255,255,.97);z-index:20;border-bottom:1px solid var(--line)}.header-inner{display:flex;gap:28px;align-items:center;min-height:92px}.brand{display:flex;flex-direction:column;flex-shrink:0;line-height:1.05}.brand-main{font-size:1.75rem;font-weight:850;letter-spacing:.08em}.brand-dot{color:var(--accent)}.brand-sub{font-size:.75rem;letter-spacing:.2em;margin-top:5px;font-weight:700}.main-nav{display:flex;gap:28px;margin-left:auto;font-size:.875rem;font-weight:650}.language{display:flex;align-items:center;gap:4px;flex-shrink:0}.lang-link{font-size:.875rem;min-height:44px;display:grid;place-items:center;padding:6px 13px;border:1px solid transparent;border-radius:3px}.lang-link.selected{border-color:var(--ink);font-weight:750}.hero{display:grid;grid-template-columns:1.04fr 1fr;gap:48px;padding-block:68px 54px;align-items:center}.hero-kicker{font-size:.875rem;font-weight:650;display:flex;align-items:center;gap:10px;color:var(--accent)}.small-rule{width:26px;height:2px;background:var(--accent);flex-shrink:0}h1{font-size:clamp(2.15rem,3.7vw,3.5rem);line-height:1.5;letter-spacing:-.025em;margin:26px 0 24px}html[lang=ja] h1{font-size:clamp(2.3rem,4vw,3.7rem)}.lead{line-height:2.1;max-width:35em}.hero-actions{display:flex;gap:24px;align-items:center;flex-wrap:wrap;margin-top:30px}.button{display:inline-flex;justify-content:center;align-items:center;gap:22px;padding:15px 22px;min-height:52px;font-size:.9375rem;font-weight:700;border-radius:3px}.primary{background:var(--accent);color:white}.primary:hover{background:#992d23;color:#fff}.text-link{font-size:.9375rem;font-weight:700;border-bottom:1px solid currentColor;padding:10px 0;display:inline-block}.status{font-size:.875rem;color:var(--muted);margin-top:20px}.hero-image{position:relative;align-self:stretch;min-height:485px;margin-bottom:30px}.hero-image img{height:100%;min-height:485px;width:100%;object-fit:cover;object-position:58% center;border-radius:120px 4px 4px 4px}.image-label{position:absolute;left:0;bottom:24px;background:var(--ink);color:#fff;padding:16px 26px;display:flex;flex-direction:column;line-height:1.15}.image-label span{font-size:2.1rem;letter-spacing:.12em;font-weight:700}.image-label small{font-size:.75rem;letter-spacing:.12em;margin-top:7px}.hero-image figcaption{position:absolute;top:100%;margin-top:9px;color:var(--muted);font-size:.75rem;line-height:1.6}.facts-band{background:var(--ink);color:#fff}.facts{display:grid;grid-template-columns:repeat(3,1fr);padding-block:25px}.facts>div{padding-left:34px;border-left:1px solid #49606d}.facts>div:first-child{padding-left:0;border:0}.facts dt{color:#c2d0d7;font-size:.875rem}.facts dd{font-size:1.125rem;font-weight:600;margin-top:3px}.section{padding-block:92px}.eyebrow{font-size:.75rem;letter-spacing:.14em;color:var(--accent);font-weight:750;display:block}.section-head{display:grid;grid-template-columns:1.15fr 1fr;gap:60px;align-items:end;margin-bottom:42px}h2{font-size:clamp(1.85rem,3vw,2.55rem);line-height:1.65;margin-top:15px}.section-head>p{max-width:33em;color:var(--muted)}.reasons{display:grid;grid-template-columns:repeat(3,1fr);gap:40px}.reasons article{padding-top:22px;border-top:1px solid var(--line)}.index{font-family:Georgia,serif;color:var(--accent);font-size:1.25rem}.reasons h3{margin:12px 0}.reasons p{font-size:1rem}.services-section{background:var(--tint);padding-block:86px}.services{display:grid;grid-template-columns:repeat(3,1fr);gap:20px;align-items:stretch}.service{background:#fff;border:1px solid var(--line);border-radius:4px;padding:28px;display:flex;flex-direction:column}.service.featured{border-top:4px solid var(--accent);padding-top:25px}.service-top{display:flex;justify-content:space-between;align-items:center;gap:10px}.duration{font-size:.875rem;padding:3px 12px;border-radius:30px;background:var(--tint)}.service h3{font-size:1.375rem;margin:21px 0 15px}.service p{flex:1}.tags{display:flex;flex-wrap:wrap;gap:7px;list-style:none;padding:0;margin:22px 0 25px}.tags li{font-size:.875rem;color:var(--muted);border-bottom:1px solid var(--line)}.price{padding-top:19px;border-top:1px solid var(--line);display:flex;flex-direction:column}.price strong{font-size:2.4rem;line-height:1.3;letter-spacing:-.04em;font-weight:600;font-variant-numeric:tabular-nums}.price span{font-size:.875rem;color:var(--muted);margin-top:3px}.price-note{font-size:.875rem;line-height:1.95;margin-top:24px;max-width:66em}.about{display:grid;grid-template-columns:1fr 1.18fr;gap:90px}.about-intro{border-left:3px solid var(--accent);padding-left:28px}blockquote{font-family:var(--serif);font-size:clamp(1.7rem,2.5vw,2.1rem);line-height:1.9;margin:24px 0 32px}.credentials{display:grid;gap:18px}.credentials>div{padding-bottom:15px;border-bottom:1px solid var(--line)}.credentials dt{font-size:1.3rem;font-weight:700}.credentials dd{font-size:.875rem;color:var(--muted)}.bio h2{font-size:clamp(1.75rem,2.5vw,2.1rem);margin:0 0 26px}.bio p+p{margin-top:18px}.flow-section{background:var(--ink);color:white;padding-block:84px}.flow{display:grid;grid-template-columns:1fr 1.2fr;gap:90px}.flow .eyebrow{color:#ffb3a8}.flow p{color:#cbd7dd}.flow>div>p{margin-top:20px}.steps{list-style:none;margin:0;padding:0;display:grid;gap:22px}.steps li{display:grid;grid-template-columns:42px 1fr;gap:17px;padding-bottom:22px;border-bottom:1px solid #3c5360}.steps li:last-child{padding-bottom:0;border-bottom:0}.step-number{font:1.8rem/1.6 Georgia,serif;color:#ffb3a8}.steps h3{font-size:1.125rem;margin-bottom:6px}.steps p{font-size:1rem}.contact{display:grid;grid-template-columns:1fr 1.1fr;gap:90px;padding-block:92px;align-items:center}.contact-status{display:inline-block;font-size:.875rem;border:1px solid var(--line);padding:5px 13px;color:var(--muted)}.contact h2{font-size:clamp(2rem,3.4vw,3rem)}.contact-note{font-size:.875rem;color:var(--muted);margin:18px 0 22px}footer{border-top:1px solid var(--line)}.footer-inner{padding-block:32px;display:flex;align-items:center;justify-content:space-between;gap:25px}.footer-brand{font-size:.875rem;font-weight:750;letter-spacing:.08em}.footer-brand small{display:block;font-size:.75rem;font-weight:400;letter-spacing:0;color:var(--muted);margin-top:4px}footer p{font-size:.875rem;color:var(--muted)}
.booking-details{display:grid;grid-template-columns:repeat(3,1fr);margin-top:32px;border-top:1px solid var(--line);border-left:1px solid var(--line)}.booking-details>div{background:#fff;padding:18px 20px;border-right:1px solid var(--line);border-bottom:1px solid var(--line)}.booking-details dt{font-size:.8125rem;color:var(--muted)}.booking-details dd{font-weight:650;margin-top:4px}.contact-status.live{border-color:var(--accent);color:var(--accent);font-weight:700}.contact-id{display:flex;align-items:center;gap:16px;margin-top:22px;padding:17px 20px;background:var(--tint);border-left:3px solid var(--accent)}.contact-id span{font-size:.8125rem;color:var(--muted);letter-spacing:.08em}.contact-id strong{font-size:1.25rem;letter-spacing:.04em;user-select:all}
@media(min-width:1500px){.hero{gap:75px;padding-block:80px 64px}.hero-image{min-height:540px}.hero-image img{min-height:540px}}
@media(max-width:1000px){.container{width:calc(100% - 48px)}.main-nav{gap:15px}.hero{gap:25px}.hero-image,.hero-image img{min-height:430px}h1{font-size:2.2rem}html[lang=ja] h1{font-size:2.6rem}.services{gap:12px}.service{padding:22px}.service.featured{padding-top:19px}.section-head{gap:32px}.about,.flow,.contact{gap:45px}.reasons{gap:24px}.hero-actions{gap:14px}}
@media(max-width:760px){html{scroll-padding-top:125px}.container{width:calc(100% - 40px)}.header-inner{gap:10px;min-height:100px;flex-wrap:wrap;justify-content:space-between;padding-block:12px}.brand-main{font-size:1.35rem}.brand-sub{font-size:.75rem;margin-top:3px}.language{margin-left:auto}.main-nav{order:3;width:100%;margin:6px 0 0;justify-content:space-between;gap:8px;font-size:.875rem;flex-wrap:wrap}.lang-link{padding:5px 10px}.hero{grid-template-columns:1fr;padding-block:38px 46px;gap:30px}.hero-kicker{font-size:.875rem}h1,html[lang=ja] h1{font-size:clamp(1.85rem,5.9vw,2.6rem);margin:20px 0;line-height:1.7}.lead br{display:none}.hero-actions{margin-top:23px;gap:22px}.status{margin-top:15px}.hero-image{min-height:0;margin-bottom:27px}.hero-image img{min-height:0;aspect-ratio:1.25;height:auto;border-radius:70px 3px 3px 3px}.image-label{padding:11px 18px;bottom:18px}.image-label span{font-size:1.6rem}.facts{padding-block:22px;gap:13px}.facts>div{padding-left:12px}.facts dt{font-size:.75rem}.facts dd{font-size:.875rem}.section,.services-section,.flow-section,.contact{padding-block:58px}.section-head{grid-template-columns:1fr;gap:18px;margin-bottom:30px}h2{font-size:1.9rem;line-height:1.65}.reasons,.services{grid-template-columns:1fr;gap:24px}.reasons article{display:grid;grid-template-columns:27px 1fr;gap:0 13px}.reasons .index{grid-row:1/3}.reasons h3{margin:0 0 10px}.reasons p{grid-column:2}.service{padding:25px}.service.featured{padding-top:22px}.service h3{margin-top:18px}.price{flex-direction:row;align-items:baseline;gap:12px;flex-wrap:wrap}.about,.flow,.contact{grid-template-columns:1fr;gap:38px}.about-intro{padding-left:20px}.credentials{grid-template-columns:repeat(3,1fr);gap:10px}.credentials dt{font-size:1.125rem}.credentials dd{font-size:.875rem}.credentials>div{border-bottom:0;padding-bottom:0}.bio h2{font-size:1.75rem}.flow{gap:32px}.contact{gap:25px}.footer-inner{flex-wrap:wrap;gap:18px}.footer-inner>p{order:3;width:100%}.footer-inner .language{margin-left:0}}
@media(max-width:760px){.booking-details{grid-template-columns:1fr}.contact-id{align-items:flex-start;flex-direction:column;gap:3px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}}
