:root{
  --c-ink:#40220F;
  --c-ink-sub:#7F5536;
  --c-bg:#F9FBF3;
  --c-surface:#FFFFFF;
  --c-blue:#7FBFD2;
  --c-blue-v:#73BFE5;
  --c-blue-pale:#EEF9FE;
  --c-green:#84C76B;
  --c-green-pale:#B6C961;
  --c-yellow:#EBBF65;
  --c-yellow-p:#F8F5E7;
  --c-sky:#EEF9FE;
  --c-blue-bg:#F3F9FB;
  --c-blue-line:#D3E9F0;
  --c-logo-blue:#7795A8;
  --c-link:#C76B6B;
  --c-line-green:#5AB649;
  --c-line:#E5E1DC;
  --c-gray:#40220F;
  --t-ja:"Zen Maru Gothic", serif;
  --t-en-face:"Outfit", sans-serif;
  --t-display:clamp(40px, 5vw, 68px);
  --t-en:clamp(32px, 5vw, 60px);
  --t-h1:clamp(28px, 3.4vw, 40px);
  --t-h2:clamp(24px, 2.6vw, 31px);
  --t-h3:24px;
  --t-body:18px;
  --t-note:16px;
  --t-label:14px;
  --t-lh:1.8;
  --t-lh-tight:1.4;
  --t-lh-ui:1.5;
  --t-lh-display:1.2;
  --t-ls:normal;
  --t-ls-h:.04em;
  --s-container:min(92%, 1300px);
  --s-pad-x:20px;
  --s-sec-y:clamp(64px, 8vw, 120px);
  --s-gap:24px;
  --s-radius:20px;
  --s-radius-lg:30px;
  --s-radius-pill:100px;
  --s-header-h-pc:170px;
  --s-shadow:0 1px 6px rgba(0,0,0,.25);
}


*,*::before,*::after{box-sizing:border-box}
html{scroll-padding-top:80px;-webkit-text-size-adjust:100%}
body{
  margin:0;
  font-family:var(--t-ja);
  font-size:var(--t-body);
  line-height:var(--t-lh);
  letter-spacing:var(--t-ls);
  color:var(--c-ink);
  background:var(--c-bg);
  font-weight:400;
  overflow-x:hidden;
}
h1,h2,h3,h4,p,ul,ol,dl,dd,figure{margin:0;padding:0}
h1,h2,h3,h4,h5,h6{font-size:inherit}   /* ★サイズは必ず7段階から明示する */
ul,ol{list-style:none}
a{color:inherit;text-decoration:none}
button{font:inherit;color:inherit;background:none;border:0;cursor:pointer;padding:0}
img,svg{max-width:100%;display:block}
:focus-visible{outline:3px solid var(--c-blue-v);outline-offset:3px;border-radius:4px}
.sr-only{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}
.num{font-variant-numeric:tabular-nums}
.nw{display:inline-block}

.inner{width:var(--s-container);margin-inline:auto}
.wide{width:min(1400px,96%);margin-inline:auto}
.sec{padding-top:var(--s-sec-y);position:relative}

.skip{position:absolute;left:12px;top:-60px;z-index:200;background:var(--c-surface);padding:8px 16px;border-radius:var(--s-radius-pill);font-size:var(--t-note)}
.skip:focus{top:12px}

/* セクション見出し：既存「当院の特徴」と同じ、中央揃え＋上に小アイコン＋太字丸ゴ */
/* セクション見出し（2026-10-12 改訂）
   ★中央揃えをやめ、同じ芽アイコンを6回繰り返すのもやめた。
     背後に巨大な欧文を極薄で敷いて、セクションの切り替わりを作る。写真は要らない。
     参照：recruit.clinicfor.life（本文16px に対し装飾の欧文240px＝15倍のジャンプ率） */
.sec-head{text-align:left;position:relative;isolation:isolate;margin-bottom:clamp(36px,4.5vw,64px)}
.sec-head__icon{display:none}
.sec-head__title{font-size:clamp(30px,4.2vw,54px);font-weight:700;line-height:1.22;letter-spacing:var(--t-ls-h)}
.sec-head__lead{margin-top:16px;font-size:var(--t-body);line-height:var(--t-lh);font-weight:500;letter-spacing:var(--t-ls-h);max-width:44em}
/* 背後の欧文。★読ませる文字ではないので、サイズ8段階の外に置いてよい */
.sec-head::before{position:absolute;left:-.045em;top:50%;transform:translateY(-64%);
  font-family:var(--t-en-face);font-size:clamp(62px,9.5vw,146px);font-weight:700;
  letter-spacing:-.035em;line-height:.78;color:rgb(64 34 15 / .07);
  white-space:nowrap;z-index:-1;pointer-events:none;user-select:none}
.jobs      .sec-head::before{content:"Jobs"}
.workstyle .sec-head::before{content:"Work Style"}
.numbers   .sec-head::before{content:"Numbers"}
.fields    .sec-head::before{content:"Fields"}
.about     .sec-head::before{content:"About"}
.flow      .sec-head::before{content:"Flow"}

/* 写真プレースホルダー（写真は後日差し替え） */
/* 写真：aspect-ratio で枠を決め、はみ出す分は切る（引き伸ばさない） */
img.ph{display:block;width:100%;height:auto;object-fit:cover}

.ph:not(img){
  position:relative;overflow:hidden;
  background:
    repeating-linear-gradient(135deg, transparent 0 14px, var(--c-bg) 14px 15px),
    var(--c-line);
}
.ph::after{
  content:attr(data-label);
  position:absolute;inset:auto 0 50% 0;transform:translateY(50%);
  text-align:center;font-size:var(--t-label);line-height:var(--t-lh-ui);color:var(--c-gray);padding:0 16px;
}

/* ボタン：既存「一覧はこちら」と同じピル形＋矢印の丸アイコン */
.btn{
  display:inline-flex;align-items:center;justify-content:space-between;gap:20px;
  min-height:48px;padding:6px 8px 6px 28px;border-radius:var(--s-radius-pill);
  font-size:var(--t-note);font-weight:700;line-height:var(--t-lh-ui);letter-spacing:var(--t-ls-h);
  color:var(--c-surface);background:var(--c-yellow);
  transition:opacity .2s;
}
.btn:hover{opacity:.82}
.btn__arrow{
  flex:none;width:28px;height:28px;border-radius:50%;
  background:var(--c-surface);color:var(--c-yellow);
  display:grid;place-items:center;
}
.btn__arrow svg{width:14px;height:14px}
.btn--lg{min-height:64px;padding:8px 10px 8px 36px;font-size:var(--t-body);gap:28px}
.btn--lg .btn__arrow{width:40px;height:40px}
.btn--green{background:var(--c-green)}
.btn--green .btn__arrow{color:var(--c-green)}
.btn--brown{background:var(--c-ink-sub)}
.btn--brown .btn__arrow{color:var(--c-ink-sub)}
.btn--blue{background:var(--c-blue)}
.btn--blue .btn__arrow{color:var(--c-blue)}

.textlink{display:inline-flex;align-items:center;gap:12px;min-height:44px;font-size:var(--t-note);font-weight:700;color:var(--c-link)}
.textlink .btn__arrow{background:var(--c-blue);color:var(--c-surface)}
.textlink:hover{opacity:.75}

