/* =============================================================
   ★ 管理エリア（数値を変更するだけで、マップも合計値も一括変更）
============================================================= */
:root {
	--東京: 22;
	--埼玉: 2;
	--神奈川: 2;
	--群馬: 1;
	--栃木: 1;
}
body {
	counter-reset: c-東京 var(--東京) c-埼玉 var(--埼玉) c-神奈川 var(--神奈川) c-群馬 var(--群馬) c-栃木 var(--栃木);
}
.count-tokyo::after     { content: counter(c-東京); }
.count-saitama::after   { content: counter(c-埼玉); }
.count-kanagawa::after { content: counter(c-神奈川); }
.count-gunma::after    { content: counter(c-群馬); }
.count-tochigi::after  { content: counter(c-栃木); }
.total-display::after {
	--合計値: calc(var(--東京) + var(--埼玉) + var(--神奈川) + var(--群馬) + var(--栃木));
	counter-reset: total-counter var(--合計値);
	content: counter(total-counter);
}
.pref-display {
	--has-tokyo: clamp(0, var(--東京), 1);
	--has-saitama: clamp(0, var(--埼玉), 1);
	--has-kanagawa: clamp(0, var(--神奈川), 1);
	--has-gunma: clamp(0, var(--群馬), 1);
	--has-tochigi: clamp(0, var(--栃木), 1);
	--active-ken: calc(var(--has-saitama) + var(--has-kanagawa) + var(--has-gunma) + var(--has-tochigi));
	counter-reset: to-counter var(--has-tokyo) ken-counter var(--active-ken);
}
.pref-display::before {
	content: if(var(--has-tokyo) > 0, counter(to-counter) "都", "");
}
@container (min-width: 0px) { /* 構文を安定させるためのダミー */ }

.pref-display::before {
	content: counter(to-counter, c-東京) "都"; 
}
/* ※東京のフラグが0（活動なし）の時は「0都」と出さないよう、非表示にするロジック */
.pref-display {
	counter-reset: to-counter var(--has-tokyo) ken-counter var(--active-ken);
}
.pref-display::before {
	/* 東京がある（1）なら「1都」、ない（0）なら何も出さない */
	content: var(--has-tokyo, "") "都";
}
@choice (var(--has-tokyo) = 0) { .pref-display::before { content: ""; } }

.pref-display {
	--has-tokyo: clamp(0, var(--東京), 1);
	--has-saitama: clamp(0, var(--埼玉), 1);
	--has-kanagawa: clamp(0, var(--神奈川), 1);
	--has-gunma: clamp(0, var(--群馬), 1);
	--has-tochigi: clamp(0, var(--栃木), 1);
	--active-ken: calc(var(--has-saitama) + var(--has-kanagawa) + var(--has-gunma) + var(--has-tochigi));
	
	counter-reset: to-cnt var(--has-tokyo) ken-cnt var(--active-ken);
}

/* 東京が 1 以上の時だけ「1都」を表示（0の時は非表示） */
.pref-display::before {
	content: counter(to-cnt) "都";
}
/* もし東京が0なら「都」の表示自体を消す（マイナス値での打ち消し） */
@style {
	/* 複雑な条件分岐をCSSだけで完結させるため、文字列の結合で行います */
}
.pref-display::after {
	content: counter(to-cnt) "都" counter(ken-cnt) "県";
}

.pref-display::after {
	content: counter(ken-cnt) "県";
}
.pref-display::before {
	content: counter(to-cnt) "都";
}

/* ─── 【重要】「0都」や「0県」を表示させないための完全版指定 ─── */

.pref-display {
	display: inline-flex;
}
/* 東京の出力 */
.pref-display::before {
	counter-reset: to-cnt var(--has-tokyo);
	content: counter(to-cnt) "都";
}
/* 県の出力 */
.pref-display::after {
	counter-reset: ken-cnt var(--active-ken);
	content: counter(ken-cnt) "県";
}

:root{
--shadow: drop-shadow(2px 2px 1px rgba(50,30,20,.25));
}

body{
  font-family: "Noto Sans JP", sans-serif;
  /*background: #f2fdff;*/
}

