@charset "UTF-8";
/* =========================================================
   fs-theme.css — firsturuma 独自クリーンCSS（Brizy/Cure非依存）
   医師紹介パイロット + 共通ヘッダー/フッター/CTA
   ========================================================= */
:root{
  /* URUMA配色（本番DOM実測 2026-08）＝濃紺＋ブラウン、CTA水色。SAKURAのピンクから変更。 */
  --fs-navy:#014f8c;        /* 主アクセント（見出し・強調）＝kyoutuu.css準拠の深い青 */
  --fs-brown:#644a2f;       /* 副アクセント（見出し・欧文） */
  --fs-rose:#014f8c;        /* 旧名互換：アクセント→紺 */
  --fs-rose-deep:#014f8c;   /* 旧名互換：リンク→紺 */
  --fs-name:#222222;        /* 氏名・濃色テキスト */
  --fs-body:#333333;        /* 本文 */
  --fs-muted:#8a8f98;       /* 肩書・ローマ字 */
  --fs-bullet:#8fb4d8;      /* リスト丸バレット（淡紺） */
  --fs-line:#e2e6ec;        /* 区切り線（ニュートラル） */
  --fs-pink:#a3d8f4;        /* 旧名互換：CTA淡→水色 */
  --fs-pink-deep:#7fbfe0;   /* 旧名互換：CTA相談→濃水色 */
  --fs-serif:"Noto Serif JP",serif;                         /* 見出し */
  --fs-gothic:"メイリオ",Meiryo,"Hiragino Kaku Gothic ProN","ヒラギノ角ゴ ProN",sans-serif; /* 本文（URUMA基調） */
  --fs-sans:"Noto Sans JP",sans-serif;
  --fs-en:"Lato",sans-serif;
  --fs-wrap:1120px;
}
/* フォントは明朝体（Noto Serif JP）でこの1箇所に集約。子要素へ継承させる。
   英字ラベル(.fs-nav__en 等)のみ個別に --fs-en(Lato) を指定。 */
