/* ============================================================
   Medifit Lab コラム記事デザイン（新サイト準拠）
   既存テーマを上書きする形で適用。読み込みは wp_head の最後。
   ============================================================ */
:root{
  --mf-navy:#1E3A5F;      /* 見出し・本文濃色 */
  --mf-ink:#4A6572;       /* 本文 */
  --mf-teal:#2E6E6C;      /* アクセント（濃） */
  --mf-teal2:#3E8E8B;     /* アクセント */
  --mf-mint:#EDF6F4;      /* 淡い背景 */
  --mf-coral:#E8756A;     /* CTA */
  --mf-coral-d:#DE6558;
  --mf-gray:#8A9BA6;
  --mf-cream:#FDFBF7;     /* ページ背景 */
  --mf-line:rgba(62,142,139,.16);
  --mf-shadow:0 12px 28px rgba(30,58,95,.07);
}

/* ---------- 全体 ---------- */
body{
  background:var(--mf-cream) !important;
  color:var(--mf-ink) !important;
  font-family:'Zen Maru Gothic','Noto Sans JP',sans-serif !important;
  -webkit-font-smoothing:antialiased;
}
.bodyWrap{background:var(--mf-cream) !important;}

/* ---------- ヘッダー（新サイトと同じ見た目） ---------- */
#header, .header_bg{
  background:rgba(253,251,247,.94) !important;
  backdrop-filter:blur(10px);
  border-bottom:1px solid var(--mf-line) !important;
  position:sticky !important; top:0; z-index:60;
  box-shadow:none !important;
}
#header .wrap{
  max-width:1240px; margin:0 auto; padding:12px 24px !important;
  display:flex; align-items:center; gap:24px;
}
/* 旧「初回相談無料」バッジは非表示（名古屋時代の導線） */
#header .register{display:none !important;}

/* ロゴ：亀マーク＋MEDIFIT LAB */
#header .site_logo{margin:0 !important; flex-shrink:0;}
#header .site_logo a{
  display:flex !important; align-items:center; gap:12px;
  font-size:0 !important; color:var(--mf-navy) !important; text-decoration:none;
}
#header .site_logo a::before{
  content:""; width:52px; height:52px; flex-shrink:0;
  background:url("/wp-content/uploads/2026/08/medifit-favicon-192.png") center/cover no-repeat #fff;
  border-radius:50%; border:2px solid #EAD9BE;
}
#header .site_logo a::after{
  content:"MEDIFIT LAB";
  font-family:Quicksand,'Zen Maru Gothic',sans-serif;
  font-weight:700; font-size:17px; letter-spacing:.08em; color:var(--mf-navy);
}

/* ナビ */
#header .nav{margin-left:auto;}
#header .nav ul{display:flex; gap:4px; align-items:center; margin:0; padding:0; list-style:none;}
#header .nav ul li{margin:0;}
#header .nav ul li a{
  display:inline-block; font-size:14px; font-weight:500;
  color:var(--mf-navy) !important; padding:9px 13px; border-radius:999px;
  text-decoration:none; transition:background .15s;
}
#header .nav ul li a:hover{background:var(--mf-mint); color:var(--mf-teal) !important;}


/* 旧テーマの装飾（濃いグレーの帯）を除去 */
#header::before, #header::after,
#page_title::before, #page_title::after,
#page_cont::before, #page_cont::after{
  content:none !important; display:none !important; background:none !important;
}
/* ハンバーガー線の色を新サイトに合わせる */
#header .nav_btn span{background:var(--mf-navy) !important;}

/* ---------- 記事タイトル ---------- */
#page_title{
  background:linear-gradient(180deg,var(--mf-mint) 0%,var(--mf-cream) 100%) !important;
  padding:44px 0 40px !important; border:none !important;
}
#page_title .wrap{max-width:860px; margin:0 auto; padding:0 24px;}
#page_title h1{
  font-size:30px !important; font-weight:700 !important;
  color:var(--mf-navy) !important; line-height:1.65 !important;
  margin:0 !important; letter-spacing:.01em;
}
#page_title h1::before{
  content:"HEALTH COLUMN"; display:block;
  font-family:Quicksand,sans-serif; font-weight:700; font-size:12px;
  letter-spacing:.24em; color:var(--mf-teal2); margin-bottom:14px;
}

