:root{
  --shiro:#FCFAF7;      /* 生成りの白 */
  --kiri:#EEE9F3;       /* 淡い藤色の面 */
  --wakaba:#F7EFEB;     /* 薄紅の面 */
  --moku:#6A5A7B;       /* 藤紫（差し色） */
  --moku-koi:#544667;
  --kaki:#D2703A;       /* 橙（ここぞという一点） */
  --sumi:#38323F;       /* 本文 */
  --usu:#6E6577;        /* 小さい文字 */
  --maru:"Zen Maru Gothic",sans-serif;
  --kaku:"Zen Kaku Gothic New",sans-serif;
  --haba:760px;
}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;background:var(--shiro);color:var(--sumi);font-family:var(--kaku);
  font-weight:400;font-size:18.5px;line-height:2.0;letter-spacing:.03em;
  -webkit-font-smoothing:antialiased;padding-bottom:0}
img{max-width:100%;display:block}
a{color:var(--moku-koi)}
.ku>span{display:inline-block}
.ku{text-wrap:pretty}

/* ── ヘッダー ── */
.atama{background:var(--shiro);border-bottom:1px solid rgba(106,90,123,.18)}
.atama-naka{max-width:var(--haba);margin:0 auto;padding:20px 24px;
  display:flex;align-items:center;gap:20px;flex-wrap:wrap}
.yagou{font-family:var(--maru);font-weight:500;font-size:19px;letter-spacing:.1em;
  text-decoration:none;color:var(--sumi);line-height:1.5}
.yagou small{display:block;font-size:12.5px;color:var(--usu);letter-spacing:.06em;font-weight:400}
.atama nav{margin-left:auto;display:flex;gap:20px;font-size:15px}
.atama nav a{text-decoration:none;color:var(--usu)}
.atama nav a:hover,.atama nav a[aria-current]{color:var(--moku)}
@media(max-width:760px){.atama nav{display:none}.atama-naka{padding:16px 20px}}

/* ── 共通 ── */
main{max-width:var(--haba);margin:0 auto;padding:0 24px}
section{padding:60px 0}
h1{font-family:var(--maru);font-weight:500;font-size:clamp(26px,4.4vw,34px);
  line-height:1.75;letter-spacing:.06em;margin:0}
h2{font-family:var(--maru);font-weight:500;font-size:clamp(21px,3.2vw,25px);
  line-height:1.8;letter-spacing:.06em;margin:0 0 20px}
h3{font-family:var(--maru);font-weight:500;font-size:19.5px;letter-spacing:.05em;margin:0 0 12px}
p{margin:0 0 1.3em}
.lead{font-size:19.5px;color:var(--sumi)}
.chisai{font-size:16px;color:var(--usu);line-height:1.95}
.hyoushi{padding:64px 0 44px;text-align:left}
.hyoushi .soe{font-family:var(--maru);color:var(--moku);font-size:16px;margin:0 0 16px;letter-spacing:.1em}

/* ── 箱 ── */
.hako{background:var(--kiri);border-radius:14px;padding:34px 32px;margin:32px 0}
.hako h3{margin-top:0}
.hako :last-child{margin-bottom:0}
.hako.usui{background:var(--wakaba)}
@media(max-width:760px){.hako{padding:26px 22px;border-radius:12px}}

/* ── 選ぶカード（トップ） ── */
.erabu{display:grid;gap:18px;margin-top:12px}
.card{display:block;text-decoration:none;color:inherit;background:#fff;
  border:1px solid rgba(106,90,123,.2);border-radius:14px;padding:30px 28px;transition:.2s}
.card:hover{border-color:var(--moku);box-shadow:0 4px 18px rgba(106,90,123,.1)}
.card .tantou{font-size:15px;color:var(--moku);font-family:var(--maru);margin:0 0 10px}
.card h3{margin:0 0 14px;font-size:22px}
.card ul{margin:0 0 18px;padding-left:1.2em}
.card li{margin-bottom:6px}
.card .nedan{font-family:var(--maru);color:var(--sumi);font-size:17px;margin:0}
.card .susumu{display:inline-block;margin-top:18px;color:var(--moku);font-family:var(--maru);font-size:16.5px}
@media(max-width:760px){.card{padding:24px 20px}}

/* ── 表 ── */
table{width:100%;border-collapse:collapse;font-size:17.5px;margin:0 0 1.3em}
th,td{text-align:left;vertical-align:top;padding:15px 0;border-bottom:1px solid rgba(106,90,123,.22)}
th{font-family:var(--maru);font-weight:500;width:8em;color:var(--usu)}
@media(max-width:640px){
  table,tbody,tr,th,td{display:block;width:auto}
  tr{padding:14px 0;border-bottom:1px solid rgba(106,90,123,.22)}
  th,td{padding:0;border:0}
  th{margin-bottom:2px;color:var(--moku)}
}