/* ---- 下層ページ ----
   ★本体サイトの下層ページをCDPで実測して合わせた（2026-10-04）
     本文幅1300 ／ h2＝薄水色の面＋左に水色4px ／ h3＝下線3px ／ 見出しは24px・weight500 */

/* ページヘッダー：水彩の空の下に、大きな英字＋日本語。本体の .page-title__box と同じ組み */
/* 下層ページ：本体サイトと同じく、ページヘッダーの下は白にする */
.page-main{position:relative;background:var(--c-surface);padding:clamp(24px,3vw,36px) 0 clamp(64px,8vw,120px)}
/* 本文の読む幅：★本体サイトと同じ1300px（＝--container のまま）。
   2026-10-12 に920pxへ絞ったが、本体サイトに合わせる方針で戻した（依頼主の判断）。
   1行は約72文字になる。 */
/* 下層ページのヘッダー（2026-10-12 改訂）
   英字を「読ませる見出し」から「背後に敷く造形」に変えた。
   日本語を 24px→40px に上げ、ジャンプ率を 3.8倍 → 約12倍に。
   ★英字は右端からはみ出させて切る。画面の中に収めると、ただの大きい文字になる */
.page-head{position:relative;overflow:hidden;isolation:isolate;
  padding:clamp(58px,7vw,104px) 0 clamp(26px,3vw,40px)}
.page-head__en{position:absolute;right:-.06em;top:50%;transform:translateY(-66%);
  display:block;margin:0;font-family:var(--t-en-face);
  font-size:clamp(88px,15vw,210px);font-weight:700;letter-spacing:-.03em;line-height:.8;
  color:rgb(64 34 15 / .09);white-space:nowrap;text-align:right;
  pointer-events:none;user-select:none;z-index:-1}
.page-head__ja{position:relative;z-index:1;margin:0;font-size:var(--t-h1);font-weight:700;
  line-height:1.35;letter-spacing:var(--t-ls-h);color:var(--c-ink)}
.breadcrumb{position:relative;z-index:1;margin-top:clamp(20px,2.4vw,30px);font-size:var(--t-note);color:var(--c-ink);line-height:var(--t-lh-ui)}
.breadcrumb a{color:var(--c-ink);text-decoration:none}
.breadcrumb a:hover{color:var(--c-blue)}
.breadcrumb span{margin:0 8px;color:var(--c-gray)}
.breadcrumb .is-current{color:var(--c-gray)}

.entry{max-width:none}
.entry > *:first-child{margin-top:0}
/* 見出し：★本体サイトの実測値そのまま（2026-10-12 再実測 /symptoms/blog-719/・symptoms-993/）
     h2  24px / weight500 / 背景 #F3F9FB / 左に4pxの水色 / padding 10px 20px / margin-bottom 19.2px
     h3  24px / weight500 / 下線 3px #D3E9F0 / padding-bottom 16px
     h4  18px / 装飾なし
   ★一度 h2 を31pxの罫線スタイルに変えたが、本体と別物になるため戻した */
.entry h2{font-size:var(--t-h3);font-weight:500;line-height:var(--t-lh);color:var(--c-ink);
  background:var(--c-blue-bg);border-left:4px solid var(--c-blue);border-bottom:0;
  padding:10px 20px;margin:48px 0 20px}
.entry h3{font-size:var(--t-h3);font-weight:500;line-height:var(--t-lh-tight);color:var(--c-ink);
  border-bottom:3px solid var(--c-blue-line);padding:0 0 16px;margin:40px 0 20px}
.entry h4{font-size:var(--t-body);font-weight:700;margin:28px 0 10px;color:var(--c-ink)}
.entry p{margin:0 0 1.4em}
.entry ul,.entry ol{margin:0 0 1.6em;padding-left:1.4em}
.entry li{margin-bottom:.5em}
.entry li > ul,.entry li > ol{margin:.5em 0 0}
.entry a{color:var(--c-link);text-decoration:underline;text-underline-offset:3px}
.entry a:hover{opacity:.75}
.entry hr{border:0;border-top:1px solid var(--c-line);margin:48px 0}
.entry blockquote{margin:0 0 2em;padding:4px 0 4px 20px;background:none;border-radius:0;border-left:3px solid var(--c-yellow)}
.entry blockquote p:last-child{margin-bottom:0}
/* 表（2026-10-12）。★本体サイトに表の実例が無いので自前。
   線は「行の区切り」だけにする。外枠・上罫線・縦罫線は引かない。
   見出し列は線ではなく薄い面で示す（線を増やさないため） */
.entry table{width:100%;border-collapse:collapse;margin:0 0 2em;background:none;border:0;border-radius:0;
  font-size:var(--t-body);line-height:var(--t-lh-ui);font-variant-numeric:tabular-nums}
.entry th,.entry td{padding:14px 18px;border:0;border-bottom:1px solid var(--c-blue-line);
  text-align:left;vertical-align:top;font-size:var(--t-body)}
.entry th{background:var(--c-blue-bg);font-weight:700;width:13em}
.entry tr:last-child th,.entry tr:last-child td{border-bottom:0}
.entry tr:last-child th,.entry tr:last-child td{border-bottom:0}

/* 本文中の写真（原稿の〔写真:ファイル名｜代替テキスト〕から変換）
   ★5:3で切る。TOPの働き方ブロックと同じ比率にして、サイト全体の見え方を揃える */
.entry__fig{margin:0 0 2em}
.entry__fig img{width:100%;aspect-ratio:5/3;object-fit:cover;border-radius:var(--s-radius-lg);display:block}
.entry > .entry__fig:first-child{margin-top:0}

/* 本文中のボタン（原稿の〔見学申込ボタン〕などから変換） */
.entry .entry__cta{margin:32px 0;text-align:center}   /* ★.entry p に負けるのでクラス2つにする */
.entry .btn-cta,.btn-cta{display:inline-flex;align-items:center;justify-content:center;min-height:64px;padding:12px 48px;
  border-radius:var(--s-radius-pill);color:var(--c-surface);font-size:var(--t-body);font-weight:700;
  letter-spacing:var(--t-ls-h);text-decoration:none;transition:opacity .2s}
.entry .btn-cta{color:var(--c-surface);text-decoration:none}
.entry .btn-cta:hover,.btn-cta:hover{opacity:.82;color:var(--c-surface);text-decoration:none}
.btn-cta--yellow{background:var(--c-yellow)}
.btn-cta--green{background:var(--c-line-green)}
.btn-cta--blue{background:var(--c-blue)}

/* ---- コラム一覧（archive.php） ----
   ★2026-10-05：index.php のまま公開されていて、本文が画面幅いっぱいに広がっていた。
     下層ページと同じ .inner（1300px）の中に、TOPと同じ .post カードを並べる */
.arc__intro{margin-bottom:clamp(32px,4vw,48px)}
.arc__lead{font-size:var(--t-h3);font-weight:500;line-height:var(--t-lh-tight);color:var(--c-ink);
  border-bottom:3px solid var(--c-blue-line);padding:0 0 16px;margin:0 0 20px}