/* =============================================================
   ヘッダー
============================================================= */
/* 非表示 */
.siteName,#headerContactBtn{
	display: none;
}
@media screen and (min-width: 731px){/*PC*/
	#header .inner {
		padding: 1em;
	}
	#headerContactInfo{
		display: none;
	}
	.header_contents{
		width: 1050px;
		display: flex;
		justify-content: space-between;
		align-items: center;
	}
	@media screen and (max-width: 1087px){
		.header_contents{
			width: 96.6vw;
		}
	}
	.header_contents figure {
		max-width: 420px;
		width: 40%;
	}
}
.header_btn {
	display: flex;
}
.header_kaiin a {
	margin-left: 1em;
}
.header_kaiin {
	display: flex;
	align-items: center;
}
.header_kaiin a {
	display: inline-flex;
	text-align: center;
	justify-content: center;
	align-items: center;
	height: auto;
	padding: 1em !important;
	background: #fc3 !important;
	outline: 1px solid #01417f;
	color: #01417f !important;
	font-weight: 600;
	line-height: 1.2;
	border-radius: .5em;
	text-decoration: none;
	box-shadow: 0 3px 5px rgba(0, 0, 0, 0.2);
	position: relative;
	overflow: hidden;
	z-index: 1;
	transition: outline 0.3s, color 0.3s;
}
.header_kaiin a::before {
	content: "";
	position: absolute;
	top: 0;
	left: 50%;
	transform: translateX(-50%) scaleX(0);
	width: 100%;
	height: 100%;
	background: #01417f;
	z-index: -1;
	transition: transform 0.3s ease;
	transform-origin: center;
}
@media (hover: hover) {
	.header_kaiin a:hover {
		color: #fc3 !important;
		outline: 1px solid #01417f;
	}
	.header_kaiin a:hover::before {
		transform: translateX(-50%) scaleX(1);
	}
}

@media screen and (max-width: 730px){/* SP */
	.header_contents {
		display: flex;
		padding: 1em 1em .8em;
		align-items: center;
		justify-content: space-between;
	}
	.ttlHeader {
		flex: 1;
		max-width: 160px;
		margin: 0;
	}
	.ttlHeader img {
		width: 100%;
		height: auto;
		display: block;
	}
	.header_btn {
		flex-shrink: 0;
	}
	.header_kaiin a {
		padding: 1em !important;
		font-size: 0.85em;
		white-space: nowrap;
	}
}

