/* ============================================================
   men's house — DRESS CODE 風フルスキン v1（追加CSS 全置換用）
   使い方：外観→カスタマイズ→追加CSS の中身を「全部消して」これを貼る
   ※旧・北欧CSS（v1〜v5）と私のStage1は不要になります
   ============================================================ */

@import url('https://fonts.googleapis.com/css2?family=Fira+Sans:ital,wght@0,500;0,800;0,900;1,500&family=Lora:ital,wght@0,500;1,400;1,500&family=Caveat:wght@600&family=Noto+Sans+JP:wght@400;500;700;900&display=swap');

:root{
  --mh-paper:#ffffff; --mh-warm:#faf8f4; --mh-ink:#1b1a18;
  --mh-sub:#8a847b; --mh-line:#e8e4dd; --mh-navy:#24384a;
}
.fira,[class]{}
/* ---- 基本 ---- */
body{ background:var(--mh-paper) !important; color:var(--mh-ink);
  font-family:'Noto Sans JP',sans-serif; font-weight:400 !important; -webkit-font-smoothing:antialiased; }
a{ text-decoration:none; transition:color .2s,opacity .2s; }

/* ============ マストヘッド：中央・極太Fira・スクリプト ============ */
.l-header,.l-header__inner{ background:var(--mh-paper) !important; box-shadow:none !important; }
.l-header{ border-bottom:1px solid var(--mh-line); }
.l-header__bar,.p-headerBar,.c-catchphrase{ display:none !important; }
.l-header__inner{ flex-direction:column !important; align-items:center !important;
  justify-content:center !important; padding:26px 16px 0 !important; height:auto !important; min-height:0 !important; }
/* ロゴコンテナの幅・高さ制約を解除（SWELL必須） */
.l-header__logo,.l-header__logo .c-headLogo,.l-header__logo .c-headLogo__link{
  width:100% !important; max-width:100% !important; height:auto !important; max-height:none !important;
  display:block !important; text-align:center !important; margin:0 auto !important; float:none !important; }
/* 手書きの上タグライン */
.l-header__logo::before{
  content:"enjoy men's life"; display:block; text-align:center;
  font-family:'Caveat',cursive; font-size:20px; color:var(--mh-navy); margin:0 auto 2px; }
/* ロゴ本体 men's house（極太Fira・墨一色） */
.c-headLogo__link{ font-size:0 !important; line-height:0; }
.c-headLogo a::before{
  content:"men's house"; display:block; white-space:nowrap;
  font-family:'Fira Sans',sans-serif; font-weight:900; font-size:44px; letter-spacing:.005em;
  line-height:1.05; color:var(--mh-ink);
  background:none; -webkit-text-fill-color:currentColor; }
/* 英字マイクロタグライン */
.c-headLogo a::after{
  content:"STYLE · GROOMING · LIFE"; display:block; white-space:nowrap;
  font-family:'Fira Sans',sans-serif; font-weight:500; font-size:11px; letter-spacing:.34em;
  text-indent:.34em; color:var(--mh-sub); margin-top:12px; background:none; padding:0; }
.c-headLogo::after{ content:none !important; }

/* ---- グローバルナビ：細く・英字ラベルを効かせる ---- */
.l-header__gnav,.c-gnavWrap{ justify-content:center !important; margin:18px auto 0; width:100%;
  border-top:1px solid var(--mh-line); }
.c-gnav{ justify-content:center; }
.c-gnav > li > a{ display:flex !important; flex-direction:column-reverse; align-items:center; gap:1px;
  padding:13px 20px !important; color:var(--mh-ink) !important; }
.c-gnav > li > a .ttl{ font-size:12.5px !important; letter-spacing:.12em; font-weight:500; }
.c-gnav > li > a .desc{ display:block !important; font-family:'Fira Sans',sans-serif; font-size:9.5px !important;
  font-weight:500; letter-spacing:.22em; text-transform:uppercase; color:var(--mh-sub) !important; opacity:1 !important; }
