@charset "utf-8";
/* =========================================================================
   クリニック1みやのじょう
   - クリニック1にしあいら B案テーマ（0.9.2）の組み方をそのまま使い、配色だけを若竹色にした
   - クラス接頭辞は c1-
   - 配色は :root のトークンのみ（第1節）
   - 宮之城で足した・変えたところは末尾の第26節にまとめてある
   ========================================================================= */

/* ---------- 1. トークン ---------- */
:root{
  /* 面 ------------------------------------------------ 若竹（2026-09-24 決定）
     深い青緑。待合ホールの緑のソファと木目に合わせた。
     地は純白ではなく、ほんのり緑を含んだ生成り。 */
  --c1-bg:        #f1f3ee;   /* 全面の地 */
  --c1-bg-2:      #e3e9e1;   /* 一段沈めた帯 */
  --c1-bg-3:      #c9d6cc;   /* さらに沈めた帯・表の見出し・フッター */
  --c1-paper:     #ffffff;   /* 白帯・カード */
  --c1-ink:       #1f2a27;   /* 文字（黒に寄せつつ、わずかに緑を含ませる） */
  --c1-ink-70:    rgba(31,42,39,.70);
  --c1-rule:      rgba(31,42,39,.20);
  --c1-accent:    #7fa596;   /* 淡いアクセント（罫・番号） */
  --c1-accent-dk: #2e6b5e;   /* 濃いアクセント（縦書きキャッチ・リンク） */
  --c1-sun:       #ffff00;   /* マークの太陽。イントロとロゴにだけ使う（元ロゴの色） */
  --c1-mark-bg:   #0080ff;   /* マークの青地（元ロゴの色）。イントロとロゴにだけ使う */
  --c1-mark-line: #3f836c;   /* 太陽の縁の細い線（元ロゴの色） */
  --c1-alert:     #c8433f;   /* 重要なお知らせ */
  --c1-hairline:  rgba(31,42,39,.07);  /* 背景にうっすら引く線 */

  /* 文字
     本文は Zen Kaku Gothic New。角がわずかに丸い、かたさのないゴシックで、
     近年の開業クリニックのサイトで増えている書体。Webフォントで配る（400と700）。
     見出しと縦書きキャッチは Shippori Mincho のまま。英字と数字は EB Garamond。 */
  --c1-font-jp: "Zen Kaku Gothic New","Hiragino Kaku Gothic ProN","Hiragino Sans","Yu Gothic UI",
                "Yu Gothic","Noto Sans JP","Meiryo",sans-serif;
  --c1-font-mincho: "Shippori Mincho","Hiragino Mincho ProN","Yu Mincho","YuMincho",
                    "Noto Serif JP",serif;
  --c1-font-en: "EB Garamond","Hiragino Mincho ProN","Yu Mincho",serif;

  /* 寸法 */
  --c1-max: 1440px;
  --c1-gut: clamp(20px, 4.4vw, 64px);   /* 左右の余白 */
  --c1-sec: clamp(72px, 9vw, 150px);    /* セクションの上下 */
  --c1-hero-right: clamp(110px, 13vw, 190px); /* ヒーロー写真の右に残す地 */
}


/* ---------- 2. 土台 ---------- */
*,*::before,*::after{ box-sizing:border-box; }
html{ -webkit-text-size-adjust:100%; scroll-behavior:smooth; }
body{
  margin:0;
  background:var(--c1-bg);
  color:var(--c1-ink);
  font-family:var(--c1-font-jp);
  font-size:17px;              /* 高齢の方が読む前提で、一般的な16pxより1段上げた */
  line-height:2;
  letter-spacing:.04em;
  overflow-x:hidden;
  /* 紙のざらつき。SVGノイズを敷く */
  background-image:url("data:image/svg+xml;utf8,\
<svg xmlns='http://www.w3.org/2000/svg' width='160' height='160'>\
<filter id='n'><feTurbulence type='fractalNoise' baseFrequency='.85' numOctaves='3'/>\
<feColorMatrix type='saturate' values='0'/></filter>\
<rect width='160' height='160' filter='url(%23n)' opacity='.055'/></svg>");
}
img{ max-width:100%; height:auto; display:block; }
a{ color:inherit; text-decoration:none; }
h1,h2,h3,h4,p,ul,ol,figure,dl,dd{ margin:0; }
ul,ol{ padding:0; list-style:none; }
table{ border-collapse:collapse; }

.c1-wrap{ width:100%; max-width:var(--c1-max); margin-inline:auto; padding-inline:var(--c1-gut); }
.c1-sr{ position:absolute; width:1px; height:1px; overflow:hidden; clip:rect(0 0 0 0); white-space:nowrap; }

/* 薄い波紋（同心円）。
   2026-09-24、セクションごとに違う柄（縦線・点・波線など）を試したが
   うるさかったので、すべて波紋にそろえ、中心の位置だけを変える形にした。
   中心は --c1-ripple-x / --c1-ripple-y で与える（.c1-ripple--a 〜 --f）。

   輪の半径は等比（公比1.38）に並べてある。倍率1→1.38 で拡大すると
   n番目の輪がちょうど n+1番目の位置に重なるので、1周しても継ぎ目が出ない。
   中心側と外側の数本だけ薄くしてあるのは、輪が湧き出す瞬間を目立たせないため。
   線の色は --c1-hairline と同じ rgba だが、本数ごとに濃さを変える必要があるため
   トークンを使わず直接書いている（--c1-hairline を変えるときは一緒に直すこと）。 */
.c1-ripple-bg{
  position:relative; z-index:0; overflow:clip;
  --c1-ripple-x:12%;
  --c1-ripple-y:50%;
}
.c1-ripple-bg::before{
  content:""; position:absolute; inset:0; z-index:-1; pointer-events:none;
  background-image:
    radial-gradient(circle at var(--c1-ripple-x) var(--c1-ripple-y),
      transparent 0px 26px, rgba(31,42,39,.015) 26px 27px,
      transparent 27px 35.9px, rgba(31,42,39,.035) 35.9px 36.9px,
      transparent 36.9px 49.5px, rgba(31,42,39,.055) 49.5px 50.5px,
      transparent 50.5px 68.3px, rgba(31,42,39,.07) 68.3px 69.3px,
      transparent 69.3px 94.3px, rgba(31,42,39,.07) 94.3px 95.3px,
      transparent 95.3px 130.1px, rgba(31,42,39,.07) 130.1px 131.1px,
      transparent 131.1px 179.6px, rgba(31,42,39,.07) 179.6px 180.6px,
      transparent 180.6px 247.8px, rgba(31,42,39,.07) 247.8px 248.8px,
      transparent 248.8px 342px, rgba(31,42,39,.07) 342px 343px,
      transparent 343px 471.9px, rgba(31,42,39,.07) 471.9px 472.9px,
      transparent 472.9px 651.3px, rgba(31,42,39,.07) 651.3px 652.3px,
      transparent 652.3px 898.8px, rgba(31,42,39,.045) 898.8px 899.8px,
      transparent 899.8px 1240.3px, rgba(31,42,39,.02) 1240.3px 1241.3px,
      transparent 1241.3px);
  transform-origin:var(--c1-ripple-x) var(--c1-ripple-y);
  animation:c1-ripple 18s linear infinite;
}
@keyframes c1-ripple{
  from{ transform:scale(1); }
  to  { transform:scale(1.38); }
}
/* 動きを減らす設定の端末では静止させる */
@media (prefers-reduced-motion:reduce){
  .c1-ripple-bg::before{ animation:none; }
}

/* 波紋の中心。セクションごとに散らす */
.c1-ripple--a{ --c1-ripple-x:10%; --c1-ripple-y:28%; }
.c1-ripple--b{ --c1-ripple-x:86%; --c1-ripple-y:58%; }
.c1-ripple--c{ --c1-ripple-x:22%; --c1-ripple-y:82%; }
.c1-ripple--d{ --c1-ripple-x:74%; --c1-ripple-y:16%; }
.c1-ripple--e{ --c1-ripple-x:48%; --c1-ripple-y:90%; }
.c1-ripple--f{ --c1-ripple-x:90%; --c1-ripple-y:24%; }

/* ---------- 3. 部品 ---------- */

/* 3-1 枠線だけの角なしボタン
   2026-09-24 まで黒地に白文字だったが、地を透かして黒文字＋1px罫に変えた。
   ホバーで黒地に反転する動きだけ残してある。 */
.c1-btn{
  display:inline-flex; align-items:center; gap:1.4em;
  background:transparent; color:var(--c1-ink);
  border:1px solid var(--c1-ink);
  padding:1.05em 1.5em; font-size:15px; font-weight:700;
  letter-spacing:.14em; line-height:1;
  transition:background .25s, color .25s;
}
.c1-btn::after{ content:"→"; font-size:1.25em; line-height:1; transition:transform .25s; }
.c1-btn:hover{ background:var(--c1-ink); color:var(--c1-paper); }
.c1-btn:hover::after{ transform:translateX(5px); }
/* --ghost は素のボタンと同じ見た目になったが、使っている箇所があるので残す */
.c1-btn--ghost{ background:transparent; color:var(--c1-ink); border:1px solid var(--c1-ink); }
.c1-btn--ghost:hover{ background:var(--c1-ink); color:var(--c1-paper); }
.c1-btn--tel{ font-size:clamp(15px,1.4vw,19px); gap:.9em; }
.c1-btn--tel .c1-btn__num{ font-family:var(--c1-font-en); font-size:1.5em; letter-spacing:.04em; }