.arc__intro p{margin:0 0 1.4em}
.arc__intro p:last-child{margin-bottom:0}
.arc__cats{display:flex;flex-wrap:wrap;gap:12px;margin:0 0 clamp(28px,3.5vw,40px)}
.arc__cat{display:inline-flex;align-items:center;min-height:44px;padding:8px 22px;
  border:1px solid var(--c-blue-line);border-radius:var(--s-radius-pill);background:var(--c-surface);
  color:var(--c-ink);font-size:var(--t-note);font-weight:500;text-decoration:none;line-height:var(--t-lh-ui)}
.arc__cat:hover{background:var(--c-blue-bg)}
.arc__cat.is-current{background:var(--c-blue);border-color:var(--c-blue);color:var(--c-surface)}
.arc__grid{display:grid;grid-template-columns:repeat(3,1fr);gap:var(--s-gap)}
/* ページ送り */
.pagination{margin-top:clamp(40px,5vw,64px)}
.pagination .nav-links{display:flex;flex-wrap:wrap;justify-content:center;gap:10px}
.pagination .page-numbers{display:inline-grid;place-content:center;min-width:44px;min-height:44px;
  padding:0 14px;border:1px solid var(--c-blue-line);border-radius:8px;background:var(--c-surface);
  color:var(--c-ink);font-size:var(--t-note);font-variant-numeric:tabular-nums;text-decoration:none}
.pagination .page-numbers:hover{background:var(--c-blue-bg)}
.pagination .page-numbers.current{background:var(--c-blue);border-color:var(--c-blue);color:var(--c-surface)}
.pagination .screen-reader-text{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%)}
/* 下部CTA：本文ページの末尾と同じ組み */
.arc__outro{margin-top:clamp(56px,7vw,96px);padding-top:clamp(32px,4vw,48px);border-top:1px solid var(--c-line)}
.arc__outro h2{font-size:var(--t-h3);font-weight:500;line-height:var(--t-lh);color:var(--c-ink);
  background:var(--c-blue-bg);border-left:4px solid var(--c-blue);padding:10px 20px;margin:0 0 20px}
.arc__outro p{margin:0 0 1.4em}

/* ---- 採用FAQ（/recruit/selection/faq/） ----
   ★原稿の見出し文に「Q.」を足さない。見出しはページ内リンクのidと検索結果に出るため、
     記号が混ざると読みにくくなる。印はCSSで付けて、本文テキストは素のままにする */
/* ★Q・Aの丸は flex で並べる。
   absolute や vertical-align で合わせると、行の高さと書体の重心のぶんだけ必ずずれる
   （2026-10-12：Aの丸が文字より8px下がっていた） */
.p-faq .entry h4,
.p-faq .entry h4 + p{display:flex;align-items:flex-start;gap:12px}
.p-faq .entry h4::before,
.p-faq .entry h4 + p::before{
  flex:none;width:28px;height:28px;border-radius:50%;color:var(--c-surface);
  display:grid;place-content:center;font-size:var(--t-label);font-weight:700;letter-spacing:0;
  /* 1行目の中心に合わせる。(本文の行の高さ − 丸の直径) ÷ 2
     ★1em は使えない。::before の font-size（14px）が基準になってしまう */
  margin-top:calc((var(--t-body) * var(--t-lh-ui) - 28px) / 2)}
.p-faq .entry h4{font-size:var(--t-body);font-weight:700;line-height:var(--t-lh-ui);
  margin:32px 0 0;padding:16px 22px;background:var(--c-blue-bg);border-radius:12px}
.p-faq .entry h4::before{content:"Q";background:var(--c-blue)}
.p-faq .entry h4 + p{margin-top:18px}
.p-faq .entry h4 + p::before{content:"A";background:var(--c-yellow);
  margin-top:calc((var(--t-body) * var(--t-lh) - 28px) / 2)}

/* 区切り線は出さない。
   ★本体サイトは本文に hr を1本も使っていない（実測）。
     原稿の `---` は節の区切りの合図であって、線を引けという指示ではない */
.entry hr{display:none}

/* 子ページへの入口：本体の関連ページと同じピル型 */
.entry__children{display:flex;flex-wrap:wrap;gap:12px;margin:40px 0 0;padding:0;list-style:none}
.entry__children a{display:inline-flex;align-items:center;min-height:48px;padding:10px 24px;
  background:var(--c-blue);color:var(--c-surface);border-radius:var(--s-radius-pill);
  font-size:var(--t-note);font-weight:500;text-decoration:none}
.entry__children a:hover{opacity:.82}

/* ---- フォーム（Contact Form 7） ----
   ★入力欄は52px以上。ラジオはラベルごと押せる面にする（指で押す前提） */
.form{max-width:720px;margin:40px auto 0}
.form__row{margin-bottom:28px}
.form__label{display:block;font-weight:700;margin-bottom:8px}
.form__req,.form__any{display:inline-block;margin-left:8px;padding:3px 12px;border-radius:var(--s-radius-pill);
  font-size:var(--t-label);font-weight:700;vertical-align:2px;line-height:1.5}
.form__req{background:var(--c-blue);color:var(--c-surface)}
.form__any{background:var(--c-bg);color:var(--c-gray);border:1px solid var(--c-line)}
.form__note{display:block;font-size:var(--t-note);color:var(--c-gray);margin:0 0 10px}
.form input[type=text],.form input[type=email],.form input[type=tel],.form textarea,.form select{
  width:100%;min-height:52px;padding:14px 16px;border:1px solid var(--c-line);border-radius:12px;
  background:var(--c-surface);color:var(--c-ink);font-family:inherit;font-size:var(--t-body);line-height:var(--t-lh-ui)}
.form textarea{min-height:120px;resize:vertical}
.form input:focus,.form textarea:focus,.form select:focus{outline:2px solid var(--c-blue);outline-offset:1px;border-color:var(--c-blue)}
.form ::placeholder{color:var(--c-ink);opacity:.45}
.form .wpcf7-list-item{display:block;margin:0 0 8px}
.form .wpcf7-list-item label{display:flex;align-items:center;gap:12px;min-height:52px;padding:8px 16px;
  border:1px solid var(--c-line);border-radius:12px;background:var(--c-surface);cursor:pointer;font-weight:500}
.form .wpcf7-list-item label:hover{border-color:var(--c-blue)}
.form .wpcf7-list-item input{flex:none;width:20px;height:20px;accent-color:var(--c-blue)}
.form__consent{margin:32px 0 0;padding:20px 24px;background:var(--c-bg);border:1px solid var(--c-line);border-radius:var(--s-radius);text-align:center}
.form__consent .wpcf7-list-item{display:inline-block;margin:0}
.form__consent label{display:inline-flex;align-items:center;gap:10px;min-height:44px;border:0;padding:0;background:none}
.form__consent a{display:inline-block;padding:10px 2px}
.form .form__submit{margin:32px 0 0;text-align:center}   /* ★.entry p に負けるのでクラス2つにする */
.form input[type=submit]{min-height:64px;padding:8px 48px;border:0;border-radius:var(--s-radius-pill);
  background:var(--c-yellow);color:var(--c-surface);font-family:inherit;font-size:var(--t-body);font-weight:700;
  letter-spacing:var(--t-ls-h);cursor:pointer;transition:opacity .2s}