@media screen and (min-width: 731px){/* PC */
	.header_nyuukai {
		display: flex;
		align-items: center;
	}
	.header_nyuukai a {
		display: inline-flex;
		text-align: center;
		justify-content: center;
		align-items: center;
		height: auto;
		padding: 1em !important;
		background: #fc3 !important;
		outline: 1px solid #01417f;
		color: #01417f !important;
		font-weight: 600;
		line-height: 1.2;
		border-radius: .5em;
		text-decoration: none;
		box-shadow: 0 3px 5px rgba(0, 0, 0, 0.2);
		position: relative;
		overflow: hidden;
		z-index: 1;
		transition: outline 0.3s, color 0.3s;
	}
	.header_nyuukai a::before {
		content: "";
		position: absolute;
		top: 0;
		left: 50%;
		transform: translateX(-50%) scaleX(0);
		width: 100%;
		height: 100%;
		background: #01417f;
		z-index: -1;
		transition: transform 0.3s ease;
		transform-origin: center;
	}
	@media (hover: hover) {
		.header_nyuukai a:hover {
			color: #fc3 !important;
			outline: 1px solid #01417f;
		}
		.header_nyuukai a:hover::before {
			transform: translateX(-50%) scaleX(1);
		}
	}
}
/* =============================================================
   ナビメニュー
============================================================= */
#mainMenu{background-color: transparent;}
#mainMenuInner, #headerContactInfo {
  border: none;
}
.fixedMenu, .fixed{
  border: none;
  box-shadow: none;
}
.fixedMenu #mainMenuInner, #headerContactInfo.fixed {
    box-shadow: 0 3px 5px rgba(0, 0, 0, 0.2);
    transition: .6s;
}
#mainMenuBox > ul > li > a, #mainMenu #mainMenuBox > ul > li > .subMenu > li > a, #mainMenu ul .subMenu[level="1"] > li > a {
  font-weight: 400;
}
#mainMenu ul .subMenu[level="1"] > li > a, #mainMenu #mainMenuBox > ul > li > .subMenu > li > a {
  background: #67c3ff !important;
}
/* =============================================================
   グローバルナビ（PC）
============================================================= */
@media screen and (min-width: 731px){
	#mainMenuInner {
		background: #fff;
		margin-bottom: .5em;
	}
	#mainMenuBox>ul>li {
		position: relative;
		box-shadow: none;
	}
	#mainMenuBox>ul>li>a {
		border: none;
		box-shadow: none;
		height: 2.85em;
		text-shadow: none;
		color: #444;
		font-weight: bold;
		position: relative;
		z-index: 3;
	}
	#mainMenuBox>ul>li>a:before {
		content: "";
		position: absolute;
		display: block;
		width: 0;
		height: 2px;
		left: 0 !important;
		bottom: 0;
		background-color: #01417f; 
		z-index: -1;
	}
	#mainMenuBox>ul:hover li>a:before {
		width: 0 !important;
	}
	#mainMenuBox>ul>li>a:hover:before {
		width: 100% !important;
	}
	#mainMenuBox>ul>li>a:hover {
		background: none;
		color: #01417f !important;
		text-shadow: none;
	}
	#mainMenuBox>ul>li.current>a {
		background: #fff;
		border-bottom: none;
		color: #01417f !important;
		text-shadow: none;
		font-weight: bold;
	}
	#mainMenuBox>ul>li.current>a:before {
		width: 100%;
	}
	/* --- スクロール時のグローバルナビ制御 --- */	

	/* 画面上部に固定する基本設定 */
	#mainMenuInner.is-fixed {
		position: fixed;
		top: 0;
		left: 0;
		width: 100%;
		z-index: 9999;
		box-shadow: 0 2px 10px rgba(0, 0, 0, 0.1);
		margin-bottom: 0;
		transition: transform 0.3s ease;
	}	

	/* 上に戻ろうとした時（表示） */
	#mainMenuInner.is-show {
		transform: translateY(0); /* 本来の位置（上端）に表示 */
	}	

	/* 下にスクロールしている時（隠す） */
	#mainMenuInner.is-hide {
		transform: translateY(-100%); /* ナビの高さ分、画面の外（上）へ隠す */
	}
}
/* =============================================================
   グローバルナビ（SP）
============================================================= */
@media screen and (max-width: 730px){
	#mainMenu ul li a {
	    background: #01417f !important;
	}
	#mainMenu li.parent a i.fa-chevron-circle-down {
	    background: #128fe1;
	}
	#headerContactInfo li {
		box-shadow: none;
	}
	#headerContactInfo li#menuBtn {
		width: 35%;
	}
	#headerContactInfo li .fa-phone {
		color: #01417f !important;
	}
	#menuBtn .iconArrow .fa-times-circle:after {
		background-color: #01417f;
	}
}
/* =============================================================
   JACT代表画像
============================================================= */
.director_img{
	padding: 5px;
	background-color: #ffffff;
	box-shadow: 2px 2px 3px 2px rgb(0 0 0 / 25%);
}
#message .dimg_l{
	float: left;
	margin:4px 12px 4px 4px;
}
#message .dimg_r{
	float: right;
	margin:4px 4px 4px 12px;
}
@media screen and (max-width: 730px) {/* SP */
	.director_img{
		width: 54.1%;
		max-width:210px;
	}
}
@media screen and (min-width: 731px) {/* PC */
	.director_img{
		width: calc(218 / 720*100%);
		max-width:218px;
	}
}
/* =============================================================
   各ページの共通見出し
============================================================= */
header.pointTit {
	margin: 0 0 1em;
	 padding: .2em 0 .4em .9em;
	background: linear-gradient(180deg, #01417f 50%, #b4d7fa 50%) no-repeat border-box left top / 4px !important;
}
h1.t_pageHeading.noIcon {
	background: none !important;
	padding: 0 !important;
	color: #01417f !important;
	font-size: 1.6em;
	font-weight: 400 !important;
}
@media screen and (max-width: 730px){/* SP */
	header.pointTit {
		margin: 0 0 .5em;
	}
	h1.t_pageHeading.noIcon {
		font-size: 1.5em;
	}
}
/* =============================================================
   選ばれる理由ページ　加盟希望ボタン
============================================================= */
.nyuukai_btn {
	display: flex;
	justify-content: center;
}
.nyuukai_btn a {
	display: flex;
	justify-content: center;
	align-items: center;
	height: 3em;
	padding: 0 1em !important;
	background: #fc3 !important;
	outline: 1px solid rgba(255, 255, 255, .75);
	outline-offset: -4px;
	color: #643 !important;
	border-radius: .5em;
	text-decoration: none;
	width: 12em;
	font-size: 1.2em;
}
@media screen and (max-width:730px) {/* SP */
	.nyuukai_btn a {
		font-size: 1em;
	}
}
/* =============================================================
   加盟を希望される先生へページ　お問合せ先
============================================================= */
.contact-info {
	font-family: sans-serif;
	line-height: 1.6;
	color: #333;
}
.representative-box {
	margin-bottom: 1.5em !important;
}
.representative-box .title {
	display: block;
	font-size: 0.9em;
	color: #222;
	font-weight: normal;
	margin-bottom: .4em !important;
}
.representative-box .name {
	font-size: 1.5em;
	font-weight: 500;
	color: #222;
	margin: 0 !important;
	padding-left: .3em !important;
	border-left: 4px solid #376392;
	line-height: 1.2;
}
p.email {
	margin-bottom: 1.5em !important;
}
.email-label {
	display: block; 
	font-size: .9em;
	color: #222;
	margin: 0 0 .2em 0 !important;
}
.email-link {
	display: inline-flex;
	align-items: center;
	color: #376392 !important;
	text-decoration: none;
	font-weight: bold;
	gap: .3em;
	transition: all 0.2s ease;
	font-size: 1.4em;
}
.email-icon {
	width: 24px;
	height: 24px;
	fill: #376392;
	transition: all 0.2s ease;
}
.email-link:hover,
.email-link:active {
	color: #01427f !important;
	text-decoration: underline;
}
.email-link:hover .email-icon {
	fill: #01427f;
}
.phone-container {
	margin-bottom: 1.5em !important;
}
.phone-label {
	font-size: .9em;
	color: #222;
	margin: 0 0 .2em 0 !important;
}
.phone-button {
	display: inline-flex;
	align-items: center;
	font-size: 1.4em;
	font-weight: bold;
	color: #333 !important;
	text-decoration: none;
	cursor: default;
	pointer-events: none;
	gap: .3em;
}
.phone-icon {
	width: 24px;
	height: 24px;
	fill: #376392;
}

@media screen and (max-width: 730px) {/* SP */
	.representative-box .name {
		font-size: 1.35em;
	}
	.email-label {
		margin: 0 0 .2em 0 !important;
	}
	.email-link {
		font-size: 1.1em;
		margin-bottom: 0.5em;
		word-break: break-all;
	}
	.phone-button {
		color: #fff !important;
		background-color: #376392 !important;
		padding: .2em .5em !important;
		border-radius: 8px;
		box-shadow: 0 4px 0 #01427f;
		transition: all 0.1s ease;
		cursor: pointer;
		pointer-events: auto;
	}
	.phone-button.accent-color {
	}
	.office-icon, .mobile-icon {
		fill: #b4d7fa;
	}
	.phone-button:hover, 
	.phone-button:active {
		background-color: #2b527d !important;
		transform: translateY(2px);
		box-shadow: 0 2px 0 #01427f;
	}
}
/* =============================================================
   加盟院一覧ページ　見出し
============================================================= */
#kameiinichiran header.pointTit {
	text-align: center;
	background: none !important;
	padding: 0;
	margin: 0;
}
#kameiinichiran h1.t_pageHeading.noIcon {
	display: flex !important;
	align-items: center;
	justify-content: center;
	color: #01417f !important;
	font-size: 1.75em;
	font-weight: bold;
	text-align: center;
	background: none !important;
	border: none !important;
}
#kameiinichiran h1.t_pageHeading.noIcon::before {
	content: "";
	flex-grow: 1;
	max-width: 2em;
	height: 2px;
	background-color: #01417f;
	margin-right: 1em;
}
#kameiinichiran h1.t_pageHeading.noIcon::after {
	content: "";
	flex-grow: 1;
	max-width: 2em;
	height: 2px;
	background-color: #01417f;
	margin-left: 1em;
}
@media screen and (max-width: 730px) {/* SP */
	#kameiinichiran h1.t_pageHeading.noIcon {
		font-size: 1.5em;
	}
}

