@charset "UTF-8";

/*!
Theme Name: Cocoon Child
Description: Cocoon専用の子テーマ
Theme URI: https://wp-cocoon.com/
Author: わいひら
Author URI: https://nelog.jp/
Template:   cocoon-master
Version:    1.1.3
*/

/************************************
** 子テーマ用のスタイルを書く
************************************/
/*必要ならばここにコードを書く*/

/************************************
** レスポンシブデザイン用のメディアクエリ
************************************/
/*1023px以下*/
@media screen and (max-width: 1023px){
  /*必要ならばここにコードを書く*/
}

/*834px以下*/
@media screen and (max-width: 834px){
  /*必要ならばここにコードを書く*/
}

/*480px以下*/
@media screen and (max-width: 480px){
  /*必要ならばここにコードを書く*/
}

/* ==========================================================================
   しもやま内科 Cocoon 子テーマ用 CSS（第1版 / 2026-11-04 作成）
   出典：shimoyama-naika.com のライブHTML・AFFINGER6 の実測値
   対象：flower.shimoyama-naika.com（テストサイト "test"）
   注意：Cocoon の実際のDOMクラス名は未検証。まずは本ファイルの
         §1（スマホ固定フッター）と §2（本文の独自クラス）から適用し、
         §3 以降は画面を見ながら調整する。
   ========================================================================== */

/* ==========================================================================
   §1. スマホ固定フッターメニュー（AFFINGER の #st-footermenubox を1:1で移植）
   HTML は functions.php の wp_footer フックで出力（functions-snippets.php 参照）
   ========================================================================== */
#st-footermenubox {
	position: fixed;
	bottom: 0;
	left: 0;
	width: 100%;
	box-sizing: border-box;
	padding: 15px 10px;
	background: #d8ff9e;              /* AFFINGER設定：スマホフッターメニュー背景 */
	box-shadow: 0 0 8px rgba(0, 0, 0, .15);
	z-index: 99999;
	transition: all .3s;
}
#st-footermenubox a {
	display: block;
	text-decoration: none;
	color: #663300;                    /* AFFINGER設定：文字色 */
}
#st-footermenubox ul.menu {
	display: table;
	table-layout: fixed;
	width: 100%;
	margin: 0;
	padding: 0;
	list-style: none;
}
#st-footermenubox ul.menu li {
	display: table-cell;
	vertical-align: middle;
	text-align: center;
	font-size: 13px;
	list-style: none;
}
#st-footermenubox ul.menu li::before { content: none; }   /* Cocoon側のlist装飾打ち消し */

/* 子テーマ独自のアイコン＋ラベル（AFFINGER子テーマ style.css と同一） */
.sn-footer-ico { display: inline-block; margin-right: 6px; }
.sn-footer-ico i { font-size: 1.05em; }
.sn-footer-txt { vertical-align: middle; }

/* iPhone のセーフエリア対応（AFFINGER と同値） */
@supports (padding: max(0px)) {
	#st-footermenubox {
		padding-left: max(10px, env(safe-area-inset-left));
		padding-right: max(10px, env(safe-area-inset-right));
		padding-bottom: calc(15px + env(safe-area-inset-bottom));
	}
}

/* 固定バーにフッター最下部が隠れないように余白を確保 */
@media (max-width: 959px) {
	body { padding-bottom: 76px; }
}

/* ==========================================================================
   §2. 記事本文の独自クラス（現行サイトのインラインCSSをそのまま移植）
   → css/entry-content-custom.css の中身と同一。二重管理を避けるため
      どちらか一方だけ使うこと（差分が出たら本ファイル側を正とする）。
   ========================================================================== */