.form input[type=submit]:hover{opacity:.82}
.form input[type=submit]:disabled{opacity:.5;cursor:default}
.form .form__after{margin-top:20px;text-align:center;color:var(--c-gray)}   /* ★同上 */
.wpcf7-not-valid-tip{display:block;margin-top:8px;font-size:var(--t-note);font-weight:700;color:var(--c-ink-sub)}
.wpcf7 form .wpcf7-response-output{margin:24px 0 0;padding:16px 20px;border:1px solid var(--c-line);
  border-radius:var(--s-radius);background:var(--c-surface);font-size:var(--t-note);text-align:center}
.wpcf7-spinner{display:block;margin:12px auto 0}

/* 葉っぱイラストの配置フック（画像は後日。ここでは何も描画しない） */
.leaf{position:absolute;pointer-events:none;z-index:0;background:no-repeat center/contain}





/* ★このブロックは 



/* block: header */
.header{position:relative;z-index:2}
/* 水彩の空：既存①の淡い青と白いにじみをグラデーションで近似 */
.header::before,.header::after{
  content:"";position:absolute;left:0;right:0;top:0;height:640px;z-index:-1;pointer-events:none;
  -webkit-mask-image:linear-gradient(to bottom, var(--c-ink) 45%, transparent);
          mask-image:linear-gradient(to bottom, var(--c-ink) 45%, transparent);
}
.header::before{
  background:
    radial-gradient(55% 260px at 82% 0, var(--c-blue-v), transparent 72%),
    radial-gradient(50% 220px at 18% 10px, var(--c-blue), transparent 70%),
    radial-gradient(35% 180px at 50% 120px, var(--c-blue-v), transparent 70%),
    var(--c-sky);
  opacity:.38;
}
.header::after{
  background:
    radial-gradient(30% 90px at 30% 70px, var(--c-surface), transparent 70%),
    radial-gradient(26% 80px at 66% 40px, var(--c-surface), transparent 70%),
    radial-gradient(22% 120px at 92% 160px, var(--c-surface), transparent 70%),
    radial-gradient(28% 110px at 8% 180px, var(--c-surface), transparent 70%);
  opacity:.85;
}
.header__row{
  min-height:calc(var(--s-header-h-pc) - 64px);
  display:flex;align-items:flex-end;justify-content:space-between;gap:24px;
  padding-top:14px;padding-bottom:14px;
}
.header__tagline{font-size:var(--t-label);line-height:var(--t-lh-ui);margin-bottom:8px}
.header__brand{display:flex;align-items:center;gap:16px;flex-wrap:wrap}
.logo{display:block;width:min(550px,62vw)}
.logo svg{width:100%;height:auto}
.recruit-tag{
  display:inline-block;padding:4px 16px;border-radius:var(--s-radius-pill);
  background:var(--c-blue);color:var(--c-surface);
  font-size:var(--t-note);font-weight:700;line-height:var(--t-lh-ui);letter-spacing:var(--t-ls-h);
}
.header__contact{text-align:right;flex:none}
.header__tel{display:inline-flex;align-items:baseline;gap:6px;padding:9px 0;font-weight:500;line-height:var(--t-lh-display);letter-spacing:var(--t-ls-h)}
.header__tel small{font-size:var(--t-note)}
.header__tel span{font-size:var(--t-h1)}
.header__addr{font-size:var(--t-label);line-height:var(--t-lh-ui);margin-top:6px}

/* ナビ：横並び＋縦の細い区切り線。スクロールで白帯固定 */
.gnav-sentinel{height:1px}
.gnav{position:sticky;top:0;z-index:60;transition:background-color .2s}
.gnav.is-stuck{background:var(--c-surface);box-shadow:0 1px 0 var(--c-line)}

/* ---- メガメニュー ----
   本体サイトと同じ組み：ナビの下に全幅の白い面が降りてくる（position:absolute・opacity/visibility）
   ★中身はWordPressの固定ページの親子から自動で出す。ページが増えたら勝手に載る */
.gnav__item{position:static}
.mega{position:absolute;left:0;right:0;top:100%;z-index:70;
  background:var(--c-surface);border-top:1px solid var(--c-line);
  padding:40px 0 48px;opacity:0;visibility:hidden;transition:opacity .25s,visibility .25s}
.gnav__item:hover .mega,.gnav__item:focus-within .mega,.mega.is-open{opacity:1;visibility:visible}
.mega__inner{width:var(--s-container);margin-inline:auto}
.mega__head{margin-bottom:24px;padding-bottom:16px;border-bottom:1px solid var(--c-line)}
.mega__head{text-align:left}
.gnav__list .mega__head .mega__title{display:inline-flex;align-items:center;min-height:44px;font-size:var(--t-h3);font-weight:700;letter-spacing:var(--t-ls-h);color:var(--c-ink);text-decoration:none}
.gnav__list .mega__head .mega__title:hover{color:var(--c-blue)}
/* ★ナビの区切り線（.gnav__list li の border-left）がメガメニューのliにも当たる。打ち消す */
.gnav__list .mega__list li,.gnav__list .mega__list li:last-child,
.gnav__list .mega__sub li,.gnav__list .mega__sub li:last-child{border:0}
.mega__list{display:grid;grid-template-columns:repeat(3,1fr);gap:4px 32px;margin:0;padding:0;list-style:none;align-items:start}
.mega__item{min-width:0}
.mega__list .mega__item > a{display:flex;align-items:center;min-height:44px;white-space:normal;padding:8px 0 8px 22px;position:relative;
  font-size:var(--t-note);font-weight:500;color:var(--c-ink);text-decoration:none;line-height:var(--t-lh-ui);
  text-align:left}
.mega__list .mega__item > a::before{content:"";position:absolute;left:0;top:50%;transform:translateY(-50%);
  width:8px;height:8px;border-radius:50%;background:var(--c-blue)}
.mega__list .mega__item > a:hover{color:var(--c-blue)}
.mega__sub{margin:0 0 8px;padding:0 0 0 22px;list-style:none}
.mega__list .mega__sub a{display:flex;align-items:center;min-height:40px;white-space:normal;padding:4px 0 4px 16px;position:relative;
  font-size:var(--t-note);color:var(--c-gray);text-decoration:none;text-align:left}
.mega__list .mega__sub a::before{content:"";position:absolute;left:0;top:50%;width:8px;height:1px;background:var(--c-line)}
.mega__list .mega__sub a:hover{color:var(--c-blue)}
.gnav.is-stuck{background:var(--c-surface)}
.gnav__bar{display:none}
.gnav__list{display:flex;padding-block:10px}
.gnav__list li{flex:1 1 auto;border-left:1px solid var(--c-line)}
.gnav__list li:last-child{border-right:1px solid var(--c-line)}
.gnav__list a{
  display:block;text-align:center;padding:8px 12px;
  font-size:var(--t-body);line-height:var(--t-lh);white-space:nowrap;
  transition:color .2s;
}
.gnav__list a:hover{color:var(--c-blue)}