/* ---------- 本文エリア ---------- */
#page_cont{background:transparent !important; padding:0 0 60px !important;}
#page_cont .wrap{max-width:860px !important; margin:0 auto !important; padding:0 24px !important;}
.content.post{
  background:#fff !important;
  border:1px solid var(--mf-line) !important;
  border-radius:28px !important;
  box-shadow:var(--mf-shadow) !important;
  padding:44px 40px 48px !important;
  margin:32px 0 0 !important;
  max-width:none !important;
}

/* 本文 */
.content.post p{
  font-size:16px !important; line-height:2.05 !important;
  color:var(--mf-ink) !important; margin:0 0 1.5em !important;
}
.content.post strong{color:var(--mf-navy); font-weight:700;}

/* 見出し */
.content.post h2{
  font-size:23px !important; font-weight:700 !important;
  color:var(--mf-navy) !important; line-height:1.6 !important;
  margin:2.6em 0 1em !important; padding:0 0 14px !important;
  border:none !important; background:none !important;
  border-bottom:2px solid var(--mf-mint) !important; position:relative;
}
.content.post h2::after{
  content:""; position:absolute; left:0; bottom:-2px;
  width:64px; height:2px; background:var(--mf-teal2);
}
.content.post h3{
  font-size:19px !important; font-weight:700 !important;
  color:var(--mf-navy) !important; line-height:1.65 !important;
  margin:2.2em 0 .9em !important; padding:0 0 0 15px !important;
  border:none !important; background:none !important;
  border-left:4px solid var(--mf-teal2) !important; border-radius:2px;
}
.content.post h4{
  font-size:17px !important; font-weight:700 !important;
  color:var(--mf-teal) !important; margin:1.9em 0 .7em !important;
  padding:0 !important; border:none !important; background:none !important;
}

/* リンク */
.content.post a{
  color:var(--mf-teal) !important;
  text-decoration:none !important;
  border-bottom:1.5px solid rgba(62,142,139,.35);
  padding-bottom:1px; transition:border-color .15s;
}
.content.post a:hover{border-bottom-color:var(--mf-teal2);}

/* リスト */
.content.post ul, .content.post ol{margin:0 0 1.6em !important; padding-left:1.4em !important;}
.content.post li{
  font-size:15.5px !important; line-height:2 !important;
  color:var(--mf-ink) !important; margin:0 0 .5em !important;
}
.content.post ul li::marker{color:var(--mf-teal2);}

/* 画像 */
.content.post img{
  border-radius:18px !important; max-width:100% !important; height:auto !important;
  box-shadow:0 10px 24px rgba(30,58,95,.08); margin:1.2em 0;
}

/* 引用 */
.content.post blockquote{
  background:var(--mf-mint) !important; border:none !important;
  border-left:4px solid var(--mf-teal2) !important;
  border-radius:0 16px 16px 0 !important;
  padding:22px 26px !important; margin:1.8em 0 !important;
  color:var(--mf-ink) !important;
}

/* テーブル */
.content.post table{
  width:100% !important; border-collapse:separate !important; border-spacing:0 !important;
  border:1px solid var(--mf-line) !important; border-radius:16px !important;
  overflow:hidden !important; margin:1.6em 0 !important; font-size:15px;
}
.content.post table th{
  background:var(--mf-mint) !important; color:var(--mf-navy) !important;
  font-weight:700 !important; padding:13px 16px !important; text-align:left !important;
  border:none !important; border-bottom:1px solid var(--mf-line) !important;
}
.content.post table td{
  padding:13px 16px !important; border:none !important;
  border-bottom:1px solid var(--mf-line) !important; color:var(--mf-ink) !important;
}
.content.post table tr:last-child td{border-bottom:none !important;}