/* 固定ページ本文中の「関連ページ」ナビのリンク色を統一 */
.entry-content nav[aria-label="関連ページ"] a { color: #116149 !important; text-decoration: underline; }
.entry-content nav[aria-label="関連ページ"] a:visited { color: #0d4e3c !important; }
.entry-content nav[aria-label="関連ページ"] a:hover { text-decoration: underline; opacity: .9; }
.entry-content nav[aria-label="関連ページ"] ul { list-style: disc; margin-left: 1.2em; }
.entry-content nav[aria-label="関連ページ"] li { margin: 6px 0; }

/* === しもやま内科：表カード（統一フォーマット） === */
.entry-content .sn-table-card {
	margin: 18px auto 24px;
	max-width: 900px;
	background: #fff;
	border: 1px solid #e6e6e6;
	border-radius: 14px;
	overflow: hidden;
	box-shadow: 0 10px 26px rgba(0, 0, 0, .06);
}
.entry-content .sn-table-card .sn-table-title {
	margin: 0;
	padding: 12px 14px;
	font-weight: 700;
	background: #f7f8fa;
	border-bottom: 1px solid #eee;
}
.entry-content .sn-table-card .sn-table-sub {
	display: block;
	margin-top: 4px;
	font-weight: 400;
	color: #666;
	font-size: .92em;
	line-height: 1.5;
}
.entry-content .sn-table-wrap { overflow-x: auto; }
.entry-content table.sn-table {
	width: 100%;
	border-collapse: separate;
	border-spacing: 0;
	min-width: 680px;
}
.entry-content table.sn-table th,
.entry-content table.sn-table td {
	padding: 12px;
	border-bottom: 1px solid #eee;
	vertical-align: top;
	line-height: 1.7;
}
.entry-content table.sn-table th { width: 28%; background: #fbfbfc; font-weight: 700; }
.entry-content table.sn-table tr:last-child th,
.entry-content table.sn-table tr:last-child td { border-bottom: none; }
.entry-content table.sn-table td ul { margin: 0; padding-left: 1.1em; }

/* スマホ：ミドルメニュー 2列固定＋日本語の不自然改行を抑える
   ※ .st-middle-menu は AFFINGER 固有。Cocoon では同等の独自ナビを作る場合のみ有効。 */
@media screen and (max-width: 767px) {
	.st-middle-menu ul { display: grid; grid-template-columns: repeat(2, 1fr); gap: 0; margin: 0; padding: 0; }
	.st-middle-menu ul li { margin: 0; padding: 0; }
	.st-middle-menu ul li a {
		display: block;
		box-sizing: border-box;
		text-align: center;
		white-space: nowrap;
		padding: 10px 2px;
		font-size: 13px;
		line-height: 1.2;
		letter-spacing: -.02em;
	}
}

@media screen and (max-width: 768px) {
	#header-full { max-height: none; overflow: visible; }
}

/* ===== トップ：1ブロック目（発熱案内）→ LCPを軽く：装飾なし ===== */
body.home .home-top-alert { margin: 12px 0; }
body.home .home-top-alert p { margin: 0; font-size: 15px; line-height: 1.6; }

/* ===== トップ：2ブロック目（健診案内）→ カード表示 ===== */
body.home .home-top-checkup {
	margin: 10px 0 12px;
	padding: 12px 14px;
	border-radius: 10px;
	background: #fff;
	border: 1px solid rgba(0, 0, 0, .08);
}
body.home .home-top-checkup h2 { margin: 0 0 6px; font-size: 16px; line-height: 1.3; }
body.home .home-top-checkup p { margin: 0; font-size: 15px; line-height: 1.7; }
@media (max-width: 782px) {
	body.home .home-top-checkup { padding: 11px 12px; }
}

/* ===========================
   記事本文内の li > a のリンク色を強制
   =========================== */
.entry-content li a { color: #116149 !important; text-decoration: none !important; }
.entry-content li a:visited { color: #0d4e3c !important; }
.entry-content li a:hover { color: #0f7a4b !important; text-decoration: underline !important; }

/* ==========================================================================
   §3. AFFINGER 固有クラスが本文に残っている場合の最低限の見た目
      実測：st-dash-design 16ページ / st-ac-box 3 / st-mybox 2 / st-css-no2 2
   ========================================================================== */

/* 見出しの両側ダッシュ線（h2 内の span.st-dash-design） */
.entry-content h2 { position: relative; }
.entry-content h2 span.st-dash-design { position: relative; padding: 0 10px; }
.entry-content h2 span.st-dash-design::before,
.entry-content h2 span.st-dash-design::after {
	position: absolute;
	top: 50%;
	content: "";
	width: 1000%;
	height: 1px;
	background-color: #28ba62;
}
.entry-content h2 span.st-dash-design::before { right: 100%; }
.entry-content h2 span.st-dash-design::after { left: 100%; }

/* ==========================================================================
   Cocoon 見た目再現 v1（AFFINGER6 のライブ実測値に寄せる）
   対象：flower.shimoyama-naika.com（テスト）
   Cocoon のDOMは実測で確認済み：
     #header-container > #header-container-in > #header > #header-in
     #navi > #navi-in, main#main.main, #sidebar, footer#footer > #footer-in
     ul.mobile-footer-menu-buttons, .sns-share-buttons, #toc
   ========================================================================== */

/* ------------------------------ 1) レイアウト（1カラム・幅1060px） */
#header-in.wrap,
#navi-in.wrap,
#content-in.wrap,
#footer-in.wrap { max-width: 1060px; }

#sidebar { display: none !important; }
.main { float: none !important; width: 100% !important; padding-right: 0 !important; padding-top: 12px !important; }
#content-in { display: block; }
#content { padding-top: 0; }
.content-in { padding-top: 0 !important; }
article.article { padding-top: 0 !important; margin-top: 0 !important; }
body.home .article-header { display: none !important; margin: 0 !important; padding: 0 !important; }
body { background: #ffffff; }

/* ------------------------------ 2) ヘッダー */
#header-container {
	background: linear-gradient(to left, #f5ffe8 0%, #bbff56 100%);
	border: none;
}
#header-in {
	display: flex;
	flex-direction: row;
	align-items: center;
	justify-content: space-between;
	gap: 20px;
	padding: 12px 0;
	text-align: left;
}
.logo.logo-header { order: 1; margin: 0; }
/* ロゴ画像に住所まで入っているため、キャッチフレーズは出さない */
#header-in .tagline { display: none; }

/* ヘッダー右（電話＋サイト内検索）：functions.php の wp_header_logo_after_open で出力 */
.sn-header-right { order: 3; margin-left: auto; text-align: right; }
.sn-header-tel { margin: 0 0 8px; font-size: 26px; font-weight: 700; color: #663300; line-height: 1.1; }
.sn-header-tel i { font-size: .9em; margin-right: 6px; color: #663300; }
.sn-header-tel a { color: #663300; text-decoration: none; }
.sn-header-search { display: flex; gap: 6px; justify-content: flex-end; align-items: center; }
.sn-header-search input[type="text"] {
	width: 230px; padding: 6px 10px; border: 1px solid #b9b9b9; border-radius: 4px; font-size: 14px;
}
.sn-header-search button {
	background: #2c7d59; color: #fff; border: none; padding: 7px 14px; border-radius: 4px;
	font-size: 14px; cursor: pointer;
}

/* モバイル用ボタン群（PCでは出さない） */
.sn-sp-actions { display: none; }
.sn-sp-actions button {
	background: transparent; border: none; padding: 0; cursor: pointer;
	display: flex; flex-direction: column; align-items: center; gap: 3px;
}
/* 円＋アイコン（44px相当のタップ領域） */
.sn-sp-actions .sn-sp-ico {
	width: 44px; height: 44px; border-radius: 50%;
	background: #2c7d59; display: flex; align-items: center; justify-content: center;
}
.sn-sp-actions .sn-sp-ico i { color: #fff; font-size: 17px; line-height: 1; }
/* 役割の補足ラベル（メニュー／検索） */
.sn-sp-actions .sn-sp-label {
	font-size: 10px; line-height: 1; font-weight: 700; color: #2c7d59;
	letter-spacing: .02em;
}
.sn-sp-actions button:active .sn-sp-ico { opacity: .85; }

/* スライドメニュー */
#sn-slide-panel {
	position: fixed; inset: 0; z-index: 100002;
	background: rgba(0, 0, 0, .45);
}
#sn-slide-panel[hidden] { display: none !important; }
#sn-slide-panel .sn-slide-inner {
	position: absolute; top: 0; right: 0; bottom: 0;
	width: min(86vw, 340px);
	background: #ffffff;
	box-shadow: -4px 0 18px rgba(0, 0, 0, .18);
	display: flex; flex-direction: column;
	overflow-y: auto;
	animation: snSlideIn .22s ease-out;
}
@keyframes snSlideIn { from { transform: translateX(100%); } to { transform: translateX(0); } }
#sn-slide-panel .sn-slide-head {
	display: flex; align-items: center; justify-content: space-between;
	padding: 14px 16px;
	background: linear-gradient(to left, #f5ffe8 0%, #bbff56 100%);
}
#sn-slide-panel .sn-slide-title { font-weight: 700; color: #20401a; }
#sn-slide-panel .sn-slide-close {
	background: none; border: none; font-size: 26px; line-height: 1; color: #20401a; cursor: pointer;
}
#sn-slide-panel .sn-slide-body { padding: 8px 0 24px; }
#sn-slide-panel .sn-slide-list { list-style: none; margin: 0; padding: 0; }
#sn-slide-panel .sn-slide-list li { margin: 0; }
#sn-slide-panel .sn-slide-list li a {
	display: flex; align-items: center; justify-content: space-between;
	padding: 13px 18px;
	color: #20401a; text-decoration: none;
	font-size: 16px;
	border-bottom: 1px solid #eee;
}
#sn-slide-panel .sn-slide-list li a::after {
	content: "\f105"; font-family: "Font Awesome 7 Free"; font-weight: 900;
	color: #8fc25a; font-size: 14px;
}
#sn-slide-panel .sn-slide-subtitle {
	margin: 18px 18px 6px; font-size: 13px; font-weight: 700; color: #6b8f4e;
}
#sn-slide-panel .sn-slide-list-sub li a { font-size: 15px; padding: 11px 18px; }
#sn-slide-panel .sn-slide-tel {
	display: block; margin: 18px; padding: 12px;
	background: #2c7d59; color: #fff; text-align: center; text-decoration: none;
	border-radius: 6px; font-weight: 700;
}
body.sn-slide-open { overflow: hidden; }
#sn-search-panel {
	position: fixed; inset: 0; z-index: 100000;
	background: #ffffff;
	display: flex; align-items: flex-start; justify-content: center;
	padding-top: 18vh;
}
#sn-search-panel[hidden] { display: none !important; }
#sn-search-panel form { display: flex; gap: 8px; width: min(92vw, 520px); }
#sn-search-panel input[type="text"] {
	flex: 1; padding: 12px 14px; font-size: 16px; border: 1px solid #bbb; border-radius: 6px;
}
#sn-search-panel button[type="submit"] {
	background: #2c7d59; color: #fff; border: none; border-radius: 6px; padding: 0 18px; font-size: 15px;
}
#sn-search-panel .sn-search-close {
	position: absolute; top: 16px; right: 16px; background: none; border: none;
	font-size: 28px; line-height: 1; color: #333; cursor: pointer;
}
body.sn-search-open { overflow: hidden; }