.c-gnav > li > a:hover .ttl,.c-gnav > li > a:hover .desc{ color:var(--mh-navy) !important; }
.c-gnav .sub-menu{ background:#fff !important; border:1px solid var(--mh-line); border-radius:6px;
  box-shadow:0 12px 30px rgba(27,26,24,.08) !important; }
/* 追従ヘッダーは横並び・簡略 */
.l-fixHeader .l-header__inner{ flex-direction:row !important; padding:6px 16px !important; align-items:center; }
.l-fixHeader .l-header__logo,.l-fixHeader .c-headLogo,.l-fixHeader .c-headLogo__link{ width:auto !important; text-align:left !important; }
.l-fixHeader .l-header__logo::before,.l-fixHeader .c-headLogo a::after{ display:none !important; }
.l-fixHeader .c-headLogo a::before{ font-size:20px !important; }

/* ============ 記事一覧カード：画像なし・エディト（タイトル1回） ============ */
.p-postList.-type-card .p-postList__thumb,
.p-postList__thumb{ display:none !important; }              /* サムネ画像は出さない */
.p-postList__item{ margin-bottom:0; }
.p-postList__link,.p-postList__item > a{
  background:#fff; border:1px solid var(--mh-line); border-radius:10px; overflow:hidden;
  box-shadow:none; padding:18px 20px 20px 22px; position:relative;
  border-left:4px solid var(--mh-navy);          /* サムネデザインの縦バー */
  transition:box-shadow .25s,transform .25s; display:block; }
.p-postList__link:hover{ transform:translateY(-2px); box-shadow:0 10px 26px rgba(27,26,24,.08); }
.p-postList__body{ padding:0 !important; }
.p-postList__title{ font-weight:700 !important; font-size:16.5px !important; line-height:1.6 !important;
  color:var(--mh-ink) !important; letter-spacing:.005em; }
.p-postList__meta,.c-postTimes{ font-family:'Lora',serif; font-style:italic;
  color:var(--mh-sub) !important; font-size:12.5px !important; }
/* カテゴリ：小さな英字ラベル（罫・ピルではなく文字で） */
.c-postThumb__cat,.c-categoryList a{
  background:transparent !important; background-image:none !important; color:var(--mh-navy) !important;
  border:none !important; border-radius:0 !important; padding:0 !important;
  font-family:'Fira Sans',sans-serif; font-size:10.5px !important; font-weight:500; letter-spacing:.2em;
  text-transform:uppercase; }
.p-postList__body .c-postMeta{ margin-bottom:6px; }

/* ============ セクション見出し（RANKING / LATEST / …） ============ */
.post_content h2.mh-sechead{
  background:transparent !important; border:none !important; border-radius:0 !important; padding:0 !important;
  margin:64px 0 22px; display:flex; align-items:center; gap:14px;
  font-family:'Fira Sans',sans-serif; font-weight:800; font-size:24px !important; letter-spacing:.04em; color:var(--mh-ink) !important; }
.post_content h2.mh-sechead::before,.post_content h2.mh-sechead::after{ border:none !important; }
.post_content h2.mh-sechead span{
  font-family:'Lora',serif; font-style:italic; font-weight:500; font-size:15px; letter-spacing:0;
  color:var(--mh-sub); text-transform:none; }
.post_content h2.mh-sechead::after{ content:"" !important; flex:1; height:1px; background:var(--mh-line); transform:none; }

/* ============ RANKING：特大ナンバーのエディト組み ============ */
.mh-ranking .p-postList{ display:block !important; }
.mh-ranking .p-postList__item{ counter-increment:mhrank; width:100% !important; margin:0 !important; }
.mh-ranking .p-postList{ counter-reset:mhrank; }
.mh-ranking .p-postList__link{
  border:none !important; border-bottom:1px solid var(--mh-line) !important; border-radius:0 !important;
  border-left:none !important; background:none !important; box-shadow:none !important;
  display:grid !important; grid-template-columns:88px 1fr; gap:22px; align-items:center;
  padding:20px 4px !important; }