/* ---------- 目次 ---------- */
#ez-toc-container{
  background:var(--mf-mint) !important;
  border:1px solid var(--mf-line) !important;
  border-radius:22px !important;
  box-shadow:none !important;
  padding:24px 26px !important;
  margin:0 0 2.4em !important;
}
#ez-toc-container .ez-toc-title{
  color:var(--mf-navy) !important; font-weight:700 !important; font-size:16px !important;
}
#ez-toc-container .ez-toc-title-container::after{
  content:"CONTENTS"; display:block;
  font-family:Quicksand,sans-serif; font-size:10.5px; letter-spacing:.2em;
  color:var(--mf-teal2); margin-top:2px;
}
#ez-toc-container ul li a, #ez-toc-container ul li a:visited{
  color:var(--mf-teal) !important; text-decoration:none !important;
  font-size:14.5px !important; line-height:1.95 !important; border:none !important;
}
#ez-toc-container ul li a:hover{color:var(--mf-teal2) !important; text-decoration:underline !important;}
#ez-toc-container ul{margin:10px 0 0 !important;}

/* ---------- 関連記事 ---------- */
.wp-block-query{margin-top:3em !important;}
.content.post h2.wp-block-post-title a, .wp-block-post-title a{
  color:var(--mf-navy) !important; font-weight:700; text-decoration:none !important; border:none !important;
}

/* ---------- フッター ---------- */
#footer, .site_details{background:var(--mf-navy) !important; color:#B9CBDC !important;}
#footer a, .site_details a{color:#B9CBDC !important; border:none !important;}
#footer a:hover, .site_details a:hover{color:#fff !important;}


/* ============================================================
   関連記事「この記事を読んだ人は、こんな記事も読んでいます」
   構造: ul.wp-block-post-template > li > .wp-block-columns
         └ 列1=アイキャッチ / 列2=タイトル
   ============================================================ */
.wp-block-query{
  margin:2.2em 0 0 !important;
  background:transparent;
  border:none;
  border-radius:0;
  padding:0;
}
.wp-block-post-template{
  display:grid !important;
  grid-template-columns:repeat(auto-fill,minmax(300px,1fr)) !important;
  gap:12px !important;
  margin:0 !important; padding:0 !important; list-style:none !important;
}
.wp-block-post-template > li{
  background:transparent; border:none; border-radius:0;
  border-bottom:1px solid var(--mf-line);
  overflow:hidden; margin:0 !important; padding:0 !important;
  box-shadow:none;
}
.wp-block-post-template > li:last-child{border-bottom:none;}
.wp-block-post-template > li::marker{content:none !important;}

/* 内側の2カラム＝画像とタイトルを横並びに固定 */
.wp-block-post-template .wp-block-columns{
  display:flex !important; flex-direction:row !important;
  gap:0 !important; margin:0 !important; align-items:stretch !important;
  flex-wrap:nowrap !important;
}
/* 1列目＝画像（固定幅） */
.wp-block-post-template .wp-block-column:first-child{
  flex:0 0 108px !important; max-width:108px !important;
  margin:0 !important; padding:12px 0 12px !important;
}
/* 2列目＝タイトル（残り全部） */
.wp-block-post-template .wp-block-column:last-child{
  flex:1 1 auto !important; max-width:none !important;
  margin:0 !important; padding:12px 14px !important;
  display:flex !important; align-items:center !important;
}
.wp-block-post-featured-image{margin:0 !important; height:100%;}
.wp-block-post-featured-image a{display:block; height:100%; border:none !important;}
.wp-block-post-featured-image img{
  width:100% !important; height:100% !important; min-height:74px;
  object-fit:cover !important; border-radius:10px !important;
  box-shadow:none !important; margin:0 !important; display:block;
}
.content.post h2.wp-block-post-title, .wp-block-post-title{
  font-size:13.5px !important; font-weight:700 !important;
  line-height:1.62 !important; margin:0 !important; padding:0 !important;
  border:none !important; background:none !important;
}
.content.post h2.wp-block-post-title::after, .content.post h2.wp-block-post-title::before, .wp-block-post-title::after, .wp-block-post-title::before{content:none !important;}
.content.post h2.wp-block-post-title a, .wp-block-post-title a{
  color:var(--mf-navy) !important; text-decoration:none !important;
  border:none !important; padding:0 !important;
  display:-webkit-box; -webkit-line-clamp:3; -webkit-box-orient:vertical; overflow:hidden;
}
.wp-block-post-title a:hover{color:var(--mf-teal) !important;}

