/*!
* Custom stylesheet for additional overrides
* ここに追記した CSS が、main.css や親テーマの後から読み込まれます。
*/

/* サイト全体のフォント: Zen Maru Gothic */
html,
body,
body * {
	font-family: "Zen Maru Gothic", sans-serif;
	line-height: 1.76em;
}

/* 文字サイズ変更（html に .font-size-small / .font-size-large を付与） */
html.font-size-small {
	font-size: 14px;
}
html.font-size-large {
	font-size: 18px;
}

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

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

/* ------------------------------
*
*ヘッダー
*
* ------------------------------ */

.site-header {
	background-color: transparent !important;
  background-image:
	url(https://magical-banach.153-123-7-151.plesk.page/wp/wp-content/uploads/2026/03/head_common.png),
	linear-gradient(
		to bottom,
		#ffffff 0%,
		#ffffff 70%,
		transparent 30%,
		transparent 100%
	);
  background-repeat: no-repeat, no-repeat;
  background-position: bottom, top;        /* 画像は bottom のまま / グラデは上から */
  background-size: cover, 100% 100%;       /* 画像は cover / グラデは要素全体 */
  height: 170px;
  position: relative;
  z-index: 9999;
}

.navbar-brand {
	width: 388px;
	max-width: 100%;
}

/* #nav-main 内のコンテナを縦並びに */
#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;
}

/* ロゴ横: 左右 between・縦方向中央 */
.header-brand-row {
	flex-wrap: wrap;
	justify-content: space-between;
	align-items: center;
	width: 100%;
}
.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;
}

/* ------------------------------
*
*フッター
*
* ------------------------------ */

.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-banner-slider-wrap {
	background-color: #fff;
	padding: 12px 0 6px;
}

.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(https://magical-banach.153-123-7-151.plesk.page/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;
}

@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;
	}

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

	.bootscore-footer-info .ntk-footer-office {
		width: 100%;
	}

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

/* ------------------------------
*
*ナビゲーションメニュー
*
* ------------------------------ */

.navbar-nav {
	gap: 10px;
}
.navbar-nav .nav-item .nav-link {
	padding: 10px 0;
	width: 287px;
	max-width: 100%;
	text-align: center;
	font-size: 18px;
	font-weight: 700;
	color: #fff;
	text-decoration: none;
	text-transform: uppercase;
	background-color: #32A783;
	border: 1px solid #fff;
	border-radius: 30px;
}

.navbar-nav .nav-item.nagano .nav-link {
	background-color: #E72D44;
}

.navbar-nav .nav-item.toshin .nav-link {
	background-color: #F2BD00;
}

.navbar-nav .nav-item.chushin .nav-link {
	background-color: #047D04;
}

.navbar-nav .nav-item.nanshinsuwa .nav-link {
	background-color: #7933B7;
}

/* 一般会員お知らせタブ：本部はチャコールグレー塗り・白文字 */
.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;
}

/* 本部・アクティブもチャコール塗り・白文字（Bootstrap の pill 上書き） */
.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: #E72D44;
	border: 1px solid #E72D44;
}

.member-announcement-tabs .member-ann-tab--nagano-branch .nav-link:hover:not(.active) {
	background-color: rgba(231, 45, 68, 0.08) !important;
	color: #E72D44;
	border-color: #E72D44;
}

.member-announcement-tabs .member-ann-tab--nagano-branch .nav-link.active {
	background-color: #E72D44 !important;
	color: #fff !important;
	border-color: #E72D44;
}

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

.member-announcement-tabs .member-ann-tab--toshin-branch .nav-link:hover:not(.active) {
	background-color: rgba(242, 189, 0, 0.12) !important;
	color: #c49a00;
	border-color: #F2BD00;
}

.member-announcement-tabs .member-ann-tab--toshin-branch .nav-link.active {
	background-color: #F2BD00 !important;
	color: #fff !important;
	border-color: #F2BD00;
}

