/*!
 * Custom stylesheet for additional overrides
 * ここに追記した CSS が、main.css や親テーマの後から読み込まれます。
 *
 * 目次（大ブロックの並び。この順序を大きく崩さないこと）
 *   1  基本・ルート
 *   2  ヘッダー
 *   3  フッター（Bootscore / .ntk-footer / バナー）
 *   4  ナビ・オフキャンバス
 *   5  左サイドバー（.fixed-sidebar）
 *   6  サイドメニュー・ログインメニュー入口
 *   7  カレンダータブ・ログインアコーディオン・サイド下部リンク
 *   8  ホーム・メインタブ
 *   9  RSS・協会概要ボタン・見出し
 *  10  横断一覧・リスト・ページネーション
 *  11  記事詳細・部品
 *  12  取引士お知らせ枠
 *  13  特定固定ページ・コンタクトフォーム
 *
 * ブレークポイント（Bootstrap 5 の lg と揃える）
 *   モバイル表示（lg 未満）: max-width: 991.98px … d-lg-none / d-lg-flex の切り替え幅と一致
 *   デスクトップ（lg 以上）: min-width: 992px
 */

/* =============================================================================
 *
 * 1. 基本・ルート（タイポ・リンク・選択色）
 *
 * サイト全体の文字サイズ
 * - ルートは html の font-size のみ（1 箇所で全体の rem が追従。見出しの大きさの差は維持される）
 * - body * に font-size を付けないこと（.entry-title 等が本文と同じサイズに潰れる）
 * ============================================================================= */

 :root {
	/* ヘッダー .navbar-nav 支部リンクの背景（4 支部共通の見た目調整はここを編集） */
	--ntk-nav-branch-nagano-bg: #80ceec;
	--ntk-nav-branch-toshin-bg: #78eabe;
	--ntk-nav-branch-chushin-bg: #fedeb1;
	--ntk-nav-branch-nanshinsuwa-bg: #f0bcbd;
}

html {
	font-size: 106.25%;
	scrollbar-gutter: stable;
}

body {
	font-family: "Zen Maru Gothic", sans-serif;
	line-height: 1.76;
}

html.font-size-small {
	font-size: 14px;
}
html.font-size-medium {
	font-size: 106.25%;
}
html.font-size-large {
	font-size: 18px;
}

a {
	color: rgb(50, 167, 131);
}

p,li,.smb-information__item__label {
	font-size: 1.1rem;
}

.smb-information__item__label {
	background-color: #f2f2f2!important;
}

.table td:nth-child(2) {
	white-space: normal;
}

::selection {
	color: var(--bs-white);
	background-color: #32a783;
}


/* =============================================================================
 *
 * 2. ヘッダー
 *
 * ============================================================================= */

.site-header {
	background-color: transparent !important;
	background-image:
		url(/wp/wp-content/uploads/2026/03/bg_head.png);
	background-repeat: no-repeat, no-repeat;
	background-position: bottom, top;
	background-size: cover, 100% 100%;
	height: 170px;
	position: relative;
	z-index: 9999;
}

.navbar-brand {
	width: 388px;
	max-width: 100%;
	margin-right: 100px;
	margin-left: 12px;
}

#nav-main.navbar > .container,
#nav-main.navbar > .container-fluid,
#nav-main.navbar > .container-sm,
#nav-main.navbar > .container-md,
#nav-main.navbar > .container-lg,
#nav-main.navbar > .container-xl,
#nav-main.navbar > .container-xxl {
	flex-direction: column;
}

.header-brand-row {
	flex-wrap: wrap;
	justify-content: space-between;
	align-items: center;
	width: 100%;
}

.header-nav-column {
	margin-top: 10px;
}

.header-nav-column .nav-vertical {
	gap: 0;
}

.header-nav-column .nav-vertical .nav-link {
	padding-top: 0.25rem;
	padding-bottom: 0.25rem;
	white-space: nowrap;
}

.header-nav-column .nav-vertical .dropdown-menu {
	position: absolute;
}

.header-utils .header-search-form {
	margin: 0;
}

@media (max-width: 1500px) {
	.header-brand-row .navbar-brand {
		order: 1;
	}

	.header-brand-row .header-nav-column {
		order: 2;
	}

	.header-brand-row #offcanvas-navbar {
		order: 3;
		flex: 0 0 100%;
		width: 100%;
	}
}

@media (max-width: 991.98px) {
	#nav-main.navbar > .container,
	#nav-main.navbar > .container-fluid,
	#nav-main.navbar > .container-sm,
	#nav-main.navbar > .container-md,
	#nav-main.navbar > .container-lg,
	#nav-main.navbar > .container-xl,
	#nav-main.navbar > .container-xxl {
		--bs-gutter-x: 0;
		padding-left: 0;
		padding-right: 0;
	}

	.navbar-brand {
		padding-left:calc(1.5rem * .5);
		margin-left: 0;
	}

	.header-brand-row {
		width: 100%;
		max-width: 100%;
		margin: 0 auto 0 0;
		position: relative;
		z-index: 1;
		box-sizing: border-box;
	}

	.site-header {
		height: 135px;
		background-image: none;
	}

	.site-header .navbar {
		padding: 0;
	}
}


/* =============================================================================
 *
 * 3. フッター（Bootscore / .ntk-footer / バナー / .bootscore-footer-info）
 *
 * ============================================================================= */

body:has(.ntk-footer) #footer {
	display: none;
}

#footer.bootscore-footer {
	position: relative;
	z-index: 50;
	isolation: isolate;
	border-top: 6px solid #34a12c;
}

#footer.bootscore-footer .bootscore-footer-columns,
#footer.bootscore-footer .bootscore-footer-info {
	position: relative;
	z-index: 51;
}

.bootscore-footer {
	background-color: #fff;
	position: relative;
	z-index: 9999;
}

.bootscore-footer-top {
	background-color: #fff;
	border-top: 4px solid #33a944;
}

.bootscore-footer-top .widget {
	margin-bottom: 0;
}

.bootscore-footer-top img {
	max-height: 58px;
	width: auto;
}

.bootscore-footer-columns {
	background-color: #fff;
}

.ntk-footer.ntk-footer--breakout {
	box-sizing: border-box;
	max-width: none;
}

@media (max-width: 991.98px) {
	.ntk-footer {
		width: 100%;
		margin-left: 0;
	}
}

body:has(#content .ntk-footer) #page {
	min-height: 100vh;
	min-height: 100dvh;
	display: flex;
	flex-direction: column;
}