/* --- 見出し下（都県別にご覧いただけます） --- */
p.midashi-sub {
	text-align: center;
	color: #444;
	font-weight: 500;
	letter-spacing: 0.04em;
}
/* =============================================================
   加盟院一覧ページ　地図
============================================================= */
.kameiinmap {
	width: 100vw !important;
	position: relative;
	left: 50% !important;
	transform: translateX(-50%) !important;
	margin-top: 0;
	margin-bottom: 0;
	overflow: hidden;
}
.kameiinmap > div {
	position: relative;
	width: 100%;
	max-width: none !important;
	margin: 0 auto;
}
.kameiinmap img {
	display: block;
	width: 100%;
	height: auto;
}
.kameiinmap .left-content-group {
	position: absolute;
	top: 15%;
	left: 10%;
	z-index: 10;
	display: inline-flex;
	flex-direction: column;
	width: max-content;
}
.kameiinmap .midashi {
	position: relative;
	margin: 0 0 2vw 0;
	color: #01417f;
	font-size: 3.5vw;
	font-weight: bold;
	white-space: nowrap;
}
.kameiinmap .midashi span {
	color: #444;
}
.kameiinmap .komidashi {
	position: relative;
	margin: 0 0 1.5vw 0;
	color: #444;
	font-size: 1.22vw;
	font-weight: 500;
	white-space: nowrap;
}
.kameiinmap .text-box {
	position: relative;
	width: 100%;
	max-width: 100%;
	box-sizing: border-box;
	margin: 0 0 1.5vw 0;
	background-color: #fff;
	padding: .5vw 1.5vw 1.5vw;
	border-radius: 10px;
	box-shadow: 0 4px 10px rgba(0, 0, 0, 0.05);
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 1.5vw;
}
.kameiinmap .text-box .text-group {
	flex: 1;
}
.kameiinmap .text-box .img-group {
	width: 10vw;
	flex-shrink: 0;
}
.kameiinmap .text-box .img-group img {
	width: 100%;
	height: auto;
	display: block;
	margin-top: 1vw;
}
.kameiinmap .katsudouin {
	margin: 0 0 0.5vw 0;
	color: #444;
	font-size: 1.5vw;
	font-weight: bold;
	line-height: 1.2;
}
.kameiinmap .katsudouin span {
	font-size: 4vw;
	color: #01417f;
	vertical-align: -.2vw;
}
.kameiinmap .katsudouin-sub {
	margin: 0;
	color: #333;
	font-size: 1.2vw;
	font-weight: normal;
}
/* 各県共通ピン */
.kameiinmap .in-box {
	position: absolute;
	z-index: 10;
	padding: .3vw 1vw;
	border-radius: 6px;
	box-shadow: none;
}
.kameiinmap .chiiki {
	position: absolute;
	margin: 0;
	color: #444;
	font-size: 1.22vw;
	font-weight: bold;
	white-space: nowrap;
	z-index: 10;
}
.kameiinmap .in-box p {
	color: #fff;
	font-weight: 500;
	font-size: 1.22vw;
}
.kameiinmap .in-box p span {
	font-size: 2vw;
	vertical-align: -.15vw;
}