/* 3-3 セクション見出し（日本語の小ラベルを1行目、英字セリフを2行目） */
.c1-head{
  display:flex; align-items:baseline; flex-wrap:wrap;
  /* 行間（英字ラベル→日本語）は詰め、列間（日本語→リード文）はこれまでどおり */
  gap:clamp(6px,.8vw,12px) clamp(14px,1.8vw,30px);
  margin-bottom:clamp(36px,4.5vw,64px);
}
/* 英字は小さいラベル。1行使い切って日本語を次の行へ落とす */
.c1-head__en{
  flex:0 0 100%; margin:0;
  font-family:var(--c1-font-en); font-weight:400;
  font-size:clamp(14px,1.15vw,17px); letter-spacing:.22em; line-height:1.6;
  color:var(--c1-ink-70);
}
/* 日本語が見出し本体。英字ほど大きくしないのは、
   和文は同じ級数でも字面が大きく、詰まって見えるため */
.c1-head__ja{
  margin:0; font-family:var(--c1-font-mincho); font-weight:500;
  font-size:clamp(26px,3.4vw,48px); letter-spacing:.08em; line-height:1.4;
}
.c1-head__lead{
  font-size:clamp(14px,1.15vw,17px); line-height:2.1;
  padding-left:clamp(16px,2vw,32px); border-left:1px solid var(--c1-rule);
  align-self:stretch; display:flex; align-items:center;
}

/* ---------- 4. ヘッダー ---------- */
.c1-header{
  position:absolute; inset:0 0 auto 0; z-index:30;
  display:flex; justify-content:space-between; align-items:flex-start;
  padding:0;
}
/* 地は透かす。下層ページではページの地（--c1-bg）が、
   トップでは写真がそのまま透ける。2026-09-24 までは白地だった。 */
.c1-brand{
  background:transparent; padding:clamp(18px,2vw,30px) clamp(24px,3vw,44px) clamp(20px,2.2vw,32px) var(--c1-gut);
}
.c1-brand__logo{ width:clamp(150px,15vw,214px); height:auto; }
/* 科目のタグ。もとは黒地に白文字、次に枠線だけにしたが、
   2026-09-24 に枠線も外して文字だけにした。箱で囲わない。 */
.c1-brand__tag{
  display:inline-block; margin-top:.9em;
  white-space:nowrap;
  background:transparent; color:var(--c1-ink);
  font-size:clamp(11px,.88vw,13px); font-weight:700; letter-spacing:.12em;
  padding:.5em .85em; line-height:1;
}