body:has(#content .ntk-footer) #page #content,
body:has(#content .ntk-footer) #page .site-content {
	flex: 1 1 auto;
	display: flex;
	flex-direction: column;
	min-height: 0;
}

body:has(#content .ntk-footer) #content #primary,
body:has(#content .ntk-footer) #content #primary > .row,
body:has(#content .ntk-footer) #content .main-content,
body:has(#content .ntk-footer) #content main.site-main,
body:has(#content article .ntk-footer) #content article {
	flex: 1 1 auto;
	display: flex;
	flex-direction: column;
	min-height: 0;
}

body:has(#content .ntk-footer) #content > .ntk-footer,
body:has(#content .ntk-footer) .site-content > .ntk-footer,
body:has(#content .ntk-footer) #content main > .ntk-footer,
body:has(#content .ntk-footer) #content article .ntk-footer {
	margin-top: auto;
}

.ntk-footer-banner-slider-wrap {
	background-color: #fff;
	padding: 12px 0 6px;
}

.ntk-footer-banner-swiper-wrap {
	position: relative;
	padding: 0 40px;
}

.ntk-footer-banner-swiper__prev,
.ntk-footer-banner-swiper__next {
	position: absolute;
	top: 50%;
	z-index: 2;
	display: flex;
	align-items: center;
	justify-content: center;
	width: 32px;
	height: 32px;
	margin: 0;
	padding: 0;
	border: none;
	border-radius: 50%;
	background: transparent;
	color: #333;
	transform: translateY(-50%);
	cursor: pointer;
}

.ntk-footer-banner-swiper__prev {
	left: 0;
}

.ntk-footer-banner-swiper__next {
	right: 0;
}

.ntk-footer-banner-swiper__prev:hover,
.ntk-footer-banner-swiper__next:hover {
	background: #f5f5f5;
}

.ntk-footer-banner-swiper__prev.swiper-button-disabled,
.ntk-footer-banner-swiper__next.swiper-button-disabled {
	opacity: 0.35;
	cursor: default;
}

.ntk-footer-banner-swiper .swiper-wrapper {
	align-items: center;
}

.ntk-footer-banner-slide__link {
	display: flex;
	align-items: center;
	justify-content: center;
	background: #fff;
	padding: 4px;
	text-decoration: none;
}

.ntk-footer-banner-slide__link img {
	display: block;
	width: 100%;
	max-width: 220px;
	height: 56px;
	object-fit: contain;
}

.ntk-footer-banner-swiper.is-static .swiper-wrapper {
	display: flex;
	flex-wrap: wrap;
	gap: 8px 10px;
	transform: none !important;
}

.ntk-footer-banner-swiper.is-static .swiper-slide {
	width: calc((100% - 40px) / 5);
}

.bootscore-footer-info {
	background-image: url(/wp/wp-content/uploads/2026/03/foot_common.png);
	background-repeat: no-repeat;
	background-size: cover;
	min-height: 170px;
}

.bootscore-footer-info > .container {
	display: flex;
	flex-wrap: nowrap;
	align-items: center;
	justify-content: space-between;
	gap: 12px 24px;
	min-height: 170px;
	padding-top: 88px;
	padding-bottom: 12px;
}

.bootscore-footer-info .widget {
	margin-bottom: 0;
	flex: 1 1 auto;
}

.bootscore-footer-info .ntk-footer-office {
	display: flex;
	align-items: center;
	gap: 14px;
	flex: 1 1 auto;
	min-width: 0;
	text-align: left;
}

.ntk-footer-office__logo {
	flex: 0 0 auto;
}

.ntk-footer-office__logo-img {
	width: 58px;
	height: 58px;
	object-fit: contain;
}

.ntk-footer-office__name {
	font-size: 1rem;
	font-weight: 700;
	line-height: 1.4;
	color: #111;
}

.ntk-footer-office__meta {
	font-size: 0.95rem;
	line-height: 1.5;
	color: #111;
}

.bootscore-footer-info .bootscore-copyright {
	margin-left: auto;
	white-space: nowrap;
	font-size: 0.68rem;
	color: #111;
}

.top-button.visible {
	right: 90px!important;
	border: 1px solid #077d04;
	background-color: #077d04;
}

@media (max-width: 991.98px) {
	.ntk-footer-banner-swiper.is-static .swiper-slide {
		width: calc((100% - 10px) / 2);
	}

	.bootscore-footer-top {
		border-top-width: 3px;
	}

	.bootscore-footer-info {
		min-height: auto;
		background-size: 180% auto;
		background: none;
	}

	.bootscore-footer-info > .container {
		flex-wrap: wrap;
		min-height: auto;
		padding-top: 56px;
		padding-bottom: 10px;
	}

	.bootscore-footer-info .ntk-footer-office {
		width: 100%;
		flex-direction: column-reverse;
	}

	.bootscore-footer-info .bootscore-copyright {
		white-space: normal;
		width: 100%;
		text-align: right;
		font-size: 9px;
	}

	#page .site-content {
		background-image: url(/wp/wp-content/uploads/2026/03/foot_common.png);
    background-repeat: no-repeat;
    background-size: contain;
		background-position: center bottom;
    min-height: 170px;
	}

	.top-button {
		right: 85px;
	}
}

/* =============================================================================
 *
 * 4. ナビ・オフキャンバス（.navbar-nav / .member-announcement-tabs / #offcanvas-navbar）
 *
 * ============================================================================= */

.navbar-nav {
	display: grid;
	grid-template-columns: repeat(auto-fit, minmax(0, 1fr));
	gap: 10px;
	margin-top: 10px;
	width: 100%;
}

.navbar-nav .nav-item {
	width: 100%;
}

.navbar-nav .nav-item .nav-link {
	padding: 6px 0;
	width: 100%;
	max-width: 240px;
	margin: 0 auto;
	text-align: center;
	font-size: 18px;
	font-weight: 500;
	color: #000;
	text-decoration: none;
	text-transform: uppercase;
	background-color: #32a783;
	border: 2px solid #fff;
	border-radius: 30px;
}

.navbar-nav .nav-item.nagano .nav-link {
	background-color: var(--ntk-nav-branch-nagano-bg);
}

.navbar-nav .nav-item.nagano .nav-link:hover {
	background-color: #fff;
	border: 2px solid var(--ntk-nav-branch-nagano-bg);
	color: var(--ntk-nav-branch-nagano-bg);
}

.navbar-nav .nav-item.nagano .nav-link.active {
	background-color: #fff;
	border: 2px solid var(--ntk-nav-branch-nagano-bg);
	color: var(--ntk-nav-branch-nagano-bg);
}

.navbar-nav .nav-item.nagano .nav-link.active:hover {
	background-color: var(--ntk-nav-branch-nagano-bg);
	border: 2px solid #fff;
	color: #000;
}

.navbar-nav .nav-item.toshin .nav-link {
	background-color: var(--ntk-nav-branch-toshin-bg);
}

.navbar-nav .nav-item.toshin .nav-link:hover {
	background-color: #fff;
	border: 2px solid var(--ntk-nav-branch-toshin-bg);
	color: var(--ntk-nav-branch-toshin-bg);
}

.navbar-nav .nav-item.toshin .nav-link.active {
	background-color: #fff;
	border: 2px solid var(--ntk-nav-branch-toshin-bg);
	color: var(--ntk-nav-branch-toshin-bg);
}

.navbar-nav .nav-item.toshin .nav-link.active:hover {
	background-color: var(--ntk-nav-branch-toshin-bg);
	border: 2px solid #fff;
	color: #000;
}

.navbar-nav .nav-item.chushin .nav-link {
	background-color: var(--ntk-nav-branch-chushin-bg);
}

.navbar-nav .nav-item.chushin .nav-link:hover {
	background-color: #fff;
	border: 2px solid var(--ntk-nav-branch-chushin-bg);
	color: var(--ntk-nav-branch-chushin-bg);
}

.navbar-nav .nav-item.chushin .nav-link.active {
	background-color: #fff;
	border: 2px solid var(--ntk-nav-branch-chushin-bg);
	color: var(--ntk-nav-branch-chushin-bg);
}

.navbar-nav .nav-item.chushin .nav-link.active:hover {
	background-color: var(--ntk-nav-branch-chushin-bg);
	border: 2px solid #fff;
	color: #000;
}

.navbar-nav .nav-item.nanshinsuwa .nav-link {
	background-color: var(--ntk-nav-branch-nanshinsuwa-bg);
}

.navbar-nav .nav-item.nanshinsuwa .nav-link:hover {
	background-color: #fff;
	border: 2px solid var(--ntk-nav-branch-nanshinsuwa-bg);
	color: var(--ntk-nav-branch-nanshinsuwa-bg);
}

.navbar-nav .nav-item.nanshinsuwa .nav-link.active {
	background-color: #fff;
	border: 2px solid var(--ntk-nav-branch-nanshinsuwa-bg);
	color: var(--ntk-nav-branch-nanshinsuwa-bg);
}

.navbar-nav .nav-item.nanshinsuwa .nav-link.active:hover {
	background-color: var(--ntk-nav-branch-nanshinsuwa-bg);
	border: 2px solid #fff;
	color: #000;
}

.member-announcement-tabs .nav-link {
	border-radius: 60px;
}

.member-announcement-tabs .member-ann-tab--hq .nav-link {
	background-color: #fff !important;
	color: #3d4349 !important;
	border: 1px solid #3d4349;
}

.member-announcement-tabs .member-ann-tab--hq .nav-link:hover:not(.active) {
	background-color: #2f3439 !important;
	border-color: #2f3439;
	color: #fff !important;
}

.member-announcement-tabs .member-ann-tab--hq .nav-link.active {
	background-color: #3d4349 !important;
	color: #fff !important;
	border-color: #3d4349;
}

.member-announcement-tabs .member-ann-tab--nagano-branch .nav-link {
	background-color: #fff !important;
	color: var(--ntk-nav-branch-nagano-bg);
	border: 1px solid var(--ntk-nav-branch-nagano-bg);
}

.member-announcement-tabs .member-ann-tab--nagano-branch .nav-link:hover:not(.active) {
	background-color: rgb(16, 166, 224, 0.08)!important;
	color: var(--ntk-nav-branch-nagano-bg);
	border-color: var(--ntk-nav-branch-nagano-bg);
}

.member-announcement-tabs .member-ann-tab--nagano-branch .nav-link.active {
	background-color: var(--ntk-nav-branch-nagano-bg)!important;
	color: #fff !important;
	border-color: var(--ntk-nav-branch-nagano-bg);
}

.member-announcement-tabs .member-ann-tab--toshin-branch .nav-link {
	background-color: #fff !important;
	color: var(--ntk-nav-branch-toshin-bg);
	border: 1px solid var(--ntk-nav-branch-toshin-bg);
}

.member-announcement-tabs .member-ann-tab--toshin-branch .nav-link:hover:not(.active) {
	background-color: rgb(16, 166, 224, 0.12) !important;
	color: var(--ntk-nav-branch-toshin-bg);
	border-color: var(--ntk-nav-branch-toshin-bg);
}

.member-announcement-tabs .member-ann-tab--toshin-branch .nav-link.active {
	background-color: var(--ntk-nav-branch-toshin-bg) !important;
	color: #fff !important;
	border-color: var(--ntk-nav-branch-toshin-bg);
}

.member-announcement-tabs .member-ann-tab--chushin-branch .nav-link {
	background-color: #fff !important;
	color: var(--ntk-nav-branch-chushin-bg);
	border: 1px solid var(--ntk-nav-branch-chushin-bg);
}

.member-announcement-tabs .member-ann-tab--chushin-branch .nav-link:hover:not(.active) {
	background-color: rgba(4, 125, 4, 0.08) !important;
	color: var(--ntk-nav-branch-chushin-bg);
	border-color: var(--ntk-nav-branch-chushin-bg);
}

.member-announcement-tabs .member-ann-tab--chushin-branch .nav-link.active {
	background-color: var(--ntk-nav-branch-chushin-bg) !important;
	color: #fff !important;
	border-color: var(--ntk-nav-branch-chushin-bg);
}

.member-announcement-tabs .member-ann-tab--nanshinsuwa-branch .nav-link {
	background-color: #fff !important;
	color: var(--ntk-nav-branch-nanshinsuwa-bg);
	border: 1px solid var(--ntk-nav-branch-nanshinsuwa-bg);
}

.member-announcement-tabs .member-ann-tab--nanshinsuwa-branch .nav-link:hover:not(.active) {
	background-color: rgba(121, 51, 183, 0.08) !important;
	color: var(--ntk-nav-branch-nanshinsuwa-bg);
	border-color: var(--ntk-nav-branch-nanshinsuwa-bg);
}

.member-announcement-tabs .member-ann-tab--nanshinsuwa-branch .nav-link.active {
	background-color: var(--ntk-nav-branch-nanshinsuwa-bg) !important;
	color: #fff !important;
	border-color: var(--ntk-nav-branch-nanshinsuwa-bg);
}

@media (min-width: 2100px), (max-width: 1500px) {
	.navbar-nav {
		grid-template-columns: repeat(auto-fit, minmax(0, 240px));
		justify-content: center;
	}
}

@media (max-width: 1060px) {
	.navbar-nav {
		grid-template-columns: repeat(auto-fit, minmax(0, 1fr));
	}
}

@media (max-width: 628px) {
	.navbar-nav .nav-item .ntk-branch-break {
		display: block;
	}
}

@media (max-width: 991.98px) {
	.header-actions {
		display: none!important;
	}

	#offcanvas-navbar.offcanvas.offcanvas-end {
		width: 100%;
		border-left: none;
		transform: none;
		position: absolute;
		z-index: 999;
		display: block;
		background-color: transparent;
		background-image: url(/wp/wp-content/uploads/2026/03/bg_head.png);
		background-repeat: no-repeat;
		background-position: center bottom;
		background-size: 100% auto;
		height: 100%;
		padding: 26px;
		top: 60px;
	}

	#offcanvas-navbar.offcanvas {
		position: inherit;
		visibility: visible;
		background-color: transparent;
	}
	#offcanvas-navbar .offcanvas-header {
		display: none;
	}
	.navbar-nav {
		display: grid;
		grid-template-columns: repeat(auto-fit, minmax(0, 1fr));
		margin-top: 0;
	}
	.navbar-nav .nav-item .nav-link {
		width: 100%;
		max-width: 240px;
		padding: 5px 12px;
		font-size: 1rem;
		line-height: 1.4;
	}
	.offcanvas-body {
		padding: 0;
	}
}

/* =============================================================================
 *
 * 5. 左サイドバー（.fixed-sidebar / #sidebar オフキャンバス）
 *
 * ============================================================================= */
.fixed-sidebar .offcanvas-body {
	padding: 42px 24px;
	overflow-x: hidden;
	overscroll-behavior: contain;
}

@media (min-width: 992px) {
	.fixed-sidebar .offcanvas {
		position: relative;
	}

	.fixed-sidebar .offcanvas-body {
		position: absolute;
		top: 170px;
		left: 0;
		width: 348px;
		box-sizing: border-box;
		scrollbar-gutter: stable;
		max-height: calc(100vh - 170px);
		overflow-y: auto;
		z-index: 10;
	}

	body.is-sidebar-fixed .fixed-sidebar .offcanvas-body {
		position: fixed;
		top: 24px;
		left: 0;
		max-height: calc(100vh - 48px);
	}

	body:has(.fixed-sidebar)::before {
		content: "";
		position: fixed;
		top: 0;
		bottom: 0;
		left: 0;
		width: 348px;
		height: auto;
		min-height: 100vh;
		background-image: linear-gradient(180deg, #d2f078, #34a12c);
		z-index: 0;
		pointer-events: none;
	}

	body:has(.fixed-sidebar) .main-content {
		position: relative;
		z-index: 1;
	}

	body:has(.fixed-sidebar) .main-content:has(.ntk-main-visual--breakout, .ntk-footer--breakout) {
		overflow-x: visible;
	}

	html.ntk-scroll-context--main:has(.fixed-sidebar),
	html.ntk-scroll-context--main:has(.fixed-sidebar) body {
		overscroll-behavior-y: none;
	}

	html.ntk-scroll-context--sidebar:has(.fixed-sidebar),
	html.ntk-scroll-context--sidebar:has(.fixed-sidebar) body {
		overscroll-behavior-y: auto;
	}

	html.ntk-scroll-context--main body:has(.fixed-sidebar) {
		background-color: #fff;
	}

	.fixed-sidebar #sidebar .ntk-sidebar-offcanvas-header {
		display: none !important;
	}
}

@media (max-width: 991.98px) {
	.admin-bar .fixed-sidebar {
		top: 50px;
	}

	.fixed-sidebar {
		position: absolute;
		z-index: 9999;
		top: 6px;
		right: max(10px, env(safe-area-inset-right, 0px));
		left: auto;
		width: fit-content;
	}

	.fixed-sidebar #secondary {
		width: fit-content;
	}

	.fixed-sidebar .ntk-sidebar-toggle {
		border: none;
		background-color: transparent;
		display: flex;
		flex-direction: column;
		justify-content: center;
		align-items: center;
		gap: 8px;
		color: #000;
		font-weight: 700;
		letter-spacing: 0.04em;
		line-height: 1.2;
		font-size: 12px;
	}

	.fixed-sidebar .ntk-sidebar-toggle.is-open {
		z-index: 9999;
		position: relative;
	}

	.fixed-sidebar .ntk-sidebar-toggle .ntk-hamburger-icon {
		display: inline-flex;
		flex-direction: column;
		justify-content: center;
		align-items: flex-end;
		gap: 8px;
		width: 32px;
		height: 26px;
	}

	.fixed-sidebar .ntk-sidebar-toggle .ntk-hamburger-bar {
		display: block;
		width: 32px;
		height: 2px;
		background-color: currentColor;
		border-radius: 999px;
		transform-origin: center;
		transition: transform 0.25s ease, opacity 0.2s ease;
	}

	.fixed-sidebar .ntk-sidebar-toggle .ntk-hamburger-bar:nth-child(2)  {
		width: 26px;
	}

	.fixed-sidebar .ntk-sidebar-toggle .ntk-hamburger-bar:nth-child(3)  {
		width: 20px;
	}

	.fixed-sidebar .ntk-sidebar-toggle.is-open .ntk-hamburger-bar:nth-child(1) {
		transform: translateY(8px) rotate(45deg);
	}

	.fixed-sidebar .ntk-sidebar-toggle.is-open .ntk-hamburger-bar:nth-child(2) {
		opacity: 0;
	}

	.fixed-sidebar .ntk-sidebar-toggle.is-open .ntk-hamburger-bar:nth-child(3) {
		width: 32px;
		transform: translateY(-12px) rotate(-45deg);
	}

	.fixed-sidebar #sidebar.offcanvas,
	.fixed-sidebar #sidebar.offcanvas-end {
		position: fixed !important;
		top: 0;
		right: 0;
		bottom: 0;
		left: auto;
		width: 100%;
		max-width: 100vw;
		height: 100vh;
		height: 100dvh;
		background: linear-gradient(180deg, #d2f078, #34a12c);
		transform: none !important;
		opacity: 0;
		visibility: hidden;
		pointer-events: none;
		transition-property: opacity, visibility !important;
		transition-duration: 0.24s;
		transition-timing-function: ease;
	}

	.fixed-sidebar #sidebar.offcanvas.showing,
	.fixed-sidebar #sidebar.offcanvas.show,
	.fixed-sidebar #sidebar.offcanvas-end.showing,
	.fixed-sidebar #sidebar.offcanvas-end.show {
		opacity: 1;
		visibility: visible !important;
		pointer-events: auto;
		transform: none !important;
	}

	.fixed-sidebar #sidebar.offcanvas.hiding,
	.fixed-sidebar #sidebar.offcanvas:not(.show):not(.showing),
	.fixed-sidebar #sidebar.offcanvas-end.hiding,
	.fixed-sidebar #sidebar.offcanvas-end:not(.show):not(.showing) {
		opacity: 0;
		visibility: hidden !important;
		pointer-events: none;
		transform: none !important;
	}

	.admin-bar .fixed-sidebar #sidebar.offcanvas,
	.admin-bar .fixed-sidebar #sidebar.offcanvas-end {
		top: 46px;
	}

	.fixed-sidebar #sidebar .ntk-sidebar-offcanvas-header {
		display: flex;
		flex-wrap: wrap;
		align-items: center;
		justify-content: space-between;
		gap: 12px;
		padding: 16px 16px 12px;
	}

	.fixed-sidebar #sidebar .ntk-sidebar-offcanvas-brand {
		display: block;
		width: 260px;
		max-width: calc(100% - 52px);
		line-height: 0;
	}

	.fixed-sidebar #sidebar .ntk-sidebar-offcanvas-brand__img {
		max-height: 56px;
		width: auto;
		height: auto;
		object-fit: contain;
		object-position: left center;
	}
}