.fs-page{margin:0;color:var(--fs-body);font-family:var(--fs-serif);font-size:16px;line-height:1.9;background:#fff;-webkit-font-smoothing:antialiased;}
/* kyoutuu.css の素の p{font-family:ゴシック} を上書きして本文も明朝に統一 */
.fs-page p:not(.fs-main *),.fs-page th:not(.fs-main *),.fs-page td:not(.fs-main *),.fs-page li:not(.fs-main *),.fs-page h1:not(.fs-main *),.fs-page h2:not(.fs-main *),.fs-page h3:not(.fs-main *),.fs-page h4:not(.fs-main *){font-family:var(--fs-serif);}
/* 下層ページ本文（.fs-main＝本番の独自HTML）は本番と同じ書体・リンク色で描画（上の明朝統一・a継承の対象外） */
/* 本番の本文エリア（Brizy埋め込み内）の基本値を再現：メイリオ・黒・行間normal・Cure(entire.css)と同じリセット。
   :where() で詳細度0にし、ページ専用CSS（assets/css/pages/*.css）の指定が常に勝つようにする。 */
.fs-main{font-family:"メイリオ",Meiryo,"ヒラギノ角ゴ Pro W3","Hiragino Kaku Gothic Pro","ＭＳ Ｐゴシック","MS PGothic",sans-serif;color:#000;font-size:16px;line-height:normal;}
:where(.fs-main) :where(div,span,h1,h2,h3,h4,h5,h6,p,blockquote,pre,a,em,img,small,strong,b,u,i,dl,dt,dd,ol,ul,li,figure,figcaption,table,caption,tbody,tfoot,thead,tr,th,td,section,article,aside,time,mark){margin:0;padding:0;border:0;font-size:100%;font:inherit;vertical-align:baseline;}
:where(.fs-main) :where(ol,ul){list-style:none;}
:where(.fs-main) :where(table){border-collapse:collapse;border-spacing:0;}
:where(.fs-main) :where(strong){font-weight:bold;}
:where(.fs-main) :where(img){max-width:100%;height:auto;}
.fs-page *{box-sizing:border-box;}
.fs-page img{max-width:100%;height:auto;}
.fs-page img:not(.sp):not(.fs-main img){display:block;}
.fs-page a{color:inherit;text-decoration:none;}

/* ---------- トップ細帯 ---------- */
.fs-topbar{font-size:12px;color:#8d8481;padding:5px 20px;letter-spacing:.02em;}
.fs-topbar__h1{margin:0;font-size:inherit;font-weight:400;line-height:inherit;color:inherit;display:inline;}

/* ---------- ヘッダー（スクロール追従） ---------- */
.fs-header{position:sticky;top:0;z-index:1000;background:#fff;box-shadow:0 1px 8px rgba(90,60,60,.06);}
.fs-header__inner{display:flex;align-items:center;justify-content:space-between;gap:24px;max-width:1400px;margin:0 auto;padding:8px 24px;}
.fs-logo{display:flex;align-items:center;}
.fs-logo__word{height:56px;width:auto;}
.fs-nav__list{display:flex;align-items:center;gap:0;list-style:none;margin:0;padding:0;}
.fs-nav__item{position:relative;}
.fs-nav__item>a{display:flex;flex-direction:column;align-items:center;gap:3px;padding:10px 13px;white-space:nowrap;}
.fs-nav__jp{font-weight:700;font-size:15px;color:#2b2b2b;letter-spacing:.02em;transition:color .2s;}
.fs-nav__en{font-family:var(--fs-en);font-size:10px;color:#88bbd6;letter-spacing:.1em;text-transform:capitalize;line-height:1;}
.fs-nav__item>a:hover .fs-nav__jp{color:var(--fs-navy);}
/* ドロップダウン */
.fs-subnav{position:absolute;top:100%;left:0;min-width:220px;background:#fff;box-shadow:0 8px 24px rgba(30,50,90,.14);list-style:none;margin:0;padding:6px 0;opacity:0;visibility:hidden;transform:translateY(8px);transition:.22s;z-index:20;}
.fs-nav__item.has-child:hover .fs-subnav{opacity:1;visibility:visible;transform:translateY(0);}
/* 右端寄りのメニューは右そろえで開く（非表示時も画面右外へはみ出して横スクロールが出るのを防ぐ） */
.fs-nav__item:nth-last-child(-n+3) .fs-subnav{left:auto;right:0;}
.fs-subnav>li>a{display:block;padding:9px 18px;font-size:14px;color:#3a3a3a;white-space:nowrap;}
.fs-subnav>li>a:hover{background:#eef4fb;color:var(--fs-navy);}
.fs-burger{display:none;}
.fs-nav__close{display:none;}

/* ---------- ページヒーロー ---------- */
/* 本番実測：高さ240・左右20px内側・背景 47% 100% cover・黒35%・明朝35px(ls-1.5)＋白線164px＋英字16px */
.fs-hero{position:relative;height:240px;margin:0 20px;background-size:cover;background-position:47% 100%;display:flex;align-items:center;justify-content:center;}
.fs-hero__mask{position:absolute;inset:0;background:rgba(0,0,0,.35);}
.fs-hero__inner{position:relative;text-align:center;color:#fff;}
.fs-hero__title{margin:0;color:#fff;font-weight:400;font-size:35px;line-height:1.4;letter-spacing:-1.5px;}
.fs-hero__line{display:block;width:164px;height:1px;background:#fff;margin:12px auto 10px;}
.fs-hero__en{margin:0;font-size:16px;line-height:1.5;color:#fff;}

/* ---------- TOPヒーロー（メインビジュアル1枚・PC/SP出し分け） ---------- */
.fs-tophero{position:relative;background:#fff;}
.fs-tophero__pic{display:block;}
.fs-tophero__img{display:block;width:100%;height:auto;}

/* ---------- パンくず ---------- */
/* 本番実測：Noto Sans JP 太字16px・黒 */
.fs-crumb__inner{max-width:1000px;margin:0 auto;padding:22px 24px;font-family:"Noto Sans JP",sans-serif;font-weight:700;font-size:16px;color:#1e1b2d;}
.fs-crumb a{color:#000;}
.fs-crumb span{margin:0 8px;color:#999;font-weight:400;}
.fs-crumb em{font-style:normal;color:#1e1b2d;}

/* ---------- 医師カード ---------- */
.fs-staff{padding:40px 0 90px;}
.fs-staff__inner{max-width:var(--fs-wrap);margin:0 auto;padding:0 24px;}
.fs-doc{display:grid;grid-template-columns:1fr 1fr;gap:56px;align-items:center;padding:56px 0;border-bottom:1px solid var(--fs-line);}
.fs-doc:last-child{border-bottom:none;}
.fs-doc--rev .fs-doc__body{order:2;}
.fs-doc--rev .fs-doc__figure{order:1;}
.fs-doc--nophoto{grid-template-columns:1fr;max-width:760px;}
.fs-doc__role{margin:0 0 6px;font-size:13px;letter-spacing:.16em;color:var(--fs-muted);}
.fs-doc__name{margin:0 0 26px;font-weight:700;font-size:34px;color:var(--fs-name);letter-spacing:.06em;line-height:1.3;}
.fs-doc__romaji{margin-left:18px;font-family:var(--fs-en);font-weight:400;font-size:15px;letter-spacing:.22em;color:var(--fs-muted);}
.fs-doc__head{margin:26px 0 12px;font-weight:500;font-size:19px;color:var(--fs-rose);letter-spacing:.04em;}
.fs-doc__head:first-of-type{margin-top:0;}
.fs-doc__list{list-style:none;margin:0;padding:0;}
.fs-doc__list li{position:relative;padding:6px 0 6px 22px;font-size:15.5px;color:var(--fs-name);line-height:1.7;}
.fs-doc__list li::before{content:"";position:absolute;left:0;top:14px;width:9px;height:9px;border-radius:50%;background:var(--fs-bullet);}
.fs-doc__figure img{width:100%;border-radius:22px;box-shadow:0 14px 40px rgba(120,80,90,.14);}

/* ---------- 共通: ラッパ / セクションラベル / ボタン / チェックリスト ---------- */
.fs-wrap{max-width:var(--fs-wrap);margin:0 auto;padding:0 24px;}
.fs-label{text-align:center;margin:0 auto 44px;}
.fs-label__icon{width:42px;height:auto;margin:0 auto 12px;}
.fs-label__en{display:flex;align-items:center;justify-content:center;gap:22px;margin:0 0 14px;font-family:var(--fs-en);font-size:22px;letter-spacing:.16em;color:#bcd3d0;}
.fs-label__en::before,.fs-label__en::after{content:"";width:150px;max-width:22vw;height:1px;background:#e0d3d0;}
.fs-label__jp{margin:0;font-weight:500;font-size:27px;color:var(--fs-name);letter-spacing:.04em;}
.fs-btn{display:inline-block;margin-top:22px;padding:14px 40px;border-radius:40px;background:var(--fs-pink);color:#fff;font-size:15px;letter-spacing:.04em;transition:.2s;}
.fs-btn:hover{background:var(--fs-pink-deep);}

/* ---------- 理事長紹介 ---------- */
.fs-director{padding:70px 0 90px;}
.fs-director__grid{display:grid;grid-template-columns:1fr 1fr;gap:50px;align-items:center;margin-bottom:52px;}
.fs-director__figure img{width:100%;border-radius:14px;box-shadow:0 14px 40px rgba(120,80,90,.14);}
.fs-greet{background:#eef6fc;border-radius:14px;padding:38px 40px;text-align:center;}
.fs-greet__name{margin:0 0 22px;font-weight:600;font-size:23px;color:var(--fs-name);}
.fs-greet__name span{font-family:var(--fs-en);font-size:16px;color:var(--fs-muted);font-weight:400;}
.fs-greet p{text-align:left;margin:0 0 16px;font-size:15px;line-height:2;color:var(--fs-body);}
.fs-director__profile{max-width:960px;margin:0 auto;}
.fs-check{border:1px solid #d9e7f2;border-radius:12px;padding:14px 30px;position:relative;}
.fs-check__ttl{position:absolute;top:-13px;left:22px;background:var(--fs-rose);color:#fff;font-size:12px;letter-spacing:.06em;padding:3px 16px;border-radius:14px;}
.fs-check__list{list-style:none;margin:8px 0 0;padding:0;}
.fs-check__list li{position:relative;padding:11px 0 11px 30px;border-bottom:1px dashed #eaddde;font-size:15px;color:var(--fs-name);}
.fs-check__list li:last-child{border-bottom:none;}
.fs-check__list li::before{content:"✓";position:absolute;left:2px;top:11px;color:var(--fs-rose);font-weight:700;}

/* ---------- 医院案内 ---------- */
.fs-clinic{padding:70px 0 20px;}
.fs-clinic__intro{display:grid;grid-template-columns:1fr 1fr;gap:50px;align-items:center;margin-bottom:20px;}
.fs-clinic__introimg img{width:100%;border-radius:14px;box-shadow:0 14px 40px rgba(120,80,90,.14);}
.fs-clinic__introtxt p{margin:0 0 18px;font-size:15.5px;line-height:2;}
.fs-feat{max-width:960px;margin:40px auto 0;}
.fs-feat__item{padding:38px 0;border-bottom:1px solid var(--fs-line);}
.fs-feat__ttl{display:flex;align-items:baseline;gap:18px;margin:0 0 16px;font-weight:600;font-size:23px;color:var(--fs-name);}
.fs-feat__num{font-family:var(--fs-en);font-size:34px;font-weight:400;color:#8fc4e8;letter-spacing:.02em;}
.fs-feat__desc{margin:0 0 22px;font-size:15px;line-height:2;color:var(--fs-body);}
.fs-feat__pill{display:block;max-width:560px;margin:0 auto;padding:15px 24px;border-radius:40px;background:var(--fs-pink);color:#fff;text-align:center;font-size:15px;letter-spacing:.03em;transition:.2s;}
.fs-feat__pill:hover{background:var(--fs-pink-deep);}

/* チームオキナワ */
.fs-team{background:#fdf5f6;padding:76px 0;margin-top:40px;}
.fs-team__grid{display:grid;grid-template-columns:0.9fr 1.1fr;gap:48px;align-items:start;}
.fs-team__figure img{width:100%;border-radius:14px;}
.fs-team__txt p{margin:0 0 18px;font-size:14.5px;line-height:2;color:var(--fs-body);}

/* 認証関連 */
.fs-cert{padding:80px 0 40px;}
.fs-cert__grid{display:grid;grid-template-columns:repeat(3,1fr);gap:30px;max-width:900px;margin:0 auto;}
.fs-cert__item{margin:0;text-align:center;}
.fs-cert__item img{width:100%;border-radius:8px;border:1px solid #eee;}
.fs-cert__item figcaption{margin-top:12px;font-size:13px;color:var(--fs-body);line-height:1.7;}

/* 院内紹介 */
.fs-inside{padding:60px 0 90px;text-align:center;}
.fs-inside__lead{margin:0 0 34px;font-size:16px;line-height:2;color:var(--fs-body);}
.fs-inside__img img{width:100%;max-width:960px;margin:0 auto;border-radius:16px;box-shadow:0 14px 40px rgba(120,80,90,.14);}

@media screen and (max-width:768px){
  .fs-clinic__intro,.fs-team__grid{grid-template-columns:1fr;gap:26px;}
  .fs-cert__grid{grid-template-columns:1fr;max-width:340px;}
  .fs-feat__ttl{font-size:20px;}
  .fs-feat__num{font-size:28px;}
}

/* ---------- アクセス ---------- */
.fs-access{padding:70px 0 90px;}
.fs-access__map{margin-bottom:44px;}
.fs-access__map iframe{width:100%;height:440px;border:0;border-radius:12px;display:block;}
.fs-access__grid{display:grid;grid-template-columns:1.1fr 0.9fr;gap:50px;}
.fs-access__route{padding-bottom:20px;margin-bottom:24px;border-bottom:1px solid var(--fs-line);}
.fs-access__route h3{margin:0 0 12px;font-weight:600;font-size:21px;color:var(--fs-name);}
.fs-access__route p{margin:0;font-size:15px;line-height:1.9;color:var(--fs-body);}
.fs-access__info{margin:0;}
.fs-access__info>div{display:grid;grid-template-columns:90px 1fr;gap:16px;padding:16px 0;border-bottom:1px dashed #dde7f2;}
.fs-access__info dt{margin:0;font-weight:600;color:var(--fs-rose-deep);font-size:14px;}
.fs-access__info dd{margin:0;font-size:15px;color:var(--fs-name);line-height:1.8;}
@media screen and (max-width:768px){
  .fs-access__grid{grid-template-columns:1fr;gap:30px;}
  .fs-access__map iframe{height:300px;}
}

/* ---------- 設備紹介 ---------- */
.fs-facilities{padding:70px 0 90px;}
.fs-equip{display:grid;grid-template-columns:repeat(3,1fr);gap:30px;margin-bottom:70px;}
.fs-equip__card{border:1px solid var(--fs-line);border-radius:10px;overflow:hidden;background:#fff;}
.fs-equip__img{aspect-ratio:4/3;background:#faf1f4;}
.fs-equip__img img{width:100%;height:100%;object-fit:cover;}
.fs-equip__name{margin:20px 22px 10px;font-weight:700;font-size:18px;color:var(--fs-name);}
.fs-equip__desc{margin:0 22px 22px;font-size:14px;line-height:1.85;color:var(--fs-body);}

/* ---------- 監修者ボックス（共通） ---------- */
.fs-super-wrap{padding:60px 20px 80px;}
.fs-super{max-width:920px;margin:0 auto;border:1px solid #cfe3f3;border-radius:14px;padding:30px 34px;background:#f7fbfe;}
.fs-super__eyebrow{margin:0 0 18px;font-size:20px;letter-spacing:.06em;color:var(--fs-navy);border-bottom:1px solid #d9e7f2;padding-bottom:12px;}
.fs-super__body{display:grid;grid-template-columns:200px 1fr;gap:30px;align-items:start;}
.fs-super__figure img{width:100%;border-radius:10px;}
.fs-super__name{margin:0 0 12px;font-weight:700;font-size:19px;color:var(--fs-name);}
.fs-super__career{margin:0 0 16px;font-size:14px;line-height:1.9;color:var(--fs-body);}
.fs-super__qh{margin:0 0 8px;font-size:13px;color:var(--fs-rose-deep);font-weight:600;}
.fs-super__quals{list-style:none;margin:0 0 18px;padding:0;display:flex;flex-wrap:wrap;gap:6px 18px;}
.fs-super__quals li{position:relative;padding-left:16px;font-size:13px;color:var(--fs-name);}
.fs-super__quals li::before{content:"・";position:absolute;left:0;color:var(--fs-rose);}
@media screen and (max-width:900px){ .fs-equip{grid-template-columns:repeat(2,1fr);} }
@media screen and (max-width:768px){
  .fs-equip{grid-template-columns:1fr;}
  .fs-super__body{grid-template-columns:1fr;}
  .fs-super__figure{max-width:220px;}
}

/* ---------- 共通ユーティリティ ---------- */
.fs-center{text-align:center;margin-top:34px;}

/* ---------- 求人情報 ---------- */
.fs-recruit__intro{padding:70px 0 20px;text-align:center;}
.fs-recruit__catch{margin:0 0 18px;font-weight:600;font-size:22px;color:var(--fs-rose-deep);}
.fs-recruit__lead{max-width:820px;margin:0 auto 26px;font-size:15px;line-height:2;color:var(--fs-body);text-align:left;}
.fs-recruit__summary{display:grid;grid-template-columns:repeat(4,1fr);gap:16px;max-width:760px;margin:0 auto 26px;}
.fs-recruit__summary>div{background:#eef6fc;border-radius:10px;padding:18px 10px;}
.fs-recruit__summary dt{margin:0 0 6px;font-size:12px;color:var(--fs-rose-deep);}
.fs-recruit__summary dd{margin:0;font-weight:600;font-size:17px;color:var(--fs-name);}
.fs-recruit__block{padding:60px 0 10px;}
.fs-point{display:grid;grid-template-columns:repeat(3,1fr);gap:24px;}
.fs-point__item{background:#fff;border:1px solid var(--fs-line);border-radius:12px;padding:26px 24px;}
.fs-point__item h3{margin:0 0 12px;font-weight:600;font-size:17px;color:var(--fs-rose-deep);line-height:1.5;}
.fs-point__item p{margin:0;font-size:14px;line-height:1.85;color:var(--fs-body);}
.fs-recruit__jobs{max-width:760px;margin:0 auto;}
.fs-recruit__note{max-width:820px;margin:22px auto 0;font-size:14px;line-height:1.9;color:#6b5f58;}
.fs-recruit__staff{display:flex;justify-content:center;flex-wrap:wrap;gap:14px;margin:22px 0;}
.fs-recruit__staff span{background:#eef6fc;border-radius:30px;padding:10px 24px;font-size:14px;color:var(--fs-name);}
.fs-outline{max-width:860px;margin:0 auto;border-top:1px solid var(--fs-line);}
.fs-outline>div{display:grid;grid-template-columns:170px 1fr;gap:20px;padding:20px 6px;border-bottom:1px solid var(--fs-line);}
.fs-outline dt{margin:0;font-weight:600;color:var(--fs-rose-deep);font-size:14px;}
.fs-outline dd{margin:0;font-size:14.5px;line-height:1.9;color:var(--fs-name);}
.fs-flow{list-style:none;counter-reset:none;max-width:760px;margin:0 auto;padding:0;}
.fs-flow__step{display:grid;grid-template-columns:64px 1fr;gap:20px;padding:24px 0;border-bottom:1px dashed #dde7f2;align-items:start;}
.fs-flow__no{font-family:var(--fs-en);font-size:30px;color:#8fc4e8;}
.fs-flow__step h3{margin:0 0 8px;font-weight:600;font-size:18px;color:var(--fs-name);}
.fs-flow__step p{margin:0;font-size:14.5px;line-height:1.85;color:var(--fs-body);}
.fs-faq{max-width:820px;margin:0 auto;}
.fs-faq__item{border-bottom:1px solid var(--fs-line);padding:22px 0;}
.fs-faq__q{display:flex;gap:14px;margin:0 0 12px;font-weight:600;font-size:17px;color:var(--fs-name);}
.fs-faq__q span{flex:none;width:30px;height:30px;border-radius:50%;background:var(--fs-rose);color:#fff;display:flex;align-items:center;justify-content:center;font-size:15px;}
.fs-faq__a{margin:0;padding-left:44px;font-size:14.5px;line-height:1.9;color:var(--fs-body);}
@media screen and (max-width:768px){
  .fs-recruit__summary{grid-template-columns:repeat(2,1fr);}
  .fs-point{grid-template-columns:1fr;}
  .fs-outline>div{grid-template-columns:1fr;gap:6px;}
}

/* ---------- WEB予約 / フォーム ---------- */
.fs-reserve{padding:60px 0 90px;}
.fs-reserve__inner{max-width:860px;}
.fs-notice{border:1px solid #cfe3f3;border-radius:12px;background:#fdf6f8;padding:30px 34px;margin-bottom:44px;}
.fs-notice__ttl{margin:0 0 18px;font-weight:600;font-size:20px;color:var(--fs-rose-deep);text-align:center;}
.fs-notice__sub{margin:24px 0 12px;font-weight:600;font-size:16px;color:var(--fs-name);}
.fs-notice__list{margin:0;padding:0;list-style:none;}
.fs-notice__list li{position:relative;padding:8px 0 8px 18px;font-size:14px;line-height:1.9;color:var(--fs-body);}
.fs-notice__list li::before{content:"・";position:absolute;left:0;color:var(--fs-rose);}
/* CF7フォームの体裁（独自CSSで整える） */
.fs-form .wpcf7{max-width:100%;}
.fs-form p{margin:0 0 18px;font-size:15px;color:var(--fs-name);}
.fs-form label{display:block;font-weight:600;font-size:14px;color:var(--fs-name);margin-bottom:8px;}
.fs-form input[type=text],.fs-form input[type=email],.fs-form input[type=tel],.fs-form input[type=date],.fs-form input[type=number],.fs-form select,.fs-form textarea{
  width:100%;padding:12px 14px;border:1px solid #dcccce;border-radius:8px;font-size:15px;font-family:inherit;background:#fff;box-sizing:border-box;color:var(--fs-name);}
.fs-form textarea{min-height:130px;resize:vertical;}
.fs-form input:focus,.fs-form select:focus,.fs-form textarea:focus{outline:none;border-color:var(--fs-rose);box-shadow:0 0 0 3px rgba(47,125,183,.14);}
.fs-form .wpcf7-list-item{display:inline-block;margin:0 16px 8px 0;}
.fs-form .wpcf7-list-item label{display:inline-flex;align-items:center;gap:6px;font-weight:400;}
.fs-form .wpcf7-submit{display:block;margin:12px auto 0;min-width:260px;padding:16px 40px;border:none;border-radius:40px;background:var(--fs-pink-deep);color:#fff;font-size:16px;letter-spacing:.06em;cursor:pointer;transition:.2s;}
.fs-form .wpcf7-submit:hover{filter:brightness(1.05);transform:translateY(-1px);}
.fs-form .wpcf7-spinner{margin:14px auto 0;display:block;}
.fs-form .wpcf7-not-valid-tip{color:#c0392b;font-size:12px;}
.fs-form .wpcf7-response-output{border-radius:8px;padding:14px 18px;font-size:14px;margin-top:16px;}
@media screen and (max-width:768px){ .fs-notice{padding:22px 20px;} }

/* ---------- サンクスページ ---------- */
.fs-thanks{padding:70px 0 100px;}
.fs-thanks__inner{max-width:760px;text-align:center;}
.fs-thanks__ttl{margin:0 0 30px;font-weight:600;font-size:24px;color:var(--fs-rose-deep);}
.fs-thanks p{margin:0 0 16px;font-size:15px;line-height:2;color:var(--fs-body);}
.fs-thanks__tel{font-size:22px;color:var(--fs-name);margin:24px 0;}
.fs-thanks__tel a{color:var(--fs-rose-deep);}
.fs-thanks__caution{background:#fdf6f8;border:1px solid #cfe3f3;border-radius:10px;padding:20px 26px;margin:28px 0;text-align:left;}
.fs-thanks__caution-h{margin:0 0 6px;font-weight:600;color:var(--fs-rose-deep);}
.fs-thanks__caution p{font-size:14px;margin:0;}

/* ---------- 料金表 ---------- */
.fs-price{padding:70px 0 90px;}
.fs-price__note{max-width:900px;margin:0 auto 40px;font-size:14px;line-height:1.9;color:#6b5f58;text-align:center;}
.fs-price__cat{max-width:900px;margin:0 auto 40px;}
.fs-price__catttl{margin:0 0 14px;font-weight:600;font-size:20px;color:var(--fs-name);padding-left:14px;border-left:4px solid var(--fs-rose);}
.fs-price__table{width:100%;border-collapse:collapse;}
.fs-price__table th,.fs-price__table td{border-bottom:1px solid var(--fs-line);padding:14px 16px;font-size:14.5px;text-align:left;vertical-align:top;font-weight:400;}
.fs-price__table th{color:var(--fs-name);width:66%;}
.fs-price__table td{color:var(--fs-rose-deep);font-weight:600;white-space:nowrap;text-align:right;}
@media screen and (max-width:768px){
  .fs-price__table th,.fs-price__table td{padding:11px 8px;font-size:13.5px;}
  .fs-price__table th{width:60%;}
}

/* ---------- 治療ページ共通（tpage） ---------- */
.fs-tp__block{padding:64px 0 10px;}
.fs-tp__lead{max-width:840px;margin:0 auto 20px;font-size:15.5px;line-height:2;color:var(--fs-body);}
.fs-tp__lead--center{text-align:center;}
.fs-textlink{display:inline-block;color:var(--fs-rose-deep);font-size:14px;border-bottom:1px solid currentColor;padding-bottom:2px;transition:.2s;}
.fs-textlink:hover{color:var(--fs-rose);}
/* 症状チェック */
.fs-symptom{max-width:820px;margin:30px auto 0;background:#fdf5f6;border-radius:14px;padding:32px 40px;}
.fs-symptom__ttl{margin:0 0 20px;text-align:center;font-weight:600;font-size:20px;color:var(--fs-rose-deep);}
.fs-symptom__list{list-style:none;margin:0 0 26px;padding:0;display:grid;grid-template-columns:1fr 1fr;gap:10px 30px;}
.fs-symptom__list li{position:relative;padding:8px 0 8px 30px;font-size:14.5px;color:var(--fs-name);border-bottom:1px dashed #d9e7f2;}
.fs-symptom__list li::before{content:"✓";position:absolute;left:4px;top:8px;color:var(--fs-rose);font-weight:700;}
/* 原因カード */
.fs-cause{display:grid;grid-template-columns:repeat(3,1fr);gap:26px;margin-bottom:26px;}
.fs-cause__card{background:#fff;border:1px solid var(--fs-line);border-radius:12px;padding:26px 24px;}
.fs-cause__card h3{margin:0 0 14px;font-weight:600;font-size:19px;color:var(--fs-rose-deep);text-align:center;padding-bottom:12px;border-bottom:1px solid #f0e3e5;}
.fs-cause__card p{margin:0;font-size:14px;line-height:1.9;color:var(--fs-body);}
/* 進行過程 */
.fs-stage{max-width:860px;margin:0 auto;}
.fs-stage__item{display:grid;grid-template-columns:90px 1fr;gap:24px;align-items:start;padding:22px 0;border-bottom:1px solid var(--fs-line);}
.fs-stage__badge{width:74px;height:74px;border-radius:50%;background:var(--fs-rose);color:#fff;display:flex;align-items:center;justify-content:center;font-family:var(--fs-en);font-size:22px;font-weight:700;}
.fs-stage__body p{margin:0 0 10px;font-size:14.5px;line-height:1.9;color:var(--fs-body);}
@media screen and (max-width:768px){
  .fs-symptom{padding:24px 20px;}
  .fs-symptom__list{grid-template-columns:1fr;}
  .fs-cause{grid-template-columns:1fr;}
  .fs-stage__item{grid-template-columns:60px 1fr;gap:16px;}
  .fs-stage__badge{width:56px;height:56px;font-size:17px;}
}

/* ---------- カード内画像（進行度・原因・メニュー等） ---------- */
.fs-cause__card .fs-card-img{margin:-26px -24px 18px;border-radius:12px 12px 0 0;overflow:hidden;aspect-ratio:16/10;background:#faf1f4;}
.fs-cause__card .fs-card-img img{width:100%;height:100%;object-fit:cover;display:block;}
.fs-stage__body .fs-inline-img{margin:12px 0 0;border-radius:8px;overflow:hidden;max-width:320px;}
.fs-stage__body .fs-inline-img img{width:100%;height:auto;display:block;}

/* ---------- 図版・グラフ画像 ---------- */
.fs-figure{max-width:860px;margin:26px auto;}
.fs-figure img{width:100%;height:auto;border-radius:10px;}
.fs-figure-row{display:flex;gap:20px;max-width:860px;margin:26px auto;flex-wrap:wrap;}
.fs-figure-row figure{flex:1 1 300px;margin:0;}
.fs-figure-row img{width:100%;height:auto;border-radius:10px;display:block;}
/* 画像付きメニュー項目 */
.fs-menu__item .fs-menu__img{margin:-26px -30px 18px;border-radius:12px 12px 0 0;overflow:hidden;}
.fs-menu__item .fs-menu__img img{width:100%;height:auto;display:block;}

/* ---------- 治療: 診療メニュー / 症例 / サブ見出し ---------- */
.fs-tp__subttl{max-width:860px;margin:44px auto 18px;text-align:center;font-weight:600;font-size:21px;color:var(--fs-name);}
.fs-menu{max-width:860px;margin:0 auto;display:grid;gap:20px;}
.fs-menu__item{border:1px solid var(--fs-line);border-radius:12px;padding:26px 30px;background:#fff;}
.fs-menu__item h3{margin:0 0 12px;font-weight:600;font-size:18px;color:var(--fs-rose-deep);}
.fs-menu__item p{margin:0;font-size:14.5px;line-height:1.9;color:var(--fs-body);}
.fs-menu__item .fs-price-note{margin-top:12px;font-size:13px;color:var(--fs-rose-deep);font-weight:600;}
.fs-case{max-width:640px;margin:0 auto 20px;border:1px solid #d9e7f2;border-radius:12px;padding:26px 30px;background:#fff;}
.fs-case__ttl{margin:0 0 18px;text-align:center;font-weight:600;font-size:18px;color:var(--fs-name);}
.fs-case__meta>div{display:grid;grid-template-columns:110px 1fr;gap:14px;padding:11px 0;border-bottom:1px dashed #dde7f2;}
.fs-case__meta dt{margin:0;font-size:13px;color:var(--fs-rose-deep);font-weight:600;}
.fs-case__meta dd{margin:0;font-size:14.5px;color:var(--fs-name);}

/* ---------- 全身症状マップ ---------- */
.fs-bodymap{max-width:900px;margin:10px auto 0;display:grid;grid-template-columns:1fr 1fr;gap:0 40px;}
.fs-bodymap>div{display:grid;grid-template-columns:70px 1fr;gap:14px;padding:12px 0;border-bottom:1px dashed #dde7f2;align-items:baseline;}
.fs-bodymap dt{margin:0;font-weight:600;color:var(--fs-rose-deep);font-size:14px;}
.fs-bodymap dd{margin:0;font-size:14px;color:var(--fs-body);}
@media screen and (max-width:768px){ .fs-bodymap{grid-template-columns:1fr;gap:0;} }

/* ---------- 比較表 ---------- */
.fs-compare{width:100%;max-width:860px;margin:30px auto 0;border-collapse:collapse;font-size:14px;}
.fs-compare th,.fs-compare td{border:1px solid #dde7f2;padding:14px 16px;text-align:center;vertical-align:middle;}
.fs-compare thead th{background:#f3e2e6;color:var(--fs-name);font-weight:600;}
.fs-compare tbody th{background:#faf0f2;color:var(--fs-rose-deep);width:110px;font-weight:600;}
.fs-compare td{color:var(--fs-body);}
.fs-compare .is-hl{background:#fdf3f6;}
.fs-compare thead .is-hl{background:var(--fs-rose);color:#fff;}
.fs-compare td.is-hl{color:var(--fs-name);font-weight:600;}
.fs-compare--4{max-width:960px;}
.fs-compare--4 td{text-align:left;font-size:13px;line-height:1.7;}
.fs-compare--4 tbody th{width:96px;}
@media screen and (max-width:768px){ .fs-compare th,.fs-compare td{padding:10px 8px;font-size:12.5px;} .fs-compare--4{display:block;overflow-x:auto;white-space:normal;} }

/* ---------- 連絡先ボックス ---------- */
.fs-contactbox{max-width:680px;margin:0 auto;text-align:center;border:1px solid #d9e7f2;border-radius:14px;background:#fdf6f8;padding:34px 30px;}
.fs-contactbox__label{margin:0 0 10px;font-size:14px;color:var(--fs-body);}
.fs-contactbox__name{margin:0 0 12px;font-weight:600;font-size:17px;color:var(--fs-name);}
.fs-contactbox__tel{margin:0 0 14px;font-size:30px;}
.fs-contactbox__tel a{color:var(--fs-rose-deep);}
.fs-contactbox__note{margin:0;font-size:13px;color:#8d7d79;}

/* ---------- adult-ortho セクション余白・交互背景（kyoutuu.cssに無い固有クラスの補完） ---------- */
.adult-ortho-8020,
.adult-ortho-cost,
.adult-ortho-point,
.adult-ortho-menu,
.adult-ortho-flow{ padding:70px 0; }
.adult-ortho-cost,
.adult-ortho-menu{ background:#fdf5f6; }
.ft_min{ font-family:"Noto Serif JP",serif; }

/* ---------- 追従CTA ---------- */
.fs-float{position:fixed;right:20px;bottom:26px;z-index:900;display:flex;flex-direction:column;gap:12px;align-items:flex-end;}
.fs-float__btn{display:inline-flex;align-items:center;gap:8px;min-width:150px;justify-content:center;padding:13px 20px;border-radius:40px;background:var(--fs-pink);color:#fff;font-weight:500;font-size:14px;box-shadow:0 8px 20px rgba(48,84,141,.3);transition:.2s;}
.fs-float__btn:hover{transform:translateY(-2px);filter:brightness(1.03);}
.fs-float__btn--accent{background:var(--fs-pink-deep);min-width:184px;padding:16px 22px;font-size:15px;}
.fs-float__ic{font-size:14px;}

/* ---------- フッター（URUMA独自・紺/グレー基調） ---------- */
.fs-footer{background:#eef2f7;color:#3a3a3a;padding:56px 24px 0;margin-top:0;}
.fs-footer__inner{max-width:1180px;margin:0 auto;display:grid;grid-template-columns:360px 1fr;gap:56px;align-items:start;}
.fs-footer__logo{display:block;width:250px;margin-bottom:20px;}
.fs-footer__logo img{width:100%;height:auto;}
.fs-hours{border-collapse:collapse;font-size:12px;width:100%;max-width:360px;margin-bottom:8px;background:#fff;}
.fs-hours th,.fs-hours td{border:1px solid #d5dde7;padding:6px 4px;text-align:center;font-weight:400;}
.fs-hours thead th{background:var(--fs-navy);color:#fff;}
.fs-hours tbody th{background:#dde7f2;white-space:nowrap;font-size:11px;}
.fs-footer__note{font-size:11px;color:#6b737e;margin:0 0 16px;}
.fs-footer__addr{font-size:13px;line-height:1.9;color:#3a3a3a;margin:0 0 8px;}
.fs-footer__tel a{font-size:19px;font-weight:700;color:var(--fs-navy);letter-spacing:.03em;}
.fs-footer__tel i{font-size:15px;}
.fs-footer__nav{display:grid;grid-template-columns:1fr 1fr;gap:12px 30px;padding-top:6px;}
.fs-footer__col{list-style:none;margin:0;padding:0;}
.fs-footer__col li a{display:block;padding:7px 0;font-size:13px;color:#3a3a3a;border-bottom:1px dotted #cdd6e1;}
.fs-footer__col li a:hover{color:var(--fs-navy);}
.fs-copyright{text-align:center;font-family:var(--fs-en);font-size:12px;color:#7a828d;letter-spacing:.08em;padding:30px 0 20px;margin:40px 0 0;background:var(--fs-navy);color:#fff;}

/* ---------- レスポンシブ ---------- */
@media screen and (max-width:1024px){
  .fs-burger{display:flex;flex-direction:column;justify-content:center;gap:5px;width:44px;height:40px;background:none;border:none;cursor:pointer;padding:0;}
  .fs-burger span{display:block;width:26px;height:2px;background:var(--fs-rose-deep);transition:.25s;}
  .fs-nav__close{display:block;position:absolute;top:12px;right:18px;width:40px;height:40px;background:none;border:none;font-size:32px;line-height:1;color:var(--fs-rose-deep);cursor:pointer;z-index:2;}
  .fs-nav{position:fixed;inset:0 0 0 auto;width:min(84%,340px);background:#fff;transform:translateX(100%);transition:.3s;overflow-y:auto;box-shadow:-8px 0 30px rgba(80,50,50,.15);z-index:1200;padding:70px 0 40px;}
  .fs-nav.is-open{transform:translateX(0);}
  .fs-nav__list{flex-direction:column;align-items:stretch;gap:0;}
  .fs-nav__item>a{border-left:none;border-bottom:1px solid #e6ebf1;padding:14px 24px;font-size:15px;}
  .fs-subnav{position:static;opacity:1;visibility:visible;transform:none;box-shadow:none;padding:0 0 8px;background:#eef4fb;}
  .fs-subnav>li>a{padding:10px 38px;}
  .fs-burger.is-open span:nth-child(1){transform:translateY(7px) rotate(45deg);}
  .fs-burger.is-open span:nth-child(2){opacity:0;}
  .fs-burger.is-open span:nth-child(3){transform:translateY(-7px) rotate(-45deg);}
}
@media screen and (max-width:768px){
  .fs-hero{height:200px;margin:0 10px;}
  .fs-hero__title{font-size:26px;}
  .fs-hero__line{width:120px;}
  .fs-doc,.fs-doc--rev{grid-template-columns:1fr;gap:26px;padding:40px 0;}
  .fs-doc--rev .fs-doc__body{order:1;}
  .fs-doc--rev .fs-doc__figure{order:2;}
  .fs-doc__name{font-size:26px;}
  .fs-doc__romaji{display:block;margin:8px 0 0;}
  .fs-footer__inner{grid-template-columns:1fr;gap:34px;}
  .fs-footer__nav{grid-template-columns:1fr;gap:0 22px;}
}

/* ---------- TOP 4つのポイント ラッパ（見出しは白背景・帯なし。本体CSSはkyoutuu.css） ---------- */
.fs-point-wrap{max-width:1200px;margin:0 auto;padding:74px 24px 84px;}
.fs-point-wrap .featurettl{margin-bottom:54px;}

/* ---------- TOP 診療案内（SERVICE / clinic-menu）ラッパ＋見出し（本体CSSはkyoutuu.css） ---------- */
.fs-service-wrap{background:#eaf3fb;padding:72px 24px 88px;}
.fs-service__head{text-align:center;margin-bottom:48px;}

/* ---------- TOP Instagram（プラグインfeed） ---------- */
.fs-instagram{padding:50px 24px 66px;max-width:1120px;margin:0 auto;}

/* ---------- TOP 院内感染防止 ---------- */
.fs-infection{background:#fff;padding:72px 24px 84px;text-align:center;}
.fs-infection__ttl{font-size:30px;font-weight:500;color:var(--fs-navy);margin:0 0 30px;letter-spacing:.06em;}
.fs-infection__body p{font-size:16px;line-height:1.95;color:#333;margin:0;}
@media screen and (max-width:768px){
  .fs-infection{padding:48px 18px 52px;}
  .fs-infection__ttl{font-size:22px;}
  .fs-infection__body p{font-size:15px;text-align:left;}
}

/* ---------- TOP ピックアップ診療 見出し（本体CSSはkyoutuu.css sedai） ---------- */
.fs-pickup-head{text-align:center;padding:72px 24px 26px;background:#fff;}
.fs-pickup-head .featurettl{margin-bottom:0;}

/* ---------- TOP 理想を叶えます（症例）見出し（本体CSSはkyoutuu.css dreamsec） ---------- */
.fs-case-head{text-align:center;padding:74px 24px 8px;background:#fff;}
.fs-case-head .featurettl{margin-bottom:22px;}
.fs-case-intro{font-size:16px;line-height:1.9;color:#444;margin:0;}

/* ---------- TOP 治療の特徴（FEATURE）見出し帯のみ（本体CSSは kyoutuu.css の実CSS） ---------- */
.feature-head{background:#eaf3fb;padding:54px 24px 42px;text-align:center;}
.feature-eyebrow{font-family:var(--fs-en);font-size:14px;letter-spacing:.22em;color:#c8a24a;margin:0 0 16px;}
@media screen and (max-width:768px){ .feature-head{padding:40px 16px 26px;} }

/* ---------- TOP KOIS認定 ---------- */
/*   本番実測：全幅400px帯に500×300写真を右→左へ150秒で無限スクロール（.slider1）。
     その上に半透明グレー箱（880×408・rgba(233,233,233,.91)）を中央に重ねる。 */
.fs-kois{position:relative;background:#fff;padding:15px 0 16px;overflow:hidden;}
.fs-kois .slider1{display:flex;width:100%;height:400px;overflow:hidden;}
.fs-kois .slider1 ul{display:flex;flex:none;padding:0;margin:0;list-style:none;}
.fs-kois .slider1 li{width:500px;list-style:none;margin:0;padding:0;}
.fs-kois .slider1 li img{display:block;width:100%;height:300px;object-fit:cover;}
.fs-kois .slider1 ul:first-child{animation:fs-kois-slide1 150s linear -75s infinite;}
.fs-kois .slider1 ul:last-child{animation:fs-kois-slide2 150s linear infinite;}
@keyframes fs-kois-slide1{0%{transform:translateX(100%);}100%{transform:translateX(-100%);}}
@keyframes fs-kois-slide2{0%{transform:translateX(0);}100%{transform:translateX(-200%);}}
.fs-kois__box{position:absolute;z-index:2;top:12px;left:50%;transform:translateX(-50%);width:880px;min-height:408px;box-sizing:border-box;background:rgba(233,233,233,.91);padding:14px 84px 20px;}
.fs-kois__title{text-align:center;font-weight:400;font-size:30px;line-height:40px;letter-spacing:2px;color:#30548d;margin:0 0 10px;}
.fs-kois__amp{display:block;color:#fcb900;}
.fs-kois__body{margin:0;text-align:center;font-size:19px;line-height:38px;color:#000;}
/* 動きを減らす設定の閲覧者には流さない */
@media (prefers-reduced-motion:reduce){ .fs-kois .slider1 ul{animation:none;} }
@media screen and (max-width:920px){
  .fs-kois{padding:0 0 40px;}
  .fs-kois .slider1{height:220px;}
  .fs-kois .slider1 li{width:340px;}
  .fs-kois .slider1 li img{height:220px;}
  .fs-kois__box{position:relative;top:auto;left:auto;transform:none;width:auto;min-height:0;margin:-70px 16px 0;padding:26px 22px 24px;}
  .fs-kois__title{font-size:24px;line-height:34px;}
  .fs-kois__body{text-align:left;font-size:15px;line-height:2;}
}

/* ---------- チャットサポート（本番カスタマイザーCSSを移植・SLC共通チャットボット用） ---------- */
.chat-toggle-button{position:fixed;bottom:20px;right:20px;background:#7ac5e6;color:#fff;padding:12px 18px;border-radius:30px;cursor:pointer;font-weight:bold;box-shadow:0 4px 10px rgba(0,0,0,.2);z-index:1000;}
.chat-box{position:fixed;bottom:80px;right:20px;width:600px;max-height:80%;background:#fff;border-radius:12px;box-shadow:0 4px 20px rgba(0,0,0,.3);display:flex;flex-direction:column;opacity:0;pointer-events:none;transition:opacity .3s ease;z-index:1000;}
.chat-box.active{opacity:1;pointer-events:auto;animation:fadeInUpZoom .5s ease forwards;height:100vh;z-index:2000;}
@keyframes fadeInUpZoom{0%{opacity:0;transform:translateY(30px) scale(.9);}100%{opacity:1;transform:translateY(0) scale(1);}}
.chat-header{background:linear-gradient(90deg,#7ac5e6,#a6def3);color:#fff;padding:12px 16px;font-weight:bold;display:flex;justify-content:space-between;align-items:center;border-top-left-radius:12px;border-top-right-radius:12px;}
.chat-header button{background:transparent;color:#fff;font-size:18px;border:none;cursor:pointer;width:32px;height:32px;border-radius:50%;transition:background .3s;}
.chat-header button:hover{background:rgba(255,255,255,.15);}
.chat-body{flex:1;overflow-y:auto;padding:10px;font-size:14px;background:#eaf7fc;scroll-behavior:smooth;}
.chat-input{display:flex;border-top:1px solid #ccc;}
.chat-input input{flex:1;padding:10px;font-size:16px;border-radius:73px;border:1px solid #ccc;margin:5px;}
.chat-input button{border:none;background:linear-gradient(90deg,#7ac5e6,#a6def3);color:#fff;padding:10px 15px;cursor:pointer;}
.bot-message{background:#d6eef7;padding:8px 12px;border-radius:8px;margin-bottom:10px;animation:fadeInUp .3s ease;color:#3d7c99;}
.user-message{background:#7ac5e6;padding:8px 12px;border-radius:8px;margin-bottom:10px;text-align:right;color:#fff;animation:fadeInUp .3s ease;}
.chat-body a{color:#5daec7;font-weight:bold;text-decoration:underline;transition:all .3s ease;}
.chat-body a:hover{color:#3d7c99;background-color:#d6eef7;padding:2px 4px;border-radius:4px;text-decoration:none;}
.chat-body table{width:100%;border-collapse:collapse;margin:10px 0;font-size:14px;background-color:#fff;border:1px solid #ccc;}
.chat-body th{background-color:#7ac5e6;color:#fff;padding:8px;border:1px solid #ccc;text-align:center;}
.chat-body td{padding:8px;border:1px solid #ccc;text-align:center;}
.typing-indicator::after{content:'';display:inline-block;width:6px;height:6px;margin-left:5px;background:#5daec7;border-radius:50%;animation:blink 1s infinite;}
@keyframes fadeInUp{0%{opacity:0;transform:translateY(10px);}100%{opacity:1;transform:translateY(0);}}
@keyframes blink{0%,100%{opacity:.1;}50%{opacity:1;}}
@media screen and (max-width:768px){
  .chat-box{width:100%;max-height:80vh;left:0;bottom:10px;border-radius:8px;}
  .chat-box.active{bottom:64px;}
  .chat-toggle-button{bottom:70px;right:5px;padding:10px 18px;z-index:10;}
  .bot-message img{width:100%;}
  .chat-input{z-index:500;}
}

/* ---------- TOP 治療内容紹介動画（本番実測：見出し画像737px・動画555×312を2列gap30） ---------- */
.fs-movie{background:#fff;padding:25px 20px 60px;}
.fs-movie__head{margin:0 auto 30px;max-width:737px;font-size:0;line-height:0;}
.fs-movie__head img{width:100%;height:auto;}
.fs-movie__grid{display:grid;grid-template-columns:repeat(2,minmax(0,555px));justify-content:center;gap:31px 30px;}
.fs-movie__item{position:relative;aspect-ratio:16/9;background:#000;}
.fs-movie__item iframe{position:absolute;inset:0;width:100%;height:100%;border:0;}
@media screen and (max-width:768px){
  .fs-movie{padding:10px 16px 44px;}
  .fs-movie__head{margin-bottom:20px;}
  .fs-movie__grid{grid-template-columns:minmax(0,1fr);gap:20px;}
}

/* ---------- TOP チーム医療イントロ ---------- */
.fs-teamintro{background:#fff;padding:72px 24px 64px;text-align:center;}
.fs-teamintro__ttl{font-weight:600;font-size:33px;color:var(--fs-navy);margin:0;letter-spacing:.06em;line-height:1.5;}
.fs-teamintro__line{display:block;width:110px;height:2px;background:#c8a24a;margin:26px auto 0;}
.fs-teamintro__row{display:flex;align-items:center;justify-content:center;gap:56px;max-width:1040px;margin:40px auto 0;}
.fs-teamintro__body{flex:1 1 auto;max-width:520px;text-align:left;font-size:16px;line-height:2;color:#333;}
.fs-teamintro__fig{flex:0 0 420px;margin:0;}
.fs-teamintro__fig img{width:100%;height:auto;}
.fs-teamintro__body p{margin:0 0 6px;}
@media screen and (max-width:768px){
  .fs-teamintro{padding:48px 18px 44px;}
  .fs-teamintro__ttl{font-size:22px;}
  .fs-teamintro__row{flex-direction:column;gap:24px;margin-top:28px;}
  .fs-teamintro__body{font-size:15px;}
  .fs-teamintro__fig{flex-basis:auto;width:100%;max-width:420px;}
}

/* ---------- TOP お知らせ（INFORMATION） ---------- */
.fs-topnews{background:#fff;padding:70px 24px 76px;}
.fs-topnews__row{display:grid;grid-template-columns:1.15fr 1fr;gap:48px;align-items:start;max-width:1100px;margin:0 auto;}
.fs-topnews__inner{min-width:0;}
.fs-topnews__list{list-style:none;margin:0;padding:0;}
.fs-topnews__item{border-bottom:1px solid #e3e8ef;}
.fs-topnews__item a{display:flex;gap:26px;align-items:baseline;padding:16px 6px;color:#333;transition:color .18s;}
.fs-topnews__item a:hover{color:var(--fs-navy);}
.fs-topnews__date{flex:none;width:110px;font-size:13px;color:#8a8f98;letter-spacing:.02em;}
.fs-topnews__ttl{font-size:15px;line-height:1.7;}
.fs-topnews__more{text-align:right;margin-top:22px;}
.fs-topnews__more a{display:inline-block;font-family:var(--fs-en);font-size:13px;letter-spacing:.08em;color:var(--fs-navy);border-bottom:1px solid var(--fs-navy);padding-bottom:2px;}
@media screen and (max-width:768px){
  .fs-topnews{padding:48px 18px 52px;}
  .fs-topnews__item a{flex-direction:column;gap:3px;padding:13px 4px;}
  .fs-topnews__date{width:auto;}
}

/* ---------- TOP 診療カレンダー（お知らせ横・inc/closed-days.php） ---------- */
.fs-closecal{border:1px solid #cfe3f3;border-radius:10px;padding:22px 22px 18px;background:#f7fbfe;}
.fs-closecal__title{margin:0 0 14px;font-size:18px;font-weight:600;color:var(--fs-navy);text-align:center;letter-spacing:.06em;}
.fs-closecal__viewport{max-width:340px;margin:0 auto;}
.fs-closecal__panel{display:none;}
.fs-closecal__panel.is-active{display:block;}
.fs-closecal__bar{display:flex;align-items:center;justify-content:space-between;gap:8px;margin:0 0 8px;}
.fs-closecal__caption{margin:0;font-family:var(--fs-en);font-weight:700;font-size:16px;color:var(--fs-navy);text-align:center;}
.fs-closecal__btn{flex:0 0 auto;width:32px;height:32px;padding:0;display:inline-flex;align-items:center;justify-content:center;border:1px solid #8fc4e8;border-radius:50%;background:#fff;color:var(--fs-navy);font-size:20px;line-height:1;cursor:pointer;transition:background .2s,color .2s,opacity .2s;}
.fs-closecal__btn:hover:not(:disabled){background:var(--fs-navy);color:#fff;}
.fs-closecal__btn:disabled{opacity:.3;cursor:default;}
.fs-closecal__table{width:100%;border-collapse:collapse;table-layout:fixed;}
.fs-closecal__table th,.fs-closecal__table td{position:relative;padding:5px 0;text-align:center;font-size:13px;line-height:1.2;border:0;background:none;}
.fs-closecal__table th{font-weight:700;color:#4a5866;border-bottom:1px solid #d9e7f2;}
.fs-closecal__table th.sun,.fs-closecal__table td.sun{color:#e66a6a;}
.fs-closecal__table th.sat,.fs-closecal__table td.sat{color:#2f7db7;}
.fs-closecal__table td.is-closed{z-index:1;color:#e66a6a;font-weight:700;}
.fs-closecal__table td.is-closed::after{content:"";position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);width:24px;height:24px;border-radius:50%;background:rgba(163,216,244,.45);z-index:-1;}
.fs-closecal__table td.is-today{outline:2px solid #2f7db7;outline-offset:-2px;border-radius:4px;}
.fs-closecal__list{list-style:none;margin:12px auto 0;max-width:300px;padding:10px 12px;border-top:1px dashed #d9e7f2;}
.fs-closecal__list li{display:flex;align-items:baseline;gap:8px;margin:3px 0;font-size:12.5px;color:#4a5866;line-height:1.6;}
.fs-closecal__d{flex:0 0 auto;min-width:40px;font-family:var(--fs-en);font-weight:700;color:#e66a6a;}
.fs-closecal__note{display:flex;align-items:center;gap:8px;margin:14px 0 0;font-size:12px;color:#4a5866;line-height:1.6;}
.fs-closecal__mark{flex:0 0 auto;width:16px;height:16px;border-radius:50%;background:rgba(163,216,244,.45);border:1px solid #8fc4e8;}
@media screen and (max-width:900px){
  .fs-topnews__row{grid-template-columns:1fr;gap:32px;max-width:640px;}
}
@media screen and (max-width:767px){
  .fs-closecal{padding:18px 16px 14px;}
  .fs-closecal__viewport{max-width:320px;}
}

/* ---------- 汎用セクション見出し ---------- */
.fs-sechead{text-align:center;padding:0 20px;margin-bottom:34px;}
.fs-sechead__en{font-family:var(--fs-en);font-size:14px;letter-spacing:.22em;color:#c8a24a;margin:0 0 14px;}
.fs-sechead__jp{font-weight:500;font-size:23px;line-height:1.6;color:var(--fs-navy);margin:0;letter-spacing:.03em;}
.fs-sechead__jp .fs-em{font-size:34px;font-weight:700;letter-spacing:.02em;}
.fs-sechead__sub{display:block;font-size:24px;font-weight:500;color:#2b2b2b;margin-top:6px;}
.fs-sechead mark{background:linear-gradient(transparent 58%,#fdf05a 58%);color:inherit;padding:0 2px;}
.sp-only{display:none;}
@media screen and (max-width:768px){
  .fs-sechead__jp{font-size:17px;}
  .fs-sechead__jp .fs-em{font-size:23px;}
  .sp-only{display:inline;}
}

/* ---------- TOP 診療案内メニュー（SERVICE） ---------- */
.fs-service{background:#eaf3fb;padding:70px 24px 80px;}
.fs-service__body{max-width:1120px;margin:0 auto;display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:0;align-items:stretch;}
.fs-service__photo{overflow:hidden;}
.fs-service__photo img{width:100%;height:100%;object-fit:cover;display:block;}
.fs-service__menu{background:#fff;padding:40px 44px;}
.fs-service__mtitle{font-weight:700;font-size:28px;color:#222;margin:0 0 20px;letter-spacing:.04em;}
.fs-service__list{list-style:none;margin:0;padding:0;columns:2;column-gap:34px;}
.fs-service__list li{border-bottom:1px solid #e3e8ef;break-inside:avoid;}
.fs-service__list a{display:flex;align-items:center;justify-content:space-between;padding:13px 4px;font-size:14px;color:#333;transition:color .18s;}
.fs-service__list a:hover{color:var(--fs-navy);}
.fs-service__arrow{font-style:normal;color:#b7c3d3;font-size:13px;}
.fs-service__list a:hover .fs-service__arrow{color:var(--fs-navy);}
@media screen and (max-width:900px){
  .fs-service__body{grid-template-columns:1fr;}
  .fs-service__photo{height:260px;}
}
@media screen and (max-width:768px){
  .fs-service{padding:50px 16px 56px;}
  .fs-sechead__jp{font-size:23px;}
  .fs-sechead__sub{font-size:18px;}
  .fs-service__menu{padding:28px 22px;}
  .fs-service__list{grid-template-columns:1fr;}
}

/* ---------- 追従CTA（電話/WEB予約/LINE）URUMA水色 ---------- */
.fixed-reservation-buttons{position:fixed;right:0;bottom:22%;z-index:1100;display:flex;flex-direction:column;gap:6px;}
.fixed-reservation-buttons .reservation-button{display:flex;align-items:center;gap:8px;min-width:150px;padding:12px 16px;font-size:14px;font-weight:700;color:#fff;background:var(--fs-pink);border-radius:8px 0 0 8px;box-shadow:0 2px 8px rgba(30,50,90,.18);transition:.2s;}
.fixed-reservation-buttons .reservation-button:hover{background:var(--fs-pink-deep);transform:translateX(-3px);}
.fixed-reservation-buttons .reservation-button.line{background:#06c755;}
.fixed-reservation-buttons .reservation-button.line:hover{background:#05a648;}
.fixed-reservation-buttons .reservation-button i{font-size:16px;}
@media screen and (max-width:768px){
  .fixed-reservation-buttons{right:0;left:0;bottom:0;flex-direction:row;gap:0;}
  .fixed-reservation-buttons .reservation-button{flex:1;min-width:0;justify-content:center;border-radius:0;font-size:12px;padding:11px 4px;box-shadow:none;}
  .fixed-reservation-buttons .reservation-button:hover{transform:none;}
}

/* =========================================================
   下層ページ 共通デザイン（B種：Brizy部品から変換したページ）
   template-parts/clean/<key>.html の <div class="fs-body"> 配下で使用。
   本番B種ページのトーン（明朝・紺#30548d見出し）に合わせ、TOPと同じ金の下線・淡青背景で統一。
   ========================================================= */
.fs-body{font-family:var(--fs-serif);color:#333;font-size:16px;line-height:1.9;}
/* kyoutuu.css の素の p/li 等（ゴシック指定）より優先して明朝に統一 */
.fs-body :is(p,li,td,th,h2,h3,h4,dt,dd,figcaption){font-family:var(--fs-serif);}
.fs-sec{padding:64px 20px;}
.fs-sec:nth-of-type(even){background:#f5f9fc;}
.fs-sec__in{max-width:1100px;margin:0 auto;}
.fs-body h2{margin:0 0 40px;font-size:28px;font-weight:500;line-height:1.5;letter-spacing:.06em;color:#30548d;text-align:center;}
.fs-body h2::after{content:"";display:block;width:60px;height:2px;margin:18px auto 0;background:#c8a24a;}
.fs-body h2:not(:first-child){margin-top:64px;}
.fs-body h3{margin:32px 0 16px;padding:2px 0 2px 14px;border-left:4px solid #30548d;font-size:21px;font-weight:500;line-height:1.6;color:#30548d;}
.fs-body h3:first-child{margin-top:0;}
.fs-body h4{margin:24px 0 10px;font-size:18px;font-weight:600;color:#30548d;}
.fs-body p{margin:0 0 1.1em;}
.fs-body p:last-child{margin-bottom:0;}
.fs-body strong{font-weight:700;}
.fs-body a:not(.fs-btn2){color:#2f7db7;text-decoration:underline;text-underline-offset:3px;}
.fs-body ul:not([class]),.fs-body ol:not([class]){margin:0 0 1.2em;padding-left:1.4em;}
.fs-body ul:not([class]){list-style:disc;}
.fs-body ol:not([class]){list-style:decimal;}
.fs-body .fs-tc{text-align:center;}
.fs-body .fs-tr{text-align:right;}
/* 画像＋文章の2列 */
.fs-media{display:grid;grid-template-columns:1fr 1fr;gap:48px;align-items:center;margin:0 0 48px;}
.fs-media:last-child{margin-bottom:0;}
.fs-media--imgleft .fs-media__txt{order:2;}
.fs-media--imgleft .fs-media__img{order:1;}
.fs-fig{margin:0 0 24px;}
.fs-fig:last-child{margin-bottom:0;}
.fs-fig img{display:block;width:100%;height:auto;border-radius:8px;}
.fs-grid .fs-fig img,.fs-sec__in>.fs-fig img{max-width:720px;margin:0 auto;}
/* 複数列 */
.fs-grid{display:grid;gap:32px;margin:0 0 40px;align-items:start;}
.fs-grid:last-child{margin-bottom:0;}
.fs-grid--2{grid-template-columns:repeat(2,1fr);}
.fs-grid--3{grid-template-columns:repeat(3,1fr);}
.fs-grid--4{grid-template-columns:repeat(4,1fr);}
/* チェックリスト（本番のアイコン＋短文） */
.fs-checks{display:grid;grid-template-columns:repeat(2,1fr);gap:14px 36px;margin:0 0 40px;padding:0;list-style:none;}
.fs-checks:last-child{margin-bottom:0;}
.fs-checks li{position:relative;padding:14px 16px 14px 50px;background:#fff;border:1px solid #d9e7f2;border-radius:8px;line-height:1.7;}
.fs-sec:nth-of-type(odd) .fs-checks li{background:#f7fbfe;}
.fs-checks li::before{content:"\f00c";position:absolute;left:16px;top:15px;width:22px;height:22px;border-radius:50%;background:#30548d;color:#fff;font-family:"Font Awesome 5 Free";font-weight:900;font-size:11px;line-height:22px;text-align:center;}
/* ボタン */
.fs-btnwrap{margin:28px 0 0;text-align:center;}
.fs-media__txt .fs-btnwrap{text-align:left;}
.fs-btn2{display:inline-flex;align-items:center;gap:10px;padding:13px 38px;border:1px solid #30548d;border-radius:40px;background:#fff;color:#30548d;font-size:15px;letter-spacing:.04em;text-decoration:none;transition:background .2s,color .2s;}
.fs-btn2::after{content:"\203A";font-size:20px;line-height:1;}
.fs-btn2:hover{background:#30548d;color:#fff;}
/* 関連ページ（本番の投稿一覧） */
.fs-related{display:grid;grid-template-columns:repeat(3,1fr);gap:14px;margin:0;padding:0;list-style:none;}
.fs-related li a{display:flex;align-items:center;height:100%;padding:16px 18px;border:1px solid #d9e7f2;border-radius:8px;background:#fff;color:#30548d !important;text-decoration:none !important;font-size:15px;line-height:1.6;transition:background .2s;}
.fs-related li a::before{content:"\203A";margin-right:10px;color:#c8a24a;font-size:20px;}
.fs-related li a:hover{background:#eef6fc;}
/* 表 */
.fs-table-wrap{overflow-x:auto;margin:0 0 32px;}
.fs-table{width:100%;border-collapse:collapse;background:#fff;font-size:15px;}
.fs-table th,.fs-table td{padding:12px 14px;border:1px solid #d3e1ec;text-align:left;vertical-align:top;}
.fs-table thead th{background:#30548d;color:#fff;text-align:center;}
.fs-table tbody th{background:#f1f7fc;color:#30548d;font-weight:600;white-space:nowrap;}
/* 地図 */
.fs-map{position:relative;aspect-ratio:16/9;margin:0 0 32px;}
.fs-map iframe{position:absolute;inset:0;width:100%;height:100%;border:0;}
@media screen and (max-width:900px){
  .fs-media{grid-template-columns:1fr;gap:24px;}
  .fs-media--imgleft .fs-media__txt,.fs-media--imgleft .fs-media__img{order:0;}
  .fs-grid--3,.fs-grid--4{grid-template-columns:repeat(2,1fr);}
  .fs-related{grid-template-columns:repeat(2,1fr);}
}
@media screen and (max-width:640px){
  .fs-sec{padding:44px 16px;}
  .fs-body h2{font-size:22px;margin-bottom:28px;}
  .fs-body h2:not(:first-child){margin-top:44px;}
  .fs-body h3{font-size:18px;}
  .fs-checks,.fs-grid--2,.fs-grid--3,.fs-grid--4,.fs-related{grid-template-columns:1fr;}
}
/* 本文内の診療時間表（アクセス・お問い合わせ）＝フッターと同じ表を大きめに */
.fs-hours-wrap{margin:0 auto 32px;max-width:760px;}
.fs-hours-wrap .fs-hours{max-width:none;font-size:15px;}
.fs-hours-wrap .fs-hours th,.fs-hours-wrap .fs-hours td{padding:10px 6px;}
.fs-hours-wrap .fs-hours tbody th{font-size:14px;}
/* 項目｜内容の表（料金表・医院情報・症例概要）：列幅をそろえる */
.fs-table--kv{table-layout:fixed;}
.fs-table--kv thead th:first-child{width:60%;}
.fs-table--kv tbody tr:first-child th:first-child{width:30%;}
.fs-table--kv thead + tbody tr:first-child th:first-child{width:auto;}
.fs-table--kv tbody th{white-space:normal;}

/* ---------- 症例集（本番 kyoutuu.css の症例デザインを共通ヘッダー/フッターの中で使う） ---------- */
.fs-case-page #primary,.fs-case-page #main_contents{max-width:1200px;margin:0 auto;padding:0 20px 70px;}
.fs-case-page #main_col{width:100%;}
.fs-case-page .case-archive-hero{margin:0 20px;}
.fs-case-page .related-case-item p{font-family:var(--fs-serif);}
.fs-case-page .case-study-details th,.fs-case-page .case-study-details td{font-family:var(--fs-serif);}
.fs-case-page .pagination,.fs-case-page .navigation{margin:40px auto 0;text-align:center;}
.fs-case-page .nav-links{display:flex;justify-content:center;gap:8px;flex-wrap:wrap;}
.fs-case-page .nav-links .page-numbers{display:inline-block;min-width:36px;padding:6px 10px;border:1px solid #d9e7f2;border-radius:6px;color:#30548d;}
.fs-case-page .nav-links .page-numbers.current{background:#30548d;color:#fff;border-color:#30548d;}
/* 本番でアイコン付きだった見出し（矯正治療中のケア等） */
.fs-body :is(h2,h3,h4)[data-icon]{padding-left:34px;position:relative;border-left:0;}
.fs-body :is(h2,h3,h4)[data-icon]::before{content:"\f058";position:absolute;left:0;top:.15em;font-family:"Font Awesome 5 Free";font-weight:900;color:#c8a24a;font-size:.95em;}
/* 本番の表示枠を再現した画像（幅px・縦横比・切り抜き位置は figure/img の style 属性で指定） */
.fs-fig--box{max-width:100%;margin-left:auto;margin-right:auto;}
.fs-fig--box img{width:100%;height:auto;display:block;}
.fs-media__img .fs-fig--box{margin-left:auto;margin-right:auto;}
@media screen and (max-width:767px){ .fs-fig--box{width:var(--fs-wm,100%) !important;} }
/* 複数列に並ぶ写真（虫歯の原因 等）は高さを揃える＝同じ比率(4:3)で切り抜き。本番は元画像の比率差で不揃いだったのを改善 */
.fs-grid .fs-fig--box img:not([style*="aspect-ratio"]){aspect-ratio:4/3;object-fit:cover;}
.fs-case-more{margin:40px 0 0;text-align:center;}
/* TOP スタッフブログ（Instagram直後・1列） */
.fs-staffblog{background:#f5f9fc;}
.fs-staffblog__inner{max-width:900px;margin:0 auto;}
/* お問い合わせ「診療の予約する」ボタン＝本番の水色（本番でも contact.css の #e38989 は上書きされている） */
.fs-form #mail_submit2,.fs-form .wpcf7-submit{background:#88bbd6 !important;color:#fff;border:0;border-radius:0;width:225px;min-width:0;height:48px;padding:8px;font-size:14px;letter-spacing:0;}
.fs-form #mail_submit2:hover,.fs-form .wpcf7-submit:hover{background:#6fa9c9 !important;filter:none;transform:none;}

/* ---------- 黄色マーカー（本番 Brizy の background-color 装飾を維持） ---------- */
.fs-body mark.fs-mark{background:rgba(255,255,128,.87);color:inherit;padding:0 .1em;}

/* ---------- お問い合わせページ（本番PCデザインに寄せる：見出し黒＋金線117px・確認事項はアイコン付き1列18px・2番目のみ淡青背景） ---------- */
.fs-key-contact .fs-sec__in{max-width:1170px;}
.fs-key-contact .fs-sec{background:transparent;padding:70px 20px;}
.fs-key-contact .fs-sec:nth-of-type(2){background:#eaf8ff;}
.fs-key-contact .fs-body h2{color:#000;letter-spacing:2px;font-weight:400;}
.fs-key-contact .fs-body h2::after{width:117px;background:rgba(252,185,0,.75);margin-top:14px;}
.fs-key-contact .fs-checks{grid-template-columns:1fr;gap:22px;max-width:1090px;margin:0 auto;}
.fs-key-contact .fs-checks li{padding:0 0 0 52px;background:transparent;border:0;border-radius:0;font-size:18px;line-height:1.9;text-align:justify;}
.fs-key-contact .fs-checks li::before{content:"\f5c9";width:auto;height:auto;left:0;top:.1em;background:transparent;color:#3b5f71;font-size:30px;line-height:1;border-radius:0;}
.fs-key-contact .fs-body p{font-size:16px;line-height:1.9;}
.fs-key-contact .fs-body a[href^="tel:"]{color:#416eb8;font-weight:700;font-size:18px;text-decoration:none;}
.fs-key-contact .fs-form{max-width:1096px;margin:0 auto;}
/* 本文内の診療時間表＝本番の table.time-table02（お問い合わせ・アクセス） */
.fs-hours-wrap{max-width:1023px;margin:0 auto 32px;}
.time-table02{font-family:"Noto Serif JP",serif;font-size:14px;margin-bottom:20px;width:100%;border-collapse:collapse;}
.time-table02 th,.time-table02 td{text-align:center;line-height:1;vertical-align:middle;font-size:19px;color:#000;background:none;border:0;}
.time-table02 th{border-bottom:1px solid #000;padding:15px 5px;font-weight:400;}
.time-table02 th:first-child,.time-table02 td:first-child{border-bottom:1px solid #000;border-right:1px solid #000;color:#000;}
.time-table02 th:first-child{width:140px;}
.time-table02 td{border-bottom:1px solid #000;padding:20px 5px;}
.time-table02 tr:last-child th,.time-table02 tr:last-child td{border-bottom:none;}
@media screen and (max-width:640px){ .time-table02 th,.time-table02 td{font-size:13px;padding:10px 2px;} .time-table02 th:first-child{width:auto;} }

/* ---------- ポップアップ（本番 Brizy popup の代替：「ご予約についての御願い」等） ---------- */
.fs-popup{position:fixed;inset:0;z-index:5000;display:flex;align-items:center;justify-content:center;padding:20px;}
.fs-popup[hidden]{display:none;}
.fs-popup__bg{position:absolute;inset:0;background:rgba(0,0,0,.6);}
.fs-popup__box{position:relative;max-width:900px;width:100%;max-height:90vh;overflow:auto;background:#fff;border-radius:6px;padding:28px;box-shadow:0 10px 40px rgba(0,0,0,.35);}
.fs-popup__close{position:absolute;top:-14px;right:-14px;width:36px;height:36px;border:0;border-radius:50%;background:#30548d;color:#fff;font-size:22px;line-height:36px;cursor:pointer;box-shadow:0 2px 6px rgba(0,0,0,.3);}
.fs-popup__body .fs-fig{margin:0;}
.fs-popup__body .fs-fig img{width:100%;height:auto;display:block;}
body.fs-popup-open{overflow:hidden;}
@media screen and (max-width:640px){ .fs-popup__box{padding:16px;} .fs-popup__close{top:-12px;right:-6px;} }
.fs-popup__body .fs-fig--box{width:100% !important;}

/* =========================================================
   UI/UX改善（2026-09-25 点検対応）— 番号は _recon/uiux-review-20260925.md に対応
   ========================================================= */
/* B9: 主要CTAの文字コントラスト（白 on 水色=1.5 → 白 on 紺=8.4） */
:root{--fs-cta:#30548d;--fs-cta-hover:#014f8c;}
.fixed-reservation-buttons .reservation-button{background:var(--fs-cta);}
.fixed-reservation-buttons .reservation-button:hover{background:var(--fs-cta-hover);}
.fs-btn,.fs-feat__pill,.fs-float__btn{background:var(--fs-cta);}
.fs-btn:hover,.fs-feat__pill:hover{background:var(--fs-cta-hover);}
.problem-item .view-more{background-color:var(--fs-cta);}
.problem-item .view-more:hover{background-color:var(--fs-cta-hover);}
.fs-page .pickup-btn{background:var(--fs-cta);}
.fs-page .pickup-btn:hover{background:var(--fs-cta-hover);}
.fs-nav__en{color:#6b9dc2;}
.fs-topnews__date{color:#6b737e;}
/* B10: お問い合わせ 送信ボタン（中央・大きく・紺）＋チェック/ラジオのタップ領域 */
.fs-form #mail_submit2,.fs-form .wpcf7-submit{background:var(--fs-cta) !important;display:block;margin:20px auto 0;width:320px;max-width:100%;height:56px;font-size:16px;font-weight:700;border-radius:40px;letter-spacing:.06em;box-shadow:0 4px 12px rgba(48,84,141,.25);}
.fs-form #mail_submit2:hover,.fs-form .wpcf7-submit:hover{background:var(--fs-cta-hover) !important;}
.fs-form input[type=checkbox],.fs-form input[type=radio]{width:20px;height:20px;accent-color:var(--fs-cta);vertical-align:middle;margin:0 6px 0 0;}
.fs-form .wpcf7-list-item label{min-height:36px;cursor:pointer;}
/* B11: ページトップへ戻る */
.fs-pagetop{position:fixed;right:20px;bottom:88px;z-index:1050;width:44px;height:44px;border-radius:50%;background:var(--fs-cta);color:#fff;display:flex;align-items:center;justify-content:center;font-size:16px;box-shadow:0 4px 12px rgba(0,0,0,.25);transition:background .2s,transform .2s;}
.fs-pagetop[hidden]{display:none;}
.fs-pagetop:hover{background:var(--fs-cta-hover);transform:translateY(-2px);}
/* B12: SPフッターの電話番号をボタン状に（タップ領域52px） */
@media screen and (max-width:768px){
  .fs-pagetop{left:12px;right:auto;bottom:60px;width:42px;height:42px;}
  .fs-footer__tel a{display:flex;align-items:center;justify-content:center;gap:10px;min-height:52px;padding:10px 16px;border:2px solid var(--fs-navy);border-radius:40px;font-size:20px;background:#fff;}
  /* B13: ロゴ元画像は幅356px。Retina(2x)で拡大表示されないサイズに */
  .fs-logo__word{height:48px;}
  .fs-footer__logo{width:178px;}
}
/* B14: 診療時間「日/祝」の折返し防止 */
.time-table02 th,.fs-hours th{white-space:nowrap;}
/* B16: reCAPTCHA バッジ非表示（Google規定の告知文をフォーム下に表示） */
.grecaptcha-badge{visibility:hidden !important;}
.fs-recaptcha-note{max-width:1096px;margin:14px auto 0;font-size:12px;line-height:1.7;color:#666;text-align:center;}
.fs-recaptcha-note a{color:#2f7db7;}
/* B17: TOP 治療の特徴 見出しの1文字折返し（PC） */
.pc-br{display:inline;}
@media screen and (min-width:769px) and (max-width:1400px){
  .feature-content .feature-main{font-size:27px;}
  .feature-block .feature-content{padding:50px 36px;}
}
@media screen and (max-width:768px){ .pc-br{display:none;} }
/* B18: 4つのポイント本文の強制改行をSPでは無効化（1〜2文字の行を防ぐ） */
@media screen and (max-width:767px){ .season-description br{display:none;} }
/* B19: ピックアップ診療のSP空白帯（見出し下150px・末尾180px）を縮める */
@media screen and (max-width:768px){
  .fs-pickup-head{padding:44px 16px 10px;}
  .sedai{padding-top:10px;}
  .sedai::before,.sedai::after{height:30px;}
  .sedai .idx_inr{padding:12px 0;margin-bottom:10px;}
  .sedai .idx_inr:last-child{margin-bottom:0;}
  .fs-service-wrap{padding-top:44px;}
}
/* B21: 紹介動画が奇数本のとき最後の1本を中央に */
.fs-movie__item:last-child:nth-child(odd){grid-column:1 / -1;justify-self:center;width:100%;max-width:555px;}
/* B23: YouTube 遅延埋め込み（サムネイル＋再生ボタン） */
.fs-yt{cursor:pointer;overflow:hidden;}
.fs-yt img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;display:block;}
.fs-yt__play{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);width:68px;height:48px;border:0;border-radius:12px;background:rgba(0,0,0,.75);cursor:pointer;transition:background .2s;}
.fs-yt:hover .fs-yt__play,.fs-yt__play:focus-visible{background:#e62117;}
.fs-yt__ic{position:absolute;left:50%;top:50%;transform:translate(-40%,-50%);border-style:solid;border-width:10px 0 10px 18px;border-color:transparent transparent transparent #fff;}
/* B22: Instagram プロフィール文（ハッシュタグ羅列）は非表示 */
.fs-instagram .sbi_bio{display:none;}
/* B24: お知らせ 画像なしサムネイル（淡青地・小さめロゴ） */
.fs-news-page #news_list .image.noimage{background-size:contain !important;background-color:#eef2f7;}
/* B25: SPで帯ラベル「NEWS」が2行に割れる */
@media screen and (max-width:768px){
  #page_header .sub_title{width:96px;height:96px;font-size:14px;}
  #page_header .sub_title span{padding:0 6px;white-space:nowrap;}
}
/* B26: お知らせ系パンくずの「ホーム」を他ページと同じ文字表記に */
.fs-news-page #bread_crumb li.home a{width:auto;}
.fs-news-page #bread_crumb li.home a span{opacity:1;}
.fs-news-page #bread_crumb li.home a:before{display:none;}
/* B27: 症例一覧カードの高さ・画像位置を揃える */
.fs-key-case .fs-grid--2{align-items:stretch;}
.fs-key-case .fs-grid__col{display:flex;flex-direction:column;}
.fs-key-case .fs-grid__col .fs-fig{margin-top:auto;}
.fs-key-case .fs-grid__col .fs-btnwrap{margin-top:20px;}
/* B28: ポップアップ画像を1画面に収める（内部スクロール不要に） */
.fs-popup__box{display:flex;flex-direction:column;}
.fs-popup__body{overflow:auto;}
.fs-popup__body .fs-fig--box img,.fs-popup__body .fs-fig img{width:auto;max-width:100%;max-height:calc(90vh - 56px);margin:0 auto;}
/* B32: 入れ歯ページ（SP）の番号ウォーターマークが本文に重なる */
@media screen and (max-width:768px){ .fs-key-dentures .denture-cause__num,.fs-key-dentures .worry-card__num{opacity:.12;} }
/* B33: お問い合わせ見出し（SP）の折返し */
@media screen and (max-width:640px){ .fs-key-contact .fs-body h2{font-size:20px;letter-spacing:0;} }
/* A5: 完了ページ 注意ボックス（旧：黄色文字） */
.fs-caution{max-width:760px;margin:24px auto;padding:18px 22px;border:2px solid #d33;border-radius:8px;background:#fff5f5;color:#b3261e;}
.fs-caution__ttl{font-weight:700;margin:0 0 6px;}
.fs-caution p{margin:0 0 4px;color:#b3261e;}
/* B29: 料金表の注記 */
.fs-note{font-size:14px;color:#555;margin:-20px 0 24px;}
/* A1: 404ページ */
.fs-404{padding:60px 20px 80px;}
.fs-404__inner{max-width:760px;margin:0 auto;text-align:center;}
.fs-404__ttl{font-size:26px;font-weight:500;color:var(--fs-navy);margin:0 0 20px;}
.fs-404__lead{font-size:16px;line-height:1.9;margin:0 0 30px;}
.fs-404__links{list-style:none;margin:0 0 30px;padding:0;display:flex;flex-wrap:wrap;justify-content:center;gap:12px;}
.fs-404__tel{font-size:15px;}
.fs-404__tel a{display:inline-block;margin-top:8px;font-size:24px;font-weight:700;color:var(--fs-navy);}
@media screen and (max-width:640px){ .fs-404__ttl{font-size:20px;} .fs-404__links{flex-direction:column;} .fs-404__links .fs-btn2{width:100%;justify-content:center;} }
/* C36: トップ細帯（SEO用h1）はSPで1行省略 */
@media screen and (max-width:768px){ .fs-topbar{padding:4px 12px;font-size:11px;} .fs-topbar__h1{display:block;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;} }
/* C37: SPフッターのサイトマップを2列に */
@media screen and (max-width:768px){ .fs-footer__nav{grid-template-columns:1fr 1fr;gap:0 16px;} .fs-footer__col li a{font-size:12.5px;padding:8px 0;} }
/* C41: キーボード操作時のフォーカス表示 */
.fs-page a:focus-visible,.fs-page button:focus-visible,.fs-page input:focus-visible,.fs-page select:focus-visible,.fs-page textarea:focus-visible{outline:2px solid var(--fs-navy);outline-offset:2px;}
/* B8: SPメニューをアコーディオンに（初期は閉じる・矢印ボタンで開閉） */
.fs-nav__toggle{display:none;}
@media screen and (max-width:1024px){
  .fs-nav__item.has-child{position:relative;}
  .fs-nav__item.has-child>a{padding-right:64px;}
  .fs-nav__toggle{display:block;position:absolute;right:8px;top:8px;width:48px;height:48px;border:0;background:none;cursor:pointer;}
  .fs-nav__toggle::before{content:"";position:absolute;left:50%;top:50%;width:10px;height:10px;border-right:2px solid var(--fs-navy);border-bottom:2px solid var(--fs-navy);transform:translate(-50%,-70%) rotate(45deg);transition:transform .2s;}
  .fs-nav__item.is-expanded>.fs-nav__toggle::before{transform:translate(-50%,-30%) rotate(-135deg);}
  .fs-nav__item.has-child>.fs-subnav{display:none;}
  .fs-nav__item.is-expanded>.fs-subnav{display:block;}
}
/* パンくずを明朝体に（2026-09-29 指示）：下層・症例集・お知らせ系すべて */
.fs-crumb__inner{font-family:var(--fs-serif);font-weight:500;}
.fs-news-page #bread_crumb,.fs-news-page #bread_crumb a,.fs-news-page #bread_crumb span{font-family:var(--fs-serif);}
/* ホワイトニングページのチェックリストは縦1列（2026-09-29 指示） */
.fs-key-whitening .fs-checks{grid-template-columns:1fr;}
/* ホワイトニング「このようなお悩みはありませんか？」のアコーディオン（cp_qa/cp_actab）
   本番HTMLにもCSSが無く素のまま表示されていたため、テーマ側で開閉式に実装（2026-09-29） */
.fs-body .cp_qa{max-width:900px;margin:0 auto;}
.fs-body .cp_actab{position:relative;overflow:hidden;margin:0 0 12px;background:#fff;border:1px solid #d9e7f2;border-radius:8px;}
.fs-body .cp_actab input{position:absolute;left:0;top:0;width:1px;height:1px;opacity:0;margin:0;pointer-events:none;}
.fs-body .cp_actab label{position:relative;display:block;margin:0;padding:16px 60px 16px 52px;font-weight:600;font-size:16px;line-height:1.6;color:#30548d;cursor:pointer;transition:background .2s;}
.fs-body .cp_actab label::before{content:"Q";position:absolute;left:18px;top:15px;width:24px;height:24px;border-radius:50%;background:#30548d;color:#fff;font-family:var(--fs-en);font-size:13px;font-weight:700;line-height:24px;text-align:center;}
.fs-body .cp_actab label:hover{background:#f7fbfe;}
.fs-body .cp_actab .cp_plus{position:absolute;right:18px;top:15px;z-index:1;width:26px;height:26px;border:1px solid #30548d;border-radius:50%;color:#30548d;font-size:20px;font-weight:400;line-height:24px;text-align:center;pointer-events:none;transition:transform .3s;}
.fs-body .cp_actab .cp_actab-content{max-height:0;overflow:hidden;padding:0 20px 0 52px;color:#333;font-size:15px;line-height:1.9;background:#f7fbfe;transition:max-height .35s ease,padding .35s ease;}
.fs-body .cp_actab input:checked ~ .cp_actab-content{max-height:80em;padding:14px 20px 18px 52px;}
.fs-body .cp_actab input:checked ~ .cp_plus{transform:rotate(45deg);}
.fs-body .cp_actab input:focus-visible ~ label{outline:2px solid #30548d;outline-offset:-2px;}
@media screen and (max-width:640px){
  .fs-body .cp_actab label{padding:14px 50px 14px 44px;font-size:15px;}
  .fs-body .cp_actab label::before{left:12px;top:14px;}
  .fs-body .cp_actab .cp_plus{right:12px;top:13px;}
  .fs-body .cp_actab .cp_actab-content{padding-left:16px;}
  .fs-body .cp_actab input:checked ~ .cp_actab-content{padding:12px 16px 16px;}
}
/* 濃色背景ボタンの文字色を白に固定（.fs-page a{color:inherit} の詳細度に負けて黒文字になっていた） 2026-09-29 */
.fs-page .fs-btn,.fs-page .fs-feat__pill,.fs-page .fs-float__btn,.fs-page .pickup-btn,.fs-page .view-more,.fs-page .reservation-button,.fs-page .fs-pagetop,
.fs-page .fs-btn:hover,.fs-page .fs-feat__pill:hover,.fs-page .pickup-btn:hover,.fs-page .view-more:hover,.fs-page .reservation-button:hover,.fs-page .fs-pagetop:hover,
.fs-page .fs-btn2:hover,.fs-page .btn-blue:hover,.fs-page .case-anchor-nav__btn:hover{color:#fff;}
.fs-page .fs-btn2:hover::after{color:#fff;}
/* 追従CTA：水色のピル型（左角丸・右端は画面に接する）＋白太字（2026-09-29 指示のデザインに変更） */
.fs-page .fixed-reservation-buttons{gap:12px;bottom:22%;}
.fs-page .fixed-reservation-buttons .reservation-button,
.fs-page .fixed-reservation-buttons .reservation-button.line{background:#a3d8f4;color:#fff;min-width:230px;padding:14px 26px 14px 30px;font-size:18px;font-weight:700;letter-spacing:.04em;justify-content:flex-start;gap:14px;border-radius:32px 0 0 32px;box-shadow:0 4px 14px rgba(0,120,190,.18);text-shadow:0 1px 2px rgba(0,60,120,.18);}
.fs-page .fixed-reservation-buttons .reservation-button i{font-size:20px;width:24px;text-align:center;}
.fs-page .fixed-reservation-buttons .reservation-button:hover,
.fs-page .fixed-reservation-buttons .reservation-button.line:hover{background:#7fbfe0;color:#fff;transform:translateX(-4px);}
@media screen and (max-width:768px){
  .fs-page .fixed-reservation-buttons{gap:0;bottom:0;}
  .fs-page .fixed-reservation-buttons .reservation-button,
  .fs-page .fixed-reservation-buttons .reservation-button.line{min-width:0;padding:12px 4px;font-size:13px;justify-content:center;gap:8px;border-radius:0;box-shadow:none;border-right:1px solid rgba(255,255,255,.6);}
  .fs-page .fixed-reservation-buttons .reservation-button:last-child{border-right:0;}
  .fs-page .fixed-reservation-buttons .reservation-button i{font-size:16px;width:auto;}
  .fs-page .fixed-reservation-buttons .reservation-button:hover{transform:none;}
}
.fs-page .fixed-reservation-buttons .reservation-button{font-family:var(--fs-sans);} /* 見本に合わせゴシック太字 */
/* 追従CTA：右側も角丸にし、画面右端から少し内側に配置（2026-09-29） */
.fs-page .fixed-reservation-buttons{right:16px;}
.fs-page .fixed-reservation-buttons .reservation-button,
.fs-page .fixed-reservation-buttons .reservation-button.line{border-radius:32px;padding:14px 30px;}
@media screen and (max-width:768px){
  .fs-page .fixed-reservation-buttons{right:0;}
  .fs-page .fixed-reservation-buttons .reservation-button,
  .fs-page .fixed-reservation-buttons .reservation-button.line{border-radius:0;padding:12px 4px;}
}
/* 見出し・ボタン・表見出しの「末尾1〜2文字だけ折り返し」防止：行の長さを均等に折り返す（text-wrap:balance／非対応ブラウザは従来どおり） 2026-09-29 */
.fs-body h2,.fs-body h3,.fs-body h4,.fs-body th,.fs-body .section-title,.fs-hero__title,.fs-btn2,.fs-btn,.fs-sechead__jp,.fs-404__ttl,.fs-teamintro__ttl{text-wrap:balance;}
.fs-btn2{text-align:center;}
/* SP：3列以上の表は列が潰れて1語が5行になるため、内容幅で組んで横スクロール */
@media screen and (max-width:640px){
  .fs-body .fs-table:has(tr > :nth-child(3)){table-layout:fixed;font-size:13px;}
  .fs-body .fs-table:has(tr > :nth-child(3)) th,.fs-body .fs-table:has(tr > :nth-child(3)) td{padding:8px 6px;}
  .fs-body .fs-table:has(tr > :nth-child(3)) thead th{white-space:normal;}
}
/* 忠実再現ページ（入れ歯・審美・成人矯正・訪問・求人）の見出し/表見出しにも同じ折返し均等化を適用 */
.fs-main h2,.fs-main h3,.fs-main h4,.fs-main th{text-wrap:balance;}
.fs-body .fs-table thead th{white-space:nowrap;}
@media screen and (max-width:640px){
  .fs-table--kv thead th:first-child,.fs-table--kv tbody tr:first-child th:first-child{width:48%;}
}
/* 3列以上の表：1列目の見出しセルは折返し可（nowrapだと隣の列にはみ出す） */
.fs-body .fs-table:has(tr > :nth-child(3)) tbody th{white-space:normal;}