/* ============================================================
   お問い合わせフォーム（Contact Form 7）→ 新サイトの予約フォーム風
   ============================================================ */
.wpcf7{
  background:transparent;
  border:none; border-top:1px solid var(--mf-line);
  border-radius:0; box-shadow:none;
  padding:30px 0 0; margin:2.4em 0 0;
}
.wpcf7 input[type=text], .wpcf7 input[type=email], .wpcf7 input[type=tel],
.wpcf7 input[type=date], .wpcf7 input[type=number], .wpcf7 select, .wpcf7 textarea{
  background:#fff !important;
}
.wpcf7 p{margin:0 0 20px !important; font-size:14px !important;}
/* フォーム内側の余分な余白を除去（入力欄を全幅に） */
.wpcf7 .wpcf7-form{padding:0 !important; margin:0 !important;}
.wpcf7 .wpcf7-form-control-wrap{display:block; width:100%;}

.wpcf7 label{
  display:block; font-size:14px; font-weight:700;
  color:var(--mf-navy); margin-bottom:8px;
}
.wpcf7 input[type=text], .wpcf7 input[type=email], .wpcf7 input[type=tel],
.wpcf7 input[type=date], .wpcf7 input[type=number], .wpcf7 select, .wpcf7 textarea{
  width:100% !important; box-sizing:border-box;
  border:1.5px solid rgba(62,142,139,.25) !important;
  border-radius:14px !important;
  padding:14px 16px !important;
  font-size:14.5px !important; color:var(--mf-navy) !important;
  background:var(--mf-cream) !important;
  font-family:inherit; outline-color:var(--mf-teal2);
}
.wpcf7 textarea{min-height:150px; resize:vertical;}
.wpcf7 input:focus, .wpcf7 select:focus, .wpcf7 textarea:focus{
  border-color:var(--mf-teal2) !important;
  box-shadow:0 0 0 3px rgba(62,142,139,.12);
}
.wpcf7 input[type=submit], .wpcf7 button[type=submit]{
  display:inline-flex; align-items:center; justify-content:center;
  border:none !important; cursor:pointer;
  background:var(--mf-coral) !important; color:#fff !important;
  padding:17px 40px !important; border-radius:999px !important;
  font-weight:700 !important; font-size:15.5px !important;
  box-shadow:0 12px 26px rgba(232,117,106,.3) !important;
  transition:background .15s;
}
.wpcf7 input[type=submit]:hover, .wpcf7 button[type=submit]:hover{background:var(--mf-coral-d) !important;}
.wpcf7-response-output{
  border-radius:14px !important; border-width:1.5px !important;
  padding:14px 18px !important; font-size:14px !important;
}
.wpcf7-not-valid-tip{color:var(--mf-coral) !important; font-size:12.5px !important;}

/* ============================================================
   フッター（新サイトと同じ紺色ベース）
   ============================================================ */