/* =============================================================================
 *
 * 6. サイドメニュー・ログインメニュー入口
 *
 * ============================================================================= */
#menu-sidebar-menu .menu-item{
	position: relative;
	padding-left: 18px;
}

#menu-sidebar-menu .menu-item::before{
    position: absolute;
    content: "";
    width: 0;
    height: 0;
    border-left: 10px solid #077d04;
    border-right: 10px solid transparent;
    border-top: 10px solid transparent;
    border-bottom: 10px solid transparent;
    border-radius: 4px;
    left: 0;
    top: 8px;
}

.menu-sidebar-menu-container {
	background-color: #fff;
	color: #047d04;
	box-shadow: 0px 4px 20px rgba(0, 0, 0, 0.25);
	border-radius: 6px;
	padding: 21px 18px;
}

.menu-sidebar-menu-container .menu-item {
	font-size: 1.2rem;
}

.menu-sidebar-menu-container .menu-item:not(:last-child) {
	margin-bottom: 12px;
}

.menu-sidebar-menu-container .menu-item a{
	color: #047d04;
	text-decoration: none;
}

.menu-sidebar-menu-container .menu-item:hover a{
	border-bottom: 1px solid #047d04;
}

.menu-sidebar-menu-container ul.menu > .menu-item-has-children {
	position: relative;
}

.menu-sidebar-menu-container ul.menu > .menu-item-has-children > .sub-menu {
	list-style: none;
	margin: 0;
	padding: 0;
}

@media (min-width: 992px) {
	.menu-sidebar-menu-container ul.menu > .menu-item-has-children > .sub-menu {
		position: fixed;
		left: 0;
		top: 0;
		min-width: 240px;
		max-width: min(320px, calc(100vw - 24px));
		max-height: calc(100vh - 24px);
		overflow-y: auto;
		z-index: 1050;
		padding: 16px 20px;
		background-color: #fff;
		color: #047d04;
		border-radius: 6px;
		box-shadow: 0 4px 20px rgba(0, 0, 0, 0.2);
		opacity: 0;
		visibility: hidden;
		pointer-events: none;
		transform: translateX(8px);
		transition: opacity 0.22s ease, visibility 0.22s ease, transform 0.22s ease;
	}

	.menu-sidebar-menu-container ul.menu > .menu-item-has-children:hover > .sub-menu,
	.menu-sidebar-menu-container ul.menu > .menu-item-has-children:focus-within > .sub-menu {
		opacity: 1;
		visibility: visible;
		pointer-events: auto;
		transform: translateX(0);
	}

	.menu-sidebar-menu-container ul.menu > .menu-item-has-children > .sub-menu .menu-item {
		font-size: 1.15rem;
	}

	.menu-sidebar-menu-container ul.menu > .menu-item-has-children > .sub-menu .menu-item:not(:last-child) {
		margin-bottom: 10px;
	}

	.menu-sidebar-menu-container ul.menu > .menu-item-has-children > .sub-menu .menu-item a {
		border-bottom: none;
	}

	.menu-sidebar-menu-container ul.menu > .menu-item-has-children > .sub-menu .menu-item a:hover {
		border-bottom: 1px solid #047d04;
	}

	.menu-sidebar-menu-container ul.menu > .menu-item-has-children:hover > a,
	.menu-sidebar-menu-container ul.menu > .menu-item-has-children:focus-within > a {
		border-bottom-color: transparent;
	}
}

@media (max-width: 991.98px) {
	.menu-sidebar-menu-container ul.menu > .menu-item-has-children > .sub-menu {
		position: static !important;
		left: auto !important;
		opacity: 1 !important;
		visibility: visible !important;
		pointer-events: auto !important;
		transform: none !important;
		min-width: 0;
		box-shadow: none;
		background: transparent;
		margin-top: 8px;
		padding: 0 0 0 12px;
		border-left: 2px solid rgba(4, 125, 4, 0.35);
		animation: ntkSubmenuMobileEnter 0.26s ease both;
		will-change: opacity, transform;
	}
}

@keyframes ntkSubmenuMobileEnter {
	from {
		opacity: 0;
		transform: translateY(6px);
	}
	to {
		opacity: 1;
		transform: translateY(0);
	}
}

.menu-login-menu-container > .menu > .menu-item > a {
	width: 100%;
	background: #fff;
	color: #047d04;
	box-shadow: 0px 4px 20px rgba(0, 0, 0, 0.25);
	border-radius: 6px;
	padding: 10px;
	text-align: center;
	display: flex;
	justify-content: center;
	align-items: center;
	gap: 0.5rem;
}

.menu-login-menu-container .menu-item a{
	color: #047d04;
	text-decoration: none;
}

.menu-login-menu-container .menu-item-has-children > .sub-menu {
	margin-top: 8px;
	padding-left: 0;
	max-height: 0;
	opacity: 0;
	overflow: hidden;
	visibility: hidden;
	transform: translateY(-4px);
	transition: max-height 0.35s ease, opacity 0.25s ease, transform 0.25s ease, visibility 0s linear 0.35s;
}

.menu-login-menu-container .menu-item-has-children > a {
	border: 1px solid #047d04;
	border-radius: 6px;
	padding: 10px;
	font-size: 1.3rem;
}

.menu-login-menu-container .menu-item-has-children.is-open > a {
	background-color: #047d04;
	color: #fff;
	border-radius: 6px 6px 0 0;
}

.menu-login-menu-container .menu-item-has-children.is-open > .sub-menu {
	opacity: 1;
	visibility: visible;
	transform: translateY(0);
	transition-delay: 0s, 0s, 0s, 0s;
}

