/* =========================================================
   野田矯正歯科クリニック — 下層ページ用（試作 v3）
   greeting / cases / impacted-teeth / second-opinion の <style> の後に読み込み、
   トップ（index-v3 + v3.css）と同じ見た目にそろえる。文章・構成は変えない。
   ========================================================= */
:root{
  --navy:#1f3550; --blue:#1f3550; --blue-soft:#2f7a72; --ink:#28333f; --muted:#5d6874;
  --line:#e3ddd3; --bg-soft:#f6f3ee; --bg-band:#efeae2; --paper:#f6f3ee;
  --accent:#0f9d8f; --accent-dark:#0b7f73; --radius:12px; --max:1120px;
}
body{background:#fff;color:var(--ink);line-height:2;letter-spacing:.04em;font-feature-settings:"palt" 1;}
.wrap{max-width:var(--max);padding:0 24px;}

/* ---------- 最上部の帯・ヘッダー ---------- */
.topbar{background:var(--navy);border:0;}
.topbar .wrap{padding:6px 24px;}
.topbar a{color:rgba(255,255,255,.88);font-size:12px;font-weight:400;}
.topbar .tb-lbl{background:transparent;border:1px solid rgba(255,255,255,.5);color:#fff;border-radius:3px;}
header.top{background:rgba(255,255,255,.97);border-bottom:1px solid var(--line);}
.top .wrap{min-height:72px;}
.brand .mark{font-family:"Noto Serif JP",serif;font-weight:600;font-size:20px;letter-spacing:.1em;color:var(--navy);}
.brand .sub{letter-spacing:.12em;}
.tel .num{font-family:"Noto Serif JP",serif;font-weight:600;font-size:20px;letter-spacing:.03em;color:var(--navy);}
.book{border-radius:4px;background:var(--accent);font-weight:700;letter-spacing:.08em;min-height:44px;}
.book:hover{background:var(--accent-dark);}
.subnav{background:#fff;border-top:1px solid var(--line);}
.subnav a{color:var(--ink);font-size:13.5px;font-weight:500;letter-spacing:.06em;position:relative;}
.subnav a:hover{color:var(--navy);text-decoration:none;}
.subnav a::after{content:"";position:absolute;left:0;right:0;bottom:8px;height:1px;background:var(--navy);transform:scaleX(0);transform-origin:left;transition:transform .3s;}
.subnav a:hover::after{transform:scaleX(1);}

/* ---------- ページの見出し ---------- */
.phead{background:var(--paper);color:var(--navy);}
.phead .wrap{padding:72px 24px 60px;}
.phead .en{display:flex;align-items:center;gap:12px;font-family:"Noto Sans JP",sans-serif;font-size:12px;font-weight:500;letter-spacing:.24em;color:var(--accent-dark);margin-bottom:12px;}
.phead .en::before{content:"";width:28px;height:1px;background:currentColor;}
.phead h1{font-family:"Noto Serif JP",serif;font-weight:500;font-size:clamp(26px,3.2vw,38px);line-height:1.6;letter-spacing:.1em;color:var(--navy);}
.phead p{color:var(--ink)!important;max-width:44em;margin-top:16px;}
.crumb{color:var(--muted);padding:16px 0;}
.crumb a{color:var(--navy);}

/* ---------- 節の見出し ---------- */
.sec-title,h2.cat,h2.sec{font-family:"Noto Serif JP",serif;font-weight:500;color:var(--navy);letter-spacing:.08em;line-height:1.6;}
.sec-title{font-size:26px;margin-bottom:22px;}
.sec-title .en,.cat-en,.en{font-family:"Noto Sans JP",sans-serif;font-weight:500;font-size:12px;letter-spacing:.24em;color:var(--accent-dark);}
.sec-title .en{display:flex;align-items:center;gap:12px;margin-bottom:10px;}
.sec-title .en::before,.cat-en::before{content:"";width:28px;height:1px;background:currentColor;display:inline-block;vertical-align:middle;margin-right:12px;}
h2.cat{font-size:24px;border-bottom:1px solid var(--line);}

/* ---------- 箱・表・リスト（色付きの上線をやめ、細い線と生成りで） ---------- */
.band{background:var(--paper);border:0;}
.card,.member,.case,.doc,.disclaimer{border:1px solid var(--line)!important;border-radius:var(--radius)!important;box-shadow:none;}
.band .card,.band .member,.band .doc{background:#fff;}
.card h3,.case h3{font-family:"Noto Serif JP",serif;font-weight:500;color:var(--navy);letter-spacing:.04em;}
.card .meta,.more{color:var(--navy);}
.case .tag,.tag{background:#fff;color:var(--accent-dark);border:1px solid rgba(15,157,143,.35);border-radius:3px;}
.checks li,.steps li{border-color:var(--line);border-radius:10px;}
.steps li::before{color:var(--accent-dark);}
.info{border-color:var(--line);border-radius:var(--radius);}
.info th{background:var(--bg-band);color:var(--navy);}
.more{display:inline-flex;align-items:center;gap:6px;text-decoration:none;border-bottom:1px solid rgba(31,53,80,.3);padding-bottom:2px;}
.more:hover{text-decoration:none;border-color:var(--navy);}
.faq dt::before{color:var(--accent-dark);}
.greet .photo{border:0;border-radius:14px;}
.greet .role,.member .role,.doc .role{color:var(--accent-dark);}
.greet .name,.member .name{font-weight:500;letter-spacing:.12em;}
.profile{background:var(--paper)!important;border:0!important;border-radius:var(--radius)!important;}
.case-imgs a{border-color:var(--line);border-radius:8px;}

/* ---------- 最後の予約の帯（トップの「初回相談・ご予約」とそろえる） ---------- */
.cta{background:var(--navy);border:0;color:#fff;}
.cta h2{color:#fff;font-weight:500;letter-spacing:.14em;}
.cta p{color:rgba(255,255,255,.85)!important;}
.cta a:not(.btn-book-lg):not(.telbig){color:#fff!important;}
.cta .telbig{color:#fff;font-weight:500;letter-spacing:.06em;}
.btn-book-lg{border-radius:4px;background:var(--accent);font-weight:700;letter-spacing:.08em;}
.btn-book-lg:hover{background:var(--accent-dark);}

/* ---------- フッター ---------- */
footer{background:#172a41;}
.mbar .m-tel{background:var(--navy);}
.mbar .m-book{background:var(--accent);}

@media(max-width:760px){
  .wrap{padding:0 20px;}
  .phead .wrap{padding:44px 20px 36px;}
  .sec-title{font-size:21px;}
  .top .wrap{min-height:58px;}
  .brand .mark{font-size:16.5px;}
  .topbar{display:block;}
  .topbar .wrap{justify-content:center;padding:6px 12px;}
  .topbar .tb-sub{display:none;}
}

/* 2026-10-06：トップと同じく 濃紺のヘッダー／淡い色の最上部の帯／ご予約の確認・変更の帯／大きめの文字 */
body{font-size:17px;}
.topbar{background:#ece5d8;}
.topbar a{color:#1f3550!important;}
.topbar .tb-lbl{border-color:rgba(31,53,80,.45);color:#1f3550;background:#fff;}
header.top{background:#16283f;border-bottom:0;}
.brand .mark{color:#fff;}
.brand .sub{color:rgba(255,255,255,.7);}
.tel .lbl{color:rgba(255,255,255,.7);}
.tel .num{color:#fff;}
.subnav{background:#16283f;border-top:1px solid rgba(255,255,255,.12);}
.subnav a{color:rgba(255,255,255,.92);font-size:14.5px;}
.subnav a:hover{color:#fff;}
.subnav a::after{background:#fff;}
.n-manage{background:#e3f2ef;border-bottom:1px solid #c9e4de;}
.n-manage__in{display:flex;align-items:center;justify-content:space-between;gap:12px 28px;padding-block:14px;flex-wrap:wrap;}
.n-manage__txt{margin:0;display:flex;align-items:baseline;gap:6px 18px;flex-wrap:wrap;color:#1f3550;}
.n-manage__txt b{font-family:"Noto Serif JP",serif;font-weight:600;font-size:18px;letter-spacing:.08em;}
.n-manage__txt span{font-size:15px;}
.n-manage__btn{display:inline-flex;align-items:center;justify-content:center;gap:10px;min-height:48px;padding:0 26px;border-radius:4px;background:#16283f;color:#fff;text-decoration:none;font-weight:700;font-size:15.5px;letter-spacing:.06em;white-space:nowrap;}
.n-manage__btn::after{content:"→";}
.n-manage__btn:hover{background:#0b7f73;}
.greet p,.card p,.steps li,.checks li,.info,.faq dd,.case p,.doc p{font-size:16px!important;}
.phead p{font-size:16.5px;}
@media(max-width:760px){
  body{font-size:16.5px;}
  .n-manage__txt b{font-size:17px;}
  .n-manage__txt span{font-size:14px;}
  .n-manage__btn{width:100%;min-height:52px;font-size:16px;}
}

/* 5) 下層ページの見出しに写真を細く */
.phead--photo{position:relative;overflow:hidden;}
.phead--photo::after{content:"";position:absolute;top:0;bottom:0;right:0;width:42%;background:var(--ph) center/cover no-repeat;-webkit-mask-image:linear-gradient(90deg,transparent 0,#000 30%);mask-image:linear-gradient(90deg,transparent 0,#000 30%);}
.phead--photo .wrap{position:relative;z-index:1;}
.phead--photo .wrap>*{max-width:58%;}
/* 3) スマホは帯を低く */
@media(max-width:760px){
  .n-manage__txt{display:none;}
  .n-manage__in{padding-block:10px;}
  .phead--photo::after{width:100%;opacity:.16;-webkit-mask-image:none;mask-image:none;}
  .phead--photo .wrap>*{max-width:none;}
}

/* 下層ページ：歯科医師の先生へ（NLT矯正研究所への案内） */
.n-forbar{background:#ece5d8;padding:28px 0;}
.n-forbar__in{display:flex;align-items:center;justify-content:space-between;gap:14px 32px;flex-wrap:wrap;}
.n-forbar p{margin:0;font-size:15.5px;color:#1f3550;line-height:1.9;}
.n-forbar p b{font-family:"Noto Serif JP",serif;font-weight:600;font-size:18px;letter-spacing:.08em;margin-right:16px;}
.n-forbar a{display:inline-flex;align-items:center;gap:10px;min-height:48px;padding:0 26px;border-radius:999px;background:linear-gradient(135deg,#c48b58,#b47a48 45%,#93592b);color:#fff;text-decoration:none;font-weight:700;font-size:15px;letter-spacing:.06em;white-space:nowrap;}
.n-forbar a::after{content:"→";}
.subnav a.n-nav__dr{color:#e2b588!important;}
@media(max-width:760px){
  .n-forbar p b{display:block;margin:0 0 4px;}
  .n-forbar a{width:100%;justify-content:center;}
}