@media (max-width:1023px){
  /* ナビは折りたたみ（白帯の固定バーにメニューボタン） */
  .header__row{min-height:auto;padding-top:14px}
  .gnav{background:var(--c-surface)}
  .gnav__bar{display:flex;align-items:center;justify-content:space-between;min-height:56px}
  /* ★院名は略さない（2026-10-12）。「まちなかクリニック 採用」と縮めていた。
     幅に収めるため、院名は14px、「採用サイト」は小さく添える */
  /* ★院名は略さない。「採用サイト」は付けない（2026-10-13）。
     付けると390pxで院名が2行に折り返す。タグラインに既に入っている */
  .gnav__bar-name{font-size:var(--t-label);font-weight:700;letter-spacing:.01em;white-space:nowrap}
  .gnav__toggle{display:inline-flex;align-items:center;gap:8px;padding:11px 16px;border-radius:var(--s-radius-pill);background:var(--c-blue-pale);font-size:var(--t-note);font-weight:700}
  .gnav__toggle svg{width:18px;height:18px}
  .gnav__list{display:none;flex-direction:column;padding:0 0 16px}
  .gnav.is-open .gnav__list{display:flex}
  .gnav__list li,.gnav__list li:last-child{border:0;border-top:1px solid var(--c-line)}
  .gnav__list a{text-align:left;padding:14px 4px;font-size:var(--t-body)}
}
@media (max-width:767px){
  .header__row{flex-direction:column;align-items:flex-start;gap:10px}
  /* ★公式サイトに合わせる（2026-10-12 実測）。
     公式はスマホのヘッダーに電話番号・住所を出していない（タグライン＋ロゴの2段だけ）。
     採用サイトは5段になっていた。固定CTAに「電話する」があるので重複でもある */
  .header__contact{display:none}
  .header__tel span{font-size:var(--t-h3)}
  .logo{width:min(330px,100%)}
  /* ★ロゴの下の「採用サイト」は出さない（2026-10-13）。
     スクロール時の帯にも同じ語があり、スマホでは2回出てくどい。
     タグラインにも「…採用サイト」と入っているので情報は落ちない */
  .recruit-tag{display:none}
}

/* block: fv */
.fv{position:relative;padding-top:8px}
.fv__stage{position:relative;background:var(--c-sky);border-radius:var(--s-radius-lg);overflow:hidden}
.fv__photo{display:block;width:100%;aspect-ratio:1400/801;object-fit:cover;border-radius:0}
.fv__photo::after{inset:24px 28px auto auto;transform:none;text-align:right;max-width:46%}
/* KV右側の「売り」。たかしな内科と同じ、円形の面に1項目ずつ */
/* FVの訴求6点（2026-10-12 改訂）
   ★写真の上に丸6個を重ねるのをやめた。写真の右半分が隠れていたため。
     写真の下に、罫線で区切った1本の帯として置く */
.fv__points{position:static;transform:none;z-index:2;
  display:grid;grid-template-columns:repeat(6,1fr);gap:0;margin:16px auto 0;padding:0;list-style:none;
  width:min(1400px,96%);background:var(--c-surface);border:1px solid var(--c-blue-line);
  border-radius:14px;overflow:hidden}
.fv__points li{aspect-ratio:auto;border-radius:0;background:transparent;border:0;
  border-right:1px solid var(--c-blue-line);
  display:grid;place-content:center;text-align:center;padding:20px 12px;
  font-size:var(--t-note);line-height:var(--t-lh-ui);font-weight:500}
.fv__pt-icon{display:none}   /* 2026-10-12：丸をやめたのでアイコンも外す */
.fv__pt-icon svg{width:100%;height:100%}
.fv__points em{font-style:normal;font-weight:700;color:var(--c-blue)}

.fv__copy{
  position:absolute;left:6.5%;top:24%;z-index:2;
  display:flex;flex-direction:column;align-items:flex-start;gap:12px;
}
.fv__copy span{
  display:block;background:var(--c-surface);border-radius:10px;
  padding:8px 22px;font-size:var(--t-h2);font-weight:700;line-height:var(--t-lh-tight);letter-spacing:var(--t-ls-h);
}
.fv__copy span:nth-child(2){margin-left:1.4em}
.fv__copy span:nth-child(3){margin-left:2.8em}
.fv__copy em{font-style:normal;color:var(--c-blue)}

.fv__sub{
  margin-top:clamp(72px,8vw,110px);text-align:center;
  font-size:var(--t-body);line-height:var(--t-lh);font-weight:700;letter-spacing:var(--t-ls-h);
}
.fv__sub p + p{margin-top:12px}
.fv__sub strong{color:var(--c-ink-sub);background:linear-gradient(transparent 62%, var(--c-yellow-p) 62%)}
.fv__actions{margin-top:36px;display:flex;justify-content:center;gap:16px;flex-wrap:wrap}

/* 診療時間表（FV・フッター共通） */
.hours{width:100%;border-collapse:separate;border-spacing:0;background:var(--c-surface);border-radius:12px;overflow:hidden;font-variant-numeric:tabular-nums;font-size:var(--t-label);line-height:var(--t-lh-ui)}
.hours th,.hours td{text-align:center;padding:9px 4px;border-bottom:1px solid var(--c-line)}
.hours tr:last-child th,.hours tr:last-child td{border-bottom:0}
.hours thead th{background:var(--c-blue);color:var(--c-surface);font-weight:700}
.hours tbody th{text-align:left;padding-left:12px;font-weight:500;white-space:nowrap;border-right:1px solid var(--c-line)}
.hours td{color:var(--c-blue);width:9%}
.hours td.no{color:var(--c-gray)}
.hours caption{caption-side:bottom;text-align:left;padding:8px 2px 0;font-size:var(--t-label);color:var(--c-gray)}

@media (max-width:1180px){
  .fv__copy span{padding:6px 18px}
}
@media (max-width:1023px){
  /* FV：コピーと時間表を写真の下へ。階段状のパネルは写真下端に重ねる */
  .fv__copy{position:relative;left:auto;top:auto;margin:-48px 0 0 5%}
  /* FVの帯：6列→3列（2026-10-12） */
  .fv__points{grid-template-columns:repeat(3,1fr)}
  .fv__points li:nth-child(3n){border-right:0}
  .fv__points li:nth-child(-n+3){border-bottom:1px solid var(--c-blue-line)}
}
@media (max-width:767px){
  .fv__stage{width:100%}
  /* ★スマホは横長だとコピーで写真が埋まる。縦に伸ばして両立させる（2026-10-13） */
  .fv__photo{border-radius:0 0 var(--s-radius-lg) var(--s-radius-lg);aspect-ratio:4/3}
  .fv__photo{width:100%}
  .fv__points{width:var(--s-container);margin:16px auto 0;grid-template-columns:repeat(2,1fr);gap:0}
  .fv__points li{font-size:var(--t-label);padding:14px 10px;border-bottom:1px solid var(--c-blue-line)}
  .fv__points li:nth-child(3n){border-right:1px solid var(--c-blue-line)}
  .fv__points li:nth-child(2n){border-right:0}
  .fv__points li:nth-last-child(-n+2){border-bottom:0}
  .fv__pt-icon{width:26px;height:26px;margin-bottom:4px}
  /* ★キャッチコピーは写真の上に重ねる（2026-10-13）。
     1023px側で position:relative にしていたため、スマホでは3行が写真の外へ出ていた */
  .fv__copy{position:absolute;left:4%;right:4%;bottom:14px;top:auto;margin:0;gap:6px;z-index:2}
  .fv__copy span{font-size:var(--t-h3);padding:6px 14px;max-width:100%}
  .fv__copy span:nth-child(2){margin-left:.4em}
  .fv__copy span:nth-child(3){margin-left:.8em}
}

