:root{
  --clinic-pink:#ed6f88;--clinic-pink-dark:#d95572;--clinic-pink-soft:#fff3f6;
  --clinic-blue:#6fb8d8;--clinic-blue-soft:#eef9fd;--clinic-green:#69b99a;
  --clinic-ink:#34373c;--clinic-muted:#68717b;--clinic-line:#eadde1;
  --clinic-bg:#fffdfd;--clinic-white:#fff;--clinic-radius:22px;
  --clinic-shadow:0 12px 32px rgba(91,54,66,.09);--clinic-max:1120px;
}
html{scroll-behavior:smooth}body{background:var(--clinic-bg)!important;color:var(--clinic-ink)!important;font-family:-apple-system,BlinkMacSystemFont,"Noto Sans JP","Yu Gothic",Meiryo,sans-serif!important}
body,body *{box-sizing:border-box}a{transition:color .2s,background .2s,transform .2s,box-shadow .2s}
/* common page rhythm */
main:not(.site-preview),.page,.wrapper,.content-wrap{max-width:none}
section,.section{scroll-margin-top:86px}
.section,.page-section,.content-section{padding-top:72px!important;padding-bottom:72px!important}
.section:nth-of-type(even),.alt,.bg,.gray{background:linear-gradient(180deg,#fff 0%,var(--clinic-pink-soft) 100%)!important}
.container,.inner,.section-inner{width:min(92%,var(--clinic-max))!important;margin-left:auto!important;margin-right:auto!important}
h1,h2,h3{letter-spacing:.03em}h1{line-height:1.35!important}h2{line-height:1.45!important;color:var(--clinic-ink)}
.catch-line{display:block;white-space:nowrap}.catch-line+.catch-line{margin-top:.12em;color:var(--clinic-pink-dark)}
.heading small,.section-title>span,.badge{color:var(--clinic-pink-dark)!important;letter-spacing:.16em;font-weight:800}
.heading h2,.section-title h2{position:relative;margin-bottom:30px!important}.heading h2:after,.section-title h2:after{content:"";display:block;width:54px;height:3px;margin:14px auto 0;border-radius:99px;background:linear-gradient(90deg,var(--clinic-pink),var(--clinic-blue))}
.left-title h2:after,[style*="text-align:left"] h2:after{margin-left:0}
/* cards */
.card,article[class*="card"],.faq-item,details,.box,.panel{border-radius:var(--clinic-radius)!important;border:1px solid var(--clinic-line)!important;background:var(--clinic-white)!important;box-shadow:var(--clinic-shadow)!important}
.card,article[class*="card"],.box,.panel{overflow:hidden}.card:hover,article[class*="card"]:hover{transform:translateY(-4px);box-shadow:0 16px 38px rgba(91,54,66,.13)!important}
.card img,article[class*="card"] img,.section img{border-radius:16px;object-fit:cover}
.icon,.num{background:linear-gradient(135deg,var(--clinic-pink-soft),var(--clinic-blue-soft))!important;color:var(--clinic-pink-dark)!important}
/* buttons */
.btn,.button,a[class*="btn"],.cta a,.actions a{border-radius:999px!important;font-weight:800!important;box-shadow:0 8px 20px rgba(237,111,136,.16)}
.primary,.booking,.clinic-web-reserve{background:linear-gradient(135deg,var(--clinic-pink),var(--clinic-pink-dark))!important;color:#fff!important;border-color:transparent!important}
.secondary{background:#fff!important;color:var(--clinic-pink-dark)!important;border:1px solid var(--clinic-pink)!important}
.btn:hover,.button:hover,a[class*="btn"]:hover,.cta a:hover,.actions a:hover{transform:translateY(-2px)}
/* FAQ */
details{margin:12px 0;padding:0 20px}details summary{padding:18px 34px 18px 0;cursor:pointer;font-weight:800;color:var(--clinic-ink);list-style:none;position:relative}details summary::-webkit-details-marker{display:none}details summary:after{content:"＋";position:absolute;right:0;top:16px;color:var(--clinic-pink-dark);font-size:22px}details[open] summary:after{content:"−"}details>p,details>div{padding:0 0 20px;color:var(--clinic-muted);line-height:1.85}
/* common navigation */
.clinic-global-nav,.clinic-main-nav{font-family:inherit!important;background:#fff!important;border-color:var(--clinic-line)!important;box-shadow:0 5px 18px rgba(73,48,57,.08)!important;overflow:visible!important;z-index:9990!important}
.clinic-treatment-dropdown{border-color:var(--clinic-line)!important;box-shadow:var(--clinic-shadow)!important}.clinic-treatment-dropdown a:hover{background:var(--clinic-pink-soft)!important;color:var(--clinic-pink-dark)!important}
/* content images */
.hero img,.visual img,.mv img{width:100%;height:100%;object-fit:cover}.hero,.mv{overflow:hidden}
/* footer/CTA */
.cta,.contact-cta,.reservation{background:linear-gradient(135deg,var(--clinic-pink-soft),var(--clinic-blue-soft))!important;border-radius:28px!important}
@media(max-width:768px){
 .section,.page-section,.content-section{padding-top:46px!important;padding-bottom:46px!important}
 h1{font-size:clamp(28px,8vw,40px)!important}.catch-line{white-space:normal}
 .grid{gap:16px!important}.card,article[class*="card"]{border-radius:18px!important}
}