.menu-login-menu-container .menu-item-has-children .sub-menu {
	list-style: none;
	margin-top: 0;
	background-color: #ddeddd;
	padding: 20px 24px 26px;
	box-shadow: 0px 4px 20px rgba(0, 0, 0, 0.25);
	border-radius: 0 0 6px 6px;
}

.menu-login-menu-container .menu-item-has-children .sub-menu .menu-item {
	font-size: 1.2rem;
}

.menu-login-menu-container .menu-item-has-children .sub-menu .menu-item a:hover {
	border-bottom: 2px solid #047d04;
}

.menu-login-menu-container .menu-item-has-children .sub-menu .menu-item:not(:last-child) {
	margin-bottom: 12px;
}

.fixed-sidebar .widget_text .textwidget .sidebar-bottom-links-phone {
	font-size: 2.4rem;
	font-weight: 500;
	margin-bottom: 18px;
}

.fixed-sidebar .widget_text .textwidget .sidebar-bottom-links {
	list-style: none;
}

.fixed-sidebar .widget_text .textwidget .sidebar-bottom-links-item {
	margin-bottom: 12px;
}

.fixed-sidebar .widget_text .textwidget .sidebar-bottom-links-item a {
	color: #fff;
	text-decoration: none;
}

.fixed-sidebar .widget_text .textwidget .sidebar-bottom-links-item a:hover {
	border-bottom: 2px solid #fff;
}


/* =============================================================================
 *
 * 7. カレンダータブ
 *
 * ============================================================================= */
.smb-tabs__tabs:has(#smb-tab-for-calendar-honkai) {
	display: flex;
	flex-wrap: wrap;
	gap: 16px;
	align-items: center;
}

.smb-tabs__tabs:has(#smb-tab-for-calendar-honkai) #smb-tab-for-calendar-nagano,
.smb-tabs__tabs:has(#smb-tab-for-calendar-honkai) #smb-tab-for-calendar-toshin,
.smb-tabs__tabs:has(#smb-tab-for-calendar-honkai) #smb-tab-for-calendar-chushin,
.smb-tabs__tabs:has(#smb-tab-for-calendar-honkai) #smb-tab-for-calendar-nanshinsuwa {
	margin-left:0!important;
}

@media (max-width: 991.98px) {
	.smb-tabs__tabs:has(#smb-tab-for-calendar-honkai) {
		gap: 10px;
	}

	.smb-tabs__tabs:has(#smb-tab-for-calendar-honkai) .smb-tabs__tab-wrapper .smb-tabs__tab {
		padding: 10px 18px;
		font-size: clamp(16px, 4.5vw, 24px);
		line-height: 1.2;
	}
}


/* =============================================================================
 *
 * 8. トップページ・メインタブ（.home / .main-tabs）
 *
 * ============================================================================= */
.home .entry-title  {
	display: none;
}

.home .entry-header {
	display: none;
}

/* .home .site-content { margin-top: -76px; } */

@media (min-width: 992px) {
	#content {
		padding-bottom: 0!important;
	}
	body:has(.fixed-sidebar) #content.site-content.container,
	body:has(.fixed-sidebar) .site-content.container,
	body:has(.fixed-sidebar) #content.container.site-content,
	body:has(.fixed-sidebar) .container.site-content {
		max-width: 90% !important;
		width: 1500px;
		padding-bottom: 0!important;
	}
	.col-lg-9.order-lg-2.main-content {
		padding: 0;
		width: calc(100% - 348px) !important;
		margin-left: 348px !important;
	}
	.home .main-content .w-988 {
		width: 988px;
		max-width: 98%;
		margin: 0 auto;
	}
	/* [保留]  constrained マージン打ち消しが必要なら有効化
	.is-layout-constrained > :where(:not(.alignleft):not(.alignright):not(.alignfull)) {
		margin-left: 0 !important;
		margin-right: 0 !important;
	}
	*/
}

@media (max-width: 991.98px) {
	.home .site-content {
		margin-top: -24px;
	}
}

/*
 * 8b. メインタブ
 * ============================================================================= */
.smb-tabs[data-orientation=horizontal][data-tabs-justification=center]>.smb-tabs__tabs {
	gap:2px;
	justify-content: flex-start;
}

.main-tabs > .smb-tabs__tabs .smb-tabs__tab-wrapper {
	position: relative;
}

.main-tabs > .smb-tabs__tabs .smb-tabs__tab-wrapper::before,
.main-tabs > .smb-tabs__tabs .smb-tabs__tab-wrapper::after {
	content: "";
	position: absolute;
	top: 60%;
	width: 16px;
	height: 2px;
	border-radius: 1px;
    z-index: 999;
}

.main-tabs > .smb-tabs__tabs .smb-tabs__tab-wrapper::before {
	right: 22px;
	transform: translateY(-50%) rotate(45deg);
	transform-origin: right bottom;
}

.main-tabs > .smb-tabs__tabs .smb-tabs__tab-wrapper::after {
	right: 6px;
	transform: translateY(-50%) rotate(-45deg);
	transform-origin: left bottom;
}

.main-tabs>.smb-tabs__tabs .smb-tabs__tab{
	border-radius: 6px 6px 0 0!important;
	width: 284px;
	font-size: 1.4rem;
	padding: 8px 38px 8px 18px !important;
	position: relative;
}

.main-tabs>.smb-tabs__body #member,
.main-tabs>.smb-tabs__body #consider,
.main-tabs>.smb-tabs__body #common {
	padding-top: 46px;
	border-radius: 8px;
	overflow: hidden;
}

.main-tabs>.smb-tabs__body #member[aria-hidden="false"] {
	border: 2px solid #23721d;
	border-radius: 0 8px 8px!important;
}

.main-tabs>.smb-tabs__body #consider[aria-hidden="false"] {
	border: 2px solid #830b0b;
}

.main-tabs>.smb-tabs__body #common[aria-hidden="false"] {
	border: 2px solid #0c598a;
}

.main-tabs #smb-tab-for-member .smb-tabs__tab[aria-selected="true"]{
	background-color: #398e33!important;
	border: 2px solid #23721d;
	border-bottom: none;
	color: #fff;
}

.main-tabs #smb-tab-for-member .smb-tabs__tab[aria-selected="false"]{
	background-color: #fff!important;
	border: 2px solid #34a12c;
	border-bottom: none;
	color: #34a12c;
	opacity: 1;
}

.main-tabs #smb-tab-for-member .smb-tabs__tab[aria-selected="false"]:hover {
	background-color: #398e33!important;
	color: #fff;
}

.main-tabs > .smb-tabs__tabs .smb-tabs__tab-wrapper#smb-tab-for-member:has(.smb-tabs__tab[aria-selected="false"])::before,
.main-tabs > .smb-tabs__tabs .smb-tabs__tab-wrapper#smb-tab-for-member:has(.smb-tabs__tab[aria-selected="false"])::after {
	background-color: #23721d;
}

.main-tabs > .smb-tabs__tabs .smb-tabs__tab-wrapper#smb-tab-for-consider:has(.smb-tabs__tab[aria-selected="false"])::before,
.main-tabs > .smb-tabs__tabs .smb-tabs__tab-wrapper#smb-tab-for-consider:has(.smb-tabs__tab[aria-selected="false"])::after {
	background-color: #ed1211;
}

.main-tabs > .smb-tabs__tabs .smb-tabs__tab-wrapper#smb-tab-for-common:has(.smb-tabs__tab[aria-selected="false"])::before,
.main-tabs > .smb-tabs__tabs .smb-tabs__tab-wrapper#smb-tab-for-common:has(.smb-tabs__tab[aria-selected="false"])::after {
	background-color: #197fc0;
}

.main-tabs > .smb-tabs__tabs .smb-tabs__tab-wrapper#smb-tab-for-member:has(.smb-tabs__tab[aria-selected="true"])::before,
.main-tabs > .smb-tabs__tabs .smb-tabs__tab-wrapper#smb-tab-for-member:has(.smb-tabs__tab[aria-selected="true"])::after,
.main-tabs > .smb-tabs__tabs .smb-tabs__tab-wrapper#smb-tab-for-consider:has(.smb-tabs__tab[aria-selected="true"])::before,
.main-tabs > .smb-tabs__tabs .smb-tabs__tab-wrapper#smb-tab-for-consider:has(.smb-tabs__tab[aria-selected="true"])::after,
.main-tabs > .smb-tabs__tabs .smb-tabs__tab-wrapper#smb-tab-for-common:has(.smb-tabs__tab[aria-selected="true"])::before,
.main-tabs > .smb-tabs__tabs .smb-tabs__tab-wrapper#smb-tab-for-common:has(.smb-tabs__tab[aria-selected="true"])::after {
	background-color: #fff!important;
}

.main-tabs > .smb-tabs__tabs .smb-tabs__tab-wrapper#smb-tab-for-member:hover::before,
.main-tabs > .smb-tabs__tabs .smb-tabs__tab-wrapper#smb-tab-for-member:hover::after,
.main-tabs > .smb-tabs__tabs .smb-tabs__tab-wrapper#smb-tab-for-consider:hover::before,
.main-tabs > .smb-tabs__tabs .smb-tabs__tab-wrapper#smb-tab-for-consider:hover::after,
.main-tabs > .smb-tabs__tabs .smb-tabs__tab-wrapper#smb-tab-for-common:hover::before,
.main-tabs > .smb-tabs__tabs .smb-tabs__tab-wrapper#smb-tab-for-common:hover::after {
	background-color: #fff!important;
}

.main-tabs #smb-tab-for-consider .smb-tabs__tab[aria-selected="true"]{
	background-color: #ed1111!important;
	border: 2px solid #830b0b;
	border-bottom: none;
	color: #fff;
}

.main-tabs #smb-tab-for-consider .smb-tabs__tab[aria-selected="false"] {
	background-color: #fff!important;
	border: 2px solid #ed1111;
	border-bottom: none;
	color: #ed1111;
	opacity: 1;
}

.main-tabs #smb-tab-for-consider .smb-tabs__tab[aria-selected="false"]:hover {
	background-color: #ed1111!important;
	color: #fff;
}

.main-tabs #smb-tab-for-common .smb-tabs__tab[aria-selected="true"]{
	background-color: #197fc0!important;
	border: 2px solid #0c598a;
	border-bottom: none;
	color: #fff;
}

.main-tabs #smb-tab-for-common .smb-tabs__tab[aria-selected="false"]{
	background-color: #fff!important;
	border: 2px solid #197fc0;
	border-bottom: none;
	color: #197fc0;
	opacity: 1;
}

.main-tabs #smb-tab-for-common .smb-tabs__tab[aria-selected="false"]:hover {
	background-color: #197fc0!important;
	color: #fff;
}