/* block: jobs */
.jobs__grid{display:grid;grid-template-columns:repeat(3,1fr);gap:var(--s-gap)}
.job{background:var(--c-surface);border-radius:var(--s-radius);padding:20px 20px 28px;display:flex;flex-direction:column}
.job__photo{aspect-ratio:3/2;border-radius:14px}
.job__type{margin-top:22px;display:flex;align-items:center;gap:10px}
.job__type small{font-size:var(--t-label);background:var(--c-yellow-p);color:var(--c-ink-sub);padding:2px 12px;border-radius:6px;line-height:var(--t-lh-ui)}
.job__title{margin-top:10px;font-size:var(--t-h3);font-weight:700;line-height:var(--t-lh-tight);letter-spacing:var(--t-ls-h);padding-inline:6px}
.job__text{margin-top:12px;padding-inline:6px;flex:1}
.job__text strong{font-weight:700;color:var(--c-ink-sub)}
.job .textlink{margin-top:20px;align-self:flex-end}

@media (max-width:1023px){
  /* ---- 多段のグリッドを畳む ----
     ★2026-10-05：この下の 767px ブロックが配信されておらず（閉じ括弧の欠落）、
       TOPの3列・4列がスマホでもそのまま出ていた。段階を2つに分けて畳む */
  .jobs__grid{grid-template-columns:repeat(2,1fr)}
}
@media (max-width:767px){
  /* ---- 1列に畳む ---- */
  .jobs__grid{grid-template-columns:1fr}
}

/* block: workstyle */
.ws__list{display:flex;flex-direction:column;gap:clamp(56px,7vw,100px)}
.ws__item{display:grid;grid-template-columns:1fr 1fr;gap:clamp(32px,5vw,64px);align-items:center;position:relative}
.ws__photo{aspect-ratio:5/3;border-radius:var(--s-radius-lg)}
.ws__item:nth-child(even) .ws__photo{order:2}
/* 連番（2026-10-12 改訂）。★順序ではなく並列の選択肢なので、読ませる数字にしない。
   造形として大きく薄く置き、見出しがその上に重なる形にする */
.ws__num{font-family:var(--t-en-face);font-size:clamp(52px,7vw,96px);font-weight:700;
  line-height:.82;letter-spacing:-.04em;color:rgb(64 34 15 / .13)}
.ws__title{margin-top:-.22em;position:relative;font-size:var(--t-h3);font-weight:700;line-height:var(--t-lh-tight);letter-spacing:var(--t-ls-h)}
.ws__meta{margin-top:14px;font-size:var(--t-note);line-height:var(--t-lh-ui);color:var(--c-ink)}
.ws__text{margin-top:10px;max-width:34em}
.ws__text strong{font-weight:700;color:var(--c-ink-sub)}
.ws__body .textlink{margin-top:22px}
.ws__item:nth-child(odd) .ws__body{padding-right:clamp(0px,3vw,40px)}
.ws__item:nth-child(even) .ws__body{padding-left:clamp(0px,3vw,40px)}

@media (max-width:767px){
  /* 働き方：写真の上下入れ替えをやめ、写真→本文の順に揃える */
  .ws__item{grid-template-columns:1fr;gap:20px}
  .ws__item:nth-child(even) .ws__photo{order:0}
  .ws__item:nth-child(odd) .ws__body,.ws__item:nth-child(even) .ws__body{padding:0}
}

/* block: numbers */
/* 数字（2026-10-12 改訂）。★カードをやめた。白い箱が6つ並ぶと数字より箱が目に入る */
.numbers__grid{display:grid;grid-template-columns:repeat(3,1fr);gap:0;border-top:1px solid var(--c-blue-line)}
.stat{display:flex;flex-direction:column;background:transparent;border-radius:0;text-align:left;
  padding:32px 24px 28px;border-bottom:1px solid var(--c-blue-line);border-right:1px solid var(--c-blue-line)}
.stat:nth-child(3n){border-right:0}
.stat__value{order:-1;font-size:clamp(42px,5.6vw,88px);font-weight:700;line-height:var(--t-lh-display);color:var(--c-ink-sub);font-variant-numeric:tabular-nums;letter-spacing:var(--t-ls-h)}
.stat__value small{font-size:var(--t-h3);font-weight:700;margin-left:2px;color:var(--c-ink)}
.stat__label{margin-top:14px;text-align:left;font-size:var(--t-note);line-height:var(--t-lh-ui);color:var(--c-gray)}
.stat__label::before{display:none}
.numbers__note{
  margin:40px auto 0;max-width:760px;background:var(--c-yellow-p);border-radius:var(--s-radius);
  padding:24px 32px;text-align:center;font-weight:700;letter-spacing:var(--t-ls-h)
}
.numbers__note strong{color:var(--c-ink-sub)}

@media (max-width:1023px){
  .numbers__grid{grid-template-columns:repeat(2,1fr)}
  .stat:nth-child(3n){border-right:1px solid var(--c-blue-line)}
  .stat:nth-child(2n){border-right:0}
}
@media (max-width:767px){
  /* 数字：1列。罫線は下だけ */
  .numbers__grid{grid-template-columns:1fr}
  .stat{border-right:0;padding:24px 4px 22px}
  .numbers__grid{grid-template-columns:1fr}
}

/* block: fields */
.fields__grid{display:grid;grid-template-columns:1fr 1fr;gap:var(--s-gap)}
.field{background:var(--c-surface);border-radius:var(--s-radius);padding:clamp(28px,3.5vw,44px);display:flex;flex-direction:column}
.field__head{display:flex;align-items:center;gap:14px;flex-wrap:wrap}
.field__icon{width:56px;height:56px;border-radius:50%;display:grid;place-items:center;flex:none;background:var(--c-blue-pale);color:var(--c-blue)}
.field--home .field__icon{background:var(--c-yellow-p);color:var(--c-yellow)}
.field__icon svg{width:28px;height:28px}
.field__title{font-size:var(--t-h2);font-weight:700;line-height:var(--t-lh-tight);letter-spacing:var(--t-ls-h)}
.field__title small{display:block;font-size:var(--t-note);font-weight:500;color:var(--c-gray);letter-spacing:var(--t-ls)}
.field__list{margin-top:28px;display:grid;grid-template-columns:1fr 1fr;gap:10px 20px;flex:1;align-content:start}
.field__list li{display:flex;gap:10px;align-items:flex-start;line-height:var(--t-lh-ui);padding-block:4px}
.field__list li::before{content:"";flex:none;width:8px;height:8px;margin-top:8px;border-radius:50%;background:var(--c-green)}
.field__cert{
  margin-top:28px;padding:14px 18px;border-radius:12px;border:1px solid var(--c-line);
  font-size:var(--t-note);line-height:var(--t-lh-ui);font-weight:700;display:flex;gap:10px;align-items:center
}
.field__cert svg{flex:none;width:20px;height:20px;color:var(--c-green)}
.fields__note{margin-top:40px;text-align:center}
.fields__note p{font-weight:700;letter-spacing:var(--t-ls-h)}
.fields__note strong{color:var(--c-ink-sub)}
.fields__note .btn{margin-top:20px}

