/* Healthy 新デザイン（白×新緑・細いゴシック）
   SWELLで書き出した既存ページに上から重ねて、トップページと同じ雰囲気にそろえる。
   tools/redesign/apply_theme.py が各ページの </head> 直前でこのファイルを読み込む。 */

:root{
  --hg-ink:#353a33;--hg-sub:#6d7468;--hg-line:#e0e8d8;
  --hg-green:#5e9142;--hg-green-d:#4a7a32;--hg-pale:#eef5e6;--hg-ivory:#f7faf3;--hg-gold:#b49a6c;--hg-cta:#d9533b;--hg-cta-d:#bc3c25;
  --hg-jp:"Hiragino Kaku Gothic ProN","ヒラギノ角ゴ Pro W3","Hiragino Sans","Noto Sans JP",Meiryo,"メイリオ",sans-serif;--hg-en:"Source Sans 3","Source Sans Pro",var(--hg-jp);

  /* SWELLの色・字体の設定を上書き */
  --swl-font_family:"Hiragino Kaku Gothic ProN","ヒラギノ角ゴ Pro W3","Hiragino Sans","Noto Sans JP",Meiryo,"メイリオ",sans-serif;
  --swl-font_weight:300;
  --color_main:var(--hg-green);--color_htag:var(--hg-green);--color_link:var(--hg-green-d);
  --color_text:var(--hg-ink);--color_bg:#fff;
  --color_main_thin:rgba(94,145,66,.06);--color_main_dark:var(--hg-green-d);
  --color_list_check:var(--hg-green);--color_list_num:var(--hg-green);
  --color_faq_q:var(--hg-green);--color_faq_a:var(--hg-gold);
  --color_icon_point:var(--hg-green);--color_icon_check:var(--hg-green);
  --color_header_bg:#fff;--color_header_text:var(--hg-ink);
  --color_footer_bg:var(--hg-ivory);--color_footer_text:var(--hg-ink);
  --color_border:var(--hg-line);
}

