@charset "UTF-8";
/* Google Fonts の @import は CLS対策のため functions.php での早期読み込みに移行 */
/*
    Template: swell
    Theme Name: SWELL CHILD
    Theme URI: https://swell-theme.com/
    Description: SWELLの子テーマ
    Version: 1.0.0
    Author: LOOS WEB STUDIO
    Author URI: https://loos-web-studio.com/

    License: GNU General Public License
    License URI: http://www.gnu.org/licenses/gpl.html
*/
/* トップページ：SWELL標準のメインビジュアル・記事スライダーは使わない（独自トップ page-mamushi-top.php を使用）。
   カスタマイザー「トップページ > メインビジュアル／記事スライダー」を「表示しない」にすれば、この指定は不要になる */
#main_visual,.p-mainVisual,.p-postSlider{display:none!important;}

/* ===== サイト全体フォント：Zen Kaku Gothic New（全ページ一括・最優先） ===== */
body,
#ms-top,
#ms-cat,
#ms-cat .card .a-ttl,
#ms-cat .card .excerpt{
  font-family:"Zen Kaku Gothic New","Hiragino Kaku Gothic ProN","Yu Gothic",Meiryo,sans-serif !important;
}

/* ===== サイト全体：背景は純白・角丸なし ===== */
body{background:#ffffff;}

/* ===== タグ一覧ページ：SWELLのページタイトル帯（アイキャッチ未設定時のグレー）を非表示 ===== */
/* ショートコード側に見出しがあるため重複を避ける。.ms-tags を含むページのみに限定 */
body:has(.ms-tags) .l-topTitleArea{display:none !important;}

/* ===== カテゴリーチップ：モノクロ（全ページ共通） ===== */
/* 対象: トップ等の .pill.<key> と カテゴリーページ #ms-cat .cat-pill（選択中 .on 除外）。 */
/* ※ドット(::before)は currentColor なので自動で墨色になる。ホバー時は背景=墨色/文字=白。 */
:root{
  --tc-couple:#111111; --tc-kids:#111111; --tc-school:#111111; --tc-tool:#111111; --tc-news:#111111;
}
.pill.couple,.pill.kids,.pill.school,.pill.tool,.pill.news{font-weight:700 !important;}
.pill.couple{color:var(--tc-couple) !important;}
.pill.kids{color:var(--tc-kids) !important;}
.pill.school{color:var(--tc-school) !important;}
.pill.tool{color:var(--tc-tool) !important;}
.pill.news{color:var(--tc-news) !important;}
.pill.couple::before{background:var(--c-couple,#111111) !important;}
.pill.kids::before{background:var(--c-kids,#111111) !important;}
.pill.school::before{background:var(--c-school,#111111) !important;}
.pill.tool::before{background:var(--c-tool,#111111) !important;}
.pill.news::before{background:var(--c-news,#111111) !important;}
.pill:hover{color:#fff !important;}
.pill:hover::before{background:#fff !important;}
#ms-cat .cat-pill:not(.on){color:var(--main) !important;font-weight:700 !important;}

/* ================================================================
   まむしの暮らし。 記事ページ・共通パーツ（白・墨・直角）
   ================================================================ */
:root{
  --k-ink:#111111; --k-body:#2a2a2a; --k-meta:#777777; --k-line:#e3e3e3; --k-surface:#f4f4f4; --k-bg:#ffffff;
  --k-gothic:"Zen Kaku Gothic New","Hiragino Kaku Gothic ProN","Yu Gothic",Meiryo,sans-serif;
}
/* SWELL のテーマカラーを墨に寄せる */
:root{--color_main:#111111;--color_text:#2a2a2a;--color_link:#111111;--color_htag:#111111;--color_bg:#ffffff;--color_gradient1:#111111;--color_gradient2:#333333;--color_border:#e3e3e3;}

/* ヘッダー */
.l-header{background:#ffffff;box-shadow:none;border-bottom:1px solid var(--k-ink);}
.l-header__bar{display:none;}
.c-headLogo{font-weight:700;letter-spacing:.1em;}
.c-gnav .c-gnav__link{letter-spacing:.1em;font-size:13px;}
.c-gnav>.menu-item>a::before{background:var(--k-ink);height:1px;}
.p-spMenu__inner{background:#ffffff;}

/* パンくず・記事タイトル・本文 */
.p-breadcrumb,.p-breadcrumb a{color:var(--k-meta);font-size:12px;letter-spacing:.04em;}
.c-postTitle__ttl,.p-articleTitle{line-height:1.55;letter-spacing:.02em;}
.c-postTitle::after{background:var(--k-ink);}
.post_content{font-size:17px;line-height:2;letter-spacing:.03em;color:var(--k-body);}
@media (max-width:599px){.post_content{font-size:16px;line-height:1.95;}}
.post_content h2{background:none;color:var(--k-ink);border:none;border-top:1px solid var(--k-ink);border-radius:0;padding:1em 0 .35em;margin-top:3.2em;position:relative;}
.post_content h2::before,.post_content h2::after{display:none;}
.post_content h3{background:none;border:none;border-left:3px solid var(--k-ink);border-radius:0;padding:.1em 0 .1em .7em;color:var(--k-ink);margin-top:2.6em;}
.post_content h3::before,.post_content h3::after{display:none;}
.post_content h4{border:none;border-bottom:1px solid var(--k-line);color:var(--k-ink);padding-bottom:.3em;}
.post_content a{color:var(--k-ink);text-decoration:none;box-shadow:inset 0 -1px 0 var(--k-ink);}
.post_content a:hover{box-shadow:inset 0 -2px 0 var(--k-ink);}
.post_content blockquote{background:var(--k-surface);border:none;border-left:3px solid var(--k-ink);border-radius:0;color:var(--k-body);}
.post_content blockquote::before{color:var(--k-line);}
.post_content table{border-color:var(--k-line);}
.post_content table th{background:var(--k-surface);color:var(--k-ink);letter-spacing:.04em;}
.post_content code,.post_content pre{background:var(--k-surface);border-radius:0;color:var(--k-ink);}
.post_content pre.wp-block-preformatted{white-space:pre-wrap;padding:1.2em 1.4em;border-left:3px solid var(--k-ink);line-height:1.9;}
.post_content hr{border-top:1px solid var(--k-line);}
.post_content img,.post_content figure,.c-postThumb__figure,.p-articleThumb img{border-radius:0 !important;}
.post_content mark.has-inline-color{padding:0 .1em;}
.c-prNotation.is-style-bg_stripe{background-image:none !important;background:var(--k-surface);border:1px solid var(--k-line);border-radius:0;}

/* 目次 */
.p-toc[class],.p-toc__inner,.p-toc .p-toc__list,.p-toc ol,.p-toc ul{background-image:none!important;}
.post_content .p-toc,.p-toc[class]{background-color:var(--k-bg)!important;border:1px solid var(--k-ink)!important;border-radius:0;padding:1.5em 1.4em 1.2em;}
.p-toc::before,.p-toc::after{display:none;}
.p-toc__ttl{color:var(--k-ink);font-size:1rem;letter-spacing:.14em;}
.p-toc a,.p-toc__link{color:var(--k-body);text-decoration:none;box-shadow:none;line-height:1.8;}
.p-toc a:hover,.p-toc__link:hover{color:var(--k-meta);}
.p-toc li::before,.p-toc .p-toc__number,.p-toc ol li::before{color:var(--k-ink);}
.p-toc .__list li{border-color:var(--k-line);}
.p-toc__switch,.p-toc .c-toc__switch{border-radius:0;border:1px solid var(--k-ink);background:var(--k-bg);color:var(--k-ink);}

/* お問い合わせフォーム（Contact Form 7） */
.wpcf7 .kt-lead{color:var(--k-meta);font-size:.92rem;line-height:1.9;margin-bottom:2em;}
.wpcf7 p{margin:0 0 1.6em;}
.wpcf7 label{display:block;color:var(--k-ink);font-size:.95rem;letter-spacing:.06em;margin-bottom:.5em;font-weight:700;}
.wpcf7 .kt-req,.wpcf7 .kt-opt{display:inline-block;margin-left:.8em;padding:.15em .6em;font-size:10px;letter-spacing:.1em;vertical-align:2px;}
.wpcf7 .kt-req{background:var(--k-ink);color:#fff;}
.wpcf7 .kt-opt{background:var(--k-surface);color:var(--k-meta);}
.wpcf7 input[type=text],.wpcf7 input[type=email],.wpcf7 textarea{width:100%;border:1px solid var(--k-line);border-radius:0;background:var(--k-bg);color:var(--k-body);font-size:16px;line-height:1.8;padding:.7em .9em;transition:border-color .15s ease;}
.wpcf7 input[type=text]:focus,.wpcf7 input[type=email]:focus,.wpcf7 textarea:focus{border-color:var(--k-ink);outline:none;}
.wpcf7 .wpcf7-acceptance .wpcf7-list-item{margin:0;}
.wpcf7 .wpcf7-acceptance label{display:inline;font-size:.9rem;color:var(--k-body);font-weight:400;}
.wpcf7 input[type=submit]{border:none;border-radius:0;background:var(--k-ink);color:#fff;font-size:.95rem;letter-spacing:.14em;padding:.9em 3em;cursor:pointer;transition:background .15s ease;}
.wpcf7 input[type=submit]:hover{background:#333333;}
.wpcf7 .wpcf7-not-valid-tip{color:var(--k-ink);font-size:.82rem;margin-top:.4em;}
.wpcf7 form .wpcf7-response-output{border:1px solid var(--k-line);border-radius:0;background:var(--k-surface);color:var(--k-body);font-size:.9rem;padding:1em 1.2em;margin:1.6em 0 0;}
.wpcf7 form.sent .wpcf7-response-output,.wpcf7 form.invalid .wpcf7-response-output,.wpcf7 form.failed .wpcf7-response-output{border-color:var(--k-ink);}

/* ボタン・ページャ・固定ボタン */
.c-btn,.wp-block-button__link,.wp-element-button{border-radius:0;background:var(--k-ink);color:#fff;box-shadow:none;letter-spacing:.08em;}
.c-btn:hover,.wp-block-button__link:hover,.wp-element-button:hover{background:#333333;color:#fff;}
.c-pagination .page-numbers{border-radius:0;border:1px solid var(--k-line);background:transparent;color:var(--k-ink);}
.c-pagination .page-numbers.current,.c-pagination a.page-numbers:hover{background:var(--k-ink);border-color:var(--k-ink);color:#fff;}
.p-fixBtnWrap__item,.c-fixBtn,.p-pagetopBtn{border-radius:0;background:var(--k-ink);color:#fff;}
.p-fixBtnWrap{border-top:1px solid var(--k-ink);background:#ffffff;}
.p-fixBtnWrap__item{background:#ffffff;color:var(--k-ink);}

/* 記事一覧（SWELL標準の一覧・関連記事）も直角に */
.p-postList__thumb,.p-postList__thumb img,.c-postThumb__figure img,.p-blogCard,.c-widget,.cap_box,.swell-block-capbox,.c-balloon__text,.p-relatedPosts .p-postList__thumb{border-radius:0 !important;}
.c-widget{box-shadow:none;}
.c-widget__title,.c-widget.widget_block .wp-block-heading{background:transparent;color:var(--k-ink);border:none;border-bottom:1px solid var(--k-ink);border-radius:0;padding:0 0 .5em;font-size:14px;letter-spacing:.1em;margin-bottom:1em;}
.c-widget__title::before,.c-widget__title::after{display:none;}
.c-searchForm__input{border-radius:0;border:1px solid var(--k-line);background:var(--k-bg);}
.c-searchForm__submit{border-radius:0;background:var(--k-ink);color:#fff;}

/* フッター */
.l-footer{background:#ffffff;color:var(--k-body);border-top:1px solid var(--k-ink);}
.l-footer a{color:var(--k-body);}
.l-footer a:hover{color:var(--k-meta);}
.l-footer .c-copyright,.l-footer small{color:var(--k-meta);}