.c1-header__right{
  display:flex; align-items:center; gap:10px;
  padding:clamp(16px,1.8vw,26px) var(--c1-gut) 0 0;
}
.c1-burger{
  width:52px; height:36px; background:var(--c1-ink); border:0; cursor:pointer;
  display:none; place-items:center; padding:0;
}
.c1-burger span{ display:block; width:22px; height:1.5px; background:#fff; margin:4px auto; transition:.25s; }
.c1-burger[aria-expanded="true"] span:nth-child(1){ transform:translateY(5.5px) rotate(45deg); }
.c1-burger[aria-expanded="true"] span:nth-child(2){ opacity:0; }
.c1-burger[aria-expanded="true"] span:nth-child(3){ transform:translateY(-5.5px) rotate(-45deg); }

/* ヒーロー右の縦並びナビ */
.c1-vnav{
  position:absolute; z-index:25; right:var(--c1-gut); top:clamp(92px,11vw,150px);
  text-align:right; display:grid; gap:.95em;
}
.c1-vnav a{
  font-size:clamp(12px,1vw,14px); font-weight:700; letter-spacing:.14em;
  display:inline-flex; align-items:center; justify-content:flex-end; gap:.6em;
  transition:color .2s;
}
.c1-vnav a::before{ content:"＋"; font-weight:400; opacity:.75; }
.c1-vnav a:hover{ color:var(--c1-accent-dk); }

/* ---------- 5. ヒーロー（写真＋白帯＋縦書きキャッチのコラージュ） ---------- */
.c1-hero{ position:relative; padding-bottom:clamp(64px,16vw,240px); }
.c1-hero__media{
  position:relative; margin-top:clamp(54px,7vw,104px);
  /* 右に地を残し、そこへ縦ナビを置く */
  margin-left:auto; margin-right:var(--c1-hero-right);
  width:min(calc(100% - var(--c1-hero-right)), 1180px);
}
/* 昼夜の2枚を重ねて、上の夜画像の不透明度だけを動かす */
.c1-hero__media img{ width:100%; aspect-ratio:16/9; object-fit:cover; }
.c1-hero__img--night{
  position:absolute; inset:0; height:100%;
  opacity:0; transition:opacity 2.4s ease-in-out;
}
.c1-hero__media.is-night .c1-hero__img--night{ opacity:1; }
@media (prefers-reduced-motion:reduce){
  .c1-hero__img--night{ transition:none; }
}

/* 縦書きキャッチ：白帯の上に載せる */
.c1-catch{ position:absolute; z-index:20; display:grid; gap:0; pointer-events:none; }
.c1-catch--a{ right:clamp(148px,15vw,230px); top:0; }
.c1-catch--b{ left:clamp(14px,4vw,74px); top:clamp(300px,34vw,460px); }
.c1-catch span{
  writing-mode:vertical-rl; text-orientation:upright;
  background:var(--c1-paper); color:var(--c1-accent-dk);
  font-family:var(--c1-font-mincho); font-weight:500;
  font-size:clamp(30px,4.2vw,58px); letter-spacing:.2em; line-height:1;
  padding:.62em .3em; white-space:nowrap;
}
.c1-hero__foot{
  width:100%; max-width:var(--c1-max); margin-inline:auto;
  padding-right:var(--c1-gut);
  /* 縦書きキャッチ（左）の幅ぶん本文を右へ逃がす */
  padding-left:calc(var(--c1-gut) + clamp(0px,13.5vw,196px));
}
/* ヒーロー写真の下に最初に来る要素は、縦書きキャッチの下端を avoid するだけ余白を取る */
.c1-hero__foot > :first-child{ margin-top:clamp(28px,3.4vw,48px); }
.c1-hero__tel{ margin-top:clamp(16px,2vw,26px); }

/* 重要なお知らせ（該当記事がある時だけ出す） */
.c1-emg{
  margin-top:clamp(28px,3.4vw,48px);
  border:1px solid var(--c1-alert); background:var(--c1-paper);
  padding:clamp(18px,2.2vw,28px) clamp(20px,2.6vw,34px);
  display:flex; gap:clamp(14px,2vw,28px); align-items:baseline; flex-wrap:wrap;
}
.c1-emg__label{
  color:var(--c1-alert); font-weight:700; font-size:14px; letter-spacing:.14em;
  border:1px solid var(--c1-alert); padding:.35em .8em; line-height:1; white-space:nowrap;
}
.c1-emg__date{ font-family:var(--c1-font-en); font-size:17px; }
.c1-emg a{ font-weight:700; }
.c1-emg a:hover{ color:var(--c1-alert); }

/* ---------- 6. セクション共通 ---------- */
.c1-sec{ position:relative; padding-block:var(--c1-sec); }
.c1-sec--tint{ background-color:var(--c1-bg-2); }
/* .c1-sec__tab（縦書きの白タブ）は 2026-09-24 に廃止。セクション名は c1-head__ja が持つ */

/* ---------- 7. 診療時間 ---------- */
.c1-hours{ display:grid; grid-template-columns:minmax(0,1.45fr) minmax(0,1fr); gap:clamp(28px,4vw,72px); align-items:start; }
.c1-table{ width:100%; background:var(--c1-paper); font-size:clamp(14px,1.15vw,17px); }
.c1-table th,.c1-table td{ border:1px solid var(--c1-rule); padding:.85em .4em; text-align:center; line-height:1.5; }
.c1-table thead th{ background:var(--c1-bg-3); font-weight:700; letter-spacing:.06em; }
.c1-table tbody th{ text-align:left; padding-inline:.9em; white-space:nowrap; font-weight:500; }
.c1-table .is-on{ color:var(--c1-accent-dk); font-size:1.15em; }
.c1-table .is-off{ color:var(--c1-ink-70); }
.c1-note{ margin-top:1.2em; font-size:clamp(13px,1.02vw,15px); line-height:1.95; color:var(--c1-ink-70); }
.c1-note strong{ color:var(--c1-ink); }
.c1-hours__side{ display:grid; gap:1.4em; }
.c1-hours__card{ background:var(--c1-paper); padding:clamp(20px,2.4vw,32px); }
.c1-hours__card dt{ font-family:var(--c1-font-mincho); font-size:15px; letter-spacing:.3em; margin-bottom:.5em; }
.c1-hours__card dd{ margin:0; font-size:clamp(14px,1.1vw,16px); line-height:1.95; }

/* ---------- 8. お知らせ ---------- */
.c1-news{ display:grid; grid-template-columns:minmax(0,1fr) auto; gap:clamp(24px,4vw,64px); align-items:start; }
.c1-news__list li{ border-bottom:1px solid var(--c1-rule); }
.c1-news__list li:first-child{ border-top:1px solid var(--c1-rule); }
.c1-news__list a{
  display:grid; grid-template-columns:auto auto 1fr; gap:.4em clamp(14px,2vw,32px);
  align-items:baseline; padding:clamp(18px,2vw,26px) 0; transition:opacity .2s;
}
.c1-news__list a:hover{ opacity:.6; }
.c1-news__date{ font-family:var(--c1-font-en); font-size:clamp(15px,1.3vw,19px); letter-spacing:.02em; }
.c1-news__new{
  font-size:12px; font-weight:700; letter-spacing:.08em; color:var(--c1-alert);
  border:1px solid var(--c1-alert); padding:.2em .6em; line-height:1.4; white-space:nowrap;
}
.c1-news__ttl{ font-size:clamp(15px,1.2vw,18px); line-height:1.8; grid-column:3; }
@media (max-width:640px){ .c1-news__ttl{ grid-column:1 / -1; } }

/* ---------- 9. 診療案内（2枚・非対称） ---------- */
.c1-medical{ display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:clamp(30px,5vw,90px); }
.c1-medical > li:nth-child(2){ margin-top:clamp(40px,7vw,130px); }
.c1-mcard figure{ position:relative; }
.c1-mcard img{ width:100%; aspect-ratio:4/3; object-fit:cover; }
.c1-mcard__cap{
  position:absolute; left:0; bottom:0; background:var(--c1-paper);
  font-family:var(--c1-font-mincho); font-size:clamp(15px,1.5vw,22px);
  letter-spacing:.14em; padding:.7em 1.1em; line-height:1;
}
.c1-mcard p{ margin-top:1.4em; font-size:clamp(14px,1.12vw,17px); line-height:2.1; }
.c1-mcard__more{ margin-top:1.4em; display:inline-flex; align-items:center; gap:.7em; font-weight:700; font-size:15px; letter-spacing:.1em; }
.c1-mcard__more::after{ content:"→"; transition:transform .25s; }
.c1-mcard__more:hover::after{ transform:translateX(5px); }

/* ---------- 10. 検査（01/02/03） ----------
   もとは奇数を左・偶数を右に振り、番号を左上に置いていたが、
   市松模様になって左右が空いていたので2列に詰め、番号は見出しの前へ移した。 */
.c1-exam{
  display:grid; grid-template-columns:repeat(2,minmax(0,1fr));
  gap:clamp(32px,4vw,56px) clamp(26px,3.2vw,52px);
  align-items:start;
}
.c1-exam__item{ display:grid; grid-template-columns:minmax(0,1fr); }
.c1-exam__item img{ width:100%; aspect-ratio:4/3; object-fit:cover; }
.c1-exam__body{ display:grid; gap:0; }
.c1-exam__sub{ margin-top:1.6em; font-size:clamp(13px,1.05vw,16px); color:var(--c1-ink-70); line-height:1.9; }
.c1-exam__ttl{
  margin-top:.5em; font-family:var(--c1-font-mincho); font-weight:500;
  font-size:clamp(21px,2.1vw,31px); line-height:1.65; letter-spacing:.06em;
}
/* 見出しの前に出す連番。英字と同じ書体でそろえる */
.c1-exam__n{
  font-family:var(--c1-font-en); font-weight:400;
  font-size:.92em; letter-spacing:.02em; margin-right:.5em;
}
.c1-exam__txt{ margin-top:1em; font-size:clamp(14px,1.1vw,16px); line-height:2.05; }
.c1-exam__rule{ border-left:1px solid var(--c1-rule); padding-left:clamp(16px,2vw,30px); }
/* センター内のデイケア（トップの認知症疾患医療センターのカードにまとめた） */
.c1-exam__more{
  margin-top:1.1em; padding-top:1em; border-top:1px dotted var(--c1-rule);
  font-size:clamp(14px,1.1vw,16px); line-height:1.9;
}
.c1-exam__more-label{
  display:inline-block; margin-right:.8em; padding:.1em .7em;
  font-size:.85em; letter-spacing:.1em; color:var(--c1-accent-dk); border:1px solid currentColor;
}
.c1-exam__more a{ color:var(--c1-ink); text-decoration:underline; text-underline-offset:.3em; text-decoration-color:var(--c1-rule); }
.c1-exam__more a:hover{ color:var(--c1-accent-dk); text-decoration-color:currentColor; }

/* ---------- 11. 初めての方へ（3ステップ） ---------- */
.c1-steps{ display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:clamp(20px,3vw,48px); }
.c1-step{ background:var(--c1-paper); padding:clamp(24px,2.8vw,40px); }
.c1-step__n{ font-family:var(--c1-font-en); font-size:clamp(30px,3vw,44px); line-height:1; }
.c1-step__ttl{ margin-top:.5em; font-family:var(--c1-font-mincho); font-size:clamp(17px,1.5vw,22px); letter-spacing:.1em; }
.c1-step p{ margin-top:.9em; font-size:clamp(14px,1.08vw,16px); line-height:2; }

/* ---------- 12. 院内のご案内（写真の帯） ---------- */
.c1-gallery{
  display:grid; grid-auto-flow:column; grid-auto-columns:clamp(240px,29vw,400px);
  gap:clamp(14px,1.8vw,26px); overflow-x:auto; padding-bottom:1em;
  scroll-snap-type:x mandatory; scrollbar-width:thin;
}
.c1-gallery figure{ scroll-snap-align:start; }
.c1-gallery img{ width:100%; aspect-ratio:4/3; object-fit:cover; }
.c1-gallery figcaption{ margin-top:.7em; font-size:14px; letter-spacing:.08em; color:var(--c1-ink-70); }

/* ---------- 13. アクセス ---------- */
.c1-access{ display:grid; grid-template-columns:minmax(0,1.25fr) minmax(0,1fr); gap:clamp(28px,4vw,64px); align-items:start; }
.c1-map{
  aspect-ratio:16/10; background:var(--c1-bg-3); display:grid; place-items:center;
  border:1px solid var(--c1-rule); color:var(--c1-ink-70); font-size:14px; letter-spacing:.14em;
}
.c1-access dl{ display:grid; gap:1.5em; }
.c1-access dt{ font-family:var(--c1-font-mincho); font-size:14px; letter-spacing:.3em; }
.c1-access dd{ margin:0; font-size:clamp(15px,1.15vw,17px); line-height:1.95; }
.c1-access .c1-tel{ font-family:var(--c1-font-en); font-size:clamp(28px,2.7vw,40px); line-height:1.1; letter-spacing:.02em; }

/* ---------- 14. フッター ----------
   地は面のトークンで一番沈んだ --c1-bg-3、文字は本文と同じ --c1-ink。 */
.c1-footer{ background:var(--c1-bg-3); color:var(--c1-ink); padding-block:clamp(56px,6vw,92px) clamp(28px,3vw,40px); }
.c1-footer a:hover{ color:var(--c1-accent-dk); }
.c1-footer__top{ display:grid; grid-template-columns:minmax(0,1fr) minmax(0,1.4fr); gap:clamp(30px,5vw,80px); }
.c1-footer__logo{ width:clamp(160px,16vw,220px); }
.c1-footer__addr{ margin-top:1.6em; font-size:15px; line-height:2; opacity:.86; }
.c1-footer__nav{ display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:1em clamp(16px,2vw,32px); }
.c1-footer__nav a{ font-size:15px; letter-spacing:.08em; }
.c1-footer__copy{ margin-top:clamp(36px,4vw,56px); padding-top:1.6em; border-top:1px solid var(--c1-rule); font-size:13px; opacity:.7; letter-spacing:.06em; }

/* ---------- 15. スマホ固定バー ---------- */
.c1-fixbar{ display:none; }

/* ---------- 16. 下層ページ ---------- */
.c1-phead{ position:relative; padding-block:clamp(120px,14vw,200px) clamp(40px,5vw,72px); }
/* セクション見出しと同じく、小さい英字を上、大きい日本語を下に置く */
.c1-phead__en{ font-family:var(--c1-font-en); font-size:clamp(14px,1.2vw,18px); letter-spacing:.22em; line-height:1.6; color:var(--c1-ink-70); }
.c1-phead__ja{ margin-top:.25em; font-family:var(--c1-font-mincho); font-weight:500; font-size:clamp(30px,4.2vw,58px); letter-spacing:.08em; line-height:1.35; }
.c1-crumb{ font-size:13px; letter-spacing:.08em; color:var(--c1-ink-70); margin-bottom:1.4em; }
.c1-crumb a:hover{ color:var(--c1-accent-dk); }
.c1-prose{ max-width:52em; }
.c1-prose p{ margin-bottom:1.6em; }
.c1-h2{ font-family:var(--c1-font-mincho); font-weight:500; font-size:clamp(22px,2.4vw,34px); letter-spacing:.08em; line-height:1.6; margin-bottom:.9em; }
.c1-h3{ font-family:var(--c1-font-mincho); font-weight:500; font-size:clamp(18px,1.7vw,24px); letter-spacing:.08em; margin-bottom:.7em; padding-left:.7em; border-left:3px solid var(--c1-accent); }
.c1-block + .c1-block{ margin-top:clamp(48px,6vw,88px); }
.c1-price th,.c1-price td{ text-align:left; }
.c1-price td:last-child{ text-align:right; font-family:var(--c1-font-en); font-size:1.12em; white-space:nowrap; }


/* =========================================================================
   レスポンシブ
   ========================================================================= */
@media (max-width:1180px){
  .c1-vnav{ display:none; }
  .c1-burger{ display:grid; }
  :root{ --c1-hero-right:0px; }
  .c1-hero__media{ width:min(100%, 1000px); }
}

@media (max-width:900px){
  .c1-hours,.c1-access{ grid-template-columns:1fr; }
  .c1-news{ grid-template-columns:1fr; }
  .c1-news .c1-btn{ justify-self:start; }
  .c1-medical{ grid-template-columns:1fr; }
  .c1-medical > li:nth-child(2){ margin-top:0; }
  /* 2列だと窮屈なので、この幅からは1列に戻す */
  .c1-exam{ grid-template-columns:1fr; }
  .c1-steps{ grid-template-columns:1fr; }
  .c1-footer__top{ grid-template-columns:1fr; }
  .c1-footer__nav{ grid-template-columns:repeat(2,minmax(0,1fr)); }
}

@media (max-width:767px){
  body{ font-size:16px; padding-bottom:64px; }
  .c1-header{ align-items:center; }
  .c1-brand{ padding:14px 18px 16px var(--c1-gut); }
  /* 狭い幅では中途半端に折り返すので、科目名を2行目へ送る */
  .c1-brand__tag{ white-space:normal; line-height:1.7; padding:.45em .7em; }
  .c1-brand__tag-sub{ display:block; }
  .c1-header__right{ padding-top:14px; }
  .c1-header__right .c1-btn--tel{ display:none; }

  .c1-hero__media{ width:calc(100% - 34px); margin-left:auto; margin-right:0; margin-top:118px; }
  .c1-hero__media img{ aspect-ratio:3/4; }
  .c1-catch--a{ right:10px; top:86px; }
  .c1-catch--b{ left:12px; top:150px; bottom:auto; }
  .c1-catch span{ font-size:clamp(26px,8.6vw,38px); }
  .c1-hero{ padding-bottom:56px; }
  .c1-hero__foot{ padding-left:var(--c1-gut); }
  .c1-hero__foot > :first-child{ margin-top:86px; }

  /* 診療時間表は縦積みにせず、表のまま詰める（縦積みだと行数が増えすぎる） */
  .c1-table{ font-size:13px; }
  .c1-table th,.c1-table td{ padding:.6em .15em; }
  .c1-table tbody th{ font-size:12px; padding-inline:.45em; white-space:normal; }

  .c1-exam__rule{ border-left:0; padding-left:0; }

  .c1-footer__nav{ grid-template-columns:1fr; }

  /* 画面下の固定バー（フォームを作らないので電話が唯一の導線） */
  .c1-fixbar{
    display:grid; grid-template-columns:1.35fr 1fr; position:fixed; inset:auto 0 0 0; z-index:50;
    border-top:1px solid rgba(255,255,255,.25);
  }
  .c1-fixbar a{
    background:var(--c1-ink); color:#fff; text-align:center; padding:1.05em .5em;
    font-size:14px; font-weight:700; letter-spacing:.1em; line-height:1.2;
  }
  .c1-fixbar a + a{ background:var(--c1-accent-dk); }
}

/* ---------- スクロール演出（控えめ。動きを減らす設定は尊重） ---------- */
.c1-reveal{ opacity:0; transform:translateY(22px); transition:opacity .9s ease, transform .9s ease; }
.c1-reveal.is-in{ opacity:1; transform:none; }
@media (prefers-reduced-motion:reduce){
  html{ scroll-behavior:auto; }
  .c1-reveal{ opacity:1; transform:none; transition:none; }
  .c1-btn::after,.c1-mcard__more::after{ transition:none; }
}

/* ---------- 18. 医師紹介 ---------- */
.c1-doctors{ display:grid; gap:clamp(64px,9vw,150px); }
.c1-doctor{
  display:grid; gap:clamp(24px,3.4vw,56px);
  grid-template-columns:minmax(0,340px) minmax(0,1fr); align-items:start;
}
.c1-doctor:nth-child(even){ grid-template-columns:minmax(0,1fr) minmax(0,340px); }
.c1-doctor:nth-child(even) .c1-doctor__photo{ order:2; }
.c1-doctor:nth-child(even) .c1-doctor__body{ order:1; }
.c1-doctor__photo img{ width:100%; aspect-ratio:1/1; object-fit:cover; }
/* 原本が260×370しかないため、原寸で上半身全体を出す（正方形に切ると胸から下が切れる・2026-11-02） */
.c1-doctor__photo.c1-doctor__photo--lowres{ max-width:260px; }
.c1-doctor__photo--lowres img{ aspect-ratio:260/370; object-fit:contain; }
.c1-doctor__photo figcaption{
  margin-top:.8em; font-size:12px; line-height:1.8; color:var(--c1-ink-70); letter-spacing:.02em;
}
.c1-doctor__name{ font-family:var(--c1-font-mincho); font-weight:500;
  font-size:clamp(26px,3vw,44px); letter-spacing:.14em; line-height:1.4;
}
.c1-doctor__kana{ margin-top:.5em; font-size:clamp(13px,1.05vw,15px); letter-spacing:.2em; color:var(--c1-ink-70); }
.c1-doctor__body > * + *{ margin-top:1.5em; }
.c1-doctor__hist{ display:grid; gap:.45em; font-size:clamp(14px,1.1vw,16px); }
.c1-doctor__hist div{ display:grid; grid-template-columns:10em 1fr; gap:.8em; }
.c1-doctor__hist dt{ font-family:var(--c1-font-en); letter-spacing:.02em; color:var(--c1-ink-70); white-space:nowrap; }
.c1-doctor__hist dd{ margin:0; }
.c1-doctor__txt{ font-size:clamp(14px,1.12vw,17px); line-height:2.05; }
.c1-doctor__quals{ background:var(--c1-paper); padding:clamp(20px,2.4vw,32px); }
.c1-doctor__quals h3{
  font-family:var(--c1-font-mincho); font-weight:500; font-size:15px;
  letter-spacing:.3em; margin-bottom:.9em;
}
.c1-doctor__quals li{ font-size:clamp(14px,1.08vw,16px); line-height:1.95; padding-left:1.1em; position:relative; }
.c1-doctor__quals li::before{ content:""; position:absolute; left:0; top:.95em; width:6px; height:1px; background:var(--c1-accent-strong,var(--c1-accent)); }

@media (max-width:900px){
  .c1-doctor,
  .c1-doctor:nth-child(even){ grid-template-columns:1fr; }
  .c1-doctor:nth-child(even) .c1-doctor__photo{ order:0; }
  .c1-doctor:nth-child(even) .c1-doctor__body{ order:0; }
  .c1-doctor__photo{ max-width:340px; }
}
@media (max-width:767px){
  .c1-doctor__hist div{ grid-template-columns:1fr; gap:0; }
}

/* =========================================================================
   19. イントロ演出（2枚の帆と太陽）
   既定では非表示。<html class="c1-intro-on"> が付いたときだけ動く。
   にしあいらのカプセルと同じ骨組みで、形だけを宮之城病院のマークに替えた。
   進行: is-in 帆が寄る → is-wave 波が引かれる → is-locked 太陽が昇る → is-copy キャッチ
   ========================================================================= */
.c1-intro{ display:none; }

.c1-intro-on{ overflow:hidden; }
.c1-intro-on .c1-intro{
  display:grid; place-content:center; justify-items:center; gap:clamp(28px,4vw,52px);
  position:fixed; inset:0; z-index:100;
  background:var(--c1-bg);
  transition:opacity .5s ease;
}
.c1-intro.is-out{ opacity:0; pointer-events:none; }

.c1-intro__stage{ width:min(62vw, 300px); }
.c1-intro__stage svg{ width:100%; height:auto; overflow:visible; }

/* 青地。元ロゴと同じく、白い帆と黄色の太陽を青の上に置く */
.c1-intro__field{
  fill:var(--c1-mark-bg);
  opacity:0;
  transition:opacity .4s ease;
}
.c1-intro-on .c1-intro__field{ opacity:1; }

/* 帆。左右に振った位置から、少し傾きを残して寄ってくる */
.c1-sail{
  fill:#fff;
  transform-box:fill-box; transform-origin:50% 100%;
  opacity:0;
  transition:transform .8s cubic-bezier(.62,.03,.22,1), opacity .35s ease;
}
.c1-sail--l{ transform:translateX(-70%) rotate(-6deg); }
.c1-sail--r{ transform:translateX( 70%) rotate( 6deg); }
.c1-intro.is-in .c1-sail{ transform:none; opacity:1; }

/* 波の線。左から右へ引く */
.c1-wave{
  fill:#fff;
  clip-path:inset(0 100% 0 0);
  transition:clip-path .5s ease-out;
}
.c1-intro.is-wave .c1-wave{ clip-path:inset(0 0 0 0); }

/* 太陽。下から昇って、帆の手前に収まる */
.c1-sun{
  fill:var(--c1-sun); stroke:var(--c1-mark-line); stroke-width:1.5;
  transform-box:fill-box; transform-origin:center;
  transform:translateY(140%) scale(.7);
  opacity:0;
  transition:transform .7s cubic-bezier(.34,1.3,.64,1), opacity .3s ease;
}
.c1-intro.is-locked .c1-sun{ transform:none; opacity:1; }

.c1-intro__group{ transform-box:fill-box; transform-origin:center; transition:transform .5s ease; }
.c1-intro.is-out .c1-intro__group{ transform:scale(1.05); }

.c1-intro__ring{
  fill:none; stroke:var(--c1-sun); stroke-width:2;
  transform-box:fill-box; transform-origin:center;
  opacity:0;
}
.c1-intro.is-locked .c1-intro__ring{ animation:c1-ring .9s .45s ease-out forwards; }
@keyframes c1-ring{
  0%  { opacity:.9; transform:scale(1); }
  100%{ opacity:0;  transform:scale(2.4); }
}

.c1-intro__copy{
  text-align:center; font-family:var(--c1-font-mincho); font-weight:500;
  font-size:clamp(16px,2vw,25px); letter-spacing:.16em; line-height:1.9;
  color:var(--c1-ink); padding-inline:var(--c1-gut);
  opacity:0; transform:translateY(10px);
  transition:opacity .5s ease, transform .5s ease;
}
.c1-intro.is-copy .c1-intro__copy{ opacity:1; transform:none; }

.c1-intro__skip{
  position:fixed; right:clamp(14px,2.5vw,32px); bottom:clamp(14px,2.5vw,32px);
  background:none; border:0; cursor:pointer;
  font-family:var(--c1-font-jp); font-size:13px; letter-spacing:.16em;
  color:var(--c1-ink-70); padding:.8em 1em;
}
.c1-intro__skip:hover{ color:var(--c1-ink); }

@media (prefers-reduced-motion:reduce){
  .c1-intro-on .c1-intro{ display:none; }
  .c1-intro-on{ overflow:auto; }
}

/* =========================================================================
   20. WordPress にするために足した部分

   モックには無かったもの（ドロワー・投稿本文・ページ送りなど）をここに
   まとめている。モック（10_デザイン案B_縦書き）へ戻すときはこの節を外す。
   ========================================================================= */

/* ---------- 20-1 本文へスキップ ---------- */
.c1-skip{
  position:absolute; left:-9999px; top:0; z-index:200;
  background:var(--c1-ink); color:var(--c1-paper);
  padding:.9em 1.4em; font-size:14px; letter-spacing:.08em;
}
.c1-skip:focus{ left:var(--c1-gut); top:.6em; }

/* ---------- 20-2 ヘッダーの横並びナビ（英日2段） ----------
   並べ方はA案テーマに合わせた。モックはヒーロー右の縦ナビ＋ハンバーガーだけで、
   下層ページには移動手段が無かった。
   白い帯をロゴのブロックから続けて出し、写真に重ねる作りは案Bのまま。
   1180px以下では入らないのでハンバーガー（ドロワー）に切り替える。 */
/* 縦に2段。ナビを inline-block にすると行ボックスの行間ぶん
   （body の line-height:2）ロゴ帯との間に隙間ができるので、
   flex の column で並べて内容幅のまま左に寄せる。

   position は absolute（写真に重ねる）から relative に変えた。
   写真とメニューを重ねないため。static にしないのは、ドロワーを開いたときに
   z-index でヘッダーを前へ出す必要があるから。 */
.c1-header{
  position:relative; inset:auto;
  display:flex; flex-direction:column; align-items:flex-start;
}

/* ヘッダーが場所を取るようになったぶん、写真とページ見出しの上余白を詰める */
.c1-hero__media{ margin-top:clamp(18px,2.2vw,34px); }
.c1-phead{ padding-block:clamp(34px,4.4vw,64px) clamp(36px,4.6vw,68px); }
.c1-header__top{ width:100%; display:flex; justify-content:space-between; align-items:flex-start; }

/* .c1-brand と同じく地は透かす */
.c1-gnav{
  background:transparent;
  padding:0 clamp(22px,2.6vw,40px) 0 var(--c1-gut);
}
.c1-gnav__list{ display:flex; gap:clamp(12px,1.9vw,32px); list-style:none; margin:0; padding:0; }
.c1-gnav__list a{
  display:block; padding:.95em 0 1.05em; text-align:center;
  border-bottom:2px solid transparent;
  transition:border-color .2s ease, color .2s ease;
}
.c1-gnav__list a:hover,
.c1-gnav__list a[aria-current]{ border-bottom-color:var(--c1-accent-dk); color:var(--c1-accent-dk); }
.c1-gnav__ja{
  display:block; font-size:clamp(12px,1vw,14px); font-weight:700; letter-spacing:.08em;
  white-space:nowrap;
}
.c1-gnav__en{
  display:block; margin-top:.4em;
  font-family:var(--c1-font-en); font-size:clamp(10px,.82vw,12px);
  letter-spacing:.12em; text-transform:uppercase; color:var(--c1-ink-70);
  white-space:nowrap;
}

/* 横並びが入らない幅ではドロワーに任せる。
   この節はモック側のメディアクエリより後ろにあるので、
   1180px以下の display:grid はここで書き直さないと打ち消してしまう。 */
.c1-burger{ display:none; }
@media (max-width:1180px){
  .c1-gnav{ display:none; }
  .c1-burger{ display:grid; }
}

/* ---------- 20-2b ハンバーガーの × ----------
   span は height 1.5px に margin 4px なので行の間隔は 9.5px。
   モックの 5.5px では線が交差せず「>」に見えていた。
   開いている間はドロワーの地と同じ色になるので、枠だけにする。 */
.c1-burger[aria-expanded="true"] span:nth-child(1){ transform:translateY(9.5px) rotate(45deg); }
.c1-burger[aria-expanded="true"] span:nth-child(3){ transform:translateY(-9.5px) rotate(-45deg); }
html.c1-menu-open .c1-burger{ background:transparent; outline:1px solid rgba(255,255,255,.35); }

/* ---------- 20-3 ドロワー（ハンバーガーで開くメニュー） ---------- */
.c1-drawer{
  position:fixed; inset:0; z-index:90;
  background:var(--c1-ink); color:var(--c1-paper);
  overflow-y:auto; overscroll-behavior:contain;
  opacity:0; transition:opacity .28s ease;
}
.c1-drawer[hidden]{ display:none; }
.c1-drawer.is-open{ opacity:1; }
.c1-drawer__inner{
  width:100%; max-width:780px; margin-inline:auto;
  padding:clamp(88px,12vh,132px) var(--c1-gut) clamp(40px,6vh,80px);
}
.c1-drawer__nav{ display:grid; }
.c1-drawer__nav a{
  display:flex; align-items:baseline; gap:1em;
  padding:clamp(.68em,1.5vh,1em) 0;
  border-bottom:1px solid rgba(255,255,255,.14);
  transition:padding-left .2s ease, color .2s ease;
}
.c1-drawer__nav a:first-child{ border-top:1px solid rgba(255,255,255,.14); }
.c1-drawer__nav a:hover{ padding-left:.5em; color:var(--c1-accent); }
.c1-drawer__ja{
  font-family:var(--c1-font-mincho); font-weight:500;
  font-size:clamp(19px,2.2vw,26px); letter-spacing:.12em;
}
.c1-drawer__en{
  font-family:var(--c1-font-en); font-size:clamp(13px,1.1vw,15px);
  letter-spacing:.06em; opacity:.6;
}
.c1-drawer__foot{ margin-top:clamp(32px,5vh,56px); display:grid; gap:1.1em; }
.c1-drawer__tel a{
  font-family:var(--c1-font-en); font-size:clamp(30px,3.4vw,46px);
  line-height:1.1; letter-spacing:.02em;
}
.c1-drawer__hours,
.c1-drawer__addr{ font-size:14px; line-height:2; opacity:.78; margin:0; }

/* 開いている間はヘッダーを前に出し、背面のスクロールを止める */
html.c1-menu-open{ overflow:hidden; }
html.c1-menu-open .c1-header{ z-index:100; }

/* ---------- 20-4 地図に iframe が入ったとき ---------- */
.c1-map:has(iframe){ display:block; padding:0; border:0; background:none; }
.c1-map iframe{ display:block; width:100%; height:100%; border:0; }

/* ---------- 20-5 下層ページの本文（ブロックエディターの出力） ---------- */
.c1-wrap--narrow{ max-width:900px; }
.c1-entry__thumb{ margin:0 0 clamp(28px,3.4vw,48px); }
.c1-entry__thumb img{ width:100%; height:auto; aspect-ratio:16/7; object-fit:cover; }

.c1-entry > *:first-child{ margin-top:0; }
.c1-entry h2{
  font-family:var(--c1-font-mincho); font-weight:500;
  font-size:clamp(22px,2.4vw,34px); letter-spacing:.08em; line-height:1.6;
  margin:clamp(48px,6vw,88px) 0 .9em;
}
.c1-entry h3{
  font-family:var(--c1-font-mincho); font-weight:500;
  font-size:clamp(18px,1.7vw,24px); letter-spacing:.08em;
  margin:clamp(32px,4vw,56px) 0 .7em;
  padding-left:.7em; border-left:3px solid var(--c1-accent);
}
.c1-entry h4{ font-weight:700; font-size:clamp(16px,1.3vw,19px); margin:2em 0 .6em; letter-spacing:.06em; }
.c1-entry ul,
.c1-entry ol{ margin:0 0 1.6em; padding-left:1.4em; }
.c1-entry li{ margin-bottom:.6em; }
.c1-entry img{ max-width:100%; height:auto; }
.c1-entry figure{ margin:clamp(28px,3.4vw,48px) 0; }
.c1-entry figcaption{ margin-top:.7em; font-size:14px; color:var(--c1-ink-70); letter-spacing:.06em; }
.c1-entry blockquote{
  margin:2em 0; padding:1.2em 1.4em;
  background:var(--c1-bg-2); border-left:3px solid var(--c1-accent);
}
.c1-entry blockquote p:last-child{ margin-bottom:0; }
.c1-entry a{ text-decoration:underline; text-underline-offset:.2em; }
.c1-entry a:hover{ color:var(--c1-accent-dk); }
.c1-entry table{ width:100%; border-collapse:collapse; margin:0 0 1.6em; font-size:clamp(14px,1.1vw,16px); }
.c1-entry th,
.c1-entry td{ border:1px solid var(--c1-rule); padding:.85em 1em; text-align:left; }
.c1-entry th{ background:var(--c1-bg-3); font-weight:700; }
.c1-entry hr{ border:0; border-top:1px solid var(--c1-rule); margin:clamp(40px,5vw,72px) 0; }

/* ---------- 20-6 お知らせの個別記事 ---------- */
.c1-single__meta{ display:flex; align-items:center; gap:1em; margin-bottom:1em; }
.c1-single__cat,
.c1-news__cat{
  font-size:12px; font-weight:700; letter-spacing:.08em;
  background:var(--c1-bg-3); padding:.4em .8em; white-space:nowrap;
}
.c1-single__ttl{
  font-family:var(--c1-font-mincho); font-weight:500;
  font-size:clamp(22px,2.4vw,34px); letter-spacing:.06em; line-height:1.7;
  margin:0 0 clamp(28px,3.4vw,48px);
}

/* ---------- 20-7 ページ送り・記事送り ---------- */
.c1-pnav{
  margin-top:clamp(48px,6vw,88px); padding-top:clamp(28px,3.4vw,44px);
  border-top:1px solid var(--c1-rule);
  display:flex; flex-wrap:wrap; align-items:center; justify-content:space-between; gap:1.2em;
}
/* 矢印とホバーは 25-3 で入れ直したので、ここでは持たせない
   （両方あると「← ← 前のお知らせ」と二重に出る） */

.c1-pager{ margin-top:clamp(40px,5vw,72px); }
.c1-pager .nav-links{ display:flex; flex-wrap:wrap; gap:.5em; justify-content:center; }
.c1-pager .page-numbers{
  display:grid; place-items:center; min-width:2.6em; padding:.6em .8em;
  border:1px solid var(--c1-rule); font-size:14px; letter-spacing:.06em;
}
.c1-pager .page-numbers.current{ background:var(--c1-ink); color:var(--c1-paper); border-color:var(--c1-ink); }
.c1-pager a.page-numbers:hover{ background:var(--c1-bg-3); }
.c1-pager .screen-reader-text{ position:absolute; width:1px; height:1px; overflow:hidden; clip:rect(0 0 0 0); }

/* ---------- 20-8 404 のリンク集 ---------- */
.c1-404nav{
  margin-top:clamp(36px,4.4vw,64px);
  display:grid; grid-template-columns:repeat(auto-fit,minmax(210px,1fr)); gap:1px;
  background:var(--c1-rule);
}
.c1-404nav a{
  /* 地に溶けないよう白い面に載せる */
  background:var(--c1-paper); padding:clamp(1.1em,1.6vw,1.5em) 1.4em;
  transition:background .2s, color .2s;
}
.c1-404nav a:hover{ background:var(--c1-bg-2); color:var(--c1-accent-dk); }
.c1-404nav__ja{ display:block; font-size:15px; font-weight:700; letter-spacing:.08em; }
.c1-404nav__en{
  display:block; margin-top:.45em;
  font-family:var(--c1-font-en); font-size:12px; letter-spacing:.12em;
  text-transform:uppercase; color:var(--c1-ink-70);
}

/* ---------- 20-9 WordPress が出す標準クラス ---------- */
.screen-reader-text{ position:absolute; width:1px; height:1px; overflow:hidden; clip:rect(0 0 0 0); white-space:nowrap; }
.alignleft{ float:left; margin:0 1.6em 1.2em 0; }
.alignright{ float:right; margin:0 0 1.2em 1.6em; }
.aligncenter{ display:block; margin-inline:auto; }
.alignwide,
.alignfull{ max-width:none; }
.wp-caption{ max-width:100%; }
.wp-caption-text{ margin-top:.7em; font-size:14px; color:var(--c1-ink-70); }
.wp-block-image{ margin:clamp(28px,3.4vw,48px) 0; }
.wp-block-image img{ max-width:100%; height:auto; }

/* ---------- 20-10 スマホ ---------- */
@media (max-width:767px){
  .c1-drawer__inner{ padding-top:clamp(76px,11vh,110px); }
  .c1-pnav{ justify-content:center; text-align:center; }
  .c1-404nav{ grid-template-columns:1fr; }
}

/* =========================================================================
   21. トップだけ：写真を画面いっぱいにして、その上に要素を浮かせる

   下層ページはヘッダーを写真に重ねない（第20節の relative のまま）。
   ここは `.home`（フロントページ）だけに効かせている。
   ========================================================================= */

/* ---------- 21-1 ヘッダーを写真の上へ ----------
   地を透かす指定は .c1-brand / .c1-gnav の側へ移したので、
   ここは写真に重ねる位置取りだけを持つ。 */
.home .c1-header{ position:absolute; inset:0 0 auto 0; z-index:30; }

/* 写真の上では、現在地をアクセント色にすると空に沈んで読めなくなる。
   文字は本文色のまま、下線だけで示す。英字ラベルも少し濃くする。 */
.home .c1-gnav__list a[aria-current]{ color:var(--c1-ink); }
.home .c1-gnav__en{ color:rgba(31,42,39,.82); }

/* ---------- 21-2 写真を画面いっぱいに ---------- */
.home .c1-hero{
  position:relative; min-height:100svh; padding-bottom:0;
  display:flex; flex-direction:column; justify-content:flex-end;
}
.home .c1-hero__media{
  position:absolute; inset:0; margin:0; width:100%;
  /* 写真を敷き物にするので、右に地を残す指定は無効にする */
  margin-right:0;
}
.home .c1-hero__media img{
  width:100%; height:100%; aspect-ratio:auto; object-fit:cover; object-position:50% 58%;
}

/* 空の上に黒い文字が乗るので、上端だけごく薄く明るくして文字を締める。
   白い面に見えないよう .3 までに抑えている（強くすると「白地で浮いている」印象に戻る）。 */
.home .c1-hero::before{
  content:""; position:absolute; inset:0; z-index:1; pointer-events:none;
  background:linear-gradient(to bottom,
    rgba(255,255,255,.30) 0,
    rgba(255,255,255,.12) 130px,
    rgba(255,255,255,0) 260px);
}

/* 写真より前に出す */
.home .c1-hero__foot{ position:relative; z-index:10; padding-bottom:clamp(36px,5vh,72px); }
.home .c1-catch{ z-index:20; }

/* ---------- 21-4 写真の上の黒い箱を、縦書きキャッチと同じ配色にする ----------
   対象は写真に重なる3つだけ（診療科目のタグ／予約の電話ボタン／診療時間を見るボタン）。
   ヒーローより下のセクションのボタンは黒のまま。 */
.home .c1-header .c1-btn--tel,
.home .c1-hero .c1-btn{
  background:var(--c1-paper);
  color:var(--c1-accent-dk);
  /* 素のボタンに付けた黒い罫は、写真の上では強すぎるので消して
     下の box-shadow の細い罫に任せる */
  border-color:transparent;
}

/* 診療科目のタグは地を透かして、文字だけ写真の上に置く。
   箱が無くなるので、左右の padding を落としてロゴの左端に揃える。

   ただし茶色の文字を空（実測 rgb(93,133,200)）に直接置くとコントラストが
   1.27 しかなく読めない。白い箱の代わりに、文字のまわりだけ白くぼかして
   下げ止める。影が不要ならこの text-shadow を消せば素の透過に戻る。 */
.home .c1-brand__tag{
  background:transparent; color:var(--c1-accent-dk);
  padding-inline:0;
  text-shadow:
    0 0 3px rgba(255,255,255,.95),
    0 0 7px rgba(255,255,255,.85),
    0 0 14px rgba(255,255,255,.6);
}
/* 白地になったぶん輪郭がぼやけるので、細い罫を回す */
.home .c1-header .c1-btn--tel,
.home .c1-hero .c1-btn{ box-shadow:inset 0 0 0 1px var(--c1-rule); }

/* ホバーは色を反転させる（黒地のときと同じ「濃くなる」動き） */
.home .c1-header .c1-btn--tel:hover,
.home .c1-hero .c1-btn:hover{
  background:var(--c1-accent-dk);
  color:var(--c1-paper);
  box-shadow:inset 0 0 0 1px var(--c1-accent-dk);
}

/* ---------- 21-3 縦書きキャッチを画面の高さに合わせて置く ----------
   画面の高さに収めるため、全画面のときだけ文字を一段小さくする。
   元の58pxだと8文字で629pxになり、ヘッダーとぶつかる。 */
.home .c1-catch span{ font-size:clamp(23px,3vw,43px); }
.home .c1-catch--a{ right:clamp(16px,3.4vw,62px); top:clamp(250px,29vh,310px); }
.home .c1-catch--b{ left:clamp(16px,3.4vw,62px); top:auto; bottom:clamp(96px,13vh,150px); }

@media (max-width:1180px){
  .home .c1-catch span{ font-size:clamp(21px,3.4vw,34px); }
  .home .c1-catch--a{ top:clamp(150px,19vh,220px); }
  .home .c1-catch--b{ bottom:clamp(88px,12vh,130px); }
}

/* =========================================================================
   22. 下層ページで使う部品

   ========================================================================= */

/* ---------- 22-1 リード文と署名 ----------
   明朝を一段大きくし、
   1行の文字数を詰めて（max-width:30em）、左に細い罫を添える。 */
.c1-lead{
  font-family:var(--c1-font-mincho); font-weight:500;
  font-size:clamp(18px,1.85vw,27px); line-height:2.05; letter-spacing:.08em;
  max-width:30em;
  padding-left:clamp(18px,2.4vw,40px);
  border-left:1px solid var(--c1-accent);
}
@media (max-width:640px){
  .c1-lead{ padding-left:16px; }
}
.c1-sign{ margin-top:2.2em; text-align:right; font-family:var(--c1-font-mincho); letter-spacing:.14em; }

/* ---------- 22-2 当院の特徴（番号つきの3枠） ---------- */
.c1-features{
  margin-top:clamp(32px,4vw,56px);
  display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:1px;
  background:var(--c1-rule);
}
.c1-feature{ background:var(--c1-bg); padding:clamp(24px,3vw,42px); }
.c1-feature__no{
  font-family:var(--c1-font-en); font-size:clamp(26px,2.6vw,38px); line-height:1;
  color:var(--c1-accent); margin:0 0 .6em;
}
.c1-feature__ttl{
  font-family:var(--c1-font-mincho); font-weight:500;
  font-size:clamp(17px,1.5vw,21px); letter-spacing:.08em; line-height:1.7;
  margin:0 0 .8em;
}
.c1-feature__txt{ margin:0; font-size:clamp(14px,1.08vw,16px); line-height:1.95; }

/* ---------- 22-3 箇条書き ---------- */
.c1-list{
  margin:clamp(20px,2.4vw,32px) 0 0; padding:0; list-style:none;
  max-width:52em;
}
.c1-list li{
  position:relative; padding-left:1.5em; margin-bottom:.8em;
  font-size:clamp(15px,1.15vw,17px); line-height:1.95;
}
.c1-list li::before{
  content:""; position:absolute; left:.2em; top:.85em;
  width:.5em; height:1px; background:var(--c1-accent-dk);
}

/* ---------- 22-4 疾患名（短い語を並べる） ---------- */
.c1-diseases{
  margin:clamp(24px,3vw,40px) 0 0; padding:0; list-style:none;
  display:flex; flex-wrap:wrap; gap:.6em;
}
.c1-diseases li{
  border:1px solid var(--c1-rule); background:var(--c1-paper);
  padding:.6em 1.1em; font-size:clamp(14px,1.05vw,16px); letter-spacing:.04em;
}

/* ---------- 22-5 写真2枚を並べる ---------- */
.c1-figs{
  margin-top:clamp(28px,3.4vw,48px);
  display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:clamp(16px,2.2vw,32px);
}
.c1-figs figure{ margin:0; }
.c1-figs img{ width:100%; height:auto; aspect-ratio:4/3; object-fit:cover; }
.c1-figs figcaption{ margin-top:.7em; font-size:14px; letter-spacing:.08em; color:var(--c1-ink-70); }

/* 写真1枚（入院先のご案内の田園パークホスピタル）。元が1100pxなので広げすぎない */
.c1-fig{ margin:clamp(28px,3.4vw,48px) 0 0; max-width:880px; }
.c1-fig img{ display:block; width:100%; height:auto; }
.c1-fig figcaption{ margin-top:.7em; font-size:14px; letter-spacing:.08em; color:var(--c1-ink-70); }

/* ---------- 22-6 院内のご案内のギャラリー（点数が多いので格子に） ----------
   トップの .c1-gallery は横一列だが、こちらは十数点ならぶので折り返す。 */
.c1-gallery--grid{
  display:grid; grid-template-columns:repeat(4,minmax(0,1fr));
  gap:clamp(14px,1.8vw,26px);
  /* トップの帯は grid-auto-flow:column ＋ 横スクロールなので、
     ここで打ち消さないと列が右へ流れ続けてページごと横に伸びる */
  grid-auto-flow:row; grid-auto-columns:auto;
  overflow:visible; padding-bottom:0; scroll-snap-type:none;
}
.c1-gallery--grid figure{ margin:0; scroll-snap-align:none; }
.c1-gallery--grid img{ width:100%; height:auto; aspect-ratio:4/3; object-fit:cover; }
.c1-gallery--grid figcaption small{
  display:block; margin-top:.35em; font-size:12.5px; line-height:1.8; color:var(--c1-ink-70);
}

/* ---------- 22-7 流れの中に置く電話番号 ---------- */
.c1-tel-inline{
  font-family:var(--c1-font-en); font-size:clamp(19px,1.7vw,24px); letter-spacing:.02em;
}
.c1-tel-inline:hover{ color:var(--c1-accent-dk); }

/* ---------- 22-8 スマホ ---------- */
@media (max-width:900px){
  .c1-features{ grid-template-columns:1fr; }
  .c1-gallery--grid{ grid-template-columns:repeat(3,minmax(0,1fr)); }
}
@media (max-width:640px){
  .c1-figs{ grid-template-columns:1fr; }
  .c1-gallery--grid{ grid-template-columns:repeat(2,minmax(0,1fr)); }
}

/* =========================================================================
   23. 症状から探す（診療案内）

   「こんなときはご相談ください」の一覧。症状を明朝の問いとして立て、
   その下に説明とリンクを置く。診断ではなく目安であることを
   セクション冒頭の注記で示している（医療広告ガイドライン）。
   ========================================================================= */
.c1-symptoms{
  display:grid; grid-template-columns:repeat(2,minmax(0,1fr));
  gap:1px; background:var(--c1-rule);
}
.c1-symptom{
  background:var(--c1-bg); padding:clamp(22px,2.8vw,38px);
  display:flex; flex-direction:column;
}
.c1-symptom__q{
  font-family:var(--c1-font-mincho); font-weight:500;
  font-size:clamp(17px,1.5vw,21px); letter-spacing:.06em; line-height:1.7;
  margin:0 0 .8em; padding-left:1.1em; position:relative;
  color:var(--c1-accent-dk);
}
/* 問いであることを示す小さな印 */
.c1-symptom__q::before{
  content:"―"; position:absolute; left:0; top:0; color:var(--c1-accent);
}
.c1-symptom__a{
  margin:0; font-size:clamp(14px,1.08vw,16px); line-height:1.95;
}
.c1-symptom__to{ margin:1.2em 0 0; font-size:14px; letter-spacing:.06em; }
.c1-symptom__to a{ font-weight:700; }
.c1-symptom__to a::after{ content:" →"; }
.c1-symptom__to a:hover{ color:var(--c1-accent-dk); }

@media (max-width:767px){
  .c1-symptoms{ grid-template-columns:1fr; }
}

/* =========================================================================
   24. 余白のリズム

   地の色が同じセクションが続くと上下の padding が二重になるので詰める。
   色が変わるところは区切りとして効くので、そのままにする。
   ========================================================================= */
.c1-sec:not(.c1-sec--tint) + .c1-sec:not(.c1-sec--tint),
.c1-sec--tint + .c1-sec--tint{ padding-top:0; }

/* セクションの中でブロックが続くときも、同じ理由で少し詰める */
.c1-block + .c1-block{ margin-top:clamp(40px,5vw,72px); }

/* ---------- 24-2 全幅の写真帯 ----------
   セクションの切れ目を写真で受ける。地の色が同じセクションが続くところに
   挟むので、24-1 の「padding-top:0」は帯をまたぐと効かなくなる（狙いどおり）。 */
.c1-band{ overflow:hidden; }
.c1-band img{
  display:block; width:100%;
  height:clamp(200px,30vw,440px); object-fit:cover; object-position:50% 55%;
}

/* ---------- 24-3 受付時間を主役に ----------
   クリニックのサイトでいちばん見られる情報なので、
   トップと診療案内では表を一段大きくして、電話番号を並べる。 */
#hours .c1-table,
.c1-hours .c1-table{ font-size:clamp(14px,1.25vw,18px); }
#hours .c1-table th,
#hours .c1-table td,
.c1-hours .c1-table th,
.c1-hours .c1-table td{ padding-block:clamp(1em,1.5vw,1.45em); }
#hours .c1-table .is-on,
.c1-hours .c1-table .is-on{ font-size:1.3em; }
#hours .c1-table thead th,
.c1-hours .c1-table thead th{ letter-spacing:.1em; }

/* 診察日のカードは曜日を太字で立てる */
.c1-hours__card dd b{ font-weight:700; letter-spacing:.04em; }

/* 電話番号のカード */
.c1-hours__card--tel dd{ margin-top:.2em; }
.c1-hours__tel{
  font-family:var(--c1-font-en); font-size:clamp(28px,2.6vw,38px);
  line-height:1.15; letter-spacing:.02em; display:inline-block;
}
.c1-hours__tel:hover{ color:var(--c1-accent-dk); }

/* ---------- 24-4 2カラム ----------
   文章が短いブロックは横に写真を置くか、2列に並べて密度を上げる。 */
.c1-split{
  display:grid; grid-template-columns:minmax(0,1.05fr) minmax(0,1fr);
  gap:clamp(28px,4vw,64px); align-items:center;
}
.c1-split__fig{ margin:0; }
.c1-split__fig img{ width:100%; height:auto; aspect-ratio:4/3; object-fit:cover; }

.c1-cols{
  display:grid; grid-template-columns:repeat(2,minmax(0,1fr));
  gap:clamp(32px,4vw,64px) clamp(32px,5vw,88px);
  align-items:start;
}
/* 2列に入れたブロックは、縦に続くときの余白を打ち消す */
.c1-cols .c1-block + .c1-block,
.c1-cols .c1-block{ margin-top:0; }

@media (max-width:900px){
  .c1-split{ grid-template-columns:1fr; }
  .c1-cols{ grid-template-columns:1fr; gap:clamp(36px,6vw,56px); }
}

/* ---------- 24-5 写真の演出 ----------
   写真そのものを見せたいので、動きは控えめにする。
   動きを減らす設定のときは、どちらも止める。 */

/* ホバーでゆっくり寄る */
.c1-gallery figure,
.c1-figs figure,
.c1-mcard figure,
.c1-split__fig{ overflow:hidden; }
.c1-gallery img,
.c1-figs img,
.c1-mcard figure img,
.c1-split__fig img{ transition:transform .7s cubic-bezier(.2,.6,.2,1); }
.c1-gallery figure:hover img,
.c1-figs figure:hover img,
.c1-mcard:hover figure img,
.c1-split__fig:hover img{ transform:scale(1.045); }

/* 帯のパララックス。JS が translate を入れるので、
   はみ出しぶんを先に確保しておく（scale しないと上下に隙間が出る） */
.c1-band.is-parallax img{ transform:scale(1.14); will-change:transform; }

@media (prefers-reduced-motion:reduce){
  .c1-gallery img,
  .c1-figs img,
  .c1-mcard figure img,
  .c1-split__fig img{ transition:none; }
  .c1-gallery figure:hover img,
  .c1-figs figure:hover img,
  .c1-mcard:hover figure img,
  .c1-split__fig:hover img{ transform:none; }
  .c1-band.is-parallax img{ transform:none; }
}

/* =========================================================================
   25. お知らせまわりと下層の頭の余白
   ========================================================================= */

/* ---------- 25-1 ページ見出しの直後 ----------
   c1-phead の下に c1-sec が続くと、見出しと中身の間が 200px ほど空いていた
   （お知らせ一覧と記事ページで目立つ）。写真が入る下層では気づきにくかった。 */
.c1-phead + .c1-sec{ padding-top:clamp(20px,2.6vw,44px); }

/* ---------- 25-2 一覧の桁を揃える ----------
   2つめの枠はカテゴリー名の長さでばらつき、タイトルの開始位置がずれていた。
   枠そのものは内容幅のまま、列に下限を与えて揃える。 */
.c1-news__list a > :nth-child(2){ min-width:106px; }
.c1-news__cat,
.c1-news__new{ display:inline-block; }

/* ---------- 25-3 記事の前後ナビ ----------
   前後の記事名を出す。左右に振り、真ん中に一覧へ戻るボタンを置く。 */
.c1-pnav{
  display:grid; grid-template-columns:1fr auto 1fr; align-items:center;
  gap:clamp(16px,2.4vw,40px);
}
.c1-pnav__side{ min-width:0; }
.c1-pnav__side--right{ text-align:right; }
.c1-pnav a:not(.c1-btn){ display:inline-block; max-width:100%; }
.c1-pnav__label{
  display:block; font-size:12.5px; letter-spacing:.12em; color:var(--c1-ink-70);
  margin-bottom:.45em;
}
.c1-pnav__prev .c1-pnav__label::before{ content:"← "; }
.c1-pnav__next .c1-pnav__label::after{ content:" →"; }
.c1-pnav__ttl{
  display:block; font-size:clamp(13px,1.05vw,15px); line-height:1.7;
  /* 長いタイトルは2行で止める */
  display:-webkit-box; -webkit-line-clamp:2; -webkit-box-orient:vertical; overflow:hidden;
}
.c1-pnav a:not(.c1-btn):hover .c1-pnav__ttl{ color:var(--c1-accent-dk); }

@media (max-width:767px){
  .c1-pnav{ grid-template-columns:1fr; text-align:center; }
  .c1-pnav__side--right{ text-align:center; }
  .c1-pnav__ttl{ -webkit-line-clamp:1; }
}

/* =========================================================================
   26. 宮之城で足した・変えたところ
   にしあいら B案テーマ（0.9.2）には無い部品と、宮之城の内容に合わせた調整。
   ========================================================================= */

/* ---------- 26-1 ロゴ欄（帆のマーク＋明朝の医院名） ----------
   ロゴのベクターデータが無いので、旧ロゴJPGから帆と太陽だけを描き起こした
   mark.svg と、明朝の医院名を並べて組んでいる。 */
.c1-brand__link,
.c1-footer__brand{ display:inline-flex; align-items:center; gap:clamp(10px,1vw,14px); }
.c1-brand__mark{ width:clamp(38px,3.4vw,50px); height:auto; flex:none; }
.c1-brand__name{
  font-family:var(--c1-font-mincho); font-weight:500; color:var(--c1-ink);
  font-size:clamp(19px,1.75vw,26px); letter-spacing:.1em; line-height:1.2; white-space:nowrap;
}
.c1-footer__brand .c1-brand__name{ font-size:clamp(19px,1.6vw,24px); }
/* トップでは写真の上に載るので、文字のまわりだけ白くぼかして読ませる（科目タグと同じ手当て） */
.home .c1-brand__name{
  text-shadow:0 0 3px rgba(255,255,255,.95), 0 0 8px rgba(255,255,255,.85), 0 0 16px rgba(255,255,255,.6);
}

/* ---------- 26-2 トップの写真（病院正面） ----------
   2026-09-25 に空撮から差し替え。上に空、中ほどに玄関のひさし、下に駐車場。
   玄関（横 44% あたり）が縦長の画面でも残るよう、少し左に寄せて切る。 */
.home .c1-hero__media img{ object-position:44% 40%; }
/* 2枚目の外観。上半分が空なので、建物（横 58%・縦 60% あたり）に寄せて切る */
.home .c1-hero__media img.c1-hero__img--exterior{ object-position:58% 62%; }
/* 外観の左の木がメニューの裏に来て文字が沈むので、外観を出している間だけ
   メニュー文字の白いぼかしを強める（切り替えのフェードと同じ2.4秒でなじませる） */
.home .c1-gnav__ja,
.home .c1-gnav__en{ transition:text-shadow 2.4s ease-in-out; }
body:has(.c1-hero__media.is-night) .c1-gnav__ja,
body:has(.c1-hero__media.is-night) .c1-gnav__en{
  text-shadow:0 0 2px #fff, 0 0 4px #fff, 0 0 9px rgba(255,255,255,.95), 0 0 16px rgba(255,255,255,.8);
}

/* （空撮のときの調整。正面写真でもメニューが空に載るのでそのまま効かせている）
   空撮は街並みの細部が多く、にしあいらの空（ほぼ無地）より文字が沈む。
   上端の明るみを .30 → .42、届く距離も少し伸ばした。
   これ以上強くすると「白い面が浮いている」印象になる（にしあいらで .66 は失敗）。 */
.home .c1-hero::before{
  background:linear-gradient(to bottom,
    rgba(255,255,255,.42) 0,
    rgba(255,255,255,.18) 150px,
    rgba(255,255,255,0) 300px);
}
.home .c1-gnav__ja,
.home .c1-gnav__en{
  text-shadow:0 0 3px rgba(255,255,255,.9), 0 0 8px rgba(255,255,255,.7);
}

/* ---------- 26-3 縦書きキャッチ「心の病は、／あなたが一生懸命な証です。」 ----------
   2行目が13文字あり、1本の帯にすると画面の高さを超えてメニューにぶつかる。
   「あなたが」「一生懸命な証です。」の2本に折り、縦書きの流れ（右の列から読む）に
   合わせて右→左に並べる。 */
.c1-catch--b{ display:flex; flex-direction:row-reverse; align-items:flex-start; gap:clamp(6px,.8vw,12px); }

/* ---------- 26-3b ヘッダーの電話ボタン ----------
   医院名がにしあいらのロゴより横に長いので、1280px 以下では
   「ご予約・お問い合わせ」を隠して番号だけにする（折り返して崩れるため）。 */
.c1-header .c1-btn--tel{ white-space:nowrap; }
@media (max-width:1280px){
  .c1-header .c1-btn__label{ display:none; }
}

/* スマホでは2列のキャッチが下のボタンとお知らせに重なるので、
   左上（右の「心の病は、」と同じ高さ）に上げる */
@media (max-width:767px){
  .home .c1-catch--b{ top:clamp(150px,20vh,190px); bottom:auto; }
}

/* ---------- 26-4 診療時間の横のカード ---------- */
.c1-hours__sub{ display:block; margin-top:.5em; font-size:clamp(13px,1vw,14px); line-height:1.8; color:var(--c1-ink-70); }

/* ---------- 26-5 当院についての小メニュー（当院について／理事長ごあいさつ／沿革） ---------- */
.c1-subnav{ margin-top:clamp(18px,2.2vw,30px); }
.c1-subnav ul{ display:flex; flex-wrap:wrap; gap:.4em clamp(18px,2.4vw,36px); }
.c1-subnav a{
  display:inline-block; padding:.3em 0; font-size:clamp(14px,1.05vw,16px); letter-spacing:.1em;
  border-bottom:1px solid transparent; transition:color .2s, border-color .2s;
}
.c1-subnav a:hover{ color:var(--c1-accent-dk); }
.c1-subnav a[aria-current]{ color:var(--c1-accent-dk); border-bottom-color:currentColor; }

/* ドロワーの子ページは一段下げる */
.c1-drawer__nav a.c1-drawer__child{ padding-left:1.4em; }
.c1-drawer__nav a.c1-drawer__child .c1-drawer__ja{ font-size:clamp(16px,1.8vw,21px); }
.c1-drawer__nav a.c1-drawer__child:hover{ padding-left:1.9em; }

/* ---------- 26-6 年表（沿革）とスケジュール ----------
   左に年月（または時刻）、右に出来事。スマホでは上下に積む。 */
.c1-timeline{ border-top:1px solid var(--c1-rule); }
.c1-timeline > div{
  display:grid; grid-template-columns:minmax(9em,13em) minmax(0,1fr); gap:clamp(12px,2vw,32px);
  padding:clamp(.9em,1.3vw,1.2em) 0; border-bottom:1px solid var(--c1-rule);
}
.c1-timeline dt{ font-family:var(--c1-font-mincho); font-weight:500; letter-spacing:.06em; color:var(--c1-accent-dk); white-space:nowrap; }
.c1-timeline dd{ margin:0; }
.c1-timeline--compact dt{ min-width:0; }
.c1-timeline--compact > div{ grid-template-columns:6.5em minmax(0,1fr); }
/* 無床クリニックになった節目は目立たせる */
.c1-timeline .is-mark dt,
.c1-timeline .is-mark dd{ font-weight:700; }
.c1-timeline .is-mark{ background:linear-gradient(to right, var(--c1-bg-2), transparent 70%); }

/* ---------- 26-7 番号つきの見出し（(1)〜(5) の内容） ---------- */
.c1-numlist{ counter-reset:c1n; display:grid; gap:clamp(22px,2.6vw,36px); }
.c1-numlist > li{ counter-increment:c1n; position:relative; padding-left:clamp(44px,4vw,60px); }
.c1-numlist > li::before{
  content:counter(c1n, decimal-leading-zero); position:absolute; left:0; top:-.1em;
  font-family:var(--c1-font-en); font-size:clamp(22px,2vw,28px); color:var(--c1-accent); line-height:1.3;
}
.c1-numlist h3{ font-family:var(--c1-font-mincho); font-weight:500; font-size:clamp(18px,1.5vw,21px); letter-spacing:.08em; margin-bottom:.5em; }
.c1-numlist .c1-list{ margin-top:.4em; }

/* ---------- 26-8 相談窓口の情報（dl の2列） ---------- */
.c1-dl{ display:grid; gap:0; border-top:1px solid var(--c1-rule); background:var(--c1-paper); }
.c1-dl > div{ display:grid; grid-template-columns:8em minmax(0,1fr); gap:clamp(12px,2vw,28px); padding:1em clamp(16px,2vw,28px); border-bottom:1px solid var(--c1-rule); }
.c1-dl dt{ font-weight:700; letter-spacing:.08em; }
.c1-dl dd{ margin:0; }

/* ---------- 26-10 署名（理事長ごあいさつ） ---------- */
.c1-greeting{ max-width:40em; }
.c1-greeting p + p{ margin-top:1.4em; }

/* ---------- 26-11 スマホ ---------- */
@media (max-width:767px){
  .c1-timeline > div{ grid-template-columns:minmax(0,1fr); gap:.2em; }
  .c1-timeline--compact > div{ grid-template-columns:5.5em minmax(0,1fr); gap:.8em; }
  .c1-dl > div{ grid-template-columns:minmax(0,1fr); gap:.2em; }
  .c1-brand__name{ font-size:18px; letter-spacing:.06em; }
}