body{background:#fff;color:var(--hg-ink);font-family:var(--hg-jp);font-weight:400;letter-spacing:.04em;-webkit-font-smoothing:antialiased}
b,strong{font-weight:500}
a{color:var(--hg-green-d)}

/* ---- ヘッダー ---- */
.l-header,.l-fixHeader{background:rgba(255,255,255,.94)!important;border-bottom:1px solid rgba(224,232,216,.7);box-shadow:none!important}
.l-header__inner{min-height:64px}
.c-gnav>li>a .ttl{font-family:var(--hg-en),var(--hg-jp);font-size:14px;font-weight:400;letter-spacing:.12em}
.c-gnav a::after{background:var(--hg-gold)!important;height:1px!important}
.c-gnav>li:hover>a,.c-gnav>.-current>a{color:var(--hg-green)}
.l-header__customBtn{background:var(--hg-cta)!important;color:#fff!important}
.l-header__menuBtn,.c-iconBtn{color:var(--hg-ink)}
.w-header .swell-block-button__link{border-radius:999px!important;font-size:13px!important;letter-spacing:.08em}

/* スマホのヘッダー：トップページと同じく ロゴ左・予約ボタン・メニュー右 */
.c-headLogo,.c-headLogo__link{display:flex!important;align-items:center;gap:10px;height:100%!important}
.c-headLogo__img{height:46px!important;width:auto!important;max-width:none!important;flex:none}
.c-headLogo__link::after{content:"女性専門パーソナルジム\AHealthy 戸田公園店";white-space:pre;font-size:11px;line-height:1.5;letter-spacing:.12em;color:var(--hg-sub);font-weight:300}
@media (max-width:959px){
  .l-header__inner{padding:0 8px 0 16px}
  .l-header__logo{order:1!important;margin-right:auto!important;text-align:left!important;justify-content:flex-start;padding:8px 0!important}
  .l-header__customBtn{order:2!important;background:none!important;display:flex;align-items:center;width:auto!important}
  .l-header__customBtn .c-iconBtn{background:var(--hg-cta);color:#fff!important;border-radius:999px;padding:9px 16px;height:auto;min-height:0;flex-direction:row}
  .l-header__customBtn .c-iconBtn__icon{display:none}
  .l-header__customBtn .c-iconBtn__label{font-size:12px;letter-spacing:.08em;line-height:1.4;margin:0;transform:none}
  .l-header__customBtn .c-iconBtn__label::after{content:"\A 70%OFF";white-space:pre}
  .l-header__menuBtn{order:3!important}
  .l-fixHeader{display:none}
}

/* ---- パンくず・ページタイトル ---- */
.p-breadcrumb{background:transparent!important;font-size:11px;letter-spacing:.08em;color:var(--hg-sub)}
.c-pageTitle{margin:24px 0 40px;text-align:center;border:0!important}
.c-pageTitle::before,.c-pageTitle::after{display:none!important}
.c-pageTitle__inner{display:block!important;float:none!important;width:fit-content!important;margin:0 auto!important;padding:0 0 18px!important;font-family:var(--hg-en),var(--hg-jp);font-weight:300;font-size:clamp(23px,5.6vw,42px);letter-spacing:.12em;line-height:1.5;position:relative;border:0!important;background:none!important}
.c-pageTitle__inner::after{content:"";position:absolute;left:50%;bottom:0;width:48px;height:1px;background:var(--hg-gold);transform:translateX(-50%)}
.c-pageTitle__subTitle{display:block;font-family:var(--hg-jp);font-size:13px;letter-spacing:.2em;color:var(--hg-green)}
.c-postTitle__ttl{font-weight:400;letter-spacing:.06em;line-height:1.6}

/* ---- 本文の見出し ---- */
h2.wp-block-heading,
.post_content h2:where(:not([class^="swell-block-"]):not(.faq_q):not(.p-postList__title)){
  font-size:30px!important;font-weight:300;letter-spacing:.1em;line-height:1.6;
  padding:0 0 20px;margin-top:3.2em;background:none!important;color:var(--hg-ink);border:0
}
h2.wp-block-heading::after,
.post_content h2:where(:not([class^="swell-block-"]):not(.faq_q):not(.p-postList__title))::after{
  content:"";position:absolute;left:50%;bottom:0;width:48px;height:1px;border-radius:0;
  background:var(--hg-gold)!important;transform:translateX(-50%)
}
.post_content h2:where(:not([class^="swell-block-"]):not(.faq_q):not(.p-postList__title))::before{display:none}
.post_content h3:where(:not([class^="swell-block-"]):not(.faq_q):not(.p-postList__title)){
  font-weight:400;letter-spacing:.06em;padding:.2em 0 .2em 18px;border-left:2px solid var(--hg-green)
}
.post_content h3:where(:not([class^="swell-block-"]):not(.faq_q):not(.p-postList__title))::before{display:none}
.post_content h4:where(:not([class^="swell-block-"]):not(.faq_q):not(.p-postList__title)){font-weight:500;border-left-color:var(--hg-gold)}
@media (max-width:959px){h2.wp-block-heading,.post_content h2:where(:not([class^="swell-block-"]):not(.faq_q):not(.p-postList__title)){font-size:24px!important}}
@media (max-width:599px){h2.wp-block-heading,.post_content h2:where(:not([class^="swell-block-"]):not(.faq_q):not(.p-postList__title)){font-size:21px!important;padding-bottom:16px;margin-bottom:32px}}
.c-secTitle{font-weight:400;letter-spacing:.1em}
.c-secTitle::before{background:var(--hg-green)!important}

/* ---- ボタン ---- */
.swell-block-button{--the-btn-color:var(--hg-green-d)!important;--the-btn-color2:var(--hg-green)!important;--the-solid-shadow:rgba(74,122,50,.6)!important}
.swell-block-button__link{border-radius:999px!important;font-weight:400!important;letter-spacing:.08em;box-shadow:0 10px 26px -12px rgba(74,122,50,.55)!important}
.swell-block-button.is-style-btn_line .swell-block-button__link,
.swell-block-button.is-style-btn_normal .swell-block-button__link{background:transparent!important;border:1px solid var(--hg-ink)!important;color:var(--hg-ink)!important;box-shadow:none!important}
.floating-btn{background:var(--hg-cta)!important;font-weight:400!important;letter-spacing:.1em;box-shadow:0 10px 26px -10px rgba(0,0,0,.35)!important}
.c-fixBtn{background:#fff;border:1px solid var(--hg-line);color:var(--hg-ink)}

/* ---- ブログ一覧・記事 ---- */
.c-postThumb__cat{background:var(--hg-green)!important;background-image:none!important;font-weight:400;letter-spacing:.06em}
.p-postList__title{font-weight:400!important;letter-spacing:.04em}
.c-categoryList__link,.c-tagList__link{border-radius:999px;font-weight:400}
.p-postList__meta,.c-postTimes{color:var(--hg-sub)}
.p-toc{border-color:var(--hg-line)!important}
.p-toc__ttl{font-weight:400;letter-spacing:.1em}
.post_content table thead th{background:var(--hg-green)!important;color:#fff!important;font-weight:400}
.post_content table tbody th{background:var(--hg-ivory)!important;color:var(--hg-ink)!important;font-weight:500}
.post_content table td,.post_content table th{border-color:var(--hg-line)!important}
.wp-block-table figcaption,.wp-element-caption{color:var(--hg-sub)}
.swell-block-faq .faq_q{font-weight:400}
.is-style-big_icon_point{border-color:var(--hg-green)!important}

/* ---- ページ内の飾り（ピンクのグラデーションを緑に） ---- */
.gradient-border::before{background:linear-gradient(90deg,var(--hg-gold),var(--hg-green))!important;padding:1px!important}
.l-footer__inner{background:var(--hg-ivory)!important;color:var(--hg-ink)!important}

/* ---- フッター ---- */
.l-footer{background:var(--hg-ivory)!important;color:var(--hg-ink)!important;border-top:1px solid var(--hg-line)}
.l-footer a,.l-footer .c-listMenu a{color:var(--hg-ink)!important}
.l-footer a:hover{color:var(--hg-green)!important}
.l-footer__foot{background:#fff!important;color:var(--hg-sub)!important;border-top:1px solid var(--hg-line)}
.l-footer .widget_media_image img{filter:invert(.78)}
.c-copyright{font-family:var(--hg-en);letter-spacing:.14em}
.l-footer .c-listMenu a{border-color:var(--hg-line)!important}

/* ---- ページ冒頭のリード文（料金ページなど） ---- */
.hg-lead{max-width:640px;margin:-8px auto 56px;padding:0 4px;text-align:center}
.hg-lead__catch{font-size:clamp(17px,4.4vw,22px);font-weight:300;line-height:1.9;letter-spacing:.08em;color:var(--hg-green-d);margin:0 0 20px}
.hg-lead__text{font-size:14px;line-height:2.1;letter-spacing:.06em;color:var(--hg-sub);margin:0}
.hg-lead br.sp{display:none}
@media (max-width:599px){.hg-lead br.sp{display:inline}.hg-lead__text{text-align:left}}

/* ---- 料金ページ ---- */
.c-pageTitle__inner .c-pageTitle__subTitle{font-family:var(--hg-jp);font-style:normal;font-size:12px;font-weight:400;letter-spacing:.2em;line-height:1.6;margin-top:4px;color:var(--hg-green)}
.hg-price .post_content h2.wp-block-heading{font-weight:500}
.hg-price .post_content p:not([class]),
.hg-price .post_content .wp-block-list li{font-size:14px;line-height:1.95}
.hg-price .post_content h3.wp-block-heading{font-size:17px}
.c-pageTitle__inner .c-pageTitle__subTitle{max-width:22em;margin-left:auto;margin-right:auto;letter-spacing:.14em}

/* 料金ページの予約ボタン：ほどよい大きさに */
.hg-price .swell-block-button.-size-l{text-align:center}
.hg-price .swell-block-button.-size-l .swell-block-button__link{display:inline-flex;width:auto!important;min-width:0!important;max-width:100%;padding:.8em 2em!important;font-size:13px!important}
/* 寝具ページへのボタン：予約ボタンと区別して白地に緑の線 */
.hg-price .swell-block-button.blue_{text-align:center}
.hg-price .swell-block-button.blue_ .swell-block-button__link{display:inline-flex;width:auto!important;min-width:0!important;padding:.6em 1.8em!important;font-size:13px!important;
  background:#fff!important;color:var(--hg-green-d)!important;border:1px solid var(--hg-green)!important;box-shadow:none!important}
.hg-price .swell-block-button.blue_ .swell-block-button__link::before,.hg-price .swell-block-button.blue_ .swell-block-button__link::after{display:none!important}

/* 予約ボタン（公式LINEへのボタン）はオレンジで目立たせる */
.swell-block-button__link[href*="lmes.jp/landing"]{background:var(--hg-cta)!important;border-color:var(--hg-cta)!important;color:#fff!important;box-shadow:0 10px 26px -12px rgba(196,101,47,.55)!important}
.swell-block-button__link[href*="lmes.jp/landing"]:hover{background:var(--hg-cta-d)!important}

/* ---- 本文の文字の大きさ：トップページに合わせる ---- */
:root{--swl-fz--content:14px}
@media (min-width:960px){:root{--swl-fz--content:15px}}
.post_content{line-height:1.95}
.post_content li{line-height:1.8}
.post_content h3:where(:not([class^="swell-block-"]):not(.faq_q):not(.p-postList__title)){font-size:16px}

/* ---- スマホのメニュー：トップページと同じく、ヘッダーの下に白いメニューを出す ---- */
@media (max-width:959px){
  .l-header__menuBtn .c-iconBtn{position:relative;width:44px}
  .l-header__menuBtn .c-iconBtn__icon{display:none}
  .l-header__menuBtn .c-iconBtn::before,.l-header__menuBtn .c-iconBtn::after{content:"";position:absolute;left:12px;right:12px;height:1px;background:var(--hg-ink);transition:transform .3s}
  .l-header__menuBtn .c-iconBtn::before{top:calc(50% - 4px)}
  .l-header__menuBtn .c-iconBtn::after{top:calc(50% + 3px)}
  [data-spmenu=opened] .l-header__menuBtn .c-iconBtn::before{transform:translateY(3.5px) rotate(45deg)}
  [data-spmenu=opened] .l-header__menuBtn .c-iconBtn::after{transform:translateY(-3.5px) rotate(-45deg)}
  .p-spMenu__overlay{background:transparent!important;opacity:1!important}
  .p-spMenu__inner{top:var(--hg-hd-h,83px)!important;left:0!important;right:0!important;width:100%!important;height:auto!important;max-height:calc(100% - var(--hg-hd-h,83px));overflow:auto;
    background:#fff!important;border-bottom:1px solid var(--hg-line);box-shadow:none!important;padding:8px 24px 24px!important;
    transform:translateY(-12px)!important;opacity:0;transition:opacity .3s,transform .3s!important}
  [data-spmenu=opened] .p-spMenu__inner{transform:none!important;opacity:1}
  .p-spMenu__inner::before{display:none!important}
  .p-spMenu__closeBtn,.p-spMenu .c-widget__title.-spmenu,.p-spMenu__bottom{display:none!important}
  .p-spMenu__body{padding:0!important;height:auto!important}
  .p-spMenu .c-spnav{border:0}
  .p-spMenu .c-spnav a{display:block;padding:14px 4px!important;font-family:var(--hg-en),var(--hg-jp);font-size:14px;font-weight:300;letter-spacing:.12em;color:var(--hg-ink)!important;border-bottom:1px solid var(--hg-line)!important;background:none!important}
  .p-spMenu .c-spnav a::before{display:none!important}
}

/* ---- 字体：参考サイト（UNDEUX）に合わせる。日本語はヒラギノ角ゴ（Windowsはメイリオ）、見出しは太字、英字はSource Sans ---- */
b,strong{font-weight:700}
.c-pageTitle__inner{font-weight:600;color:#000}
.c-headLogo__link::after{font-weight:400}
h2.wp-block-heading,
.post_content h2:where(:not([class^="swell-block-"]):not(.faq_q):not(.p-postList__title)),
.post_content h3:where(:not([class^="swell-block-"]):not(.faq_q):not(.p-postList__title)),
.post_content h4:where(:not([class^="swell-block-"]):not(.faq_q):not(.p-postList__title)),
.hg-price .post_content h2.wp-block-heading,
.c-postTitle__ttl,.c-secTitle,.p-toc__ttl,.swell-block-faq .faq_q,.hg-lead__catch,
.post_content table tbody th,.post_content table thead th{font-weight:700}
.p-postList__title{font-weight:700!important}
@media (max-width:959px){.p-spMenu .c-spnav a{font-weight:400}}
