:root{--green:#19604f;--ink:#233f37;--muted:#596b64;--paper:#f3f7f1;--line:#d8e5dc}*{box-sizing:border-box}body{margin:0;color:var(--ink);font:16px/1.9 "Yu Gothic",Meiryo,sans-serif;background:#fff}a{color:var(--green);text-underline-offset:5px}img{max-width:100%}h1,h2,h3,p{margin:0}h2{font-size:30px;line-height:1.5;margin-bottom:24px}h3{font-size:20px}p+p{margin-top:16px}a:focus-visible,summary:focus-visible{outline:3px solid #bb832a;outline-offset:5px}.skip{position:absolute;top:-100px}.skip:focus{top:0;background:white;z-index:10}.header-inner{max-width:1160px;margin:auto;padding:24px;display:flex;align-items:center;gap:32px}.brand{display:flex;flex-direction:column;margin-right:auto;text-decoration:none;line-height:1.45}.brand small{font-size:12px;letter-spacing:.15em}.brand strong{font-family:"Yu Mincho",serif;font-size:32px;letter-spacing:.1em}.brand span{font-size:12px}.header-contact{display:flex;flex-direction:column}.header-contact small{font-size:12px}.header-contact a,.phone{font-size:27px;text-decoration:none}.button{display:inline-flex;align-items:center;justify-content:center;gap:30px;padding:14px 24px;background:var(--green);color:white;text-decoration:none;border-radius:6px;font-weight:bold;min-height:52px}.button:hover{background:#104a3d}nav{display:flex;justify-content:center;border-top:1px solid var(--line);border-bottom:1px solid var(--line)}nav a{padding:14px 30px;text-decoration:none;font-size:14px}nav a:hover{background:var(--paper)}.hero{display:grid;grid-template-columns:1fr 1fr;background:var(--paper);max-width:1440px;margin:auto}.hero-copy{padding:60px 40px 60px max(30px,calc((100vw - 1112px)/2))}.eyebrow{font-size:13px;letter-spacing:.12em;font-weight:bold;color:var(--green);margin-bottom:18px}h1{font-size:clamp(30px,3vw,44px);line-height:1.55;letter-spacing:.05em}.lead{margin:24px 0}.hero>img{width:100%;height:100%;object-fit:cover;min-height:460px}.badges{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:28px}.badges span{font-size:13px;padding:5px 10px;border:1px solid #b5cdbb;border-radius:4px;background:white}.text-link{display:inline-block;margin:18px 0 0 18px;font-size:14px}.section{max-width:1112px;margin:auto;padding:64px 24px}.appointment,.access{display:grid;grid-template-columns:1fr 1fr;gap:60px}.note{font-size:13px;color:var(--muted)}.phone{display:block;margin:18px 0}.hours{background:var(--paper);padding:28px;border-radius:12px}table{width:100%;border-collapse:collapse;font-size:14px;margin:15px 0}caption{caption-side:bottom;text-align:left;padding:8px 0;color:var(--muted)}td,th{padding:12px 5px;border-bottom:1px solid var(--line);text-align:center;white-space:nowrap}.notice{font-size:14px;margin-bottom:20px}.tinted{background:var(--paper)}.cards{display:grid;grid-template-columns:repeat(3,1fr);gap:18px;margin-top:28px}.card{display:block;position:relative;padding:28px 24px 40px;background:white;border:1px solid var(--line);border-radius:10px;text-decoration:none}.card:hover{border-color:var(--green)}.card p{font-size:14px;color:var(--muted);margin-top:10px}.card>span{position:absolute;bottom:12px;right:20px}.access p{margin-bottom:20px}.access-panel{padding:32px;background:var(--paper);border-radius:12px}.access-panel>a{display:block;padding:18px 0;border-bottom:1px solid var(--line);text-decoration:none}.information{border-top:1px solid var(--line)}details{padding:20px 0;border-bottom:1px solid var(--line)}summary{cursor:pointer;font-weight:bold}details>div,details>p{padding-top:16px}footer{background:#173e33;color:white;padding:40px max(24px,calc((100vw - 1064px)/2));font-size:14px}footer a{color:white}footer div{display:flex;gap:24px;flex-wrap:wrap;margin:24px 0}footer small{opacity:.75}.mobile-actions{display:none}@media(max-width:800px){.header-inner{padding:16px;gap:14px}.brand strong{font-size:24px}.header-contact{display:none}.header-inner .button{font-size:13px;padding:10px 16px}nav{flex-wrap:wrap}nav a{width:33.333%;padding:10px 4px;text-align:center;font-size:13px}.hero{grid-template-columns:1fr}.hero-copy{padding:36px 24px}.hero>img{min-height:0;height:240px;object-fit:cover}.hero .text-link{margin-left:0;display:block}h1{font-size:32px}h2{font-size:25px}.section{padding:42px 20px}.appointment,.access{grid-template-columns:1fr;gap:28px}.hours{padding:20px 12px}.cards{grid-template-columns:1fr 1fr;gap:12px}.card{padding:20px 14px 36px}.card h3{font-size:18px}.card p{font-size:13px}.mobile-actions{position:fixed;bottom:0;left:0;right:0;display:grid;grid-template-columns:1.2fr 1fr 1fr;background:var(--green);padding-bottom:env(safe-area-inset-bottom);z-index:20;box-shadow:0 -2px 10px #0002}.mobile-actions a{padding:15px 4px;text-align:center;color:white;text-decoration:none;font-size:13px}.mobile-actions a:first-child{background:#e8f1e7;color:var(--green)}body{padding-bottom:65px}td,th{font-size:12px;padding:12px 3px}}@media print{.mobile-actions{display:none}.hero>img{max-height:300px}.section{padding:25px}body{padding:0}}

/* 2026-10-22 明るい配色への改訂 */
:root{--green:#347244;--ink:#35473c;--muted:#58665c;--paper:#f4faed;--line:#dcebd2}
body{background:#fffefa;color:var(--ink)}
.header-inner{padding-top:22px;padding-bottom:22px}
.brand{display:block;max-width:360px}.brand img{display:block;width:100%;height:auto}
.header-contact a,.phone{color:#347244}
nav{background:#f3faea;border-color:#e1edce}
nav a{font-weight:bold;color:#486b3e}
nav a:hover,nav a[aria-current]{background:#e7f4d6;color:#356825}
.button{background:#ffcf78;color:#614018;border:1px solid #f3be5b;border-radius:999px;box-shadow:0 4px 0 #efb84b22}
.button:hover{background:#ffc25b;color:#4f3415}
.hero{background:linear-gradient(120deg,#fff9e9 0%,#f5fbe9 54%,#eaf8ef 100%);grid-template-columns:47% 53%;padding:32px max(24px,calc((100vw - 1200px)/2));gap:24px;align-items:center;max-width:none}
.hero-copy{padding:24px 0 32px;min-width:0}
.hero .eyebrow{display:inline-block;background:white;border:1px solid #dce9c7;color:#466c38;border-radius:999px;padding:6px 16px;letter-spacing:.05em}
h1{color:#477438;letter-spacing:.03em;font-weight:700;line-height:1.55}
.hero>img{height:auto;min-height:0;max-height:430px;width:100%;object-fit:contain;border:8px solid white;border-radius:26px;box-shadow:0 14px 34px #7c9b5620}
.lead{color:#52654c}
.badges span{background:#fff;border-color:#dbe9c7;border-radius:999px;color:#456b38;padding:6px 12px}
.text-link{color:#456f35;font-weight:bold}
h2{color:#476e37}
.appointment{background:white}
.hours{background:#fff9e8;border:1px solid #f0e6c7;border-radius:22px}
.hours h3{color:#725524}
td,th{border-color:#e7dfc4}
.notice{background:white;padding:12px;border-radius:10px;color:#795122}
.tinted{background:#f2faeb;border-top:1px solid #e8f0df;border-bottom:1px solid #e8f0df}
.card{border-radius:20px;border-color:#e3ebd8;box-shadow:0 5px 16px #728c5110;transition:transform .18s,box-shadow .18s;border-top:5px solid #b5d998}
.card:nth-child(3n+2){border-top-color:#f3ce85}.card:nth-child(3n){border-top-color:#a9d9d5}
.card:hover{transform:translateY(-3px);border-color:#b4cf9c;box-shadow:0 9px 20px #728c511c}
.card h3{color:#486b3d}.card>span{background:#f0f6e7;width:30px;height:30px;border-radius:50%;text-align:center}
.access-panel{background:#eef8f4;border:1px solid #d9ede4;border-radius:22px}
.access-panel>a{border-color:#d3e6db;color:#3d6b52}
.information{background:white}
footer{background:#f2f8e8;color:#48613f;border-top:1px solid #dfeacc}
footer a{color:#426039}footer small{opacity:1;color:#5b7051}
.mobile-actions{background:#fff6df;box-shadow:0 -3px 15px #826e3020;border-top:1px solid #eadab1}
.mobile-actions a{color:#624b27;background:#fff6df;font-weight:bold}
.mobile-actions a:first-child{background:#e9f5db;color:#426335}
.mobile-actions a:nth-child(2){background:#ffcf78;color:#614018}
@media(max-width:800px){.brand{max-width:220px}.header-inner{padding:18px 16px}.header-inner .button{padding:10px 16px;white-space:nowrap}.hero{grid-template-columns:1fr;padding:26px 20px 32px;gap:4px}.hero-copy{padding:0 0 18px}.hero h1{font-size:32px}.hero>img{height:auto;min-height:0;max-height:none;border-width:6px;border-radius:20px}.hero .text-link{display:inline-block;margin:15px 0 0 12px}.hero .button{padding:13px 20px}.hero .eyebrow{font-size:12px;padding:5px 12px}.cards{grid-template-columns:1fr 1fr}.card{padding:20px 14px 46px}.card p{font-size:14px}.section{padding-top:40px;padding-bottom:40px}.hours{padding:24px 14px}.eyebrow{letter-spacing:.08em}}
@media(max-width:360px){.brand{max-width:180px}.hero .text-link{display:block;margin-left:0}.cards{grid-template-columns:1fr}.card{padding-bottom:32px}}
@media(prefers-reduced-motion:reduce){.card{transition:none}.card:hover{transform:none}}

/* 医院のシンボルカラー：薄茶色と緑 */
:root{--green:#467a35;--ink:#3f4238;--muted:#606356;--paper:#faf5ee;--line:#e3d2bb;--tan:#d2b48c}
body{background:#fff;color:var(--ink)}
nav{background:#f2e5d2;border-color:#dcc4a3}nav a{color:#3f6d2e}nav a:hover,nav a[aria-current]{background:#dfc7a6;color:#315d24}
.button{background:#d2b48c;border:1px solid #b89362;color:#354c25;box-shadow:0 3px 0 #bfa17b20}.button:hover{background:#c6a577;color:#293f1d}
h1,h2,.eyebrow,.header-contact a,.phone,.text-link{color:#467a35}
.hero{display:flex;flex-direction:column;gap:0;padding:24px 24px 0;background:#faf5ee}
.clinic-slider{width:100%;max-width:1200px;margin:auto}.slide-stage{position:relative;aspect-ratio:1200/460;background:#eee0cd;overflow:hidden;border-radius:6px}
.clinic-slide{display:block;width:100%;height:auto;aspect-ratio:1200/460;object-fit:contain;margin:0}.clinic-slide[hidden]{display:none}
.slide-controls{display:flex;align-items:center;justify-content:center;gap:22px;padding:12px 0}.slide-select{display:flex;gap:10px}.slide-controls button{font:inherit;cursor:pointer;min-height:40px;border:1px solid #ad906a;border-radius:5px;background:#fff;color:#486334;padding:6px 14px;font-size:13px}.slide-select button{min-width:40px}.slide-select button[aria-pressed="true"]{background:#467a35;color:#fff;border-color:#467a35}.slide-controls button:hover{border-color:#467a35}.slide-controls button:focus-visible{outline:3px solid #467a35;outline-offset:3px}
.hero-copy{width:100%;max-width:1112px;padding:22px 0 34px;display:grid;grid-template-columns:1fr 1fr;column-gap:42px;align-items:start}
.hero .eyebrow{grid-column:1/-1;justify-self:start;background:#fff;border-color:#dcc4a3;margin-bottom:16px}
.hero h1{grid-column:1;grid-row:2/5;font-size:36px}.hero .lead{grid-column:2;margin:0 0 16px}.hero .badges{grid-column:2;margin-bottom:16px}.hero .button{grid-column:2;justify-self:start}.hero .text-link{grid-column:2;margin:12px 0 0;justify-self:start}
.badges span{border-color:#d5bc98;color:#4d633a;background:#fff}
.hours{background:#f7eddf;border-color:#e2cbaa}.hours h3{color:#61503c}td,th{border-color:#ddc9ad}.notice{color:#63533e}
.tinted{background:#faf5ee;border-color:#e9dac5}.card,.card:nth-child(3n+2),.card:nth-child(3n){border-color:#e3d2bb;border-top:5px solid #d2b48c;box-shadow:0 4px 12px #9478500c}.card:nth-child(even){border-top-color:#82a66c}.card:hover{border-color:#98ad7d;box-shadow:0 8px 20px #7b693517}.card h3{color:#467a35}.card>span{background:#f4ebdf;color:#467a35}
.access-panel{background:#f7f0e6;border-color:#e3d2bb}.access-panel h3,.access-panel>a{color:#466634}.access-panel>a{border-color:#e0cfb8}
footer{background:#ead8be;border-color:#d2b48c;color:#454d37}footer a{color:#3e642e}footer small{color:#555c47}
.mobile-actions{background:#f3e8d8;border-color:#c8ad87}.mobile-actions a{background:#f3e8d8;color:#456633}.mobile-actions a:first-child{background:#f3e8d8;color:#456633}.mobile-actions a:nth-child(2){background:#d2b48c;color:#304a22}
@media(max-width:800px){.hero{padding:12px 12px 0}.slide-controls{gap:12px;padding:10px 0}.slide-controls button{font-size:12px;padding:6px 10px;min-height:40px}.slide-select{gap:7px}.hero-copy{display:block;padding:14px 10px 28px}.hero h1{font-size:30px}.hero .lead{margin:16px 0}.hero .eyebrow{margin-bottom:12px}.hero .badges{margin-bottom:20px}.hero .text-link{display:inline-block;margin:12px 0 0 12px}.hero .button{font-size:14px}.slide-stage{border-radius:3px}}
@media(max-width:360px){.hero .text-link{display:block;margin-left:0}}
