:root{--color-primary:#cf4a80;--color-primary-dark:#a83562;--color-primary-soft:#fceef2;--color-bg:#fff;--color-surface:#fdf7f9;--color-text:#3c2a33;--color-muted:#7c6b72;--color-line:#f1dfe7;--radius:14px;--shadow-sm:0 4px 14px #ad376214;--shadow-md:0 12px 32px #ad37621f;--container:1120px;--font-sans:"Hiragino Kaku Gothic ProN", "Hiragino Sans", "Yu Gothic UI", "Yu Gothic", YuGothic, Meiryo, "Noto Sans JP", system-ui, -apple-system, "Segoe UI", sans-serif}*,:before,:after{box-sizing:border-box}html{-webkit-text-size-adjust:100%;scroll-behavior:smooth}body{font-family:var(--font-sans);color:var(--color-text);background:var(--color-bg);letter-spacing:.02em;margin:0;font-size:16px;line-height:1.95}img{max-width:100%;height:auto;display:block}a{color:var(--color-primary-dark);text-decoration:none;transition:color .15s}a:hover{text-decoration:underline}h1,h2,h3,h4{letter-spacing:.04em;font-weight:700;line-height:1.4}h1{font-size:clamp(1.8rem,4vw,2.6rem)}h2{font-size:clamp(1.35rem,3vw,1.85rem)}h3{font-size:1.15rem}p{margin:0 0 .85em}address{font-style:normal}.container{width:min(var(--container), 100% - 40px);margin-inline:auto}.skip-link{background:var(--color-primary-dark);color:#fff;z-index:100;border-radius:0 0 8px 8px;padding:8px 16px;font-weight:700;position:absolute;top:0;left:-9999px}.skip-link:focus{top:0;left:8px}.btn{cursor:pointer;border:2px solid #0000;border-radius:999px;justify-content:center;align-items:center;gap:6px;padding:14px 28px;font-size:1.05rem;font-weight:700;transition:transform .15s,box-shadow .15s,background .15s;display:inline-flex}.btn:hover{text-decoration:none;transform:translateY(-2px)}.btn-primary{background:var(--color-primary);color:#fff;box-shadow:var(--shadow-md)}.btn-primary:hover{background:var(--color-primary-dark);color:#fff}.btn-secondary{color:var(--color-primary-dark);border-color:var(--color-primary);background:#fff}.btn-secondary:hover{background:var(--color-primary-soft)}.site-header{z-index:50;-webkit-backdrop-filter:saturate(160%)blur(8px);border-bottom:1px solid var(--color-line);background:#ffffffeb;position:sticky;top:0}.header-inner{justify-content:space-between;align-items:center;gap:24px;padding-block:10px;display:flex}.brand{flex-shrink:0;align-items:center;display:inline-flex}.brand img{width:auto;height:42px}.main-nav ul{flex-wrap:wrap;gap:2px;margin:0;padding:0;list-style:none;display:flex}.main-nav a{color:var(--color-text);border-radius:999px;padding:8px 14px;font-size:.95rem;font-weight:600;display:inline-block}.main-nav a:hover{background:var(--color-primary-soft);color:var(--color-primary-dark);text-decoration:none}.hero{background:linear-gradient(180deg, var(--color-surface), #fff);border-bottom:1px solid var(--color-line)}.hero-inner{grid-template-columns:1.15fr 1fr;align-items:center;gap:44px;padding-block:64px;display:grid}.hero-badge{background:var(--color-primary-soft);color:var(--color-primary-dark);letter-spacing:.03em;border-radius:999px;margin:0 0 16px;padding:6px 16px;font-size:.9rem;font-weight:600;display:inline-block}.hero h1{color:var(--color-primary-dark);margin:0 0 18px}.hero-lead{color:var(--color-text);margin:0 0 20px;font-size:1.08rem}.hero-notes{flex-wrap:wrap;gap:10px;margin:0 0 26px;padding:0;list-style:none;display:flex}.hero-notes li{border:1px solid var(--color-line);color:var(--color-muted);background:#fff;border-radius:999px;padding:6px 14px;font-size:.9rem}.hero-figure{margin:0}.hero-figure img{border-radius:var(--radius);box-shadow:var(--shadow-md)}.section{padding-block:72px}.section-alt{background:var(--color-surface)}.section-head{text-align:center;margin-bottom:40px}.section-lead{color:var(--color-muted);margin-top:8px}.treatment-grid{grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:20px;margin:0;padding:0;list-style:none;display:grid}.treatment-card{border:1px solid var(--color-line);border-radius:var(--radius);box-shadow:var(--shadow-sm);background:#fff;transition:transform .18s,box-shadow .18s}.treatment-card:hover{box-shadow:var(--shadow-md);transform:translateY(-4px)}.treatment-card a{color:inherit;height:100%;padding:28px 28px 32px;display:block}.treatment-card a:hover{text-decoration:none}.treatment-card h3{color:var(--color-primary-dark);margin:0 0 10px}.treatment-card p{color:var(--color-muted);margin:0 0 14px;font-size:.97rem}.card-link{color:var(--color-primary);font-size:.92rem;font-weight:700}.card-link:after{content:" →"}.philosophy blockquote{border-left:6px solid var(--color-primary);border-radius:var(--radius);box-shadow:var(--shadow-sm);color:var(--color-text);background:#fff;margin:0;padding:40px 48px;font-size:1.15rem;line-height:2}.contact-cta{background:linear-gradient(135deg, var(--color-primary), var(--color-primary-dark));color:#fff;text-align:center}.contact-cta h2{color:#fff}.contact-cta p{color:#ffffffeb;font-size:1.05rem}.contact-cta .btn-primary{color:var(--color-primary-dark);background:#fff}.contact-cta .btn-primary:hover{background:#fef0f5}.contact-cta .btn-secondary{color:#fff;background:0 0;border-color:#fff}.contact-cta .btn-secondary:hover{background:#ffffff26}.cta-actions{flex-wrap:wrap;justify-content:center;gap:14px;margin-top:26px;display:flex}.site-footer{color:#f3e6ec;background:#2e1f28}.footer-grid{grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:40px;padding-block:56px;display:grid}.footer-heading{color:#fff;margin:0 0 14px;font-size:1.05rem}.site-footer p,.site-footer address{color:#e6d4dc;margin:0 0 10px}.site-footer a{color:#ffd3e4}.hours{margin:12px 0 0}.hours>div{border-bottom:1px solid #ffffff1a;gap:16px;padding:6px 0;display:flex}.hours dt{color:#ffd3e4;flex:none;width:130px;font-weight:700}.hours dd{margin:0}.footer-tel{font-size:1.3rem;font-weight:700}.site-footer ul{margin:0;padding:0;list-style:none}.site-footer li{padding:4px 0}.footer-bottom{text-align:center;color:#cbb6bf;border-top:1px solid #ffffff1f;padding-block:18px;font-size:.85rem}.page{max-width:860px;padding-block:56px}.page h1{color:var(--color-primary-dark);margin:0 0 8px}.page>h2{color:var(--color-primary-dark);margin:36px 0 16px}.page .lead{color:var(--color-muted);margin:0 0 32px;font-size:1.05rem}.entry-list{gap:16px;margin:0;padding:0;list-style:none;display:grid}.entry-list a{border:1px solid var(--color-line);border-radius:var(--radius);color:inherit;box-shadow:var(--shadow-sm);background:#fff;padding:22px 26px;display:block}.entry-list a:hover{border-color:var(--color-primary);box-shadow:var(--shadow-md);text-decoration:none}.entry-list h2{color:var(--color-primary-dark);margin:0 0 6px;font-size:1.15rem}.entry-list p{color:var(--color-muted);margin:0;font-size:.95rem}.career-list{margin:0;padding:0;list-style:none}.career-list li{border-bottom:1px solid var(--color-line);padding:11px 0}.profile-block{border:1px solid var(--color-line);border-radius:var(--radius);background:#fff;margin-top:24px;padding:28px 32px}.profile-block h2{color:var(--color-primary-dark);margin:0 0 12px;font-size:1.1rem}.quote{color:var(--color-text);font-size:1.1rem;line-height:2}.note{background:var(--color-primary-soft);color:var(--color-primary-dark);border-radius:10px;margin-top:20px;padding:12px 18px;font-weight:600}.back-link{margin-bottom:28px;font-weight:700;display:inline-block}.steps{flex-direction:column;gap:14px;margin:0;padding:0;list-style:none;display:flex}.steps li{align-items:baseline;gap:16px;display:flex}.step-num{background:var(--color-primary);color:#fff;border-radius:50%;flex:none;justify-content:center;align-items:center;width:32px;height:32px;margin-top:2px;font-size:.85rem;font-weight:700;display:flex}.access-box{border:1px solid var(--color-line);border-radius:var(--radius);box-shadow:var(--shadow-sm);background:#fff;margin-block:28px;padding:28px 32px}.access-box h2{color:var(--color-primary-dark);margin:0 0 10px}.profile-block h3{color:var(--color-primary-dark);margin:0 0 8px;font-size:1.05rem}@media (width<=800px){.hero-inner{grid-template-columns:1fr;gap:28px;padding-block:40px}.hero-figure{order:-1}.header-inner{gap:14px}.main-nav a{padding:8px 10px;font-size:.88rem}.brand img{height:36px}.philosophy blockquote{padding:24px 22px;font-size:1.05rem}.section{padding-block:48px}.footer-grid{gap:28px;padding-block:40px}}