@media (max-width:767px){
  .fields__grid{grid-template-columns:1fr}
  .field__list{grid-template-columns:1fr}
}

/* block: about */
.about__grid{display:grid;grid-template-columns:minmax(0,5fr) minmax(0,7fr);gap:clamp(32px,6vw,80px);align-items:center}
.about__photo{aspect-ratio:3/4;border-radius:var(--s-radius-lg);max-width:440px;width:100%}
.about__catch{font-size:var(--t-h2);font-weight:700;line-height:var(--t-lh-tight);letter-spacing:var(--t-ls-h)}
.about__lead{margin-top:20px}
.about__sign{margin-top:16px;font-size:var(--t-note);color:var(--c-gray)}
.about__links{margin-top:32px;display:flex;flex-direction:column;gap:12px}
.about__links a{
  display:flex;align-items:center;justify-content:space-between;gap:16px;
  background:var(--c-surface);border-radius:var(--s-radius);padding:18px 18px 18px 28px;
  font-weight:700;letter-spacing:var(--t-ls-h);transition:color .2s;
}
.about__links a:hover{color:var(--c-blue)}
.about__links .btn__arrow{background:var(--c-blue);color:var(--c-surface)}

@media (max-width:767px){
  /* 院長あいさつ：写真を上に、本文を下に */
  .about__grid{grid-template-columns:1fr;gap:24px}
  .about__photo{max-width:100%}
}

/* block: flow */
/* ★TOPで唯一の「画面の端まで届く面」。2026-10-12：角丸の箱をやめてフルブリードにした */
.flow__band{background:var(--c-blue-pale);border-radius:0;position:relative;
  width:100%;max-width:none;margin-inline:0;
  padding:clamp(48px,6vw,88px) max(4vw,calc(50vw - 650px))}
.flow .sec-head__lead{font-weight:500}
.flow .sec-head__lead strong{font-weight:700;color:var(--c-ink-sub)}
.assure{display:grid;grid-template-columns:repeat(4,1fr);gap:16px}
.assure li{background:var(--c-surface);border-radius:var(--s-radius);padding:28px 18px 24px;text-align:center}
.assure__icon{width:64px;height:64px;margin:0 auto 14px;border-radius:50%;background:var(--c-blue-pale);color:var(--c-blue-v);display:grid;place-items:center}
.assure__icon svg{width:30px;height:30px}
.assure__title{font-size:var(--t-body);font-weight:700;line-height:var(--t-lh-tight);letter-spacing:var(--t-ls-h)}
.assure__text{margin-top:8px;font-size:var(--t-note);line-height:var(--t-lh-ui);color:var(--c-gray)}

.steps__title{margin-top:56px;text-align:center;font-size:var(--t-h3);font-weight:700;letter-spacing:var(--t-ls-h)}
.steps{margin-top:24px;display:grid;grid-template-columns:repeat(4,1fr);gap:28px;counter-reset:step}
.steps li{position:relative;background:var(--c-surface);border-radius:var(--s-radius);padding:22px 18px;text-align:center}
.steps li:not(:last-child)::after{
  content:"";position:absolute;right:-19px;top:50%;width:10px;height:10px;
  border-top:2px solid var(--c-blue-v);border-right:2px solid var(--c-blue-v);transform:translateY(-50%) rotate(45deg);
}
.steps__no{display:inline-grid;place-items:center;width:32px;height:32px;border-radius:50%;background:var(--c-blue-v);color:var(--c-surface);font-size:var(--t-note);font-weight:700;font-variant-numeric:tabular-nums}
.steps__name{margin-top:10px;font-weight:700;line-height:var(--t-lh-tight)}
.steps__meta{margin-top:6px;font-size:var(--t-label);line-height:var(--t-lh-ui);color:var(--c-gray)}

.flow__cta{margin-top:56px;display:flex;justify-content:center;gap:16px;flex-wrap:wrap}
.flow__cta-note{margin-top:16px;text-align:center;font-size:var(--t-note);color:var(--c-gray)}
.flow__tel{font-variant-numeric:tabular-nums}

@media (max-width:1023px){
  .assure{grid-template-columns:repeat(2,1fr)}
  .steps{grid-template-columns:repeat(2,1fr)}
  .steps li:not(:last-child)::after{display:none}
}
@media (max-width:767px){
  .steps{grid-template-columns:1fr;gap:12px}
}

/* block: column */
.column__box{display:grid;grid-template-columns:clamp(220px,26%,300px) 1fr;border-radius:var(--s-radius);overflow:hidden;background:var(--c-surface)}
.column__side{background:var(--c-yellow);color:var(--c-surface);display:grid;place-content:center;text-align:center;padding:32px}
.column__side h2{font-size:var(--t-h3);font-weight:700;letter-spacing:.12em;line-height:var(--t-lh-tight)}
.column__side p{margin-top:10px;font-size:var(--t-note);line-height:var(--t-lh-ui)}
.column__main{padding:clamp(24px,3.5vw,48px)}
.column__grid{display:grid;grid-template-columns:repeat(3,1fr);gap:var(--s-gap)}
.post a{display:block}
.post__thumb{aspect-ratio:16/9;border-radius:12px}
img.ph.post__thumb--logo{object-fit:contain;background:var(--c-sky);padding:8% 10%}
.post__meta{margin-top:14px;display:flex;align-items:center;gap:10px;flex-wrap:wrap}
.post__tag{font-size:var(--t-label);line-height:var(--t-lh-ui);background:var(--c-yellow-p);color:var(--c-ink-sub);padding:3px 10px;border-radius:4px}
.post__date{font-size:var(--t-note);font-variant-numeric:tabular-nums;font-weight:700}
.post__title{font-size:var(--t-body);margin-top:10px;font-weight:700;line-height:var(--t-lh-ui);letter-spacing:var(--t-ls-h)}
.post a:hover .post__title{font-size:var(--t-body);color:var(--c-blue)}
.post__lead{margin-top:8px;font-size:var(--t-note);line-height:var(--t-lh);color:var(--c-gray)}
.column__more{margin-top:32px;text-align:right}

@media (max-width:1023px){
  .column__box{grid-template-columns:1fr}
  .column__grid{grid-template-columns:repeat(2,1fr)}
}
@media (max-width:767px){
  .column__grid{grid-template-columns:1fr}
}

/* block: footer */
/* フッター：本体サイトと同じ淡い水色＋右下のテクスチャ（2026-10-04 実測 #EEF9FE / common-bgi.png） */
/* ★フッターの上に余白を「外」に持たせない（2026-10-12）
   margin-top を入れると、地の色(--bg #F9FBF3 わずかに緑)の帯が水色のフッターの上に出る。
   近い明度の白が2色隣り合って、不具合に見える。本体サイトは隙間ゼロ（実測）。
   余白はフッターの内側（padding-top）に持たせる */
.footer{background:var(--c-sky) url(../img/common-bgi.png) repeat 100% 100%;
  margin-top:0;padding-top:clamp(56px,7vw,104px);padding-bottom:calc(78px + 40px)}
/* 2026-10-13：左列が668px幅で中身は204px、右の表は514px。
   左に310pxの空白ができていた。左は院名ブロックの実寸に合わせて絞り、表を広げる */
