/*
Theme Name: Nagano Eru Seikotsuin
Description: 長野-える-接骨院 向け集客用テーマ。院情報は functions.php 冒頭の clinic() を編集してください。
Version: 1.1
Text Domain: nagano-eru
*/
:root{--ink:#2b2528;--main:#9b4a66;--deep:#5e2a40;--soft:#f8eef1;--line:#ead6dd;--cta:#c9703a;--bg:#fffdfd;--r:14px}
*{box-sizing:border-box}html{scroll-behavior:smooth}
body{margin:0;font-family:"Noto Sans JP",system-ui,sans-serif;color:var(--ink);background:var(--bg);line-height:1.85;font-size:16px}
img{max-width:100%;height:auto}a{color:var(--main)}
h1,h2,h3{font-family:"Zen Maru Gothic","Noto Sans JP",sans-serif;line-height:1.5;margin:0 0 .6em}
.w{max-width:1040px;margin:0 auto;padding:0 20px}
section{padding:72px 0}section.alt{background:var(--soft)}
h2{font-size:clamp(1.5rem,3.4vw,2rem);color:var(--deep)}
.lead{max-width:36em;color:#5a4a50}
.hd{position:sticky;top:0;z-index:20;background:rgba(255,253,253,.94);backdrop-filter:blur(8px);border-bottom:1px solid var(--line)}
.hd .w{display:flex;align-items:center;justify-content:space-between;gap:16px;min-height:64px}
.logo{font-family:"Zen Maru Gothic",sans-serif;font-weight:700;font-size:1.2rem;color:var(--deep);text-decoration:none}
.nav{display:flex;gap:22px;align-items:center}.nav a{text-decoration:none;color:var(--ink);font-size:.92rem}
.btn{display:inline-block;background:var(--cta);color:#fff!important;padding:13px 26px;border-radius:999px;font-weight:700;text-decoration:none;text-align:center}
.btn.ghost{background:transparent;color:var(--deep)!important;border:2px solid var(--main)}
.btn:focus-visible,a:focus-visible{outline:3px solid var(--deep);outline-offset:3px}
.hero{padding:80px 0 64px;background:linear-gradient(160deg,var(--soft),#fff 70%)}
.hero .w{display:grid;grid-template-columns:1.15fr .85fr;gap:40px;align-items:center}
.hero h1{font-size:clamp(1.9rem,4.6vw,3rem);color:var(--deep)}
.hero .tel{font-size:1.9rem;font-weight:700;font-family:"Zen Maru Gothic",sans-serif;color:var(--deep);text-decoration:none;display:block}
.hero .acts{display:flex;flex-wrap:wrap;gap:12px;margin:26px 0 12px}
.badges{list-style:none;padding:0;margin:20px 0 0;display:flex;flex-wrap:wrap;gap:8px}
.badges li{background:#fff;border:1px solid var(--line);border-radius:999px;padding:4px 14px;font-size:.85rem}
.ph{aspect-ratio:4/5;border-radius:var(--r);background:var(--main) center/cover;display:flex;align-items:flex-end;padding:20px;color:#fff;font-size:.85rem}
.g3{display:grid;grid-template-columns:repeat(3,1fr);gap:20px}.g2{display:grid;grid-template-columns:repeat(2,1fr);gap:20px}
.card{background:#fff;border:1px solid var(--line);border-radius:var(--r);padding:26px}
.card h3{font-size:1.1rem;color:var(--deep)}
.worry{list-style:none;padding:0;margin:0;display:grid;grid-template-columns:repeat(2,1fr);gap:10px 28px}
.worry li{padding-left:1.8em;position:relative}.worry li:before{content:"✓";position:absolute;left:0;color:var(--cta);font-weight:700}
.steps{counter-reset:s;list-style:none;padding:0;margin:0;display:grid;grid-template-columns:repeat(4,1fr);gap:16px}
.steps li{counter-increment:s;background:#fff;border-radius:var(--r);padding:20px;border:1px solid var(--line)}
.steps li:before{content:counter(s);display:block;font-weight:700;font-size:1.6rem;color:var(--main)}
table{width:100%;border-collapse:collapse;background:#fff;border-radius:var(--r);overflow:hidden}
th,td{padding:12px 14px;border-bottom:1px solid var(--line);text-align:left}th{background:var(--soft);color:var(--deep)}
td.c,th.c{text-align:center}.scroll{overflow-x:auto}
details{background:#fff;border:1px solid var(--line);border-radius:var(--r);padding:16px 20px;margin-bottom:10px}
summary{cursor:pointer;font-weight:700;color:var(--deep)}
.cta-band{background:var(--deep);color:#fff;text-align:center}.cta-band h2{color:#fff}
.cta-band .tel{display:block;font-size:2.2rem;font-weight:700;color:#fff;text-decoration:none;margin:10px 0 18px}
.note{font-size:.85rem;color:#76646b}
.ft{background:#2a1a21;color:#d9c3cb;padding:32px 0 90px;font-size:.88rem}.ft a{color:#d9c3cb}
.fixbar{display:none}
@media(max-width:760px){
 section{padding:52px 0}.nav a:not(.btn){display:none}
 .hero .w,.g3,.g2,.worry{grid-template-columns:1fr}.steps{grid-template-columns:1fr 1fr}.ph{aspect-ratio:16/10}
 .fixbar{display:grid;grid-template-columns:1fr 1fr;position:fixed;left:0;right:0;bottom:0;z-index:30}
 .fixbar a{padding:14px;text-align:center;color:#fff;font-weight:700;text-decoration:none;background:var(--main)}.fixbar a+a{background:var(--cta)}
}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}}

h3.pt{margin:32px 0 10px;font-size:1.05rem;color:var(--deep)}
.dir{display:grid;grid-template-columns:.8fr 1.2fr;gap:36px;align-items:start}
.dirimg{width:100%;border-radius:var(--r);object-fit:cover;aspect-ratio:1}
.prof{display:grid;grid-template-columns:7em 1fr;gap:6px 14px;margin:0 0 20px}.prof dt{font-weight:700;color:var(--deep)}.prof dd{margin:0}
.park{display:block;width:100%;max-width:640px;border-radius:var(--r);margin:12px 0}
@media(max-width:760px){.dir{grid-template-columns:1fr}.dirimg{max-width:320px}}

.logocard{background:#fff;border:1px solid var(--line);border-radius:var(--r);padding:12px;max-width:380px;justify-self:center;width:100%}
.logocard img{display:block;width:100%;border-radius:8px}
.dn{font-size:1.3rem;margin-bottom:.4em}
.narrow{max-width:760px}.pt1{font-size:clamp(1.6rem,3.6vw,2.2rem);color:var(--deep)}
.crumb{font-size:.85rem;color:#76646b;margin:0 0 12px}
.dots{padding-left:1.3em;margin:0 0 1.2em}.dots li{margin-bottom:.4em}
.alertbox{background:var(--soft);border-left:5px solid var(--cta);border-radius:var(--r);padding:20px 24px;margin:32px 0}
.alertbox h2{font-size:1.15rem;margin-bottom:.4em}
a.sx{text-decoration:none;color:var(--ink);display:block}a.sx:hover{border-color:var(--main)}a.sx p{margin:0;color:#5a4a50;font-size:.92rem}
.rel a{display:inline-block;margin:0 10px 8px 0;padding:4px 14px;border:1px solid var(--line);border-radius:999px;text-decoration:none;background:#fff}
.narrow h2{margin-top:1.8em;font-size:1.3rem}.narrow .acts{display:flex;margin:24px 0}