#footer{
  background:var(--mf-navy) !important;
  color:#B9CBDC !important;
  padding:56px 0 34px !important;
  margin-top:70px !important;
}
#footer::before, #footer::after{content:none !important; display:none !important;}
#footer .wrap{
  max-width:1160px !important; margin:0 auto !important; padding:0 24px !important;
  display:flex !important; flex-wrap:wrap; gap:34px; align-items:flex-start;
}
#footer .site_details{flex:1 1 260px; background:transparent !important;}
#footer .site_details .logo{margin:0 0 14px !important;}
#footer .site_details .logo a{
  display:flex !important; align-items:center; gap:12px;
  font-size:0 !important; color:#fff !important; text-decoration:none !important; border:none !important;
}
#footer .site_details .logo a::before{
  content:""; width:46px; height:46px; flex-shrink:0;
  background:url("/wp-content/uploads/2026/08/medifit-favicon-192.png") center/cover no-repeat #fff;
  border-radius:50%; border:2px solid #EAD9BE;
}
#footer .site_details .logo a::after{
  content:"MEDIFIT LAB";
  font-family:Quicksand,'Zen Maru Gothic',sans-serif;
  font-weight:700; font-size:16px; letter-spacing:.08em; color:#fff;
}
/* 旧キャッチコピーを前橋の文言に差し替え */
#footer .site_details .read{font-size:0 !important; margin:0 !important; line-height:0 !important;}
#footer .site_details .read::after{
  content:"群馬県前橋市の健康管理型フィットネス。クリニック連携で、運動がはじめての方も安心して通えます。";
  display:block; font-size:13px; line-height:2; color:#B9CBDC; max-width:330px;
}
#footer .list{flex:1 1 320px;}
#footer .list ul{
  display:grid !important; grid-template-columns:repeat(2,minmax(0,1fr));
  gap:10px 22px; margin:0 !important; padding:0 !important; list-style:none !important;
}
#footer .list ul li{margin:0 !important;}
#footer .list ul li::marker{content:none !important;}
#footer .list ul li a{
  font-size:13.5px !important; color:#B9CBDC !important;
  text-decoration:none !important; border:none !important;
}
#footer .list ul li a:hover{color:#fff !important;}
#footer .copy{
  width:100%; margin:30px 0 0 !important; padding-top:22px;
  border-top:1px solid rgba(255,255,255,.14);
  font-size:12px !important; color:#8FA6BC !important; text-align:center;
}

/* ============================================================
   スマホ（〜820px）
   ・カードの枠をやめて画面幅いっぱいに＝本文を読みやすく
   ・フッターはPCと同じ情報量のまま縦積みで整列
   ============================================================ */
@media (max-width:820px){

  /* --- ヘッダー --- */
  #header .nav{display:none !important;}
  #header .wrap{padding:10px 16px !important; gap:12px;}
  #header .site_logo a::before{width:42px; height:42px;}
  #header .site_logo a::after{font-size:14.5px;}

  /* --- 記事タイトル --- */
  #page_title{padding:24px 0 22px !important;}
  #page_title .wrap{padding:0 18px !important;}
  #page_title h1{font-size:21px !important; line-height:1.6 !important;}
  #page_title h1::before{font-size:10.5px; margin-bottom:9px;}

  /* --- 本文：枠を外して全幅に --- */
  #page_cont .wrap{padding:0 !important; max-width:100% !important;}
  .content.post{
    background:#fff !important;
    border:none !important;
    border-radius:0 !important;
    box-shadow:none !important;
    padding:26px 18px 34px !important;
    margin:14px 0 0 !important;
  }
  .content.post p{font-size:16px !important; line-height:1.95 !important;}
  .content.post h2{font-size:20px !important; margin:2.2em 0 .9em !important;}
  .content.post h3{font-size:17.5px !important; margin:1.9em 0 .8em !important;}
  .content.post li{font-size:15.5px !important;}
  .content.post img{border-radius:12px !important;}

  /* --- 目次 --- */
  #ez-toc-container{
    padding:18px 16px !important; border-radius:16px !important;
    margin:0 0 2em !important;
  }
  #ez-toc-container ul li a{font-size:14px !important;}

  /* --- 関連記事：画像＋タイトルの横並び1列 --- */
  .wp-block-query{padding:0 !important; border-radius:0 !important; background:transparent !important;}
  .wp-block-post-template{grid-template-columns:1fr !important; gap:9px !important;}
  .wp-block-post-template .wp-block-column:first-child{flex:0 0 88px !important; max-width:88px !important; padding:11px 0 !important;}
  .wp-block-post-template .wp-block-column:last-child{padding:11px 0 11px 12px !important;}
  .wp-block-post-featured-image img{min-height:72px;}
  .content.post h2.wp-block-post-title, .wp-block-post-title{font-size:13px !important; line-height:1.6 !important;}

  /* --- お問い合わせフォーム：全幅で大きく --- */
  .wpcf7{
    background:transparent !important;
    border:none !important; border-top:1px solid var(--mf-line) !important;
    border-radius:0 !important;
    padding:26px 0 0 !important;
    margin:2em 0 0 !important;
  }
  .wpcf7 textarea{min-height:120px !important;}
  .wpcf7 input[type=text], .wpcf7 input[type=email], .wpcf7 input[type=tel],
  .wpcf7 input[type=date], .wpcf7 input[type=number], .wpcf7 select, .wpcf7 textarea{
    padding:15px 14px !important; font-size:16px !important;  /* 16px＝iPhoneで拡大されない */
    border-radius:12px !important;
  }
  .wpcf7 textarea{min-height:130px;}
  .wpcf7 input[type=submit], .wpcf7 button[type=submit]{
    width:100% !important; padding:17px 20px !important; font-size:16px !important;
  }

  /* --- フッター：PCと同じ情報量を縦積みで整列 --- */
  #footer{padding:38px 0 24px !important; margin-top:40px !important;}
  #footer .wrap{
    display:block !important; padding:0 20px !important;
  }
  #footer .site_details{margin:0 0 26px !important;}
  #footer .site_details .logo a::before{width:42px; height:42px;}
  #footer .site_details .logo a::after{font-size:15px;}
  #footer .site_details .read::after{font-size:13px; line-height:1.95; max-width:none;}
  #footer .list{margin:0 !important;}
  #footer .list ul{
    display:grid !important; grid-template-columns:1fr 1fr !important;
    gap:0 !important; row-gap:0 !important;
  }
  #footer .list ul li{border-bottom:1px solid rgba(255,255,255,.12);}
  #footer .list ul li a{
    display:block !important; padding:13px 2px !important;
    font-size:14px !important; line-height:1.5 !important;
  }
  #footer .copy{margin:22px 0 0 !important; padding-top:18px;}
}