/* テキストロゴ → 画像ロゴ（本番と同じ logo4.png / 実寸 569x206） */
#header-in .logo.logo-header { width: 262px !important; height: 95px !important; min-height: 0; }
#header-in .logo.logo-header > a { display: block !important; width: 262px !important; height: 95px !important; }
#header-in .logo-header .site-name-text {
	display: block !important;
	width: 262px !important;
	height: 95px !important;
	min-height: 0;
	overflow: hidden;
	text-indent: -9999px;
	white-space: nowrap;
	background-image: url("/wp-content/uploads/2020/06/logo4.png") !important;
	background-repeat: no-repeat !important;
	background-position: left center !important;
	background-size: 262px 95px !important;
}

/* ------------------------------ 3) グローバルナビ */
#navi {
	background: linear-gradient(to left, #c1ff66 0%, #c3ff6b 100%);
	border-top: 1px solid #ffffff;
	border-bottom: 1px solid #ffffff;
	padding: 0;
}
#navi-in { display: flex; justify-content: center; padding: 0; }
#navi-in ul { display: flex; flex-wrap: wrap; justify-content: center; }
#navi-in ul > li { width: 160px; height: 40px; }
#navi-in ul > li > a {
	display: flex !important;
	align-items: center;
	justify-content: center;
	height: 40px !important;
	min-height: 0 !important;
	padding: 0 !important;
	color: #333333;
	font-weight: 500;
	font-size: 13px;
	background: transparent;
	border-right: 1px solid #f3f3f3;
}
#navi-in ul > li:last-child > a { border-right: none; }
#navi-in ul > li > a:hover { background: rgba(255, 255, 255, .45); color: #333333; }