@media (max-width: 1337px) {
	.main-tabs > .smb-tabs__tabs .smb-tabs__tab {
		width: auto;
	}
	.smb-tabs[data-orientation=horizontal]>.smb-tabs__tabs {
		align-items: end;
	}
	.main-tabs #smb-tab-for-consider .smb-tabs__tab[aria-selected="false"],
	.main-tabs #smb-tab-for-common .smb-tabs__tab[aria-selected="false"],
	.main-tabs #smb-tab-for-member .smb-tabs__tab[aria-selected="false"] {
		font-size: .8rem!important;
		padding: 8px 4px !important;
		height: 37px;
	}
	.main-tabs #smb-tab-for-common .smb-tabs__tab,
	.main-tabs #smb-tab-for-consider .smb-tabs__tab,
	.main-tabs #smb-tab-for-member .smb-tabs__tab{
		font-size: 1rem!important;
		font-weight: 500!important;
	}
	.main-tabs>.smb-tabs__tabs .smb-tabs__tab {
		padding: 8px!important;
	}
	.main-tabs > .smb-tabs__tabs .smb-tabs__tab-wrapper::before,
	.main-tabs > .smb-tabs__tabs .smb-tabs__tab-wrapper::after {
		content: none!important;
	}
}


/*
 * 8c. メインタブ・本文
 * ============================================================================= */
.main-tabs #member a,
.main-tabs #consider a,
.main-tabs #common a {
	text-decoration: none!important;
}

.main-tabs #member .wp-block-tiptip-hyperlink-group-block .wp-block-group:hover .wp-block-font-awesome-icon.wp-font-awesome-icon svg path,
.main-tabs #consider .wp-block-tiptip-hyperlink-group-block .wp-block-group:hover .wp-block-font-awesome-icon.wp-font-awesome-icon svg path,
.main-tabs #common .wp-block-tiptip-hyperlink-group-block .wp-block-group:hover .wp-block-font-awesome-icon.wp-font-awesome-icon svg path {
	fill: #fff;
}

.main-tabs #member .wp-block-tiptip-hyperlink-group-block .wp-block-group:hover p,
.main-tabs #consider .wp-block-tiptip-hyperlink-group-block .wp-block-group:hover p,
.main-tabs #common .wp-block-tiptip-hyperlink-group-block .wp-block-group:hover p {
	color: #fff!important;
}

.main-tabs #member .wp-block-tiptip-hyperlink-group-block .wp-block-group:hover {
	background-color: #23721d!important;
}

.main-tabs #consider .wp-block-tiptip-hyperlink-group-block .wp-block-group:hover {
	background-color: #a73242!important;
}

.main-tabs #common .wp-block-tiptip-hyperlink-group-block .wp-block-group:hover {
	background-color: #3251a7!important;
}


/*
 * 8d. メインタブ・SMB ボックス
 * ============================================================================= */
.main-tabs #member .wp-block-snow-monkey-blocks-box.smb-box.smb-box--has-link:hover .smb-box__background{
	background-color: #23721d;
}

.main-tabs #member .wp-block-snow-monkey-blocks-box.smb-box.smb-box--has-link:hover .wp-block-font-awesome-icon.wp-font-awesome-icon svg path {
	fill: #fff;
}

.main-tabs #member .wp-block-snow-monkey-blocks-box.smb-box.smb-box--has-link:hover .smb-box__body p {
	color: #fff!important;
}

.main-tabs #consider .wp-block-snow-monkey-blocks-box.smb-box.smb-box--has-link:hover .smb-box__background{
	background-color: #a73242;
}

.main-tabs #consider .wp-block-snow-monkey-blocks-box.smb-box.smb-box--has-link:hover .wp-block-font-awesome-icon.wp-font-awesome-icon svg path {
	fill: #fff;
}

.main-tabs #consider .wp-block-snow-monkey-blocks-box.smb-box.smb-box--has-link:hover .smb-box__body p {
	color: #fff!important;
}

.main-tabs #common .wp-block-snow-monkey-blocks-box.smb-box.smb-box--has-link:hover .smb-box__background{
	background-color: #3251a7;
}

.main-tabs #common .wp-block-snow-monkey-blocks-box.smb-box.smb-box--has-link:hover .wp-block-font-awesome-icon.wp-font-awesome-icon svg path {
	fill: #fff;
}

.main-tabs #common .wp-block-snow-monkey-blocks-box.smb-box.smb-box--has-link:hover .smb-box__body p {
	color: #fff!important;
}


/* =============================================================================
 *
 * 9. RSS・協会概要ボタン・見出し
 *
 * ============================================================================= */

/*
 * 9a. 全宅連からのお知らせ
 * ============================================================================= */
.zentaku-rss .wp-block-rss li.wp-block-rss__item {
	display: flex;
	flex-direction: column-reverse;
	padding-top: 18px;
	padding-bottom: 18px;
	border-bottom: 1px solid #fff;
	position: relative;
	z-index: 999;
}

.zentaku-rss .wp-block-rss li.wp-block-rss__item:hover::before {
	content: "";
	position: absolute;
	background-color: rgba(255, 255, 255, 0.6);
	border-radius: 8px;
	top: 18px;
	right: -12px;
	bottom: 8px;
	left: -12px;
	z-index: -1;
}

.zentaku-rss .wp-block-rss__item {
	display: flex;
	flex-direction: column-reverse;
}

.zentaku-rss .wp-block-rss__item-title a,
.zentaku-rss-page .wp-block-rss__item-title a {
	display: block;
	width: 100%;
	color: #000;
	text-decoration: none;
	font-weight: 500;
}

.zentaku-rss .wp-block-rss__item-publish-date,
.zentaku-rss-page .wp-block-rss__item-publish-date {
	font-size: 1rem;
}

.zentaku-rss-page .wp-block-rss__item {
	display: flex;
	flex-direction: column-reverse;
	padding: 12px 14px;
	border-bottom: 1px solid rgba(0, 0, 0, 0.08);
	transition: background-color 0.15s ease;
}

.zentaku-rss-page .wp-block-rss__item:hover {
	background-color: rgba(50, 167, 131, 0.04);
}

.zentaku-button .btn:hover {
	background-color: #fff2f3;
}


/*
 * 9b. 協会概要内部リンクボタン（ntk-outline-buttons）
 * ============================================================================= */
.ntk-before-content {
	text-align: center;
	margin: 32px auto;
}

.ntk-outline-buttons.btn-group {
	--ntk-ob-green: #0d8040;
	--ntk-ob-green-hover: #0a6633;
	--ntk-ob-green-soft: #e8f5ec;
	display: flex;
	flex-wrap: wrap;
	justify-content: center;
	align-items: stretch;
	gap: 0.75rem 1rem;
}

.ntk-outline-buttons.btn-group > .ntk-outline-button {
	margin: 0;
	position: relative;
}

.ntk-outline-buttons .ntk-outline-button {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	padding: 0.75rem 1.75rem;
	font-weight: 700;
	font-size: 1.05rem;
	line-height: 1.35;
	text-align: center;
	text-decoration: none;
	transition:
		background-color 0.15s ease,
		color 0.15s ease,
		border-color 0.15s ease,
		box-shadow 0.15s ease;
	border: 2px solid var(--ntk-ob-green);
	border-radius: var(--bs-btn-border-radius) !important;
	color: var(--ntk-ob-green);
	background-color: #fff;
	box-shadow: 0 1px 4px rgba(13, 128, 64, 0.12);
}

.ntk-outline-buttons .ntk-outline-button:hover {
	background-color: var(--ntk-ob-green-soft);
	color: var(--ntk-ob-green-hover);
	border-color: var(--ntk-ob-green-hover);
	text-decoration: none;
}

.ntk-outline-buttons .ntk-outline-button:focus-visible {
	outline: 3px solid rgba(50, 167, 131, 0.55);
	outline-offset: 3px;
}

.ntk-outline-buttons .ntk-outline-button.is-active {
	color: #fff;
	background-color: var(--ntk-ob-green);
	border-color: rgba(255, 255, 255, 0.95);
	box-shadow: 0 2px 10px rgba(13, 128, 64, 0.4);
	cursor: default;
}

.ntk-outline-buttons .ntk-outline-button.is-active:hover {
	color: #fff;
	background-color: var(--ntk-ob-green-hover);
	border-color: rgba(255, 255, 255, 0.95);
}

@media (min-width: 768px) {
	.ntk-before-content {
		margin: 0 auto 32px;
	}
	.ntk-outline-buttons .ntk-outline-button {
		padding: 0.8rem 2rem;
		font-size: 1.1rem;
	}
}


/* 
 * 9c. 見出し
 * ============================================================================= */
h2.wp-block-heading {
	border-left: 12px solid #32a783;
	background-color: #f6fff5;
	padding: 10px 14px;
	margin-bottom: 32px;
	font-size: 1.8rem;
}

h3.wp-block-heading {
	width: 100%;
	position: relative;
	border-bottom: 1px solid rgba(0, 0, 0, 0.12);
	background: 0 0;
	padding: 12px 8px 8px 0;
	border-radius: 0;
	margin-bottom: 24px;
	margin-left: 12px;
}

h3.wp-block-heading:after {
	content: ".";
	line-height: 0;
	display: block;
	overflow: hidden;
	position: absolute;
	bottom: -1px;
	width: 30%;
	border-bottom: 1px solid #31a783;
}

h4.wp-block-heading {
	background-color: #f2f2f2;
	border-radius: 8px;
	padding: 8px 14px;
	margin-bottom: 24px;
}

h2.wp-block-heading.ntk-h-plain,
h3.wp-block-heading.ntk-h-plain,
h4.wp-block-heading.ntk-h-plain {
	border: 0;
	border-left: 0;
	border-bottom: 0;
	border-radius: 0;
	background: none;
	background-color: transparent;
	box-shadow: none;
	padding: 0;
	margin-left: 0;
	margin-bottom: 0;
	position: static;
}

h3.wp-block-heading.ntk-h-plain::after {
	content: none;
	display: none;
	border: none;
	width: 0;
	height: 0;
	padding: 0;
	margin: 0;
	position: static;
}

@media (max-width: 767px) {
	.wp-block-heading.ntk-h-plain {
		font-size: 1.25rem;
	}
}

ul.wp-block-list li{
	margin-bottom:8px;
}


/* =============================================================================
 *
 * 10. 横断一覧・支部絞り込み・LazyBlock
 *
 * ============================================================================= */

/*
 * 10a. 横断一覧・LazyBlock 共通: 支部絞り込み（a でも button でも同じ見た目）
 * ============================================================================= */
.cross-branch-post-list-filters.nagano-branch-post-list-filters a.nagano-branch-post-list-filter-btn {
	text-decoration: none;
	display: inline-block;
}

.nagano-branch-post-list-filters {
	display: flex;
	flex-wrap: wrap;
	gap: 8px;
	margin-bottom: 16px;
}

.nagano-branch-post-list-filters--with-end-link .nagano-branch-post-list-filters__tabs,
.nagano-branch-event-list-filters__tabs,
.nagano-branch-post-list--by-branch .nagano-branch-post-list-filters__tabs,
.nagano-branch-event-list--by-branch .nagano-branch-event-list-filters__tabs {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: 8px;
	flex: 1 1 auto;
	min-width: 0;
}