/* さらに小さい端末 */
@media (max-width:360px){
  .content.post{padding:22px 14px 30px !important;}
  #page_title h1{font-size:19.5px !important;}
  .content.post p{font-size:15.5px !important;}
}

/* ============================================================
   問い合わせ前CTA ＋ 予約/LINE の2ボタン
   （旧Contact Form 7は非表示。窓口は新サイト /trial に一本化）
   ============================================================ */
.mf-hidden-form{display:none !important;}

.mf-cta{
  margin:3em 0 0 !important;
  padding:34px 0 0;
  border-top:1px solid var(--mf-line);
}
.mf-cta__eyebrow{
  font-family:Quicksand,sans-serif; font-weight:700;
  font-size:11.5px !important; letter-spacing:.24em;
  color:var(--mf-teal2) !important; margin:0 0 12px !important;
}
.content.post h2.mf-cta__title, .mf-cta__title{
  font-size:24px !important; font-weight:700 !important;
  color:var(--mf-navy) !important; line-height:1.6 !important;
  margin:0 0 16px !important; padding:0 !important;
  border:none !important; background:none !important;
}
.content.post h2.mf-cta__title::after, .mf-cta__title::after{content:none !important;}
.mf-cta__lead{
  font-size:15.5px !important; line-height:2.05 !important;
  color:var(--mf-ink) !important; margin:0 !important;
}