.member-announcement-tabs .member-ann-tab--chushin-branch .nav-link {
	background-color: #fff !important;
	color: #047D04;
	border: 1px solid #047D04;
}

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

.member-announcement-tabs .member-ann-tab--chushin-branch .nav-link.active {
	background-color: #047D04 !important;
	color: #fff !important;
	border-color: #047D04;
}

.member-announcement-tabs .member-ann-tab--nanshinsuwa-branch .nav-link {
	background-color: #fff !important;
	color: #7933B7;
	border: 1px solid #7933B7;
}

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

.member-announcement-tabs .member-ann-tab--nanshinsuwa-branch .nav-link.active {
	background-color: #7933B7 !important;
	color: #fff !important;
	border-color: #7933B7;
}

/* ------------------------------
*
* サイドバー
*
* ------------------------------ */
.fixed-sidebar .offcanvas-body {
	padding: 42px 24px;
	/* 内側スクロール時の親への連鎖・端のチラつき軽減（レイアウトは変えない） */
	overflow-x: hidden;
	overscroll-behavior: contain;
}

@media (min-width: 992px) {
	/* 初期状態: ヘッダー下に自然配置（スクロール120pxまではここ） */
	.fixed-sidebar .offcanvas {
		position: relative;
	}

	.fixed-sidebar .offcanvas-body {
		position: absolute;
		top: 170px;
		left: 0;
		max-height: calc(100vh - 194px);
		overflow-y: auto;
		z-index: 10;
	}

	/* 120pxスクロール後: 画面上部へ追従 */
	body.is-sidebar-fixed .fixed-sidebar .offcanvas-body {
		position: fixed;
		top: 24px;
		left: 0;
		max-height: calc(100vh - 48px);
	}

	/* fixed-sidebar があるページの左レーンに背景を敷く */
	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::before の左帯が上下にはみ出して見えるのを抑える。
	* サイドバー内スクロール時（.ntk-scroll-context--sidebar）は html に効かせず、.offcanvas-body の overscroll-behavior に任せる。
	*/
	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;
	}
}

/* フッターを固定サイドバーより前面に表示 */
#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;
}
.menu-sidebar-menu-container {
	background-color: #fff;
	color: #047D04;
	box-shadow: 0px 4px 20px rgba(0 0 0 / 0.25);
	border-radius: 6px;
	padding: 24px;
}

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

.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;
}

/* サイドバー: 子メニュー（.sub-menu）を親の右側に、ホバー／フォーカス時のみ表示（PC） */
.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) {
	/* 横方向は offcanvas 内でクリップ（横スクロール防止）。位置は custom-child.js が getBoundingClientRect で付与 */
	.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(-4px);
		transition: opacity 0.2s ease, visibility 0.2s ease, transform 0.2s 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);
	}
}

.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: 1rem;
}

.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.5rem;
	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;
}

/* ------------------------------
*
* トップページ
*
* ------------------------------ */

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

@media (min-width: 992px) {
	body:has(.fixed-sidebar).home #content.site-content.container,
	body:has(.fixed-sidebar).home .site-content.container,
	body:has(.fixed-sidebar).home #content.container.site-content,
	body:has(.fixed-sidebar).home .container.site-content {
		max-width: none !important;
	}
	.home .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;
	}
	.is-layout-constrained > :where(:not(.alignleft):not(.alignright):not(.alignfull)) {
		margin-left: 0!important;
		margin-right: 0!important;
	}
}


/* メインメニュータブ */
.smb-tabs[data-orientation=horizontal][data-tabs-justification=center]>.smb-tabs__tabs {
	gap:52px;
	justify-content: space-evenly;
}

.main-tabs>.smb-tabs__tabs .smb-tabs__tab{
	border-radius: 6px!important;
	width: 284px;
	font-size: 1.4rem;
	padding: 14px !important;
}

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

.main-tabs #smb-tab-for-member .smb-tabs__tab[aria-selected="true"]{
	background-color: #398E33!important;
	border: 2px solid #23721D;
	color: #ffffff;
}

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