.mh-ranking .p-postList__link:hover{ transform:none; box-shadow:none; }
.mh-ranking .p-postList__link::before{
  content:counter(mhrank); position:static; width:auto; height:auto; background:none !important;
  box-shadow:none !important; color:#efe9e0; font-family:'Fira Sans',sans-serif; font-weight:900; font-style:italic;
  font-size:66px; line-height:.8; text-align:center; }
.mh-ranking .p-postList__item:nth-child(1) .p-postList__link::before{ color:var(--mh-navy); }

/* ============ PICK UP（ダーク帯）→ 温白の面に ============ */
.mh-dark{ background:var(--mh-warm) !important; margin:72px calc(50% - 50vw) 0 !important;
  padding:52px calc(50vw - 50%) 60px !important; max-width:none !important; }
.post_content .mh-dark h2.mh-sechead,.mh-dark .mh-sechead{ color:var(--mh-ink) !important; margin-top:0 !important; }
.mh-dark .mh-sechead span{ color:var(--mh-sub) !important; }
.mh-dark .p-postList__link{ background:#fff !important; border:1px solid var(--mh-line) !important; box-shadow:none !important; }
.mh-dark .p-postList__title{ color:var(--mh-ink) !important; }
.mh-dark .c-postThumb__cat{ background:transparent !important; color:var(--mh-navy) !important; }

/* ============ About ============ */
.mh-about{ display:grid; grid-template-columns:auto 1fr; gap:28px; align-items:center;
  background:var(--mh-warm); border:1px solid var(--mh-line); box-shadow:none; border-radius:12px;
  padding:40px 44px; margin:72px 0 0; }
.mh-about__avatar{ width:92px; height:92px; border-radius:50%; box-shadow:none; }
.mh-about__role{ font-family:'Fira Sans',sans-serif; font-size:11px !important; letter-spacing:.22em;
  text-transform:uppercase; color:var(--mh-navy) !important; font-weight:500; margin:0 0 4px !important; }
.mh-about__title{ font-size:18px !important; font-weight:700; margin:0 0 8px !important;
  background:transparent !important; padding:0 !important; border:none !important; }
.mh-about__text{ font-size:14px !important; color:var(--mh-sub) !important; margin:0 0 16px !important; line-height:1.9; }
.mh-btn{ display:inline-block; font-family:'Fira Sans',sans-serif; font-size:11.5px; letter-spacing:.16em;
  font-weight:500; text-transform:uppercase; border-radius:999px; padding:9px 22px; text-decoration:none !important; }
.mh-btn--primary{ background:var(--mh-navy); color:#fff !important; border:1px solid var(--mh-navy); }
.mh-btn--primary:hover{ background:var(--mh-ink); border-color:var(--mh-ink); }
.mh-btn--ghost{ color:var(--mh-navy) !important; border:1px solid var(--mh-navy); background:transparent; }
.mh-btn--ghost:hover{ background:var(--mh-navy); color:#fff !important; }

/* ============ カテゴリタイル ============ */
.mh-catindex{ display:grid; grid-template-columns:repeat(4,1fr); gap:14px; }
.mh-catindex a{ display:block; padding:26px 12px; text-align:center; background:transparent;
  border:1px solid var(--mh-line); border-radius:10px; box-shadow:none; transition:background .2s,border-color .2s; }
.mh-catindex a:hover{ background:#fff; border-color:var(--mh-navy); }
.mh-catindex .en{ display:block; font-family:'Fira Sans',sans-serif; font-weight:800; font-size:15px;
  letter-spacing:.12em; text-transform:uppercase; color:var(--mh-ink); margin-bottom:4px; }
.mh-catindex .ja{ font-family:'Lora',serif; font-style:italic; font-size:12.5px; letter-spacing:.02em; color:var(--mh-sub); }

/* ============ トップ：1カラム・サイドバー無し（維持） ============ */
.home .l-sidebar,.page-id-3684 .l-sidebar{ display:none !important; }
.home .c-breadcrumb,.page-id-3684 .c-breadcrumb,.home .p-breadcrumb,.page-id-3684 .p-breadcrumb{ display:none !important; }
.home .l-main,.page-id-3684 .l-main{ width:100% !important; max-width:100%; flex:1 1 100%; }
.page-id-3684 .c-pageTitle,.home .c-pageTitle{ display:none; }
.page-id-3684 .post_content,.home.page .post_content{ max-width:1040px; margin-inline:auto !important; }

/* ============ 記事ページ ============ */
.p-articleThumb{ display:none !important; }                 /* アイキャッチ画像は出さない */
.c-postTitle{ text-align:center; }
.c-postTitle__ttl{ font-weight:900; font-size:30px; line-height:1.5; max-width:20em; margin-inline:auto; }
.c-postTitle::after{ content:""; display:block; width:52px; height:2px; background:var(--mh-navy); margin:20px auto 4px; }
.p-articleMetas{ justify-content:center; }
.post_content{ font-size:16px; line-height:2.05; color:var(--mh-ink); }
.post_content h2:where(:not([class^="swell-block-"]):not(.faq_q):not(.p-postList__title):not(.mh-sechead):not(.mh-about__title)){
  background:none !important; color:var(--mh-ink) !important; font-weight:900; font-size:22px; line-height:1.5;
  border:none !important; border-top:1px solid var(--mh-line) !important; padding:22px 0 0 !important; margin:2.4em 0 .5em !important; }
.post_content h2:where(:not([class^="swell-block-"]):not(.faq_q):not(.p-postList__title):not(.mh-sechead):not(.mh-about__title))::before{ display:none !important; }
.post_content h3:where(:not([class^="swell-block-"]):not(.faq_q):not(.p-postList__title)){
  background:none !important; border:none !important; padding:0 !important; font-weight:700; font-size:18px; margin:2em 0 .3em; }
.post_content h3:where(:not([class^="swell-block-"]):not(.faq_q):not(.p-postList__title))::before{ display:none !important; }
.post_content blockquote{ font-family:'Lora',serif; font-style:italic; color:#3a4048; }

/* ============ フッター：明るく・細く ============ */
.l-footer{ background:var(--mh-warm) !important; color:var(--mh-sub) !important; border-top:1px solid var(--mh-line); }
.l-footer a{ color:var(--mh-sub) !important; }
.l-footer a:hover{ color:var(--mh-navy) !important; }
.l-footer__copyright{ color:var(--mh-sub) !important; font-family:'Fira Sans',sans-serif; font-size:10.5px; letter-spacing:.12em; }

/* ============ ページネーション ============ */
[class*="page-numbers"]{ background:#fff !important; color:var(--mh-ink) !important;
  border:1px solid var(--mh-line) !important; border-radius:999px !important; }
[class*="page-numbers"].current,[class*="page-numbers"]:hover{ background:var(--mh-navy) !important; color:#fff !important; border-color:var(--mh-navy) !important; }

/* ============ レスポンシブ ============ */
@media (max-width:768px){
  .c-headLogo a::before{ font-size:30px; }
  .c-headLogo a::after{ font-size:9.5px; letter-spacing:.26em; }
  .mh-catindex{ grid-template-columns:1fr 1fr; gap:10px; }
  .mh-about{ grid-template-columns:1fr; text-align:center; padding:26px 20px; }
  .mh-about__avatar{ margin:0 auto; }
  .mh-about__actions{ justify-content:center; display:flex; gap:12px; }
  .mh-ranking .p-postList__link{ grid-template-columns:56px 1fr; gap:14px; }
  .mh-ranking .p-postList__link::before{ font-size:46px; }
  .c-postTitle__ttl{ font-size:24px; }
}.l-header__logo::before{
  content:"人生を豊かに生き抜くためのブログ"; display:block; text-align:center;
  font-family:'Noto Sans JP',sans-serif; font-size:12px; font-weight:500;
  letter-spacing:.18em; color:var(--mh-sub); margin:0 auto 4px; }@media (max-width:959.98px){
  #header .l-header__bar{display:none !important;}
  .l-header__inner{display:flex !important;flex-direction:row !important;flex-wrap:nowrap !important;align-items:center !important;justify-content:center !important;padding:11px 14px !important;min-height:0 !important;position:relative;}
  #header .l-header__gnav{display:none !important;}
  .l-header__customBtn{display:none !important;}
  .-series .l-header__logo{order:0 !important;margin:0 !important;padding:0 !important;max-width:none !important;text-align:center !important;display:block !important;flex:0 0 auto;}
  .-series .c-headLogo{max-width:none !important;margin:0 !important;}
  .l-header__logo::before{display:none !important;content:none !important;}
  .c-headLogo__link{background:none !important;background-image:none !important;color:#24384a !important;font-family:'Fira Sans',sans-serif !important;font-size:24px !important;font-weight:900 !important;letter-spacing:0 !important;text-indent:0 !important;width:auto !important;height:auto !important;overflow:visible !important;line-height:1.2 !important;white-space:nowrap !important;text-shadow:none !important;display:inline-block !important;}
  .c-headLogo__link::before,.c-headLogo__link::after{display:none !important;content:none !important;}
  .-series .l-header__logo .c-catchphrase{display:none !important;}
  .l-header__menuBtn{order:9 !important;margin:0 !important;flex:0 0 auto;position:absolute !important;right:12px !important;top:50% !important;transform:translateY(-50%) !important;}
  .l-header__menuBtn .c-iconBtn{display:flex !important;flex-direction:column;align-items:center;gap:2px;width:auto;height:auto;padding:5px 8px 4px;border:1px solid #e8e4dd;border-radius:10px;}
  .l-header__menuBtn .c-iconBtn__icon{font-size:20px;color:#24384a;}
  .l-header__menuBtn .c-iconBtn::after{content:"MENU";font-size:8.5px;font-weight:800;letter-spacing:.12em;color:#24384a;line-height:1;}
  .l-header__spNav{position:relative;padding:8px 0 !important;border-top:1px solid #eef1ea;}
  .p-spHeadMenu{display:flex !important;flex-wrap:nowrap !important;gap:8px;overflow-x:auto;padding:0 14px !important;margin:0 !important;scrollbar-width:none;}
  .p-spHeadMenu::-webkit-scrollbar{display:none;}
  .p-spHeadMenu>li{flex:0 0 auto;list-style:none;margin:0 !important;border-bottom:0 !important;}
  .p-spHeadMenu a{display:block;padding:6px 15px;border-radius:999px;background:#f2f0ea;color:#24384a !important;font-weight:700;font-size:12.5px;line-height:1.35;white-space:nowrap;}
  .p-spHeadMenu a::before,.p-spHeadMenu a::after{display:none !important;}
  .p-spHeadMenu .menu-item-home>a,.p-spHeadMenu .menu-item.-current>a{background:#24384a;color:#fff !important;}
  .l-header__spNav::after{content:"";position:absolute;top:0;right:0;bottom:0;width:54px;background:linear-gradient(90deg,rgba(255,255,255,0),#fff 72%);pointer-events:none;z-index:2;}
  .l-header__spNav::before{content:"\203A";position:absolute;right:9px;top:50%;transform:translateY(-50%);z-index:3;color:#24384a;font-size:19px;font-weight:800;line-height:1;pointer-events:none;}
  #main_content,.l-mainContent{padding-top:2px !important;}
}