.footer__grid{display:grid;grid-template-columns:minmax(0,440px) minmax(0,1fr);
  gap:clamp(28px,3.5vw,48px) clamp(32px,5vw,72px);align-items:start}
/* 左列は院名ブロックだけで中身が短い。上下中央に置いて、余白を上下に分ける。
   （左下に300pxの穴が空くのを避ける。2026-10-13） */
.footer__brand{align-self:center}
.footer__name{font-size:var(--t-note);font-weight:500;letter-spacing:var(--t-ls);line-height:var(--t-lh-ui);color:var(--c-ink)}
.footer__logo{display:block;width:min(420px,100%);margin-top:6px}
.footer__logo img{display:block;width:100%;height:auto}
.footer__name small{display:block;font-size:var(--t-note);font-weight:500;color:var(--c-ink);letter-spacing:var(--t-ls)}
.footer__info{margin-top:24px;font-size:var(--t-note);line-height:var(--t-lh)}
.footer__info dt{float:left;clear:left;width:4.5em;color:var(--c-gray)}
.footer__info dd{margin-left:4.5em}
.footer__tel{display:inline-flex;align-items:center;min-height:44px;font-size:var(--t-h3);font-weight:500;font-variant-numeric:tabular-nums;letter-spacing:var(--t-ls-h)}
.footer__hours-title{font-size:var(--t-note);font-weight:700;margin-bottom:10px}
.footer__jobs{width:100%;border-collapse:collapse;background:var(--c-surface);
  border:1px solid var(--c-blue-line);border-radius:var(--s-radius);overflow:hidden;
  font-size:var(--t-note);line-height:var(--t-lh-ui);font-variant-numeric:tabular-nums}
/* 2026-10-12：条件が数字の途中で折り返して読みにくかった。
   ・th の固定幅＋nowrap をやめ、職種名が自然に収まるようにした
   ・条件は <span class="opt"> ごとに1行。金額の途中では折り返さない */
.footer__jobs th,.footer__jobs td{padding:16px 18px;border-bottom:1px solid var(--c-blue-line);text-align:left;vertical-align:top}
.footer__jobs th{width:14.5em;font-weight:700;background:var(--c-blue-pale);line-height:1.5}
.footer__jobs .opt{display:block}
.footer__jobs .opt + .opt{margin-top:4px}
.footer__jobs .num{white-space:nowrap;color:var(--c-ink-sub)}
.footer__jobs tr:last-child th,.footer__jobs tr:last-child td{border-bottom:0}
.footer__jobs-note{margin-top:12px}
.footer__nav{margin-top:clamp(32px,4vw,48px);padding-top:28px;border-top:1px solid var(--c-blue-line);
  display:flex;flex-wrap:wrap;gap:4px 32px;list-style:none;padding-left:0}
.footer__nav li{font-size:var(--t-note);line-height:var(--t-lh-ui)}
.footer__nav a{display:inline-flex;align-items:center;min-height:44px}
/* ★区切りの縦線は使わない。折り返したとき2行目の先頭に線だけが残る（2026-10-13） */
.footer__nav a:hover{color:var(--c-blue)}
.footer__copy{margin-top:28px;font-size:var(--t-label);color:var(--c-gray)}

@media (max-width:1023px){
  /* 横向きの矢印は1列並びのときだけ */
  .footer__grid{grid-template-columns:1fr}
  .footer__brand{align-self:start}
}
@media (max-width:767px){
  /* フッター：定義リストと募集条件の表を縦に積む（4.5emの回り込みと11emの固定幅が入らない） */
  .footer__info dt{float:none;width:auto;margin-top:10px}
  .footer__info dd{margin-left:0}
  .footer__jobs th,.footer__jobs td{display:block;width:auto;white-space:normal;border-bottom:0}
  .footer__jobs th{padding-bottom:6px;width:auto}
  .footer__jobs tr{display:block;border-bottom:1px solid var(--c-blue-line)}
  .footer__jobs tr:last-child{border-bottom:0}
}

/* block: actionbar */
.actionbar{position:fixed;right:0;bottom:0;z-index:80;display:flex;box-shadow:var(--s-shadow)}
.actionbar a{
  width:193px;min-height:78px;display:flex;align-items:center;justify-content:center;gap:8px;
  color:var(--c-surface);font-size:var(--t-note);font-weight:700;line-height:var(--t-lh-tight);letter-spacing:var(--t-ls-h);
  transition:opacity .2s;
}
.actionbar a:hover{opacity:.85}
.actionbar svg{width:16px;height:16px;flex:none}
.actionbar__visit{background:var(--c-yellow)}
.actionbar__line{background:var(--c-line-green)}
/* 2026-10-13：採用サイトからの電話はほぼ無いため、3つ目は公式サイトへの導線に変更 */
.actionbar__site{background:var(--c-ink)}

@media (max-width:1023px){
  /* 固定CTA：右下の3分割から、画面下いっぱいの3等分へ（右端に寄せると親指が届かない） */
  .actionbar{left:0;right:0;display:grid;grid-template-columns:repeat(3,1fr)}
  .actionbar a{width:auto;min-height:64px}
}
@media (max-width:767px){
  /* 固定CTA：3等分のまま、アイコンを文字の上へ */
  .actionbar a{flex-direction:column;gap:4px;min-height:60px;font-size:var(--t-label);padding:6px 4px;text-align:center}
}

/* base media */
@media (max-width:1023px){
  /* SPは折りたたみナビの中に入れる。開いた状態で並べる（階層を隠さない） */
  .mega{position:static;opacity:1;visibility:visible;padding:0 0 12px;border:0;background:none}
  .mega__inner{width:auto}
  .mega__head{display:none}
  .mega__list{grid-template-columns:1fr;gap:0}
  .mega__list .mega__item > a{padding-left:20px;font-size:var(--t-note)}
  .mega__sub{padding-left:20px}
  .arc__grid{grid-template-columns:repeat(2,1fr)}
}
@media (max-width:767px){
  /* セクション見出しの背後の欧文も縮める */
  .sec-head::before{font-size:clamp(46px,14vw,80px);transform:translateY(-62%)}
  .arc__grid{grid-template-columns:1fr}
  /* 下層：表のth固定幅を解除（SPでは2列に入らない） */
  .entry th{width:auto}
  .entry h2{padding-left:14px;border-left-width:4px}
  /* FAQ：Q・Aの丸を小さくして字下げを詰める */
  .p-faq .entry h4{padding:14px 16px}
  .p-faq .entry h4,.p-faq .entry h4 + p{gap:10px}
  .p-faq .entry h4::before{width:24px;height:24px;margin-top:calc((var(--t-body) * var(--t-lh-ui) - 24px) / 2)}
  .p-faq .entry h4 + p::before{width:24px;height:24px;margin-top:calc((var(--t-body) * var(--t-lh) - 24px) / 2)}
}
@media の外に置く（画面幅に関係なく効かせる）。
   2026-10-05：1023px のブロックを閉じ忘れていて、中に入り込んでいた。
   結果、スマホでは常にアニメーションが切れ、PCでは設定が無視されていた */
@media (prefers-reduced-motion:reduce){
  *,*::before,*::after{transition:none !important;animation:none !important;scroll-behavior:auto !important}
}