.main-tabs #smb-tab-for-consider .smb-tabs__tab[aria-selected="true"]{
	background-color: #ED1111!important;
	border: 2px solid #830B0B;
	color: #ffffff;
}

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

.main-tabs #smb-tab-for-common .smb-tabs__tab[aria-selected="true"]{
	background-color: #197FC0!important;
	border: 2px solid #0C598A;
	color: #ffffff;
}

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


.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: #ffffff;
}
.main-tabs #member .wp-block-snow-monkey-blocks-box.smb-box.smb-box--has-link:hover .smb-box__body p {
	color: #ffffff!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: #ffffff;
}
.main-tabs #consider .wp-block-snow-monkey-blocks-box.smb-box.smb-box--has-link:hover .smb-box__body p {
	color: #ffffff!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: #ffffff;
}
.main-tabs #common .wp-block-snow-monkey-blocks-box.smb-box.smb-box--has-link:hover .smb-box__body p {
	color: #ffffff!important;
}



@media screen and ( max-width:1020px ) {
	/* SP: main-tabs のタブだけ縦並びにする（他のタブには影響させない） */
	.main-tabs[data-orientation=horizontal]>.smb-tabs__tabs {
		flex-direction:column;
		overflow: hidden;
		transition: max-height 240ms ease;
	}
	.smb-tabs[data-orientation=horizontal][data-tabs-justification=center]>.smb-tabs__tabs {
		gap: 0;
		align-items: center;
	}

	/* SP: タブを「選択中のみ表示」→タップで候補を展開する */
	.main-tabs > .smb-tabs__tabs .smb-tabs__tab-wrapper {
		display: none !important;
	}
	.main-tabs > .smb-tabs__tabs .smb-tabs__tab-wrapper.is-selected {
		display: block !important;
	}
	.main-tabs > .smb-tabs__tabs.is-open .smb-tabs__tab-wrapper,
	.main-tabs > .smb-tabs__tabs.is-closing .smb-tabs__tab-wrapper {
		display: block !important;
	}
	.main-tabs > .smb-tabs__tabs.is-open .smb-tabs__tab-wrapper.is-selected {
		order: -1;
	}
}


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

.zentaku-rss .wp-block-rss__item-title a{
	color: #000;
	text-decoration: none;
}

.zentaku-rss .wp-block-rss__item-title a:hover{
	border-bottom: dotted 1px #000;
}

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

/* =========================================================
* 協会概要 内部リンクボタン（ntk-outline-buttons）
* =======================================================*/

.ntk-before-content {
	text-align: center;
	margin: 32px auto;
}
.ntk-outline-buttons {
	justify-content: center;
}

.ntk-outline-buttons .ntk-outline-button {
	display: inline-block;
	border-radius: 9999px;
	padding: 0.75rem 3rem;
	font-weight: 700;
	font-size: 1.1rem;
	border: 2px solid #ffffff;
	color: #ffffff;
	background-color: #008000;
	box-shadow: 0 4px 10px rgba(0, 0, 0, 0.25);
}

.ntk-outline-buttons .ntk-outline-button:hover,
.ntk-outline-buttons .ntk-outline-button:focus {
	background-color: #00a000;
	color: #ffffff;
	text-decoration: none;
}

.ntk-outline-buttons .ntk-outline-button.is-active {
	background-color: #008000;
}

/* -------------------
* 
* 見出しテキスト
* 
* ------------------- */ 

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 {
	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;
}

/*
 * Gutenberg 見出し: 上記の装飾のみ打ち消す。追加 CSS クラス: ntk-h-plain
 * font-size / margin は素の h2,h3,h4 に近い見た目へ revert。
 */
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;
}


/* -----------------
* 
* Block スタイル
* 
* ----------------- */
ul.wp-block-list li{
	margin-bottom:8px;
}