/* ボタン2つ */
.mf-cta__btns{
  display:flex; flex-wrap:wrap; gap:14px;
  margin:26px 0 0;
}
.content.post a.mf-cta__btn, .mf-cta__btn{
  display:inline-flex !important; align-items:center; justify-content:center; gap:8px;
  flex:1 1 240px;
  padding:17px 26px !important;
  border-radius:999px !important;
  font-weight:700 !important; font-size:15.5px !important;
  text-decoration:none !important; border:none !important;
  text-align:center; line-height:1.4 !important;
  transition:background .15s, box-shadow .15s;
}
.content.post a.mf-cta__btn--book, .mf-cta__btn--book{
  background:var(--mf-coral) !important; color:#fff !important;
  box-shadow:0 10px 22px rgba(232,117,106,.26);
}
.content.post a.mf-cta__btn--book:hover, .mf-cta__btn--book:hover{background:var(--mf-coral-d) !important; color:#fff !important;}
.content.post a.mf-cta__btn--line, .mf-cta__btn--line{
  background:#06C755 !important; color:#fff !important;
  box-shadow:0 10px 22px rgba(6,199,85,.26);
}
.content.post a.mf-cta__btn--line:hover, .mf-cta__btn--line:hover{background:#05B24C !important; color:#fff !important;}
.mf-cta__note{
  font-size:13.5px !important; color:var(--mf-gray) !important;
  margin:14px 0 0 !important; line-height:1.8 !important;
}

@media (max-width:820px){
  .mf-cta{margin:2.4em 0 0 !important; padding:26px 0 0;}
  .content.post h2.mf-cta__title, .mf-cta__title{font-size:21px !important; line-height:1.58 !important;}
  .mf-cta__lead{font-size:15px !important; line-height:1.95 !important;}
  .mf-cta__btns{gap:12px; margin:22px 0 0;}
  .mf-cta__btn{flex:1 1 100%; width:100%; padding:17px 20px !important; font-size:16px !important;}
  .mf-cta__note{font-size:13px !important;}
}

/* ============================================================
   ヘッダー / フッターを公式サイトと同じ構成に差し替えた分
   （column-cta.js が #header / #footer の中身を作り直す）
   ============================================================ */
html.mfx-locked, html.mfx-locked body{overflow:hidden !important;}

/* ---------- 共通ブランド ---------- */
.mfx-brand{
  display:flex !important; align-items:center; gap:12px;
  text-decoration:none !important; border:none !important;
  flex-shrink:0; padding:0 !important; background:none !important;
}
.mfx-brand img{
  width:46px !important; height:46px !important; border-radius:50% !important;
  object-fit:cover; border:2px solid #EAD9BE; background:#fff; display:block;
  margin:0 !important;
}
.mfx-brand__txt{display:flex; flex-direction:column; line-height:1.25;}
.mfx-brand__name{
  font-family:Quicksand,"Helvetica Neue",sans-serif; font-weight:700;
  font-size:17px; letter-spacing:.1em; color:var(--mf-navy);
}
.mfx-brand__tag{
  font-family:Quicksand,"Helvetica Neue",sans-serif; font-weight:600;
  font-size:9.5px; letter-spacing:.18em; color:var(--mf-teal2); margin-top:3px;
}

/* ---------- ヘッダー ---------- */
#header .mfx-head__inner{
  max-width:1240px; margin:0 auto; padding:12px 24px;
  display:flex; align-items:center; gap:22px;
}
.mfx-nav{margin-left:auto;}
.mfx-nav ul{display:flex; gap:2px; align-items:center; margin:0; padding:0; list-style:none;}
.mfx-nav li{margin:0 !important;}
.mfx-nav li::marker{content:none !important;}
.mfx-nav a{
  display:block; padding:9px 13px; border-radius:9px;
  font-size:13.5px; font-weight:600; color:var(--mf-ink) !important;
  text-decoration:none !important; border:none !important; white-space:nowrap;
  transition:background .15s,color .15s;
}
.mfx-nav a:hover{background:var(--mf-mint); color:var(--mf-teal) !important;}
.mfx-head__cta{
  display:inline-block; padding:11px 20px; border-radius:999px;
  background:var(--mf-coral) !important; color:#fff !important;
  font-size:13.5px; font-weight:700; text-decoration:none !important;
  border:none !important; white-space:nowrap;
  box-shadow:0 8px 18px rgba(232,117,106,.24);
}
.mfx-head__cta:hover{background:var(--mf-coral-d) !important; color:#fff !important;}
.mfx-burger{
  display:none; width:44px; height:38px; margin-left:auto;
  background:none; border:none; cursor:pointer; padding:9px 8px;
  flex-direction:column; justify-content:space-between;
}
.mfx-burger span{display:block; height:2px; border-radius:2px; background:var(--mf-navy);}

/* ---------- スマホ用ドロワー ---------- */
.mfx-drawer{
  /* テーマの .bodyWrap が z-index:99999 のため、それより上に置く */
  position:fixed; inset:0; z-index:100000;
  background:rgba(30,58,95,.42); backdrop-filter:blur(2px);
}
.mfx-drawer[hidden]{display:none !important;}
.mfx-drawer__panel{
  position:absolute; top:0; right:0; bottom:0; width:min(84vw,320px);
  background:var(--mf-cream); padding:22px 20px 32px;
  overflow-y:auto; box-shadow:-14px 0 34px rgba(30,58,95,.16);
}
.mfx-drawer__panel ul{list-style:none; margin:0 0 6px; padding:0;}
.mfx-drawer__panel li{margin:0 !important;}
.mfx-drawer__panel li::marker{content:none !important;}
.mfx-drawer__panel a{
  display:block; padding:13px 6px; font-size:15px; font-weight:600;
  color:var(--mf-navy) !important; text-decoration:none !important;
  border:none !important; border-bottom:1px solid var(--mf-line) !important;
}
.mfx-drawer__sub a{font-size:13.5px !important; font-weight:500 !important; color:var(--mf-ink) !important;}
.mfx-drawer__cta, .mfx-drawer__line{
  display:block !important; margin-top:16px; padding:15px 12px !important;
  border-radius:999px !important; text-align:center;
  font-size:15px !important; font-weight:700 !important;
  border-bottom:none !important; color:#fff !important;
}
.mfx-drawer__cta{background:var(--mf-coral) !important;}
.mfx-drawer__line{background:#06C755 !important; margin-top:10px;}

/* ---------- フッター ---------- */
#footer .mfx-foot__inner{
  max-width:1160px; margin:0 auto; padding:0 24px;
  display:flex; flex-wrap:wrap; gap:40px; align-items:flex-start;
}
.mfx-foot__brand{flex:1 1 280px;}
.mfx-brand--foot .mfx-brand__name{color:#fff;}
.mfx-brand--foot .mfx-brand__tag{color:#8FB3AE;}
.mfx-foot__addr, .mfx-foot__hours{
  font-size:13px !important; line-height:1.9 !important;
  color:#B9CBDC !important; margin:16px 0 0 !important;
}
.mfx-foot__hours{margin-top:8px !important;}
.mfx-foot__cols{flex:2 1 560px; display:flex; flex-wrap:wrap; gap:32px;}
.mfx-foot__col{flex:1 1 160px;}
.mfx-foot__head{
  font-size:12px !important; font-weight:700 !important; letter-spacing:.12em;
  color:#fff !important; margin:0 0 12px !important;
}
.mfx-foot__col ul{list-style:none; margin:0; padding:0;}
.mfx-foot__col li{margin:0 !important;}
.mfx-foot__col li::marker{content:none !important;}
.mfx-foot__col a{
  display:block; padding:6px 0; font-size:13px;
  color:#B9CBDC !important; text-decoration:none !important; border:none !important;
}
.mfx-foot__col a:hover{color:#fff !important;}
.mfx-foot__copy{
  max-width:1160px; margin:36px auto 0 !important; padding:20px 24px 0 !important;
  border-top:1px solid rgba(255,255,255,.12);
  font-size:11.5px !important; letter-spacing:.06em; color:#7E9AB4 !important;
}

@media (max-width:900px){
  .mfx-nav, .mfx-head__cta{display:none !important;}
  .mfx-burger{display:flex !important;}
  #header .mfx-head__inner{padding:11px 16px;}
  .mfx-brand img{width:40px !important; height:40px !important;}
  .mfx-brand__name{font-size:15.5px;}
  .mfx-brand__tag{font-size:8.5px;}
  #footer .mfx-foot__inner{gap:28px; padding:0 20px;}
  .mfx-foot__cols{gap:22px;}
  .mfx-foot__col{flex:1 1 44%;}
  .mfx-foot__copy{padding:18px 20px 0 !important; margin-top:28px !important;}
}

/* お知らせ（information）では見出し帯を NEWS にする */
.mfx-news #page_title h1::before{content:"NEWS" !important;}