/* ------------------------------ 4) フッター
   実際のULクラスは menu-footer（menu ではない）。2026-11-07 修正。 */
#footer { background: #c1ff66; }
#footer .footer-bottom { border: none; background: transparent; }
#navi-footer { background: transparent; }
#navi-footer-in > .menu-footer {
	display: flex;
	flex-wrap: wrap;
	justify-content: center;
	gap: 0 8px;
	padding: 10px 0 14px;
}
#navi-footer-in > .menu-footer > li.menu-item {
	width: auto !important;
	flex: 0 1 auto !important;
	margin: 0 !important;
	border: 0 !important;
	text-align: center;
}
#navi-footer-in > .menu-footer > li.menu-item > a {
	display: block;
	color: #20401a;
	font-size: 13px;
	line-height: 1.4;
	padding: 6px 10px;
}
#navi-footer-in > .menu-footer > li.menu-item > a:hover { text-decoration: underline; }

/* PC：14項目を7列×2行のグリッドにして整列させる */
@media (min-width: 960px) {
	#navi-footer-in > .menu-footer {
		display: grid;
		grid-template-columns: repeat(7, minmax(0, auto));
		justify-content: center;
		gap: 2px 24px;
		padding: 8px 0 16px;
	}
	#navi-footer-in > .menu-footer > li.menu-item > a { padding: 6px 4px; }
}
#footer .site-name-text { color: #20401a; }
#footer .source-org.copyright { color: #20401a; }