/* 横断一覧・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-filter-btn {
	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;
}
.nagano-branch-post-list-filter-btn.is-active {
	background-color: #32A783;
	color: #fff;
	box-shadow: 0 0 0 2px rgba(50, 167, 131, 0.2);
}
.nagano-branch-post-list-filter-btn[data-branch-filter="all"] {
	border-color: #E72D44;
	color: #E72D44;
}
.nagano-branch-post-list-filter-btn[data-branch-filter="all"].is-active {
	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"] {
	border-color: #E72D44;
	color: #E72D44;
}
.nagano-branch-post-list-filter-btn[data-branch-filter="nagano-branch"].is-active {
	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="toshin-branch"] {
	border-color: #F2BD00;
	color: #C19000;
}
.nagano-branch-post-list-filter-btn[data-branch-filter="toshin-branch"].is-active {
	background-color: #F2BD00;
	border-color: #F2BD00;
	color: #fff;
	box-shadow: 0 0 0 2px rgba(242, 189, 0, 0.25);
}
.nagano-branch-post-list-filter-btn[data-branch-filter="chushin-branch"] {
	border-color: #047D04;
	color: #047D04;
}
.nagano-branch-post-list-filter-btn[data-branch-filter="chushin-branch"].is-active {
	background-color: #047D04;
	border-color: #047D04;
	color: #fff;
	box-shadow: 0 0 0 2px rgba(4, 125, 4, 0.2);
}
.nagano-branch-post-list-filter-btn[data-branch-filter="nanshinsuwa-branch"] {
	border-color: #7933B7;
	color: #7933B7;
}
.nagano-branch-post-list-filter-btn[data-branch-filter="nanshinsuwa-branch"].is-active {
	background-color: #7933B7;
	border-color: #7933B7;
	color: #fff;
	box-shadow: 0 0 0 2px rgba(121, 51, 183, 0.2);
}

/* 横断一覧: お知らせカテゴリー（LazyBlock と同系の緑トーン） */
.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 {
	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;
}
.nagano-branch-post-list-news-filter-btn.is-active {
	background-color: #32A783;
	color: #fff;
	box-shadow: 0 0 0 2px rgba(79, 124, 199, 0.2);
}

/* 横断お知らせ一覧: 全宅連へのリンク（角丸なし・白地・赤文字） */
.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;
}

/* 横断一覧: 記事リスト（メタの支部・タクソのみピル／行全体クリックは stretched-link） */
.cross-branch-post-list {
	background-color: #fff;
}
.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__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;
}
.cross-branch-post-list__link.stretched-link {
	position: static;
}
/* Bootstrap .stretched-link 相当（main.css に無い場合のフォールバック） */
.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;
}
.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__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;
}

/* 横断一覧: ページネーション（WP paginate_links の .page-numbers をテーマに合わせる） */
.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;
}

/* --------------------------
* 
* 記事詳細
* 
* -------------------------- */
.ntk-single-branch-section-label {
	font-size: 2.2rem;
	font-weight: 500;
}

/* 支部シングル: アーカイブへ戻る（ピル型・左に丸＋矢印アイコン） */
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;
}

/* 支部シングル: イベント詳細（ノート風・ラベル列にティール区切り／スマホも2列のまま幅縮小） */
.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 #e8d8c3;
	border-radius: 8px;
	background-color: #fffdf6;
}

.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 #32a783;
}

.event-details-section__table td {
	width: 68%;
	font-weight: 400;
	border-bottom: 1px solid rgba(232, 216, 195, 0.95);
	min-width: 0;
}

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

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

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

/* 支部記事: 研修会・講習会申込（折りたたみの強調ボタン） */
.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: #ff0000;
	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;
}

/* ------------------------------
*
* 取引士に関するお知らせ（固定HTML用）
*
* ------------------------------ */
.ntk-takkenshi-notice {
	max-width: 980px;
	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-link {
	color: #0d6efd;
	text-decoration: underline;
}

.ntk-takkenshi-notice-link[aria-disabled='true'] {
	pointer-events: auto; /* onclick="return false;" を信頼するので無効化しない */
	cursor: pointer;
	opacity: 0.95;
}

/* --------------------
*
* 入会促進ページ
*
* -------------------- */

.page-id-660 .site-content{

}

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