
@charset "UTF-8";
:root{--ink:#244c5b;--muted:#60767a;--teal:#4e9697;--blue:#2b607a;--orange:#ee8c28;--line:#d7e1df;--paper:#fff;--wash:#f2f7f6;--serif:"Yu Mincho","Hiragino Mincho ProN",serif;--sans:"Yu Gothic","Hiragino Kaku Gothic ProN",Meiryo,sans-serif}
*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:28px}body{margin:0;background:var(--paper);color:var(--ink);font-family:var(--sans);font-size:15px;line-height:1.9;-webkit-font-smoothing:antialiased}a{color:inherit;text-decoration:none}a,button{-webkit-tap-highlight-color:transparent}a:focus-visible{outline:3px solid var(--orange);outline-offset:6px}a:hover{color:var(--teal)}h1,h2,h3,p,figure{margin:0}img{display:block;max-width:100%;height:auto}h1,h2,h3{font-weight:500}h2{font-size:clamp(26px,3.4vw,42px);line-height:1.65;letter-spacing:.055em}p{overflow-wrap:anywhere}.preview{min-height:38px;display:flex;align-items:center;justify-content:space-between;padding:6px 3.5%;font-size:10px;letter-spacing:.08em;background:#edf2f2;color:#42616a;border-bottom:1px solid #dbe4e3}.preview nav{display:flex;gap:5px}.preview nav a{display:inline-flex;align-items:center;justify-content:center;width:28px;height:25px;border:1px solid #c8d6d6}.preview nav a[aria-current]{background:#2b607a;color:white;border-color:#2b607a}.site-header{max-width:1440px;margin:auto;padding:28px 5%;display:flex;align-items:center;gap:36px}.brand{display:flex;align-items:center;gap:12px;font-size:23px;font-weight:600;letter-spacing:.08em;line-height:1.4;white-space:nowrap}.brand-image{width:54px;display:block}.brand small,.footer-brand small{display:block;font-size:8px;letter-spacing:.18em;font-weight:500}.brand i,.footer-brand i{font-style:normal;color:var(--orange)}.desktop-nav{display:flex;gap:28px;margin-left:auto;font-size:12px}.header-contact{font-size:12px;padding:9px 0;border-bottom:1px solid var(--ink);white-space:nowrap}.header-contact span{margin-left:20px}.hero{max-width:1440px;margin:auto;padding:80px 7% 24px;position:relative}.eyebrow{font-size:11px;letter-spacing:.17em;font-weight:600;display:flex;align-items:center;gap:10px}.cross{width:13px;height:13px;stroke:var(--orange);stroke-width:3;fill:none}.hero h1{font-size:clamp(35px,4.3vw,62px);line-height:1.65;letter-spacing:.055em;font-weight:500}.accent{color:var(--teal)}.lead{font-size:14px;line-height:2.2;color:var(--muted);letter-spacing:.035em}.button{display:inline-flex;align-items:center;gap:40px;background:var(--blue);color:#fff;padding:16px 25px;font-size:12px}.button:hover{background:var(--teal);color:white}.hero-bottom{display:flex;justify-content:space-between;align-items:center;border-top:1px solid var(--line);padding-top:22px;margin-top:70px;font-size:9px;letter-spacing:.14em}.section{max-width:1200px;margin:auto;padding:96px 5%;scroll-margin-top:20px}.section-label{display:flex;justify-content:space-between;padding-bottom:20px;margin-bottom:48px;border-bottom:1px solid var(--line);font-size:10px;letter-spacing:.14em}.section-label span:first-child{color:var(--teal)}.about-layout{display:grid;grid-template-columns:1fr 1fr;gap:75px}.body-copy p+p{margin-top:20px}.body-copy{color:var(--muted);font-size:14px;line-height:2.25}.section-heading{display:flex;align-items:flex-end;justify-content:space-between;gap:30px;margin-bottom:48px}.section-heading>p{font-size:13px;color:var(--muted)}.service-list{border-top:1px solid var(--line)}.service{display:grid;grid-template-columns:65px 1fr 32px;gap:20px;padding:32px 0;border-bottom:1px solid var(--line)}.service-number{font-family:Georgia,serif;font-size:20px;color:var(--teal)}.service h3{font-size:23px;letter-spacing:.04em;margin-bottom:10px}.service-tag{font-size:10px;letter-spacing:.1em;color:var(--muted);margin-bottom:4px}.service p:last-child{font-size:13px;color:var(--muted);max-width:650px}.service-symbol{align-self:center}.service-symbol .cross{width:20px;height:20px;stroke-width:1.4}.value-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:42px}.value-index{font-family:Georgia,serif;font-size:26px;color:var(--teal)}.value-grid h3{font-size:19px;margin:18px 0 14px}.value-grid p{font-size:13px;color:var(--muted)}.community{display:grid;grid-template-columns:1fr 1fr;gap:70px;align-items:center}.island-art{background:var(--wash);aspect-ratio:1.15;display:flex;flex-direction:column;justify-content:center;align-items:center}.island-art svg{width:92%}.island-art>span{font-size:9px;letter-spacing:.2em;margin-bottom:25px;color:var(--teal)}.community h2{font-size:32px;margin:20px 0 25px}.community-copy>p:not(.eyebrow){font-size:13px;color:var(--muted);margin-bottom:16px}.status{font-size:10px;display:inline-flex;align-items:center;gap:9px;margin-top:10px;padding:7px 11px;border:1px solid var(--line)}.status>span{width:5px;height:5px;border-radius:50%;background:var(--orange)}.contact{border-top:1px solid var(--line)}.contact-layout{display:flex;justify-content:space-between;gap:40px;align-items:center;margin-top:28px}.contact-layout>div{font-size:13px;color:var(--muted)}.contact-pending{margin-top:24px;font-size:11px;border-bottom:1px solid var(--line);padding-bottom:9px}.site-footer{max-width:1320px;padding:38px 5%;margin:auto;display:flex;align-items:center;gap:30px;border-top:1px solid var(--line);font-size:10px;color:var(--muted)}.footer-brand{font-size:22px;letter-spacing:.07em;color:var(--ink);line-height:1.4}.site-footer>a:nth-of-type(2){margin-left:auto;font-size:9px;letter-spacing:.08em}.site-footer>small{font-size:9px}.skip{position:absolute;left:12px;top:-100px;z-index:100;background:var(--blue);color:#fff;padding:10px}.skip:focus{top:10px}
/* A — a clear, asymmetric editorial layout */
.theme-a .hero-a{display:grid;grid-template-columns:1.35fr 1fr;align-items:center;gap:20px;padding-top:78px}.hero-a .eyebrow{margin-bottom:28px}.hero-a h1{font-size:clamp(34px,4vw,58px)}.hero-a .lead{margin:24px 0 33px}.hero-logo{max-width:400px;justify-self:center;padding:15px}.hero-logo img{width:100%}.hero-logo figcaption{font-size:9px;letter-spacing:.04em;color:var(--muted);text-align:center;margin-top:14px}.hero-a .hero-bottom{grid-column:1/-1;width:100%}.theme-a .services{background:var(--wash);max-width:none;padding-left:max(7%,calc((100vw - 1080px)/2));padding-right:max(7%,calc((100vw - 1080px)/2))}.theme-a .values{padding-bottom:50px}
/* B — warm, centered, and typographic */
.theme-b{--paper:#f8f7f2;--wash:#eeefE7;--ink:#304e50;--muted:#6e7b75;--line:#dcded3}.theme-b .site-header{padding-top:30px}.theme-b .brand-image{mix-blend-mode:multiply}.hero-b{text-align:center;min-height:780px;padding-top:68px;padding-bottom:56px}.hero-b .eyebrow{justify-content:center;font-size:12px;letter-spacing:.25em;margin-bottom:28px}.hero-b h1{font-family:var(--serif);font-size:clamp(40px,4.9vw,68px);letter-spacing:.1em;line-height:1.65}.hero-b .lead{margin:28px 0 23px;font-size:13px}.text-link{display:inline-flex;gap:35px;font-size:11px;border-bottom:1px solid var(--teal);padding:7px 0}.natural-brand{width:148px;margin:40px auto 0;mix-blend-mode:multiply}.margin-note{position:absolute;right:5%;top:200px;writing-mode:vertical-rl;font-family:Georgia,serif;font-size:11px;letter-spacing:.15em;color:var(--teal)}.theme-b h2,.theme-b .service h3,.theme-b .value-grid h3{font-family:var(--serif)}.theme-b .about{border-top:1px solid var(--line)}.theme-b .about-layout{grid-template-columns:1fr;text-align:center;gap:30px}.theme-b .body-copy{max-width:610px;margin:auto}.theme-b .section-heading{display:block;text-align:center}.theme-b .section-heading>p{margin-top:22px}.theme-b .service-list{display:grid;grid-template-columns:repeat(3,1fr);border-top:0;gap:35px}.theme-b .service{display:block;border-top:1px solid var(--line);border-bottom:0;padding-top:22px}.theme-b .service-number{display:block;margin-bottom:30px}.theme-b .service h3{font-size:22px;margin:12px 0 18px}.theme-b .service-symbol{display:none}.theme-b .services{padding-top:50px}.theme-b .values{background:var(--wash);max-width:none;padding-left:max(7%,calc((100vw - 1080px)/2));padding-right:max(7%,calc((100vw - 1080px)/2))}.theme-b .value-index{font-size:20px}.theme-b .island-art{border-radius:50% 50% 4px 4px;background:#e9eee7}.theme-b .contact{text-align:center}.theme-b .contact>.eyebrow{justify-content:center}.theme-b .contact-layout{display:block}.theme-b .contact-layout>div{margin-top:30px}.theme-b .contact-pending{display:inline-block}.theme-b .site-footer{flex-wrap:wrap}.theme-b .section{padding-top:85px;padding-bottom:85px}
/* C — navy, large type and an open grid */
.theme-c{--paper:#173e50;--ink:#f1f5f0;--muted:#b7cccf;--line:#43616d;--teal:#8ac0b8;--wash:#214959;--blue:#245b72}.theme-c .preview{background:#103241;color:#b8ccce;border-color:#315361}.theme-c .preview nav a{border-color:#4a6975}.theme-c .preview nav a[aria-current]{background:#d9eae5;color:#173e50}.theme-c .brand-image{width:49px;padding:3px;background:#fff}.theme-c .header-contact{border-color:#729197}.theme-c .brand{font-size:22px}.hero-c{padding-top:55px}.hero-c-top{display:flex;justify-content:space-between;align-items:center;margin-bottom:34px}.tiny{font-size:9px;letter-spacing:.18em;color:var(--muted)}.hero-c h1{font-size:clamp(42px,6.3vw,88px);line-height:1.45;letter-spacing:.06em}.hero-c h1>span{color:#85bab4}.hero-c-bottom{display:grid;grid-template-columns:1fr auto 180px;align-items:end;gap:55px;margin-top:36px}.hero-c .lead{font-size:13px}.round-link{width:64px;height:64px;border:1px solid #729499;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:26px;color:#f3a450;margin-bottom:20px}.round-link:hover{background:#2d5b68;color:white}.dark-logo{padding:13px;background:#fff;width:170px;transform:rotate(-4deg)}.hero-c .hero-bottom{margin-top:55px}.theme-c .about{padding-top:110px}.theme-c .section-label span:first-child{color:#96c5bb}.theme-c .service-list{display:grid;grid-template-columns:repeat(3,1fr);gap:35px;border:0}.theme-c .service{display:block;border-top:1px solid var(--line);border-bottom:0}.theme-c .service-number{display:block;font-size:28px;margin-bottom:35px}.theme-c .service h3{font-size:21px;margin:14px 0}.theme-c .service-symbol{display:none}.theme-c .services{padding-top:45px}.theme-c .value-grid{gap:50px}.theme-c .values{background:var(--wash);max-width:none;padding-left:max(7%,calc((100vw - 1080px)/2));padding-right:max(7%,calc((100vw - 1080px)/2))}.theme-c .community{padding-top:110px;padding-bottom:110px}.theme-c .island-art{background:#e6eee7}.theme-c .island-art>span{color:#365f66}.theme-c .contact{background:#e8efea;color:#244c5b;max-width:none;padding-left:max(7%,calc((100vw - 1080px)/2));padding-right:max(7%,calc((100vw - 1080px)/2));--muted:#536e72;--line:#bccdca;--teal:#3d8082}.theme-c .site-footer{border:0;padding-top:45px;padding-bottom:45px}
@media(min-width:1600px){.hero{padding-left:100px;padding-right:100px}}
@media(max-width:1000px){.desktop-nav{gap:15px;font-size:11px}.site-header{gap:20px}.brand{font-size:20px}.brand-image{width:45px}.hero-a{gap:10px}.hero-logo{padding:0}.hero-logo figcaption{font-size:8px}.about-layout{gap:35px}.community{gap:35px}.hero-c-bottom{gap:25px}.section{padding-left:7%;padding-right:7%}.service h3{font-size:20px}}
@media(max-width:760px){.preview{padding:6px 5%;gap:10px}.preview>span{display:none}.site-header{padding:20px 6%;gap:12px;justify-content:space-between}.brand{font-size:19px;gap:8px}.brand small{font-size:6px}.brand-image{width:43px}.desktop-nav{display:none}.header-contact{font-size:10px}.header-contact span{margin-left:8px}.hero{padding:50px 7% 22px}.theme-a .hero-a{display:block;padding-top:46px}.hero-a h1{font-size:clamp(28px,6.9vw,47px)}.hero-a .eyebrow{font-size:9px;margin-bottom:24px}.hero-a .lead{font-size:12px;margin-top:22px}.button{font-size:11px;padding:14px 20px;gap:30px}.hero-logo{width:210px;margin:45px auto 0}.hero-logo figcaption{font-size:8px}.hero-bottom{margin-top:38px;font-size:7px;gap:15px}.section,.theme-b .section{padding:62px 7%}.section-label{font-size:8px;margin-bottom:30px;padding-bottom:16px}.about-layout{grid-template-columns:1fr;gap:25px}h2{font-size:28px}.body-copy{font-size:13px}.section-heading{display:block;margin-bottom:30px}.section-heading>p{margin-top:20px;font-size:12px}.service{grid-template-columns:35px 1fr 16px;gap:12px;padding:25px 0}.service h3{font-size:19px}.service p:last-child{font-size:12px}.service-number{font-size:18px}.service-tag{font-size:9px}.value-grid{grid-template-columns:1fr;gap:25px}.value-grid article{display:grid;grid-template-columns:35px 1fr;gap:5px 12px}.value-index{grid-row:1/3;font-size:21px}.value-grid h3{margin:0;font-size:18px}.value-grid p{grid-column:2;font-size:12px}.community{grid-template-columns:1fr;gap:35px}.island-art{aspect-ratio:1.4}.community h2{font-size:28px}.contact-layout{display:block;margin-top:22px}.contact-layout>div{margin-top:26px}.site-footer{flex-wrap:wrap;gap:22px;padding:30px 7%}.site-footer>p{display:none}.site-footer>a:nth-of-type(2){margin-left:auto}.site-footer>small{width:100%}.footer-brand{font-size:20px}.hero-b{padding-top:48px;min-height:0;padding-bottom:55px}.hero-b h1{font-size:clamp(33px,8.6vw,58px)}.hero-b .lead{font-size:12px;line-height:2.2}.hero-b .eyebrow{font-size:10px}.natural-brand{width:135px;margin-top:35px}.margin-note{display:none}.theme-b .service-list,.theme-c .service-list{display:block}.theme-b .service,.theme-c .service{display:grid;grid-template-columns:35px 1fr;gap:15px}.theme-b .service-number,.theme-c .service-number{margin:0;font-size:21px}.theme-b .service h3,.theme-c .service h3{margin:8px 0 12px;font-size:21px}.theme-b .island-art{border-radius:120px 120px 4px 4px}.hero-c-top{margin-bottom:32px}.hero-c-top .eyebrow{font-size:8px}.hero-c-top .tiny{display:none}.hero-c h1{font-size:clamp(34px,8.6vw,60px)}.hero-c-bottom{grid-template-columns:1fr 110px;gap:25px;margin-top:30px;align-items:center}.hero-c .lead{font-size:11px;line-height:2.2}.dark-logo{width:110px;grid-column:2;grid-row:1/3;padding:7px}.round-link{width:45px;height:45px;font-size:22px;margin:0}.theme-c .about{padding-top:70px}.theme-c .values{padding:65px 7%}.theme-c .value-grid{gap:30px}.theme-c .community{padding:65px 7%}.theme-c .contact{padding:60px 7%}.theme-c .site-header .brand-image{width:40px}.theme-c .site-header .brand{font-size:19px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}}

@media(max-width:760px){.hero-b h1{font-size:clamp(27px,7.6vw,48px)}.hero-c-bottom .lead{grid-column:1/-1;font-size:12px}.hero-c-bottom .dark-logo{grid-row:2}.hero-c-bottom .round-link{grid-row:2}}

/* Online consultation */
.site-header .desktop-nav a[aria-current="page"]{color:var(--teal);border-bottom:1px solid var(--teal)}
.breadcrumb-nav{font-size:0;margin-bottom:58px}.breadcrumb{font-size:10px;letter-spacing:.08em;color:var(--muted)}.breadcrumb-separator{font-size:10px;color:var(--muted);margin:0 12px}.consultation-link{display:inline-flex;align-items:center;gap:28px;margin-bottom:26px;padding:14px 20px;background:var(--blue);color:#fff;font-size:12px}.consultation-link:hover{background:var(--teal);color:#fff}.consultation-hero{max-width:1200px;margin:auto;padding:48px 5% 85px;border-bottom:1px solid var(--line)}.consultation-hero .eyebrow{color:var(--teal);margin-bottom:28px}.consultation-hero h1{font-size:clamp(38px,5.2vw,68px);line-height:1.5;letter-spacing:.055em}.consultation-hero .lead{max-width:680px;margin-top:28px}.consultation-meta{margin-top:36px;font-size:10px;letter-spacing:.12em;color:var(--muted)}.plan-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:28px}.plan-card{padding:38px;border:1px solid var(--line);background:var(--paper)}.plan-time{font-family:Georgia,serif;font-size:12px;letter-spacing:.13em;color:var(--teal)}.plan-card h3{font-size:22px;margin:20px 0 12px}.plan-price{font-family:Georgia,serif;font-size:40px;line-height:1.3;color:var(--blue);margin-bottom:20px}.plan-price small{font-family:var(--sans);font-size:12px;margin-left:8px}.plan-card>p:last-of-type{font-size:13px;color:var(--muted);min-height:56px}.booking-button{display:inline-flex;margin-top:28px;padding:14px 22px;background:var(--blue);color:#fff;font-size:11px}.booking-button.is-disabled{background:#dce5e4;color:#687a7c;cursor:not-allowed}.booking-note,.draft-notice{margin-top:20px;font-size:11px;color:var(--muted)}.consultation-flow{background:var(--wash);max-width:none;padding-left:max(7%,calc((100vw - 1080px)/2));padding-right:max(7%,calc((100vw - 1080px)/2))}.flow-list{list-style:none;padding:0;margin:48px 0 0;border-top:1px solid var(--line)}.flow-list li{display:grid;grid-template-columns:60px 1fr;gap:25px;padding:28px 0;border-bottom:1px solid var(--line)}.flow-list>li>span{font-family:Georgia,serif;color:var(--teal);font-size:20px}.flow-list h3{font-size:19px;margin-bottom:8px}.flow-list p{font-size:13px;color:var(--muted)}.consultation-terms ul{padding-left:1.3em;margin:35px 0 0;color:var(--muted);font-size:13px}.consultation-terms li+li{margin-top:12px}
@media(max-width:760px){.site-header{flex-wrap:wrap}.site-header .desktop-nav{display:flex;order:3;flex-basis:100%;margin-left:0;justify-content:flex-end;gap:26px;font-size:12px}.site-header .desktop-nav a{padding:5px 0}.consultation-hero{padding:55px 7%}.consultation-hero h1{font-size:clamp(31px,9vw,48px)}.plan-grid{grid-template-columns:1fr}.plan-card{padding:27px}.plan-card>p:last-of-type{min-height:0}.flow-list li{grid-template-columns:40px 1fr;gap:15px}}

/* Email contact */
.email-contact{margin-top:24px;max-width:440px}.email-address{font-family:Arial,sans-serif;font-size:clamp(21px,2.4vw,29px);letter-spacing:.025em;color:var(--ink);display:inline-flex;align-items:center;gap:26px}.email-address>span{font-size:20px;color:var(--teal)}.email-actions{display:flex;align-items:center;gap:18px;flex-wrap:wrap;margin-top:20px}.email-compose{display:inline-flex;gap:25px;align-items:center;padding:12px 18px;background:var(--blue);color:#fff;font-size:11px}.email-compose:hover{background:#3e7f88;color:#fff}.email-copy{appearance:none;background:none;border:0;border-bottom:1px solid var(--line);border-radius:0;color:inherit;cursor:pointer;padding:7px 0;font:inherit;font-size:11px}.email-copy:focus-visible,.email-fallback:focus-visible{outline:3px solid var(--orange);outline-offset:4px}.email-help{font-size:10px;margin-top:16px;max-width:340px;line-height:1.9}.email-status{font-size:11px;min-height:22px;margin-top:8px}.email-fallback{width:100%;margin-top:12px;padding:10px;border:1px solid var(--line);background:var(--paper);color:var(--ink);font-size:16px}.email-copy[hidden],.email-fallback[hidden]{display:none}.theme-b .email-contact{margin-left:auto;margin-right:auto}.theme-b .email-actions{justify-content:center}.theme-b .email-help{margin-left:auto;margin-right:auto}@media(max-width:760px){.email-contact{max-width:100%}.email-actions{gap:16px}.email-address{font-size:25px}.email-help{max-width:300px}}
