/* ************************************************************
メンバー
************************************************************ */

/* ----- 候補ラベル -------------------- */

.card-img-member { position: relative; }
.candi-flag,.candi-flag-top { 
	position: absolute;
	top: 0;
	color: var(--color-black);
	background: var(--color-accent);
	width: calc(100% - 2px);
	padding: 0 .4em;
	margin-left: 1px;
	font-size: 1em;
	font-weight: 700;
}
.candi-flag { margin-bottom: 1px; }
.candi-flag-top { margin-bottom: 9px; }

@media (max-width: 768px) {
	.candi-flag,.candi-flag-top { font-size: .8em; line-height: 1.6em; padding: 0 .2em; }
	/* !important: SP で他の margin-bottom ルールに上書きされないため */
	.candi-flag { margin-bottom: 1px !important; }
}

.member-index {
  padding-top: 50px;
  padding-bottom: 60px;
}

.parliament {
  margin-top: 60px;
}

/* ----- トップページの一覧 -------------------- */

.members-container {
	display: grid;
	grid-template-columns: repeat(4, 1fr);
	column-gap: 14px; row-gap: 30px;
	list-style: none; padding-left: 0; margin-bottom: 0;
}
.members-card-container img { width:100%; height:auto; border: 1px solid var(--color-border-soft); object-fit:cover; aspect-ratio: 1/1; }
/* IMG 直下の 10px 余白は .card-img-member 自身の margin-bottom に移して
   ホバーズーム時のクリップ枠（.card-img-member）と IMG 寸法を一致させる */
.members-card-container .card-img.card-img-member { margin-bottom: 10px; }
@media (max-width: 768px) {
	.members-container { grid-template-columns: repeat(2, 1fr); column-gap: 5px; row-gap: 20px; }
	}

/* ----- 一覧共通 -------------------- */

.member-list-position { font-size: 1em; line-height: 1.4em; margin-bottom: 0em; }
.module-members .member-list-position { font-size: 1em; letter-spacing: -.03em;}
.module-members .member-list-name { font-size: 1.8em; margin-bottom: .2em; }
.member-list-name,.member h3 {
	font-size: 2em;
	line-height: 1.3em;
	font-weight: 700;
	margin-top: 0em;
	margin-bottom: .25em;
}
.member-list-name-kana { font-size: .9em; line-height: 1em; margin-bottom: .5em; }
.member-list-career { font-size: 1em; margin-top: .25em; line-height: 1.6em; }

@media (max-width: 800px) {
	.member-list-position { font-size: 1em; line-height: 1.4em; }
	.module-members .member-list-position { letter-spacing: 0em; }
	.member-list-name,.member h3 { font-size: 1.6em; line-height: 1.5em; }
	.module-members .member-list-name { font-size: 1.3em; }
	.module-members .member-list-position { font-size: .9em; }
	.member .member-list-position { font-size: .9em; }
	.member .member-list-name, .member h3 { margin-bottom: 0; }
	.member-list-name-kana { font-size: .9em; line-height: 1em; margin-bottom: .5em; }
	.member-list-career { font-size: .9em; line-height: 1.3em; }
	}

/* ----- 一覧ページ -------------------- */

.member ul { list-style: none; padding-left: 0px; }
.member h2, .candidate h2 {
	font-size: 2em;
	line-height: 1.6em;
	font-weight: 900;
	overflow-wrap: anywhere;
	word-break: break-all;
	border-left: 10px solid var(--color-accent);
	padding-left: 10px;
	margin-top: 2em;
	}

@media (max-width: 800px) {
	.member h2, .candidate h2 { font-size: 1.6em; padding-top: 0; }
}

.card-img.card-img-member img { background: var(--color-white); aspect-ratio: 1/1; width: 200px; }
/* サイトトップのメンバーセクションはカード幅に合わせて 100% */
.module-members .card-img.card-img-member img { width: 100%; }

/* ----- 個別ページ -------------------- */

.entry-header-member { padding-top:60px; margin-bottom:40px; }
.entry-header-member h1 { font-size: 2.2em; line-height:1em; font-weight: 900; margin-top:.5em; margin-bottom:.2em; }
.member-titlepost { font-size: 1.4em; letter-spacing:.05em; font-weight: 700; }
.member-name-kana { font-size: 1em; letter-spacing:.2em; }
.member-catchphrase { font-size: 2em; line-height: 1.5em; font-weight: 700; margin-bottom:1em; }

.member-prof-img-single { display: flex; list-style:none; padding-left: 0em; }
.member-prof-img-single li { width: 50%; }
.member-prof-img-single li:first-child { width: 50%; margin-right:20px; background:var(--color-white); }
.member-prof-img-single img { width: 100%; border: 1px solid var(--color-border-soft); object-fit: cover; aspect-ratio: 1;}
.member-prof-spec { font-size:1em; }

@media (max-width: 768px) {
	.entry-header-member { padding-top:30px; margin-bottom:20px; }
	.entry-header-member h1 { font-size: 2em;  margin-top:.3em; margin-bottom:.1em;}
	.member-titlepost { font-size: 1.1em; }
	.member-name-kana { font-size: 1em; }
	.member-catchphrase { font-size: 1.4em; font-weight: 700; margin-top:1em; margin-bottom:1em; }
	.member-prof-img-single li:first-child { margin-right:10px; }
	}

.member-account-area { padding-top: 10px; }
.member-account-area ul { padding-left:0px; }

.member-account-list { display: flex; list-style:none; margin-top: 10px; margin-bottom: 10px;}
.member-account-list-item { margin-right: 20px;}
.member-account-list-item:last-child { margin-right: 0;}
.member-sns-item-link { display: block; }
.member-account-icon {height: 50px; width: 50px;}

@media (max-width: 768px) {
	.member-account-area { padding-top: 0px; }
	.member-account-list { display: flex; list-style:none;  margin-top: 5px; margin-bottom: 5px;}
	.member-account-list-item { margin-right: 15px;}
	.member-sns-item-link { display: block; margin: 5px; }
	.member-account-icon {height: 40px; width: 40px;}
	}

.member-prof-spec ul  {
	list-style: none;
	padding-left: 1.3em;
}
.member-prof-spec ul li {
	font-size: 1em; 
	text-indent: -1.3em;
}
.member-prof-spec ul li::before { content: "●" / ""; color: var(--color-accent); margin-right: .3em; }

@media (max-width: 768px) {
	.member-prof-spec ul  {
	padding-left: 0em;
}
	.member-prof-spec ul li {
	padding-left: 1.3em;
	text-indent: -1.3em;
	}
}

.member-info-election-single {
	font-size: 1.4em;
	font-weight: 700;
	background: var(--color-accent);
	display: inline-block;
	padding: .2em;
	margin-top: 1em;
	margin-bottom: .2em;
	}
.member-info-spacial {
	font-size: 1.2em; font-weight: 700; line-height: 1.8em;
	text-decoration: underline; text-decoration-color: var(--color-accent);
	text-underline-offset: .3em; text-decoration-thickness: 3px;
	}
@media (max-width: 768px) {
.member-info-election-single {
	font-size: 1em;
	line-height: 1.3em;
	padding: .2em .3em ;
	margin-top: .75em;
	}
.member-info-spacial {
	font-size: 1em; line-height: 1.8em;
	}
}

.return-member { margin-top: 30px; }
.return-member-candidate { margin-top: 90px; }