/*
 * 10c-1. 本会（カレンダー honkai）↔ フィルター all
 * ============================================================================= */
.nagano-branch-post-list-filter-btn[data-branch-filter="all"],
.smb-tabs__tabs:has(#smb-tab-for-calendar-honkai) #smb-tab-for-calendar-honkai .smb-tabs__tab {
	border-color: #e72d44;
	color: #e72d44;
}

.nagano-branch-post-list-filter-btn[data-branch-filter="all"].is-active,
.smb-tabs__tabs:has(#smb-tab-for-calendar-honkai) #smb-tab-for-calendar-honkai .smb-tabs__tab[aria-selected="true"] {
	background-color: #e72d44;
	border-color: #e72d44;
	color: #fff;
	box-shadow: 0 0 0 2px rgba(231, 45, 68, 0.2);
}

/* 長野支部 */
.nagano-branch-post-list-filter-btn[data-branch-filter="nagano-branch"],
.smb-tabs__tabs:has(#smb-tab-for-calendar-honkai) #smb-tab-for-calendar-nagano .smb-tabs__tab {
	border-color: var(--ntk-nav-branch-nagano-bg);
	color: var(--ntk-nav-branch-nagano-bg);
}

.nagano-branch-post-list-filter-btn[data-branch-filter="nagano-branch"].is-active,
.smb-tabs__tabs:has(#smb-tab-for-calendar-honkai) #smb-tab-for-calendar-nagano .smb-tabs__tab[aria-selected="true"] {
	background-color: var(--ntk-nav-branch-nagano-bg);
	border-color: var(--ntk-nav-branch-nagano-bg);
	color: #fff;
	box-shadow: 0 0 0 2px rgba(16, 166, 224, 0.2);
}

	/* 東信支部 */
.nagano-branch-post-list-filter-btn[data-branch-filter="toshin-branch"],
.smb-tabs__tabs:has(#smb-tab-for-calendar-honkai) #smb-tab-for-calendar-toshin .smb-tabs__tab {
	border-color: var(--ntk-nav-branch-toshin-bg);
	color: var(--ntk-nav-branch-toshin-bg);
}

.nagano-branch-post-list-filter-btn[data-branch-filter="toshin-branch"].is-active,
.smb-tabs__tabs:has(#smb-tab-for-calendar-honkai) #smb-tab-for-calendar-toshin .smb-tabs__tab[aria-selected="true"] {
	background-color: var(--ntk-nav-branch-toshin-bg);
	border-color: var(--ntk-nav-branch-toshin-bg);
	color: #fff;
	box-shadow: 0 0 0 2px rgba(16, 166, 224, 0.25);
}

/* 中信支部 */
.nagano-branch-post-list-filter-btn[data-branch-filter="chushin-branch"],
.smb-tabs__tabs:has(#smb-tab-for-calendar-honkai) #smb-tab-for-calendar-chushin .smb-tabs__tab {
	border-color: var(--ntk-nav-branch-chushin-bg);
	color: var(--ntk-nav-branch-chushin-bg);
}

.nagano-branch-post-list-filter-btn[data-branch-filter="chushin-branch"].is-active,
.smb-tabs__tabs:has(#smb-tab-for-calendar-honkai) #smb-tab-for-calendar-chushin .smb-tabs__tab[aria-selected="true"] {
	background-color: var(--ntk-nav-branch-chushin-bg);
	border-color: var(--ntk-nav-branch-chushin-bg);
	color: #fff;
	box-shadow: 0 0 0 2px rgba(254, 222, 177, 0.2);
}

/* 南信諏訪支部 */
.nagano-branch-post-list-filter-btn[data-branch-filter="nanshinsuwa-branch"],
.smb-tabs__tabs:has(#smb-tab-for-calendar-honkai) #smb-tab-for-calendar-nanshinsuwa .smb-tabs__tab {
	border-color: var(--ntk-nav-branch-nanshinsuwa-bg);
	color: var(--ntk-nav-branch-nanshinsuwa-bg);
}

.nagano-branch-post-list-filter-btn[data-branch-filter="nanshinsuwa-branch"].is-active,
.smb-tabs__tabs:has(#smb-tab-for-calendar-honkai) #smb-tab-for-calendar-nanshinsuwa .smb-tabs__tab[aria-selected="true"] {
	background-color: var(--ntk-nav-branch-nanshinsuwa-bg);
	border-color: var(--ntk-nav-branch-nanshinsuwa-bg);
	color: #fff;
	box-shadow: 0 0 0 2px rgba(240, 188, 189, 0.2);
}

/*
 * 10c-2. 本会お知らせ・本会（hq-event）
 * ============================================================================= */
.nagano-branch-post-list-filter-btn[data-branch-filter="hq-announce"] {
	border-color: #1a5f7a;
	color: #1a5f7a;
}

.nagano-branch-post-list-filter-btn[data-branch-filter="hq-announce"].is-active {
	background-color: #1a5f7a;
	border-color: #1a5f7a;
	color: #fff;
	box-shadow: 0 0 0 2px rgba(26, 95, 122, 0.25);
}

.nagano-branch-post-list-filter-btn[data-branch-filter="hq-event"] {
	border-color: #1565c0;
	color: #1565c0;
}

.nagano-branch-post-list-filter-btn[data-branch-filter="hq-event"].is-active {
	background-color: #1565c0;
	border-color: #1565c0;
	color: #fff;
	box-shadow: 0 0 0 2px rgba(21, 101, 192, 0.25);
}

/*
 * 10c-3. お知らせカテゴリー & イベントカテゴリー（カテゴリータブ：ベース・アクティブ共通）
 * ============================================================================= */
.cross-branch-post-list-filters.nagano-branch-post-list-filters a.nagano-branch-post-list-news-filter-btn {
	text-decoration: none;
	display: inline-block;
}

.nagano-branch-post-list-news-filter-btn,
.nagano-branch-event-list-filter-btn,
.nagano-branch-post-list-filter-btn,
.smb-tabs__tabs:has(#smb-tab-for-calendar-honkai) .smb-tabs__tab-wrapper .smb-tabs__tab {
	border-radius: 999px;
	border: 1px solid #32a783;
	background-color: #fff;
	color: #32a783;
	padding: 4px 10px;
	font-size: 0.875rem;
	font-weight: 700;
	cursor: pointer;
	transition: background-color 0.2s ease, color 0.2s ease, box-shadow 0.2s ease;
	opacity: 1;
}

.nagano-branch-post-list-news-filter-btn.is-active,
.nagano-branch-event-list-filter-btn.is-active,
.nagano-branch-post-list-filter-btn.is-active {
	background-color: #32a783;
	color: #fff;
	box-shadow: 0 0 0 2px rgba(79, 124, 199, 0.2);
}

.nagano-branch-event-list-filter-btn {
	border: 1px solid var(--ntl-accent);
	color: #6b4f00;
}

.nagano-branch-event-list-filter-btn.is-active {
	background-color: var(--ntl-accent);
	color: #fff;
	box-shadow: 0 0 0 2px rgba(79, 124, 199, 0.2);
}

/*
 * 10c-3b. 横断「イベント」一覧のフィルターのみ: LazyBlocks イベント一覧と同じ ntl アクセント（黄〜オレンジ）
 * （お知らせ横断の支部／カテゴリーには cross-branch-post-list-filters--event-accent を付けない）
 */
.cross-branch-post-list-filters.cross-branch-post-list-filters--event-accent.nagano-branch-post-list-filters {
	--ntl-accent: #ffc81a;
	--ntl-accent-dark: #e0a800;
}

.cross-branch-post-list-filters.cross-branch-post-list-filters--event-accent.nagano-branch-post-list-filters .nagano-branch-post-list-filter-btn,
.cross-branch-post-list-filters.cross-branch-post-list-filters--event-accent.nagano-branch-post-list-filters .nagano-branch-post-list-news-filter-btn {
	border: 1px solid var(--ntl-accent);
	background-color: #fff;
	color: #6b4f00;
}

.cross-branch-post-list-filters.cross-branch-post-list-filters--event-accent.nagano-branch-post-list-filters .nagano-branch-post-list-filter-btn.is-active,
.cross-branch-post-list-filters.cross-branch-post-list-filters--event-accent.nagano-branch-post-list-filters .nagano-branch-post-list-news-filter-btn.is-active {
	background-color: var(--ntl-accent);
	border-color: var(--ntl-accent);
	color: #fff;
	box-shadow: 0 0 0 2px rgba(79, 124, 199, 0.2);
}

@media (max-width: 767px) {
	.nagano-branch-post-list-filter-btn,
	.nagano-branch-post-list-news-filter-btn,
	.nagano-branch-event-list-filter-btn {
		line-height: 1.5;
	}
}

/*
 * 10c-4. イベント一覧：メタ値・投稿タイプラベル
 * ============================================================================= */
.nagano-branch-event-list-meta-value {
	border-radius: 20px;
	background-color: #fff;
	color: #32a783;
	border: 1px solid #32a783;
	padding: 4px 17px;
}

.nagano-branch-event-list-meta-item--categories {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: 6px;
}

.nagano-branch-event-list-meta-value.post-type-label {
	background-color: #d4f8d0;
	border: 1px solid #fff;
	color: #32a783;
}

.nagano-branch-event-list-meta-value.post-type-label.post-type-nagano-branch {
	background-color: #fff;
	border-color: var(--ntk-nav-branch-nagano-bg);
	color: var(--ntk-nav-branch-nagano-bg);
}

.nagano-branch-event-list-meta-value.post-type-label.post-type-toshin-branch {
	background-color: #fff;
	border-color: var(--ntk-nav-branch-toshin-bg);
	color: var(--ntk-nav-branch-toshin-bg);
}

.nagano-branch-event-list-meta-value.post-type-label.post-type-chushin-branch {
	background-color: #fff;
	border-color: var(--ntk-nav-branch-chushin-bg);
	color: var(--ntk-nav-branch-chushin-bg);
}

.nagano-branch-event-list-meta-value.post-type-label.post-type-nanshinsuwa-branch {
	background-color: #fff;
	border-color: var(--ntk-nav-branch-nanshinsuwa-bg);
	color: var(--ntk-nav-branch-nanshinsuwa-bg);
}

.nagano-branch-event-list-meta-value.post-type-label.post-type-hq-announce {
	background-color: #fff;
	border-color: #1a5f7a;
	color: #1a5f7a;
}

.nagano-branch-event-list-meta-value.post-type-label.post-type-hq-event {
	background-color: #fff;
	border-color: #1a5f7a;
	color: #1a5f7a;
}


/*
 * 10d. 全宅連リンク
 * ============================================================================= */
.cross-branch-post-list-filters-toolbar .ntk-zentaku-news-link-btn {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	border-radius: 0;
	border: 1px solid #e72d44;
	background-color: #fff;
	color: #e72d44;
	padding: 6px 12px;
	font-size: 0.875rem;
	font-weight: 700;
	line-height: 1.3;
	text-decoration: none;
	transition: background-color 0.2s ease, color 0.2s ease, border-color 0.2s ease;
}

