@import url('https://fonts.googleapis.com/css2?family=Noto+Sans+JP:wght@400;500;600;700&display=swap');
:root { --color-bg:#fff; --color-surface:#f6f4f1; --color-text:#272320; --color-muted:#665f59; --color-accent:#7d6254; --color-on-accent:#fff; --font-display: 'Noto Sans JP', Arial, sans-serif; --font-body: 'Noto Sans JP', Arial, sans-serif; --radius: 0; --container: 1160px; }
*{box-sizing:border-box} html{scroll-behavior:smooth} body{margin:0;background:var(--color-bg);color:var(--color-text);font:16px/1.6 var(--font-body)} h1,h2,h3,p{margin-top:0} h1,h2,h3{font-family:var(--font-display);line-height:1.16;font-weight:400} h1{font-size:clamp(2.55rem,5vw,4.75rem)} h2{font-size:clamp(2rem,3.5vw,3.3rem)} h3{font-size:1.5rem} a{color:inherit} .container{width:min(calc(100% - 2.5rem),var(--container));margin:auto}.section{padding:6rem 0}.section--soft{background:var(--color-surface)}.eyebrow{margin-bottom:.7rem;color:var(--color-accent);font-size:.76rem;font-weight:bold;letter-spacing:.14em;text-transform:uppercase}.skip-link{position:absolute;left:1rem;top:-5rem;background:var(--color-text);color:#fff;padding:.7rem 1rem;z-index:20}.skip-link:focus{top:1rem}.site-header{position:sticky;top:0;z-index:10;background:rgba(255,255,255,.96);border-bottom:1px solid #e8e3de}.header-row{min-height:82px;display:flex;align-items:center;gap:1.5rem}.brand{font-family:var(--font-display);font-size:1.25rem;text-decoration:none;white-space:nowrap}.brand small{display:none}.main-nav{margin-left:auto;display:flex;gap:1.3rem;align-items:center}.main-nav a,.social a{text-decoration:none;font-size:.9rem}.social{display:flex;gap:.8rem}.button{display:inline-flex;justify-content:center;align-items:center;min-height:46px;padding:.65rem 1.05rem;border:1px solid var(--color-accent);border-radius:var(--radius);background:var(--color-accent);color:var(--color-on-accent);font-weight:700;text-decoration:none}.button--outline{background:transparent;color:var(--color-accent)}.menu-toggle{display:none;margin-left:auto;background:transparent;border:1px solid var(--color-text);padding:.5rem;border-radius:var(--radius)}.hero{padding:2rem 0 5rem}.hero__grid,.split{display:grid;grid-template-columns:1fr 1fr;gap:clamp(2rem,7vw,7rem);align-items:center}.hero__copy>p:not(.eyebrow){color:var(--color-muted);font-size:1.1rem;max-width:40rem}.actions{display:flex;flex-wrap:wrap;gap:.8rem;margin-top:1.8rem}.media-placeholder{min-height:300px;background:#e8e3de;position:relative;overflow:hidden}.media-placeholder::after{content:'';position:absolute;inset:0;background:linear-gradient(135deg,rgba(255,255,255,.3),transparent 55%)}.hero__media{min-height:520px}.section-heading{max-width:700px;margin-bottom:2.5rem}.section-heading>p:not(.eyebrow),.connection p{color:var(--color-muted)}.treatment-grid,.team-grid,.results-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:2rem}.card{background:#fff;border-bottom:1px solid #d8d0c9}.card__media{min-height:230px}.card__body{padding:1.2rem 0 1.5rem}.card__body p{color:var(--color-muted)}.text-link{color:var(--color-accent);font-weight:bold;text-decoration:none;border-bottom:1px solid}.media-placeholder--large{min-height:410px}.team-card{border-top:1px solid var(--color-accent);padding:1.4rem 0;background:#fff}.team-card .avatar{width:70px;height:70px;border-radius:50%;margin-bottom:1rem}.team-card p{color:var(--color-muted);font-size:.93rem}.connection{text-align:left;background:var(--color-surface)}.connection__content{max-width:760px}.connection .button{margin-top:.8rem}.results-grid .media-placeholder{min-height:260px}.legal-note{font-size:.85rem;color:var(--color-muted);margin-top:1.5rem}.reviews{text-align:center}.site-footer{background:#28221f;color:#f7f4f1;padding:3.5rem 0 1.5rem}.footer-grid{display:grid;grid-template-columns:1.2fr repeat(3,1fr);gap:2rem}.site-footer a{color:inherit}.site-footer h2{font-size:1.3rem}.site-footer p,.site-footer li{font-size:.88rem;color:#d4cbc5}.site-footer ul{list-style:none;padding:0;margin:0}.site-footer li+li{margin-top:.4rem}.copyright{border-top:1px solid #564b45;margin-top:2rem;padding-top:1rem;font-size:.8rem;color:#d4cbc5}.detail-hero{padding:3rem 0}.detail-hero__copy{max-width:740px}.breadcrumbs{font-size:.88rem;margin-bottom:1.5rem;color:var(--color-muted)}.detail-content{max-width:760px}.detail-content h2{font-size:2rem;margin-top:3rem}.notice{border-left:3px solid var(--color-accent);padding:1rem 1.2rem;background:var(--color-surface)}.faq details{padding:1rem 0;border-bottom:1px solid #ddd}.faq summary{cursor:pointer;font-weight:bold}.reveal{opacity:0;transform:translateY(14px);transition:opacity .6s ease,transform .6s ease}.reveal.is-visible{opacity:1;transform:none}:focus-visible{outline:3px solid #9b7b68;outline-offset:3px}@media(max-width:850px){.menu-toggle{display:block}.main-nav{display:none;position:absolute;top:82px;left:0;right:0;margin:0;padding:1.2rem;flex-direction:column;align-items:flex-start;background:#fff;border-bottom:1px solid #e8e3de}.main-nav.is-open{display:flex}.header-row>.social{display:none}.header-row>.button{display:none}.hero__grid,.split{grid-template-columns:1fr}.hero__media{min-height:360px}.treatment-grid,.team-grid{grid-template-columns:repeat(2,1fr)}.footer-grid{grid-template-columns:repeat(2,1fr)}}@media(max-width:540px){.section{padding:4rem 0}.treatment-grid,.team-grid,.results-grid,.footer-grid{grid-template-columns:1fr}.header-row{min-height:70px}.main-nav{top:70px}.hero__media{min-height:280px}}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}.reveal{opacity:1;transform:none;transition:none}}