/* ------------------------------ 5) 本文の見出し・リンク */
.entry-content h2 {
	position: relative;
	display: flex;
	align-items: center;
	justify-content: center;
	gap: 14px;
	background: transparent !important;
	color: #28ba62 !important;
	border: none !important;
	text-align: center;
	padding: 14px 0 !important;
	margin: 2.2em 0 1.1em;
	font-size: 1.35rem;
}
.entry-content h2::before,
.entry-content h2::after {
	content: "";
	flex: 0 0 60px;
	height: 1px;
	background: #28ba62;
}
/* AFFINGER互換 span の二重線を止める */
.entry-content h2 span.st-dash-design { position: static; padding: 0; }
.entry-content h2 span.st-dash-design::before,
.entry-content h2 span.st-dash-design::after { content: none; }

.entry-content h3 {
	background: #28ba62 !important;
	color: #ffffff !important;
	border: none !important;
	border-radius: 3px;
	padding: 9px 14px !important;
	font-size: 1.15rem;
}

.entry-content a { color: #116149; }
.entry-content a:hover { color: #0f7a4b; }

/* ------------------------------ 6) 本番に無い要素を消す
   ※ 2026-11-07：SNSシェア／フォロー・目次・モバイル固定バーは Cocoon設定でOFFにしたため、
      CSSでの隠しは撤去（HTML自体が出なくなったことを実測：各0件）。 */
/* 固定ページはタイトルを出さない（本番と同じ） */
body.home .article-header,
body.home .entry-title { display: none !important; }
/* 日付・更新日は全ページで出さない（本番のAFFINGERも非表示）
   ※ Cocoonの設定OFFは body.no-post-date を付けるだけで、テーマ側では隠れない（実測） */
.date-tags,
.post-date { display: none !important; }

/* ------------------------------ 7) モバイル調整 */
@media (max-width: 959px) {
	/* ヘッダー内の電話・検索はモバイルでは出さない（横はみ出しの原因） */
	.sn-header-right { display: none !important; }
	.sn-sp-actions { display: flex; order: 4; margin-left: auto; gap: 8px; align-items: center; }
	#header-in { gap: 8px; }
	#header-in .logo.logo-header { width: auto !important; }
	#header-in .logo-header .site-name-text {
		width: min(62vw, 262px) !important;
		height: auto !important;
		aspect-ratio: 569 / 206;
		background-size: contain !important;
	}
	/* 固定フッターは4等分。はみ出し・横スクロールを止める */
	#st-footermenubox { left: 0; right: 0; width: auto; max-width: 100vw; padding: 10px 6px; overflow: hidden; }
	#st-footermenubox ul.menu { display: flex !important; width: 100%; table-layout: auto; }
	#st-footermenubox ul.menu li {
		display: block !important;
		flex: 1 1 0;
		min-width: 0;
		font-size: 12px;
		white-space: nowrap;
	}
	#st-footermenubox ul.menu li a { padding: 0 2px; }
	.sn-footer-ico { margin-right: 4px; }
}
html, body { overflow-x: hidden; }