.cross-branch-post-list-filters-toolbar .ntk-zentaku-news-link-btn:hover,
.cross-branch-post-list-filters-toolbar .ntk-zentaku-news-link-btn:focus-visible {
	background-color: #fff;
	color: #c41e3a;
	border-color: #c41e3a;
	text-decoration: none;
}

/*
 * 10e. 横断一覧リスト
 * ============================================================================= */
.cross-branch-post-list {
	background-color: #fff;
}

/* 横断イベント一覧の ul のみ（CTA・ホバー・リンク変数） */
.cross-branch-post-list.cross-branch-post-list--event {
	--ntl-accent: #ffc81a;
	--ntl-accent-dark: #e0a800;
	/* Bootstrap 5 リンク（一覧内 a のホバー色と整合） */
	--bs-link-color-rgb: 107, 79, 0;
	--bs-link-hover-color-rgb: 184, 134, 11;
}

.cross-branch-post-list.cross-branch-post-list--event a:hover {
	--bs-link-color-rgb: var(--bs-link-hover-color-rgb);
}

.cross-branch-post-list__item {
	padding: 12px 14px;
	border-bottom: 1px solid rgba(0, 0, 0, 0.08);
	transition: background-color 0.15s ease;
}

.cross-branch-post-list__item:last-child {
	border-bottom: none;
}

.cross-branch-post-list__item:hover {
	background-color: rgba(50, 167, 131, 0.04);
}

.cross-branch-post-list.cross-branch-post-list--event .cross-branch-post-list__item:hover {
	background-color: rgba(255, 200, 26, 0.12);
}

/* イベント横断一覧: 投稿日を非表示（再表示する場合は本ブロックを削除またはコメントアウト） */
.cross-branch-post-list.cross-branch-post-list--event .cross-branch-post-list__meta time {
	display: none;
}

/* イベントシングル（single-hq-event / single-branch の event 記事）: 投稿日を非表示 */
body.ntk-single-event-section .entry-header .text-muted.mb-2 > span:first-child {
	display: none;
}

.cross-branch-post-list__meta {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: 8px;
	margin-bottom: 10px;
}

.cross-branch-post-list__meta .cross-branch-post-list__meta-chip {
	cursor: default;
	vertical-align: middle;
}

.cross-branch-post-list__meta .nagano-branch-post-list-filter-btn,
.cross-branch-post-list__meta .nagano-branch-post-list-news-filter-btn {
	font-size: 0.8125rem;
	padding: 3px 9px;
}

/* メタ内カテゴリチップ（news-filter-btn）: お知らせ横断は緑、イベント横断はフィルターと同じ黄〜オレンジ */
.cross-branch-post-list:not(.cross-branch-post-list--event) .cross-branch-post-list__meta .nagano-branch-post-list-news-filter-btn.cross-branch-post-list__meta-chip {
	border-color: #32a783;
	color: #32a783;
	background-color: #fff;
}

.cross-branch-post-list.cross-branch-post-list--event .cross-branch-post-list__meta .nagano-branch-post-list-news-filter-btn.cross-branch-post-list__meta-chip {
	border: 1px solid var(--ntl-accent);
	color: #6b4f00;
	background-color: #fff;
}

