:root{--paper:#f7f5ef;--white:#fffefa;--ink:#292b27;--muted:#696b63;--green:#4d6549;--green-dark:#3d523a;--line:#d9d8cc;--clay:#a15d49;--serif:"Noto Serif JP","Yu Mincho",serif;--sans:"Noto Sans JP","Yu Gothic",sans-serif;--content:1120px}
*{box-sizing:border-box}
html{scroll-behavior:smooth;scroll-padding-top:90px;overflow-x:clip}
body{margin:0;background:var(--paper);color:var(--ink);font-family:var(--serif);font-size:16px;line-height:1.9;overflow-x:clip}
img{display:block;width:100%;height:auto;object-fit:cover}
a{color:inherit}
button,a{-webkit-tap-highlight-color:transparent}
a:focus-visible,button:focus-visible,summary:focus-visible{outline:3px solid var(--clay);outline-offset:4px}
.sample-notice{margin:0;padding:7px 18px;background:#e7e4d9;color:#484941;text-align:center;font:12px/1.6 var(--sans);letter-spacing:.02em}
.site-header{height:76px;padding:0 max(32px,calc((100vw - var(--content))/2));display:flex;align-items:center;justify-content:space-between;background:var(--paper);border-bottom:1px solid #e7e4da;position:relative;z-index:5}
.brand{display:flex;flex-direction:column;text-decoration:none;line-height:1.3;flex-shrink:0}.brand-name{font-size:20px;font-weight:600;letter-spacing:.08em}.brand-sub{margin-top:5px;font:9px/1.3 var(--sans);letter-spacing:.24em;color:var(--muted)}
.site-nav{display:flex;align-items:center;gap:clamp(16px,2vw,30px)}.site-nav a{text-decoration:none;font-size:13px;white-space:nowrap}.site-nav a:not(.nav-reserve):hover,.text-link:hover{color:var(--green)}.nav-reserve{display:grid;place-items:center;min-width:104px;min-height:46px;padding:8px 20px;background:var(--green);color:white;transition:background .18s}.nav-reserve:hover{background:var(--green-dark)}
.menu-toggle{display:none}
.hero{min-height:610px;display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);background:var(--white)}.hero-photo{min-height:610px;overflow:hidden}.hero-photo img{height:100%;min-height:610px;object-fit:cover;object-position:52% center}.hero-copy{align-self:center;max-width:650px;padding:72px clamp(38px,7vw,104px)}
.eyebrow{display:flex;align-items:center;gap:12px;margin:0 0 24px;color:var(--green);font:11px/1.5 var(--sans);letter-spacing:.22em}.eyebrow span{width:32px;height:1px;background:var(--clay);flex:0 0 auto}
h1,h2,h3,p{margin-top:0}h1,h2,h3,.hero-lead{word-break:keep-all;overflow-wrap:anywhere}h1{margin-bottom:24px;font-size:clamp(30px,3.3vw,46px);line-height:1.55;font-weight:500;letter-spacing:.075em}h2{font-size:clamp(26px,3vw,38px);font-weight:500;line-height:1.55;letter-spacing:.055em}h3{font-size:18px;font-weight:500;line-height:1.6;letter-spacing:.03em}.hero-lead{font-size:16px;line-height:2.05;color:#41433d}.hero-note{margin:26px 0 28px;padding-left:16px;border-left:2px solid var(--clay);font-size:14px;color:var(--muted)}.text-link{min-height:44px;display:inline-flex;align-items:center;gap:28px;text-decoration:none;border-bottom:1px solid var(--green);font-size:14px}.text-link span{font:20px var(--sans)}
.section{padding:112px max(28px,calc((100vw - var(--content))/2))}.section-tint{background:#eeede5}.intro{display:grid;grid-template-columns:.9fr 1.1fr;gap:clamp(44px,8vw,120px);align-items:start}.section-heading h2{margin:0}.intro-body{max-width:570px;padding-top:9px}.intro-body p{margin-bottom:20px}.small-note{font:13px/1.9 var(--sans);color:var(--muted)}.centered{text-align:center}.centered .eyebrow{justify-content:center}.section-lead{margin:20px 0 0;color:var(--muted)}
.concern-list{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:22px;margin-top:56px}.concern-list article{padding:30px 28px;background:var(--white);border-top:2px solid var(--green)}.number{display:block;margin-bottom:21px;color:var(--clay);font:12px var(--sans);letter-spacing:.16em}.concern-list h3{min-height:58px;margin-bottom:13px}.concern-list p{margin-bottom:0;color:var(--muted);font-size:14px}.medical-note{margin:25px 0 0;text-align:center;font:12px/1.8 var(--sans);color:var(--muted)}
.treatment{display:grid;grid-template-columns:1.04fr .96fr;gap:clamp(50px,8vw,120px);align-items:center}.treatment-image img{aspect-ratio:1.35}.treatment-copy{max-width:520px}.treatment-copy p:not(.eyebrow){color:#4c4e48}.treatment-copy .small-note{margin-top:24px}
.flow-list{max-width:850px;margin:60px auto 0;padding:0;list-style:none;border-top:1px solid var(--line)}.flow-list li{display:grid;grid-template-columns:72px 1fr;gap:22px;padding:26px 10px;border-bottom:1px solid var(--line)}.flow-number{color:var(--clay);font:13px var(--sans);letter-spacing:.12em;padding-top:2px}.flow-list h3{margin:0 0 7px}.flow-list p{margin:0;color:var(--muted);font-size:14px}
.message{display:grid;grid-template-columns:.65fr 1.35fr;gap:clamp(40px,9vw,130px);align-items:center;max-width:1120px;margin:auto;padding-left:0;padding-right:0}.message-mark{display:grid;place-items:center;width:min(100%,290px);aspect-ratio:1;border:1px solid #c9cbbb;border-radius:50%;color:var(--green);font-size:clamp(80px,12vw,150px);font-weight:400}.message-copy{max-width:650px}.message-copy h2{margin-bottom:27px}.message-copy p:not(.eyebrow){color:#4c4e48}.signature{margin:32px 0 0;text-align:right;font-size:14px;color:var(--ink)!important}
.clinic{display:grid;grid-template-columns:.8fr 1.2fr;gap:clamp(48px,8vw,120px);align-items:center}.clinic-copy{max-width:440px}.clinic-copy p:not(.eyebrow){color:#4c4e48}.clinic-image img{aspect-ratio:1.5}
.faq-list{max-width:850px;margin:52px auto 0;border-top:1px solid var(--line)}details{border-bottom:1px solid var(--line)}summary{position:relative;min-height:68px;padding:20px 46px 20px 4px;cursor:pointer;list-style:none;font-size:16px}summary::-webkit-details-marker{display:none}summary:after{content:"＋";position:absolute;right:8px;top:18px;color:var(--green);font:20px var(--sans)}details[open] summary:after{content:"−"}details p{margin:0;padding:0 40px 24px 4px;color:var(--muted);font-size:14px}
.access-layout{display:grid;grid-template-columns:1.05fr .95fr;gap:54px;max-width:1000px;margin:54px auto 0;align-items:stretch}.map-placeholder{min-height:340px;display:grid;place-items:center;background:#e1e1dc;border:1px solid #d0d1ca;color:#686a64;font:14px var(--sans);letter-spacing:.12em}.access-details{margin:0}.access-details div{display:grid;grid-template-columns:112px 1fr;gap:20px;padding:13px 0;border-bottom:1px solid var(--line)}.access-details dt{font-size:13px;color:var(--muted)}.access-details dd{margin:0;font-size:14px}
.reserve{padding-top:90px;padding-bottom:100px;text-align:center;background:var(--green-dark);color:#fff}.reserve .eyebrow{justify-content:center;color:#e5eadf}.reserve .eyebrow span{background:#d7b29c}.reserve h2{margin-bottom:20px}.reserve>p:not(.eyebrow){max-width:620px;margin-left:auto;margin-right:auto}.reserve-phone{margin-top:28px;margin-bottom:5px;font:clamp(24px,4vw,34px) var(--sans);letter-spacing:.08em}.reserve .small-note{color:#e0e4dc}.reserve-caution{margin-top:38px!important;font:12px var(--sans);color:#e0e4dc}
.site-footer{display:grid;grid-template-columns:1fr 1fr;gap:22px;align-items:center;padding:44px max(28px,calc((100vw - var(--content))/2)) 82px;background:#303a30;color:#f7f5ef}.site-footer .brand-sub{color:#c9d0c5}.site-footer>p{margin:0;text-align:right;font-size:13px}.site-footer small{grid-column:1/-1;padding-top:20px;border-top:1px solid #687065;color:#d2d5cd;font:11px var(--sans)}
.mobile-actions{display:none}
@media(max-width:900px){.site-header{padding-left:26px;padding-right:26px}.site-nav{gap:16px}.site-nav a{font-size:12px}.nav-reserve{min-width:84px;padding:7px 12px}.hero{min-height:560px}.hero-photo,.hero-photo img{min-height:560px}.hero-copy{padding:60px 38px}.section{padding-top:88px;padding-bottom:88px}.message{padding-left:28px;padding-right:28px}.concern-list{gap:14px}.concern-list article{padding:25px 20px}}
@media(max-width:767px){html{scroll-padding-top:70px}.sample-notice{font-size:10px;padding:6px 10px}.site-header{height:68px;padding:0 20px}.brand-name{font-size:18px}.brand-sub{font-size:8px;letter-spacing:.18em}.menu-toggle{display:flex;width:46px;height:46px;flex-direction:column;align-items:center;justify-content:center;gap:6px;border:0;background:transparent;cursor:pointer}.menu-toggle span{display:block;width:24px;height:1.5px;background:var(--green)}.site-nav{display:none;position:absolute;top:68px;left:0;right:0;padding:14px 20px 22px;background:var(--paper);border-bottom:1px solid var(--line);box-shadow:0 12px 20px #24271a12}.site-nav.is-open{display:flex;flex-direction:column;align-items:stretch;gap:2px}.site-nav a{display:flex;align-items:center;min-height:48px;font-size:14px}.site-nav .nav-reserve{display:none}.hero{display:flex;flex-direction:column;min-height:0}.hero-copy{order:0;padding:58px 26px 44px}.hero-photo{order:1;min-height:0;height:340px}.hero-photo img{min-height:0;height:100%;object-position:center 55%}.eyebrow{margin-bottom:20px;font-size:10px;letter-spacing:.18em}.eyebrow span{width:25px}h1{font-size:clamp(29px,8vw,38px);margin-bottom:19px}.hero-lead{font-size:15px}.hero-note{margin:20px 0 0}.hero-copy .text-link{display:none}.section{padding:76px 24px}.intro{display:block}.intro-body{margin-top:30px}.intro-body p{font-size:15px}.section-heading h2,h2{font-size:clamp(25px,7vw,32px)}.section-lead{font-size:14px}.concern-list{grid-template-columns:1fr;gap:12px;margin-top:35px}.concern-list article{padding:22px 22px 23px}.concern-list h3{min-height:0;margin-bottom:8px}.concern-list p{font-size:14px}.medical-note{text-align:left}.treatment{display:flex;flex-direction:column;gap:32px}.treatment-image{width:100%}.treatment-image img{aspect-ratio:1.2}.treatment-copy p:not(.eyebrow){font-size:15px}.flow-list{margin-top:36px}.flow-list li{grid-template-columns:43px 1fr;gap:12px;padding:22px 0}.flow-list h3{font-size:17px}.flow-list p{font-size:14px}.message{display:flex;flex-direction:column;align-items:stretch;gap:32px;padding-left:24px;padding-right:24px}.message-mark{width:112px;margin:0 auto;border-radius:50%;font-size:58px}.message-copy h2{font-size:28px}.message-copy p:not(.eyebrow){font-size:15px}.clinic{display:flex;flex-direction:column;gap:28px;align-items:stretch}.clinic-image{order:1}.clinic-copy{order:0}.clinic-image img{aspect-ratio:1.25}.faq-list{margin-top:34px}summary{min-height:64px;padding:18px 40px 18px 0;font-size:15px}summary:after{right:3px;top:16px}details p{padding-right:8px;font-size:14px}.access-layout{display:flex;flex-direction:column;gap:28px;margin-top:34px}.map-placeholder{min-height:230px}.access-details div{grid-template-columns:88px 1fr;gap:10px}.access-details dt,.access-details dd{font-size:13px}.reserve{padding:72px 24px 78px}.reserve>p:not(.eyebrow){font-size:14px}.reserve-phone{font-size:27px}.reserve-caution{margin-top:26px!important}.site-footer{grid-template-columns:1fr;padding:34px 24px 91px}.site-footer>p{text-align:left}.site-footer small{grid-column:auto}.mobile-actions{position:fixed;z-index:4;bottom:0;left:0;right:0;display:grid;grid-template-columns:.8fr 1.2fr;min-height:62px;padding-bottom:env(safe-area-inset-bottom);background:#fffefaed;backdrop-filter:blur(8px);border-top:1px solid #d8d8ce}.mobile-actions a{display:grid;place-items:center;min-height:62px;text-decoration:none;font-size:13px;color:var(--green-dark)}.mobile-actions a+ a{background:var(--green);color:#fff}}
@media(max-width:360px){.hero-copy{padding-left:20px;padding-right:20px}.section{padding-left:20px;padding-right:20px}.brand-name{font-size:16px}.brand-sub{letter-spacing:.12em}h1{font-size:28px}.access-details div{grid-template-columns:76px 1fr}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*::before,*::after{transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}}.site-nav a{display:inline-flex;align-items:center;min-height:44px}
p,dd,li{text-wrap:pretty}

/* ヘッダーの電話番号（Claude） */
.nav-tel{display:inline-flex;align-items:center;min-height:44px;white-space:nowrap;font-weight:700;letter-spacing:.03em}