/* ------------------------------ 8) 固定フッターと重ならないように */
@media (max-width: 959px) {
	#footer { padding-bottom: 10px; }
}

/* ------------------------------ 9) トップページのお知らせ（AFFINGERのトップウィジェット相当） */
.sn-top-notice { margin: 26px 0 0; }
.sn-top-notice .sn-notice-title {
	color: #28ba62;
	font-size: 17px;
	font-weight: 700;
	line-height: 1.4;
	margin: 0 0 4px;
	padding: 0 0 10px;
	border-bottom: 2px solid #28ba62;
}
.sn-top-notice .sn-notice-body p { margin: 14px 0; line-height: 2; }
.sn-news-bar {
	background: #28ba62;
	color: #ffffff;
	font-weight: 700;
	font-size: 14px;
	padding: 7px 12px;
	margin: 20px 0 20px;
}

/* お知らせの一覧（AFFINGERの #topnews-box 相当） */
.sn-news-list { padding: 0 10px; margin: 0 0 10px; }
.sn-news-item {
	display: flex;
	gap: 10px;
	align-items: baseline;
	font-size: 14px;
	padding: 0 0 5px;
	margin: 0 0 10px;
	border-bottom: 1px dotted #28ba62;
}
.sn-news-item:last-child { margin-bottom: 0; }
.sn-news-date { flex: 0 0 90px; color: #28ba62; }
.sn-news-title { color: #000000; text-decoration: none; }
.sn-news-title:hover { color: #b22222; text-decoration: underline; }
.sn-news-bar i { margin-right: 6px; }

/* 10) 投稿者情報は子テーマの tmp/footer-meta.php 上書きで出力自体を止めた（CSS不要） */

/* ------------------------------ 11) 診療科チップ（トップ・モバイルのみ） */
.sn-topic-chips { display: none; }

/* ------------------------------ 10) モバイル：ヘッダー余白とメニューの詰め */
@media (max-width: 959px) {
	/* ヘッダー：ロゴを可変・ボタンを固定にして、幅360px台でもはみ出さないようにする */
	#header-in {
		display: flex !important; align-items: center; justify-content: space-between;
		gap: 12px; padding: 8px 10px !important; box-sizing: border-box;
	}
	#header-in .logo.logo-header { flex: 1 1 auto; min-width: 0; width: auto !important; max-width: 100%; }
	#header-in .logo-header .site-name-text {
		width: 100% !important; max-width: 232px; height: auto !important;
		aspect-ratio: 569 / 206; background-size: contain !important;
	}
	.sn-sp-actions { flex: 0 0 auto; gap: 10px; }

	/* モバイルメニュー（AFFINGERのスマートフォンミドルメニュー相当）
	   2列・行高46px・全幅。中央寄せで左右に空いていた余白を詰める */
	#navi-in { display: block; padding: 0; }
	#navi-in ul { display: flex; flex-wrap: wrap; width: 100%; }
	#navi-in ul > li {
		width: 50% !important;
		height: auto !important;
		margin: 0 !important;
	}
	#navi-in ul > li > a {
		height: 46px !important;
		min-height: 0 !important;
		padding: 0 6px !important;
		font-size: 14px !important;
		line-height: 1.2 !important;
		border-right: 1px solid #ffffff;
		border-bottom: 1px solid #ffffff;
		box-sizing: border-box;
	}
	#navi-in ul > li:nth-child(2n) > a { border-right: none; }
	/* 項目が奇数のときは最後を全幅に（AFFINGERと同じ） */
	#navi-in ul > li:last-child:nth-child(odd) { width: 100% !important; }
	#navi-in ul > li:last-child > a { border-right: none; border-bottom: none; }
	/* モバイルは2階建て（2列×2行）にするため5項目目以降は出さない
	   ※ TOPメニューが6項目以上に増えたら調整が必要 */
	#navi-in ul > li:nth-child(n+5) { display: none !important; }

	/* フッターの14項目：2列グリッド＋左揃えで整列させる */
	#navi-footer-in > .menu-footer {
		display: grid !important;
		grid-template-columns: repeat(2, minmax(0, 1fr));
		align-items: start;
		gap: 0 10px;
		max-width: 420px;
		margin: 0 auto;
		padding: 2px 14px 8px !important;
	}
	#navi-footer-in > .menu-footer > li.menu-item {
		text-align: left;
		border-bottom: 1px solid rgba(32, 64, 26, .12) !important;
	}
	/* 最終行は区切り線を外して終わりを軽くする */
	#navi-footer-in > .menu-footer > li.menu-item:nth-last-child(-n+2) {
		border-bottom: 0 !important;
	}
	#navi-footer-in > .menu-footer > li.menu-item > a {
		padding: 9px 2px;
		font-size: 13px;
	}
}

@media (max-width: 959px) {
	.sn-topic-chips {
		display: flex;
		gap: 6px;
		overflow-x: auto;
		-webkit-overflow-scrolling: touch;
		scrollbar-width: none;
		margin: 0 0 14px;
		padding: 2px 0 8px;
	}
	.sn-topic-chips::-webkit-scrollbar { display: none; }
	.sn-topic-chips a {
		flex: 0 0 auto;
		display: inline-block;
		background: #2c7d59;
		color: #ffffff;
		text-decoration: none;
		font-size: 12px;
		font-weight: 600;
		line-height: 1;
		padding: 10px 10px;
		border-radius: 999px;
		white-space: nowrap;
	}
	.sn-topic-chips a:active { opacity: .85; }
	.sn-topic-chips a:first-child { margin-left: 1px; }
	.sn-topic-chips a:last-child { margin-right: 1px; }
}