/* single-branch のカテゴリチップはイベント系アクセント配色に統一 */
body.single .entry-header .nagano-branch-post-list-news-filter-btn.cross-branch-post-list__meta-chip {
	border: 1px solid var(--ntl-accent, #ffc81a);
	color: #6b4f00;
	background-color: #fff;
}

.cross-branch-post-list__link.stretched-link {
	position: static;
}

.cross-branch-post-list__link.stretched-link::after {
	position: absolute;
	top: 0;
	right: 0;
	bottom: 0;
	left: 0;
	z-index: 1;
	content: "";
}

.cross-branch-post-list__link-text {
	position: relative;
	z-index: 2;
	font-weight: 600;
	line-height: 1.45;
}

/* イベント横断一覧: lazyblock-branch-event-list と同様の本文＋右下 CTA */
.cross-branch-post-list__body {
	position: relative;
	z-index: 2;
	display: flex;
	align-items: flex-end;
	justify-content: space-between;
	gap: 12px;
}

.cross-branch-post-list__main {
	flex: 1 1 auto;
	min-width: 0;
}

.cross-branch-post-list.cross-branch-post-list--event .cross-branch-post-list__cta.nagano-branch-event-list-cta {
	flex: 0 0 auto;
	font-size: 0.875rem;
	font-weight: 700;
	white-space: nowrap;
	line-height: 1.2;
	color: var(--ntl-accent-dark);
	border-bottom: dotted 2px var(--ntl-accent);
}

.cross-branch-post-list__event-detail {
	position: relative;
	z-index: 2;
	margin-top: 8px;
	font-size: 16px;
	line-height: 1.45;
	color: #4f5b66;
	display: flex;
	flex-wrap: wrap;
	gap: 18px;
}

.cross-branch-post-list__event-detail-row {
	display: flex;
	flex-wrap: wrap;
	align-items: baseline;
	gap: 6px;
	max-width: 100%;
}

.cross-branch-post-list__event-detail-label {
	font-weight: 700;
	margin-right: 0.35em;
}

.cross-branch-post-list__event-detail-text {
	word-break: break-word;
}

.cross-branch-post-list__link:hover .cross-branch-post-list__link-text,
.cross-branch-post-list__link:focus-visible .cross-branch-post-list__link-text {
	color: #32a783 !important;
	text-decoration: underline !important;
}

.cross-branch-post-list.cross-branch-post-list--event .cross-branch-post-list__link:hover .cross-branch-post-list__link-text,
.cross-branch-post-list.cross-branch-post-list--event .cross-branch-post-list__link:focus-visible .cross-branch-post-list__link-text {
	color: #b8860b !important;
}

.cross-branch-post-list__item .cross-branch-post-list__link:focus-visible {
	outline: 0;
	box-shadow: 0 0 0 3px rgba(50, 167, 131, 0.35);
	border-radius: 2px;
}

.cross-branch-post-list.cross-branch-post-list--event .cross-branch-post-list__item .cross-branch-post-list__link:focus-visible {
	box-shadow: 0 0 0 3px rgba(255, 200, 26, 0.42);
}

@media (max-width: 767px) {
	.cross-branch-post-list__body {
		flex-direction: column;
		align-items: flex-start;
		gap: 0;
	}

	.cross-branch-post-list.cross-branch-post-list--event .cross-branch-post-list__cta.nagano-branch-event-list-cta {
		align-self: flex-end;
		font-size: 14px;
		margin-top: 8px;
	}
}

/*
 * 10f. ページネーション
 * ============================================================================= */
.cross-branch-post-list-pagination .page-numbers {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	justify-content: center;
	gap: 8px;
	list-style: none;
	padding: 0;
	margin: 0;
}

.cross-branch-post-list-pagination .page-numbers li {
	margin: 0;
	list-style: none;
}

.cross-branch-post-list-pagination a.page-numbers,
.cross-branch-post-list-pagination span.page-numbers {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	min-width: 2.5rem;
	min-height: 2.5rem;
	padding: 0 12px;
	border-radius: 999px;
	border: 1px solid #32a783;
	background-color: #fff;
	color: #32a783;
	font-size: 0.875rem;
	font-weight: 700;
	text-decoration: none;
	line-height: 1.2;
	transition: background-color 0.15s ease, color 0.15s ease, box-shadow 0.15s ease, border-color 0.15s ease;
}

.cross-branch-post-list-pagination a.page-numbers:hover {
	background-color: rgba(50, 167, 131, 0.08);
	color: #268f6f;
	border-color: #268f6f;
}

.cross-branch-post-list-pagination a.page-numbers:focus-visible {
	outline: 0;
	box-shadow: 0 0 0 3px rgba(50, 167, 131, 0.35);
}

.cross-branch-post-list-pagination span.page-numbers.current {
	background-color: #32a783;
	border-color: #32a783;
	color: #fff;
	box-shadow: 0 0 0 2px rgba(50, 167, 131, 0.2);
	cursor: default;
}

.cross-branch-post-list-pagination span.page-numbers.dots {
	min-width: auto;
	padding: 0 6px;
	border: none;
	background: transparent;
	color: #6c757d;
	font-weight: 600;
	cursor: default;
}

.cross-branch-post-list-pagination a.prev.page-numbers,
.cross-branch-post-list-pagination a.next.page-numbers {
	min-width: 2.75rem;
	padding: 0 10px;
}

/* =============================================================================
*
* 11. 記事詳細・部品（支部シングル・イベント表・申込ボタン）
*
* ============================================================================= */

.entry-title {
	margin-bottom: 1.8rem;
}

.ntk-single-branch-section-label {
	font-size: 2.2rem;
	font-weight: 500;
}

/*
 * 11a. アーカイブへ戻る
 * ============================================================================= */
a.ntk-back-to-archive,
a.ntk-back-to-archive:visited {
	display: inline-flex;
	align-items: center;
	gap: 0.65rem;
	padding: 0.45rem 1.6rem 0.45rem 0.5rem;
	margin: 0 auto;
	background-color: #fff;
	border: 1px solid #3d4349;
	border-radius: 9999px;
	color: #3d4349;
	font-size: 1rem;
	font-weight: 700;
	line-height: 1.35;
	text-decoration: none;
	transition: background-color 0.15s ease, border-color 0.15s ease, color 0.15s ease;
}

a.ntk-back-to-archive:hover,
a.ntk-back-to-archive:focus-visible {
	background-color: #f3f4f5;
	color: #2f3439;
	border-color: #2f3439;
	text-decoration: none;
}

a.ntk-back-to-archive:focus-visible {
	outline: 2px solid #3d4349;
	outline-offset: 3px;
}

.ntk-back-to-archive__icon {
	display: flex;
	flex-shrink: 0;
	align-items: center;
	justify-content: center;
}

.ntk-back-to-archive__icon svg {
	display: block;
	vertical-align: middle;
}

.ntk-back-to-archive__label {
	position: relative;
	top: 0.02em;
}

/*
 * 11b. イベント詳細
 * ============================================================================= */
.event-details-section {
	box-sizing: border-box;
}

.event-details-section__paper {
    box-sizing: border-box;
    padding: 1.15rem 1rem 1.25rem 0.95rem;
    border: 1px solid #f1d77a;
    border-radius: 8px;
    background-color: #fffdf4;
}

.event-details-section__table {
	width: 100%;
	max-width: 100%;
	table-layout: fixed;
	border-collapse: collapse;
	border-spacing: 0;
	margin: 0;
	font-size: clamp(0.8125rem, 2.4vw, 1rem);
	line-height: 1.65;
	color: #1a1a1a;
}

.event-details-section__table th,
.event-details-section__table td {
	padding: 0.55rem 0.35rem 0.6rem 0.45rem;
	vertical-align: top;
	text-align: left;
	word-break: break-word;
	overflow-wrap: anywhere;
}

.event-details-section__table th {
	width: 10%;
	max-width: 10.5em;
	font-weight: 700;
	border-bottom: 1px solid var(--ntl-accent, #ffc81a);
	color: #6b4f00;
}

.event-details-section__table td {
	width: 68%;
	font-weight: 400;
	border-bottom: 1px solid rgba(255, 200, 26, 0.45);
	min-width: 0;
}

.event-details-section__table td a {
	color: #8f6600;
	text-decoration: underline;
}

.event-details-section__table td a:hover,
.event-details-section__table td a:focus-visible {
	color: #6b4f00;
	text-decoration: underline;
}

.event-details-section__table td small {
	display: block;
	margin-top: 0.2rem;
	font-size: 0.88em;
	color: #8f6600;
	line-height: 1.5;
}

/*
 * 11c. 支部申込フォーム */
/* ============================================================================= */
.ntk-apply-form-wrapper .ntk-apply-form-toggle {
	display: block;
	width: 100%;
	box-sizing: border-box;
	margin: 0;
	padding: 1.125rem 1.5rem;
	font-size: 1.125rem;
	font-weight: 700;
	line-height: 1.4;
	color: #fff;
	background-color: #f00;
	border: none;
	border-radius: 0;
	text-align: center;
	cursor: pointer;
	transition: background-color 0.15s ease, color 0.15s ease;
}

.ntk-apply-form-wrapper .ntk-apply-form-toggle:hover,
.ntk-apply-form-wrapper .ntk-apply-form-toggle:focus-visible {
	color: #fff;
	background-color: #e60000;
	text-decoration: none;
	outline: 3px solid rgba(0, 0, 0, 0.2);
	outline-offset: 2px;
}

.ntk-apply-form-wrapper .ntk-apply-form-toggle-arrow {
	font-weight: 700;
}

/* =============================================================================
 *
 * 12. 取引士に関するお知らせ（torihiki_news ループ / 旧固定 HTML）
 *
 * ============================================================================= */

.ntk-takkenshi-notice {
	width: 100%;
	max-width: 100%;
	margin: 0 auto 24px;
}

.ntk-takkenshi-notice-box {
	border: 1px solid rgba(0, 0, 0, 0.25);
	background-color: #fff;
	padding: 18px 18px 14px;
}

.ntk-takkenshi-notice-title {
	margin: 0 0 12px;
	font-size: 1.3rem;
	font-weight: 700;
}

.ntk-takkenshi-notice-items {
	border: 1px solid rgba(0, 0, 0, 0.25);
	padding: 14px 14px 10px;
}

.ntk-takkenshi-notice-item {
	padding: 6px 6px 12px;
}

.ntk-takkenshi-notice-item + .ntk-takkenshi-notice-item {
	margin-top: 18px;
	border-top: 1px solid rgba(0, 0, 0, 0.08);
	padding-top: 16px;
}

.ntk-takkenshi-notice-item-head {
	display: flex;
	flex-wrap: wrap;
	align-items: baseline;
	gap: 12px;
	margin-bottom: 8px;
}

.ntk-takkenshi-notice-label {
	display: inline-block;
	border: 1px solid rgba(0, 0, 0, 0.45);
	padding: 2px 14px;
	border-radius: 0;
	font-size: 0.95rem;
	font-weight: 700;
	background: #fff;
}

.ntk-takkenshi-notice-date {
	font-weight: 700;
	white-space: nowrap;
}

.ntk-takkenshi-notice-item-title {
	font-weight: 700;
}

.ntk-takkenshi-notice-text {
	margin: 0 0 8px;
	line-height: 1.9;
}

.ntk-takkenshi-notice-text--torihiki-body > :first-child {
	margin-top: 0;
}

.ntk-takkenshi-notice-text--torihiki-body > :last-child {
	margin-bottom: 0;
}

.ntk-takkenshi-notice-link {
	color: #0d6efd;
	text-decoration: underline;
}

.ntk-takkenshi-notice-link[aria-disabled='true'] {
	pointer-events: auto;
	cursor: pointer;
	opacity: 0.95;
}


/* =============================================================================
 *
 * 13. 特定固定ページ（入会促進）・全幅・コンタクトフォーム
 *
 * ============================================================================= */
/*
 * 13a.入会促進ページ
 * ============================================================================= */
.page-id-660 .site-content,
.page-id-736 .site-content {
	margin-top: -6.5vw;
}

.page-id-738 .site-content {
	margin-top: 120px;
}

.alignfull {
	width: 100vw;
	max-width: 100vw;
	margin-left: calc(50% - 50vw) !important;
	margin-right: calc(50% - 50vw) !important;
}

.page-id-660 .ntk-before-content,
.page-id-736 .ntk-before-content,
.page-id-738 .ntk-before-content {
	position: absolute;
	z-index: 9999;
	top: 140px;
	left: 50%;
	transform: translateX(-50%);
}

.page-id-660 .navbar-nav,
.page-id-736 .navbar-nav,
.page-id-738 .navbar-nav {
	display: none;
}

.single-slide nav[aria-label="breadcrumb"] {
	display: none !important;
}

.page-id-660 footer.ntk-footer,
.page-id-736 footer.ntk-footer,
.page-id-738 footer.ntk-footer {
	width: 100vw;
	max-width: 100vw;
	margin-left: calc(50% - 50vw) !important;
	margin-right: calc(50% - 50vw) !important;
}

@media screen and (max-width:1120px) {
	.page-id-738 .site-content {
		margin-top:0;
	}
	.page-id-660 .ntk-before-content,
	.page-id-736 .ntk-before-content,
	.page-id-738 .ntk-before-content {
		position: relative;
		top: 0px;
		margin: 10px auto;
		width: 95%;
	}
	.page-id-738 .ntk-before-content {
		top: -60px;
	}
	.ntk-outline-buttons .ntk-outline-button {
		padding: 8px;
		font-size: 15px;
	}
}


/*
 * 13c. 法定講習ページ（/takkenshi/course/）
 * ============================================================================= */

.page-id-908 .smb-tabs[data-orientation=horizontal]>.smb-tabs__tabs .smb-tabs__tab[aria-selected=true] {
	background-color: #31a783;
	color: #ffffff;
	padding: 20px;
}

.page-id-908 .smb-tabs[data-orientation=horizontal]>.smb-tabs__tabs .smb-tabs__tab[aria-selected=false] {
	border: 1px solid #9a9b9c;
}


/*
 * 13d. 固定ページ 1613：全宅連 RSS（.zentaku-rss）
 * lazyblock-branch-news-list-branch の一覧表記に合わせる
 * ============================================================================= */
.page-id-1613 .zentaku-rss .wp-block-rss {
	list-style: none;
	margin: 0;
	padding: 0 12px;
	background-color: #c4efae;
	border-radius: 8px;
}

.page-id-1613 .zentaku-rss .wp-block-rss__item {
	display: flex;
	flex-direction: column;
	padding: 12px 16px;
	margin: 0;
	border-bottom: 1px solid rgba(0, 0, 0, 0.08);
	position: relative;
	transition: background-color 0.2s ease;
}

.page-id-1613 .zentaku-rss .wp-block-rss__item:last-child {
	border-bottom: none;
}

.page-id-1613 .zentaku-rss .wp-block-rss__item:hover {
	background-color: rgba(255, 255, 255, 0.6);
	border-radius: 8px;
}

.page-id-1613 .zentaku-rss .wp-block-rss__item:hover::before {
	content: none;
}

.page-id-1613 .zentaku-rss .wp-block-rss__item-publish-date {
	order: -1;
	margin: 0 0 6px;
	font-size: 0.875rem;
	line-height: 1.4;
	color: inherit;
}

.page-id-1613 .zentaku-rss .wp-block-rss__item-title {
	margin: 0;
}

.page-id-1613 .zentaku-rss .wp-block-rss__item-title a {
	display: block;
	width: 100%;
	margin: 0;
	padding: 0;
	color: inherit;
	text-decoration: none;
	font-weight: 500;
	font-size: 1.1rem;
	line-height: 1.5;
	transition: color 0.2s ease;
}

.page-id-1613 .zentaku-rss .wp-block-rss__item-title a:hover,
.page-id-1613 .zentaku-rss .wp-block-rss__item-title a:focus-visible {
	color: #32a783;
	text-decoration: none;
}


/*
 * 13b. コンタクトフォーム
 * ============================================================================= */
input[type=button],input[type=submit] {
    -webkit-box-sizing: border-box;
    -webkit-appearance: button;
    -moz-appearance: button;
    appearance: button
}

input[type=button]::-webkit-search-decoration,input[type=submit]::-webkit-search-decoration {
    display: none
}

input[type=button]::focus,input[type=submit]::focus {
    outline-offset: -2px
}

input:where(:not([type=checkbox],[type=radio])),select {
    -webkit-appearance: none;
    -moz-appearance: none;
    appearance: none
}

input[type=date],input[type=email],input[type=number],input[type=password],input[type=tel],input[type=text],input[type=url],select,textarea {
    font-size: 1rem;
    border: 1px solid rgba(0, 0, 0, 0.2);
    border-radius: 5px;
    padding: .8em 1em;
    margin: 0 0 .5rem;
    width: 100%;
    color: #333;
    background-color: #fff;
}

input[type=file] {
    margin: .5rem 0
}

input[type=submit] {
    font-size: 1rem;
    border: 1px solid #1a7412;
    background-color: #35a12c;
    color: #fff;
    padding: .5em 2em;
    border-radius: 5px;
}

input[type=submit]:hover {
    color: #fff;
    cursor: pointer;
    background-color: #1a7412;
}

.ntk-breadcrumb-nav .breadcrumb-item{
	font-size:.95rem;
}

/* jQuery UI Datepicker（ACF 等）：幅の固定を避ける */
#ui-datepicker-div {
	width: auto;
}
#ui-datepicker-div .ui-datepicker-title {
	display: flex;
}


/*
 * 相談受付ダイヤルモーダル（body.nt-consult-dial-modal-open）:
 * .main-content は z-index:1、.fixed-sidebar .offcanvas-body は z-index:10 のため、
 * メイン内のモーダルはいくら z-index を上げてもサイドバーより背面になる。
 * 表示中のみサイドバー側を下げてオーバーレイを手前にする。
 */
 @media (min-width: 992px) {
	body.nt-consult-dial-modal-open .fixed-sidebar .offcanvas-body {
		z-index: 0 !important;
	}
}

body.nt-consult-dial-modal-open .fixed-sidebar {
	z-index: 0 !important;
}

body.nt-consult-dial-modal-open .fixed-sidebar .ntk-sidebar-toggle.is-open {
	z-index: 0 !important;
}


/*
 * 会員検索
 * 
 */
.nm-search-branch-wrap {
    display: flex;
    justify-content: center;
    align-items: center;
    gap: 30px;
}

.nagataku-members-buttons {
	display: flex;
    align-items: center;
    justify-content: space-between;
    flex-wrap: wrap;
}

@media screen and (max-width:1120px) {
	.nm-search-branch-wrap {
		flex-direction: column;
	}
	.nm-search-branch-wrap img {
		max-width: 85%;
	}
}