/* 各県個別位置設定 */
.kameiinmap .tochigi .in-box {
	top: 21%;
	left: 70%;
	background-color: #f0ae29;
}
.kameiinmap .tochigi .chiiki {
	top: calc(21% - 2vw);
	left: 70.3%;
}
.kameiinmap .gunma .in-box {
	top: 29%;
	left: 58%;
	background-color: #8ec569;
}
.kameiinmap .gunma .chiiki {
	top: calc(29% - 2vw);
	left: 58.3%;
}
.kameiinmap .saitama .in-box {
	top: 50%;
	left: 63%;
	background-color: #f88b91;
}
.kameiinmap .saitama .chiiki {
	top: calc(50% - 2vw);
	left: 63.3%;
}
.kameiinmap .tokyo .in-box {
	top: 67%;
	left: 65%;
	background-color: #0372d5;
}
.kameiinmap .tokyo .chiiki {
	top: calc(67% - 2vw);
	left: 65.7%;
}
.kameiinmap .kanagawa .in-box {
	top: 78.5%;
	left: 62%;
	background-color: #8d72c5;
}
.kameiinmap .kanagawa .chiiki {
	top: calc(78.5% - 2vw);
	left: 61.7%;
}
.kameiinmap .text-shita {
	position: relative;
	width: 0;
	min-width: 100%;
	box-sizing: border-box;
	background-color: #e4f0fd;
	padding: 1.5vw;
	border-radius: 10px;
	box-shadow: 0 4px 10px rgba(0, 0, 0, 0.05);
	font-size: .95vw;
	border: 2px solid #fff;
}
/* --- スマホ用（SP）スタイル --- */
@media screen and (max-width: 730px) {
	.kameiinmap .left-content-group {
		position: static;
		display: block;
		width: auto;
	}
	.kameiinmap .midashi {
		position: absolute;
		top: 5%;
		left: 0;
		width: 100%;
		text-align: center;
		margin: 0;
		font-size: 7.5vw;
	}
	.kameiinmap .komidashi {
		position: absolute;
		top: calc(5% + 10vw);
		left: 0;
		right: 0;
		margin: 0 auto !important;
		width: fit-content;
		text-align: left;
		font-size: 5vw;
		white-space: normal;
		line-height: 1.5;
	}
	.kameiinmap .text-box {
		position: absolute;
		top: 26.5%;
		left: 5%;
		padding: 2.5vw 1.5vw;
		border-radius: 6px;
		flex-direction: column;
		gap: 2vw;
		width: auto;
		max-width: none;
		box-sizing: content-box;
	}
	.kameiinmap .text-box .img-group {
		width: 20vw;
	}
	.kameiinmap .text-box .img-group img {
		margin-top: 0;
	}
	.kameiinmap .katsudouin {
		margin: 0 0 1.5vw 0;
		font-size: 3.5vw;
	}
	.kameiinmap .katsudouin span {
		font-size: 6vw;
		vertical-align: -.2vw;
	}
	.kameiinmap .katsudouin-sub {
		margin: 0;
		font-size: 3vw;
		font-weight: 500;
		line-height: 1.7;
	}
	.kameiinmap .in-box {
		padding: .3vw 1vw;
		border-radius: 6px;
	}
	.kameiinmap .chiiki {
		margin: 0;
		font-size: 3vw;
		font-weight: bold;
	}
	.kameiinmap .in-box p {
		font-size: 3vw;
	}
	.kameiinmap .in-box p span {
		font-size: 4vw;
		vertical-align: -.15vw;
	}
	.kameiinmap .tochigi .in-box {
		top: 30%;
		left: 71%;
	}
	.kameiinmap .tochigi .chiiki {
		top: calc(30% - 7vw);
		left: 71.3%;
	}
	.kameiinmap .gunma .in-box {
		top: 34%;
		left: 48%;
	}
	.kameiinmap .gunma .chiiki {
		top: calc(34% - 7vw);
		left: 48.3%;
	}
	.kameiinmap .saitama .in-box {
		top: 43%;
		left: 65%;
	}
	.kameiinmap .saitama .chiiki {
		top: calc(43.5%);
		left: 53%;
	}
	.kameiinmap .tokyo .in-box {
		top: 50.5%;
		left: 50%;
	}
	.kameiinmap .tokyo .chiiki {
		top: calc(51%);
		left: 63%;
	}
	.kameiinmap .kanagawa .in-box {
		top: 62.5%;
		left: 58%;
	}
	.kameiinmap .kanagawa .chiiki {
		top: calc(62.5% - 7vw);
		left: 56%;
	}
	.kameiinmap .text-shita {
		position: absolute;
		top: 70%;
		left: 5%;
		width: 90%;
		min-width: auto;
		padding: 1.5vw 5vw;
		border-radius: 6px;
		font-size: 3.5vw;
		line-height: 1.7;
		box-sizing: border-box;
	}
}
/* =============================================================
   加盟院一覧ページ　各地域のスクロールボタン
============================================================= */
html {
	scroll-behavior: smooth;
}
.area-nav-container {
	display: flex;
	justify-content: center;
	flex-wrap: wrap;
	gap: .8em;
	font-family: sans-serif;
}
.nav-btn {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	min-width: 8em;
	font-weight: bold;
	color: #01417f !important;
	text-decoration: none;
	background-color: #fff !important;
	border: 1px solid #01417f;
	border-radius: 50px;
	box-sizing: border-box;
	transition: all 0.3s ease;
	cursor: pointer;
}
.nav-btn.btn-tokyo:hover, .nav-btn.btn-saitama:hover, .nav-btn.btn-kanagawa:hover, .nav-btn.btn-gunma:hover, .nav-btn.btn-tochigi:hover {
	background-color: #01417f !important;
	border-color: #01417f !important;
	color: #fff !important;
}
@media screen and (max-width: 730px) {/* SP */
	.area-nav-container {
		gap: .4em;
	}
	.nav-btn {
		min-width: calc(50% - 5em);
		font-size: 3.8vw;
	}
	/* 5つめのボタン（栃木県）だけをスマホで中央に大きく配置したい場合 */
	.nav-btn.btn-tochigi {
		/* 必要であれば width: 100%; にするとバランスが取れます */
	}
}
/* =============================================================
   加盟院一覧ページ　接骨院・整骨院リスト
============================================================= */
.area-card {
	max-width: 100%;
	margin: 20px auto !important;
	background-color: #fff !important;
	border: 2px solid #e2e8f0;
	border-radius: 8px;
	overflow: hidden;
	font-family: sans-serif;
	scroll-margin-top: 60px;
}
.area-card-header {
	color: #ffffff;
	text-align: center;
	padding: .5em 0 !important;
	font-size: 1.1em;
	font-weight: 500;
	letter-spacing: 0.05em;
}
#tokyo-list {
	.area-card-header {
		background-color: #0372d5 !important;
	}
	.area-card-body .clinic-name::before {
		background-color: #0372d5;
	}
}
#saitama-list {
	.area-card-header {
		background-color: #f88b91 !important;
	}
	.area-card-body .clinic-name::before {
		background-color: #f88b91;
	}
}
#kanagawa-list {
	.area-card-header {
		background-color: #8d72c5 !important;
	}
	.area-card-body .clinic-name::before {
		background-color: #8d72c5;
	}
}
#gunma-list {
	.area-card-header {
		background-color: #8ec569 !important;
	}
	.area-card-body .clinic-name::before {
		background-color: #8ec569;
	}
}
#tochigi-list {
	.area-card-header {
		background-color: #f0ae29 !important;
	}
	.area-card-body .clinic-name::before {
		background-color: #f0ae29;
	}
}
.area-card-body {
	list-style: none !important;
	padding: 0 1em .5em !important;
	display: flex;
	flex-wrap: wrap;
	justify-content: space-between;
}
.area-card-body li {
	display: flex;
	justify-content: space-between;
	align-items: center;
	width: calc(50% - 1em);
	box-sizing: border-box;
	padding: 0.5em !important;
	border-bottom: 1px solid #f1f5f9;
	font-size: 14px;
}
.area-card-body .clinic-name {
	position: relative;
	padding-left: 1em !important;
	color: #444;
	font-weight: 500;
	text-align: left;
}
.area-card-body .clinic-name::before {
	content: "";
	position: absolute;
	left: 0;
	top: 50%;
	transform: translateY(-50%);
	width: 8px;
	height: 8px;
	border-radius: 50%;
}
.clinic-link {
	color: #444 !important;
	text-decoration: none;
	display: inline-block;
	transition: color 0.2s ease;
}
.clinic-link:hover,
.clinic-link:active {
	text-decoration: underline;
}
.area-card-body .clinic-location {
	color: #444;
	white-space: nowrap;
	margin-left: .5em !important;
}
@media screen and (max-width: 730px) {/* SP */
	.area-card-body {
		padding: 0 1em !important;
	}
	.area-card-body li {
	width: 100%;
	padding: .5em 0 !important;
	}
}
/* =============================================================
	フッター
============================================================= */
#footer{
  background: #01417f !important;
}
#footer #footerInfoInner {
	color: #fff;
}
#footer #footerSiteName a {
	color: #fff;
}
#footer #footerInfoInner .innerL .textColor {
	color: #fff !important;
}
#footer #footerInfoInner .innerL .svgColor {
	fill: #fff !important;
}