/* ── リスト ── */
ul.maru-list{list-style:none;padding:0;margin:0 0 1.3em}
ul.maru-list li{position:relative;padding-left:1.5em;margin-bottom:10px}
ul.maru-list li::before{content:"";position:absolute;left:.2em;top:.85em;
  width:7px;height:7px;border-radius:50%;background:var(--moku);opacity:.55}

/* ── ボタン ── */
.botan{display:inline-block;text-decoration:none;font-family:var(--maru);font-weight:500;
  font-size:18px;letter-spacing:.06em;background:var(--moku);color:#fff;
  padding:18px 40px;border-radius:999px;transition:.2s}
.botan:hover{background:var(--moku-koi)}
.botan.karui{background:#fff;color:var(--moku);border:1px solid var(--moku)}
.botan.karui:hover{background:var(--kiri)}
.botan-narabi{display:flex;gap:14px;flex-wrap:wrap;margin-top:8px}
@media(max-width:560px){.botan{display:block;text-align:center;padding:18px 20px}
  .botan-narabi{display:grid;gap:12px}}

/* ── 緊急のご案内 ── */
.kinkyu{background:var(--wakaba);border-radius:14px;padding:32px 30px;margin:0 0 40px}
.kinkyu h3{color:var(--moku-koi)}
.kinkyu dl{margin:18px 0 0}
.kinkyu dt{font-family:var(--maru);font-weight:500;font-size:16.5px;margin-top:16px}
.kinkyu dd{margin:2px 0 0;font-size:16.5px;line-height:1.9;color:var(--usu)}
.kinkyu dd strong{color:var(--sumi);font-weight:500}
.kinkyu .chui{font-size:15px;color:var(--usu);margin:20px 0 0}

/* ── フッター ── */
.ashi{background:var(--kiri);margin-top:20px;padding:52px 24px 44px}
.ashi-naka{max-width:var(--haba);margin:0 auto}
.ashi h3{font-size:19px;margin-bottom:16px}
.ashi table{font-size:17px;margin-bottom:24px}
.ashi .link{display:flex;gap:20px;flex-wrap:wrap;font-size:16.5px;margin-top:24px}
.ashi .copy{font-size:14.5px;color:var(--usu);margin:28px 0 0;padding-top:20px;
  border-top:1px solid rgba(106,90,123,.2)}

/* ── スマホ下部の固定ボタン ── */
.yobidashi{position:fixed;left:0;right:0;bottom:0;z-index:60;display:none;
  gap:1px;background:rgba(106,90,123,.2);padding-bottom:env(safe-area-inset-bottom)}
.yobidashi a{flex:1;text-align:center;text-decoration:none;background:var(--moku);color:#fff;
  font-family:var(--maru);font-weight:500;font-size:16.5px;padding:17px 8px}
.yobidashi a.hoka{background:var(--moku-koi)}
@media(max-width:760px){.yobidashi{display:flex}body{padding-bottom:64px}}

.modoru{display:inline-block;margin:0 0 30px;font-size:16.5px;text-decoration:none;color:var(--usu)}
:focus-visible{outline:2px solid var(--moku);outline-offset:3px}
@media(prefers-reduced-motion:reduce){*{transition:none!important}html{scroll-behavior:auto}}

/* ── バナー ── */
.banner{margin:0 0 8px;border-radius:14px;overflow:hidden}
.banner img{width:100%}
.card .banner{margin:-30px -28px 20px;border-radius:14px 14px 0 0}
@media(max-width:760px){.card .banner{margin:-24px -20px 18px}}

/* ── 写真 ── */
figure{margin:32px 0}
figure img{border-radius:14px}
figcaption{font-size:16px;color:var(--usu);margin-top:10px}

/* ── 予約の書き方 ── */
.yoyaku-junjo{counter-reset:n;list-style:none;padding:0;margin:0 0 1.3em}
.yoyaku-junjo li{counter-increment:n;position:relative;padding-left:2.6em;margin-bottom:14px}
.yoyaku-junjo li::before{content:counter(n);position:absolute;left:0;top:.35em;
  width:1.7em;height:1.7em;border-radius:50%;background:var(--moku);color:#fff;
  font-family:var(--maru);font-size:15px;display:flex;align-items:center;justify-content:center}

/* ── 院長の写真 ── */
.inchou{margin:0}
.inchou img{border-radius:14px;width:100%;max-width:460px}
.card .kao{width:104px;height:104px;border-radius:50%;overflow:hidden;margin:0 0 16px;
  background:var(--kiri)}
.card .kao img{width:100%;height:100%;object-fit:cover;object-position:62% 22%;border-radius:0}
