@charset "utf-8";

/* ==================================================
   下層共通パーツ
-------------------------------------------------- */
/* ----- メインビジュアル ----- */
.page_mainvisualArea {
	display: flex;
	justify-content: center;
	align-items: center;
	position: relative;
	width: calc(100% - 32px);
	height: 224px;
	margin: 16px auto 0;
	padding-top: 76px;
	border-radius: 12px;
	background: url("../images/page_mainvisual_bg.webp") center center / cover no-repeat;
}

.page_mainvisualArea h2 {
	color: #fff;
	font-size: var(--fz_xxl);
}

@media only screen and (max-width: 1024px) {
	.page_mainvisualArea {
		height: 204px;
	}
}

@media only screen and (max-width: 767px) {
	.page_mainvisualArea {
		height: 146px;
		padding-top: 40px;
	}

	.page_mainvisualArea h2 {
		font-size: var(--fz_lg);
	}
}

@media only screen and (max-width: 560px) {
	.page_mainvisualArea {
		height: 112px;
	}

	.page_mainvisualArea h2 {
		font-size: var(--fz_md);
	}
}

@media only screen and (max-width: 480px) {
	.page_mainvisualArea {
		height: 102px;
	}
}

/* パンくずリスト */
.topicPath {
	display: flex;
	list-style-type: none;
	align-items: center;
	position: absolute;
	left: 16px;
	top: 76px;
	font-size: 1.6rem;
}

.topicPath li {
	display: flex;
	align-items: center;
	color: #fff;
}
.topicPath li:nth-of-type(1)::before {
	content: "";
	width: 20px;
	height: 17px;
	margin-right: 16px;
	background-color: #fff;
	-webkit-mask: url("../images/icon-topicpath_home.svg") no-repeat center center / contain;
	mask: url("../images/icon-topicpath_home.svg") no-repeat center center / contain;
	transform: translateY(-2px);
}
.topicPath li:nth-of-type(n + 2)::before {
	content: "";
	display: block;
	width: 7px;
	height: 7px;
	margin: 0 16px 0 12px;
	border-top: 1px solid #fff;
	border-right: 1px solid #fff;
	transform: rotate(45deg);
}

.topicPath a {
	color: #fff;
}
.topicPath a:hover {
	opacity: .5;
}

@media only screen and (max-width: 1024px) {
	.topicPath {
		/* left: 24px;
		top: 84px; */
		font-size: var(--fz_xs);
	}

	.topicPath li:nth-of-type(1)::before {
		width: 16px;
		height: 13px;
		margin-right: 12px;
		transform: translateY(-1px);
	}
	.topicPath li:nth-of-type(n + 2)::before {
		width: 5px;
		height: 5px;
		margin: 0 12px 0 8px;
	}
}

@media only screen and (max-width: 767px) {
	.topicPath {
		flex-direction: row;
		left: 16px;
		top: 44px;
	}

	.topicPath li:nth-of-type(1)::before {
		margin-right: 8px;
		transform: translateY(-1px);
	}
	.topicPath li:nth-of-type(n + 2)::before {
		width: 4px;
		height: 4px;
		margin: 0 8px 0 4px;
	}
}

@media only screen and (max-width: 560px) {
	.topicPath {
		display: none;
	}
}


/* ----- メインコンテンツ ----- */
.mainContents {
	margin-top: 80px;
	margin-bottom: 144px;
}
.mainContents.flex {
	justify-content: space-between;
}

.mainContents_article {
	width: 836px;
}

.mainContents_side {
	width: 304px;
}

.mainContents_side dl {
	padding: 24px;
	border-radius: 8px;
	background-color: var(--c_gray_bg);
}

.mainContents_side dt {
	position: relative;
	margin-bottom: 12px;
	padding-left: 20px;
	font-weight: var(--fw_b);
	font-size: var(--fz_md);
}
.mainContents_side dt::before {
	content: "";
	display: block;
	position: absolute;
	left: 0;
	top: 50%;
	width: 6px;
	height: calc(1em + 4px);
	border-radius: 3px;
	background-color: var(--c_blue);
	transform: translateY(-50%);
}

@media only screen and (max-width: 1280px) {
	.mainContents_article {
		width: 66.34vw;
	}

	.mainContents_side {
		width: 24.12vw;
	}
}

@media only screen and (max-width: 1160px) {
	.mainContents_article {
		width: 100%;
	}

	.mainContents_side {
		width: 100%;
		margin-top: 48px;
	}
}

@media only screen and (max-width: 767px) {
	.mainContents {
		margin-top: 48px;
		margin-bottom: 64px;
	}
}

@media only screen and (max-width: 500px) {
	.mainContents {
		margin-top: 32px;
		margin-bottom: 48px;
	}

	.mainContents_side {
		margin-top: 40px;
	}

	.mainContents_side dl {
		padding: 16px;
	}
}



/* ==================================================
   固定ページ　共通
-------------------------------------------------- */
.page_editArea {
	width: 100%;
}

body:not(.member) .page_editArea a {
	color: var(--c_blue);
	text-decoration-line: underline;
}
body:not(.member) .page_editArea a:hover {
	color: #ccc;
	text-decoration-color: transparent;
}

.page_editArea h3:not(.esc) {
	position: relative;
	margin-top: 88px;
	margin-bottom: 40px;
	padding-bottom: 16px;
	font-size: var(--fz_xxl);
	line-height: 1.55;
	letter-spacing: .095em;
	text-align: center;
}
.page_editArea h3:not(.esc)::after {
	content: "";
	position: absolute;
	left: calc(50% - 24px);
	bottom: 0;
	width: 48px;
	height: 6px;
	background: url("../images/page_h3_dot.webp") var(--bg_cc_contain);
}

.page_editArea h4:not(.esc) {
	position: relative;
	margin-top: 40px;
	margin-bottom: 16px;
	padding-left: 28px;
	font-size: var(--fz_lg);
	line-height: 1.75;
}
.page_editArea h4:not(.esc)::before {
	content: "";
	position: absolute;
	left: 0;
	top: 6px;
	width: 8px;
	height: calc(100% - 12px);
	border-radius: 4px;
	background-color: var(--c_blue);
}

.page_editArea .noSpace {
	margin-top: 0 !important;
}

.page_editArea .mt1 {
	margin-top: 1em;
}

.page_editArea .list_arrow > li {
	padding-left: 33px;
	text-indent: -33px;
}
.page_editArea .list_arrow > li::before {
	display: inline-block;
	width: 19px;
	height: 19px;
	margin-left: 0;
	border: 0;
	background: var(--c_yellow) url("../images/list_arrow.webp") center center / 8px auto no-repeat;
	vertical-align: -3px;
}

.page_editArea .list_btn > li {
	padding-left: 0;
	text-indent: 0;
}
.page_editArea .list_btn > li::before {
	content: none;
}

.page_editArea .list_btn > li a {
	display: block;
	position: relative;
	padding: 19px 19px 19px 64px;
	border: 1px solid var(--c_bdc);
	border-bottom-width: 3px;
	border-radius: 6px;
	background-color: #fff;
}
.page_editArea .list_btn > li a::before {
	content: "";
	display: block;
	position: absolute;
	left: 28px;
	top: 28px;
	width: 19px;
	height: 19px;
	border-radius: 50%;
	background: var(--c_yellow) url("../images/list_arrow.webp") center center / 8px auto no-repeat;
}
.page_editArea .list_btn > li a:hover::before {
	opacity: .5;
	transition: var(--transition);
}

/* 戻るボタン */
.back_btn {
	width: 100%;
}

.back_btn a {
	margin: 80px auto 0;
	background-image: url("../images/btn_arrow_back.webp");
	background-position: 16px center;
}

@media only screen and (max-width: 767px) {
	.page_editArea h3:not(.esc) {
		margin-top: 11.473vw;
		margin-bottom: 24px;
		padding-bottom: 20px;
		font-size: 3.1rem;
		line-height: 1.5;
	}

	.page_editArea h4:not(.esc) {
		margin-top: 5.215vw;
		margin-bottom: 6px;
		padding-left: 24px;
		font-size: var(--fz_md);
	}
	.page_editArea h4:not(.esc)::before {
		width: 6px;
	}

	.page_editArea .list_btn > li a {
		padding-left: 46px;
		line-height: 1.75;
	}
	.page_editArea .list_btn > li a::before {
		left: 16px;
	}

	.back_btn a {
		margin: 48px auto 0;
	}
}

@media only screen and (max-width: 500px) {
	.back_btn a {
		margin: 40px auto 0;
	}
}



/* ==================================================
   機構紹介
-------------------------------------------------- */
/* 組織図削除時に追加 */
.about .mainContents {
	margin-bottom: 0;
}

/* 会長挨拶 */
.about_greeting {
	position: relative;
	margin-top: 40px;
}

.about_greeting_photo {
	position: absolute;
	right: 0;
	bottom: -40px;
	/* top: -40px; */
	/* width: 480px; */
	/* width: 364px; */
	/* width: 408px; */
	width: 252px;
	border-radius: 12px;
}

.about_greeting_sentence {
	/* width: 882px; */
	/* width: 998px; */
	/* width: 954px; */
	width: 1000px;
	/* padding: 56px 222px 56px 64px; */
	/* padding: 40px 206px 40px 48px; */
	padding: 40px 137px 40px 48px;
	border-radius: 12px;
	background-color: #f0f4ff;
}

.about_greeting_name {
	text-align: right;
}

.about_greeting_name span {
	display: inline-block;
	margin-left: .5em;
}

@media only screen and (max-width: 1280px) {
	.about_greeting_photo {
		/* width: 37.5vw; */
		/* width: 31.875vw; */
		width: 19.688vw;
	}

	.about_greeting_sentence {
		/* width: 68.906vw;
		padding: 56px 17.344vw 56px 5vw; */
		/* width: 74.531vw; */
		width: 78.125vw;
		/* padding: 40px 16.094vw 40px 3.75vw; */
		padding: 40px 10.703vw 40px 3.75vw;
	}
}

@media only screen and (max-width: 1024px) {
	.about_greeting_photo {
		/* width: 41.5vw; */
	}

	.about_greeting_sentence {
		width: calc(100% - 48px);
		/* padding: 40px 28.711vw 40px 3.75vw; */
		padding: 40px 18.379vw 40px 3.75vw;
	}
}

@media only screen and (max-width: 880px) {
	.about_greeting_photo {
		position: static;
		width: 100%;
		/* max-width: 480px; */
		max-width: 364px;
		margin: 0 auto 16px;
	}

	.about_greeting_sentence {
		width: 100%;
		padding: 40px;
	}
}

@media only screen and (max-width: 560px) {
	.about_greeting_sentence {
		padding: 20px 24px;
	}
}

/* 青色申告会とは */
.about_aboutusArea {
	width: 100%;
	margin-top: 144px;
	padding: 88px 0 96px;
	background-color: var(--c_navy);
	color: var(--c_white);
}

.about_aboutus_sentenceArea {
	display: flex;
	justify-content: space-between;
	align-items: center;
	max-width: 900px;
	margin: auto;
}

.about_aboutus_logo {
	/* width: 388px; */
	width: 240px;
	padding: 40px;
	border-radius: 12px;
	background-color: #fff;
}

.about_aboutus_sentence {
	/* width: 728px; */
	width: calc(100% - 280px);
}

@media only screen and (max-width: 1280px) {
	.about_aboutus_logo {
		/* width: 30.313vw; */
		padding: 3.125vw;
	}

	/* .about_aboutus_sentence {
		width: 56.875vw;
	} */
}

@media only screen and (max-width: 1024px) {
	.about_aboutus_logo {
		/* width: 33.887vw; */
		width: 23.438vw;
		padding: 4.172vw;
	}

	.about_aboutus_sentence {
		/* width: 58.008vw; */
		width: calc(100% - 27.344vw);
	}
}

@media only screen and (max-width: 767px) {
	.about_aboutusArea {
		margin-top: 11.473vw;
		padding: 11.473vw 0 12.516vw;
	}

	.about_aboutus_sentenceArea {
		flex-direction: column-reverse;
	}

	.about_aboutus_logo {
		width: 40%;
		margin-top: 24px;
	}

	.about_aboutus_sentence {
		width: 100%;
	}
}

@media only screen and (max-width: 500px) {
	.about_aboutus_logo {
		width: 60%;
	}
}

/* 定款・諸規約 */
.about_terms {
	padding: 48px 60px;
	border-radius: 12px;
	background-color: var(--c_lightblue);
}

.about_terms_notes {
	padding-left: 1em;
}

@media only screen and (max-width: 1280px) {
	.about_terms {
		padding: 48px;
	}

	.about_terms_notes::before {
		content: "\A";
		white-space: pre;
	}
}

@media only screen and (max-width: 767px) {
	.about_terms {
		padding: 48px 32px;
	}
}

@media only screen and (max-width: 560px) {
	.about_terms {
		padding: 24px;
	}
}

/* 組織図・役員紹介 */
.about_organization {
	max-width: 728px;
	margin: auto;
}

.about_organizationArea .list_arrow {
	display: flex;
	justify-content: center;
	margin-top: 16px;
}

@media only screen and (max-width: 560px) {
	.about_organizationArea .list_arrow {
		justify-content: flex-start;
	}
}

/* 加入会数・事業計画 */
.about_planArea {
	margin-top: 88px;
	padding-top: 88px;
	background-image: linear-gradient(0deg, #ffffff, var(--c_lightblue));
}

.about_plan_unit .list_btn {
	justify-content: space-between;
}

.about_plan_unit .list_btn li {
	width: calc(50% - 6px);
}
.about_plan_unit .list_btn li:nth-of-type(2) {
	margin-top: 0;
}
.about_plan_unit .list_btn li:nth-of-type(n + 3) {
	margin-top: 12px;
}

@media only screen and (max-width: 880px) {
	.about_plan_unit .list_btn li {
		width: 100%;
	}
	.about_plan_unit .list_btn li:nth-of-type(n + 2) {
		margin-top: 8px;
	}
}

@media only screen and (max-width: 767px) {
	.about_planArea {
		margin-top: 11.473vw;
		padding-top: 11.473vw;
	}
}

@media only screen and (max-width: 480px) {
	.about_plan_unit .list_btn span::before {
		content: "\A";
		white-space: pre;
	}
}



/* ==================================================
   業務案内
-------------------------------------------------- */
.service_lede {
	text-align: center;
}

.service_partnerArea {
	width: calc(100% - 80px);
	margin: 88px auto 0;
	padding: 88px 0 96px;
	border-radius: 12px;
	background-color: var(--c_blue_bg);
}

.service_partner {
	display: grid;
	grid-template-columns: repeat(2, 1fr);
	gap: 104px 64px;
	width: 1600px;
	margin-top: 48px;
}

.service_partner_photo {
	overflow: hidden;
	aspect-ratio: 181 / 85;
	border-radius: 8px;
}

.service_partner_introduction {
	width: calc(100% - 32px);
	margin: auto;
}

.service_partner_unit .service_partner_introduction h4 {
	position: relative;
	z-index: 50;
	margin: -1em 0 16px;
	background-color: var(--c_blue);
	border-radius: 8px;
	color: #fff;
	font-size: var(--fz_lg); /* → 2.8rem */
	text-align: center;
}

.service_partner_manufacturer {
	display: grid;
	grid-template-columns: repeat(2, 1fr);
	gap: 6px;
	margin-top: 16px;
}

.service_partner_manufacturer a,
.service_partner_manufacturer span {
	display: block;
	position: relative;
	padding: 4px 1.25vw;
	border-radius: 4px;
	border: 1px solid var(--c_blue);
	background-color: #fff;
	color: var(--c_blue) !important;
	text-align: center;
	text-decoration: none !important;
}
.service_partner_manufacturer a:hover {
	opacity: .5;
	color: var(--c_blue);
}
.service_partner_manufacturer a::after {
	content: "";
	display: block;
	position: absolute;
	right: .625vw;
	top: 50%;
	width: 8px;
	height: 8px;
	border-top: 2px solid var(--c_blue);
	border-right: 2px solid var(--c_blue);
	transform: translateY(-50%) rotate(45deg);
}

@media only screen and (max-width: 1720px) {
	.service_partnerArea {
		margin-top: 64px;
		padding: 64px 0;
	}

	.service_partner {
		gap: 6.667vw 3.333vw;
		width: 100%;
		padding: 0 3.721vw;
	}
}

@media only screen and (max-width: 1200px) {
	.service_partner_manufacturer {
		grid-template-columns: repeat(1, 1fr);
	}
}

@media only screen and (max-width: 880px) {
	.service_partnerArea {
		width: calc(100% - 32px);
	}

	.service_partner {
		grid-template-columns: repeat(1, 1fr);
		gap: 56px;
	}

	.service_partner_manufacturer {
		grid-template-columns: repeat(2, 1fr);
	}
}

@media only screen and (max-width: 600px) {
	.service_partnerArea {
		margin-top: 40px;
		padding: 40px 0 56px;
	}

	.service_partner {
		margin-top: 0;
	}

	.service_partner_introduction {
		width: calc(100% - 16px);
	}

	.service_partner_unit .service_partner_introduction h4 {
		margin: -1em 0 8px;
		font-size: var(--fz_md); /* → 2.3rem */
	}

	.service_partner_manufacturer {
		grid-template-columns: repeat(1, 1fr);
		margin-top: 8px;
	}
}

@media only screen and (max-width: 500px) {
	.service_partner_manufacturer a::after {
		right: 8px;
	}
}



/* ==================================================
   家づくりガイド
-------------------------------------------------- */
/* 一覧 */
.guide_cattag_title {
	margin-bottom: 40px;
	font-size: var(--fz_lg);
	text-align: center;
}

.guide_list {
	display: grid;
	grid-template-columns: repeat(3, 1fr);
	grid-template-rows: auto;
	gap: 32px;
	width: 100%;
}

.guide_list li {
	position: relative;
	overflow: hidden;
	background-color: #fff;
	transition: var(--transition);
}

.guide_list_thumb {
	border-radius: 6px;
	aspect-ratio: 64 / 43;
	background: var(--bg_cc_cover);
	transition: var(--transition);
}
.guide_list_thumb.guide_noimage {
	border: 1px solid var(--c_bdc);
	background-size: contain;
}
.guide_list_thumb:hover {
	opacity: .5;
}

.guide_list_date_cat {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	margin-top: 8px;
}

.guide_list_date_cat a {
	line-height: 1;
}
.guide_list_date_cat a:hover {
	opacity: .5;
}

.guide_list_cat {
	margin-left: 12px;
	padding: 6px 12px;
	border-radius: 4px;
	background-color: var(--c_blue);
	color: var(--c_white);
	font-size: var(--fz_xs);
	line-height: 1;
}

.guide_list_title {
	line-height: 1.8;
}

.guide_list_tag {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	margin-top: 4px;
}

.guide_list_tag li {
	margin-right: .75em;
	color: var(--c_blue);
	font-size: var(--fz_xs);
	line-height: 1.7;
}
.guide_list_tag li::before {
	content: "#";
}

.guide_list_tag li a {
	color: var(--c_blue);
}
.guide_list_tag li a:hover {
	opacity: .5;
}

@media only screen and (max-width: 1340px) {
	.guide_list {
		gap: 2.388vw;
	}
}

@media only screen and (max-width: 1024px) {
	.guide_list_title {
		line-height: 1.6;
	}
}

@media only screen and (max-width: 880px) {
	.guide_cattag_title {
		margin-bottom: 16px;
		font-size: 2.1rem;
		text-align: left;
	}

	.guide_list {
		grid-template-columns: repeat(2, 1fr);
	}
}

@media only screen and (max-width: 560px) {
	.guide_list {
		grid-template-columns: 1fr;
		gap: 28px;
	}
}


/* 記事ヘッダー */
.guide_article_header {
	display: flex;
	flex-direction: column;
	position: relative;
}

.guide_article_header h3 {
	order: 1;
	margin-top: 8px;
	margin-bottom: 12px;
	font-size: var(--fz_xxl);
	line-height: 1.5;
}

.guide_article_time {
	order: 0;
	display: flex;
	align-items: center;
}

.guide_article_update,
.guide_article_publish {
	display: flex;
	align-items: center;
}
.guide_article_publish {
	margin-left: 32px;
}
.guide_article_update::before,
.guide_article_publish::before {
	content: "";
	display: block;
	width: 18px;
	height: 18px;
	margin-right: 8px;
	background-color: var(--c_text);
	-webkit-mask: no-repeat center center / contain;
	mask: no-repeat center center / contain;
}
.guide_article_update::before {
	-webkit-mask-image: url("../images/icon-update.svg");
	mask-image: url("../images/icon-update.svg");
}
.guide_article_publish::before {
	-webkit-mask-image: url("../images/icon-publish.svg");
	mask-image: url("../images/icon-publish.svg");
}

.guide_article_tag {
	display: flex;
	align-items: flex-start;
	flex-wrap: wrap;
	order: 2;
}

.guide_article_tag li {
	margin-right: 8px;
	margin-bottom: 8px;
	line-height: 1;
}

.guide_article_tag li a {
	display: block;
	padding: 8px;
	border-radius: 4px;
	background-color: var(--c_lightblue);
	color: var(--c_blue);
}
.guide_article_tag li a::before {
	content: "#";
}
.guide_article_tag li a:hover {
	opacity: .5;
}

.guide_article_sns {
	display: flex;
	align-items: center;
	position: absolute;
	right: 0;
	top: 0;
}

.guide_article_sns .addtoany_list a {
	padding: 0;
}
.guide_article_sns .addtoany_list a:nth-of-type(n + 2) {
	margin-left: 16px;
}
.guide_article_sns .addtoany_list a::after {
	content: none;
}

.guide_article_sns a.a2a_button_facebook {
	width: 32px;
	height: 32px;
}
.guide_article_sns a.a2a_button_x,
.guide_article_sns a.a2a_button_hatena {
	width: 30px;
	height: 30px;
}

.guide_article_eyecatch {
	margin-top: 32px;
}

.guide_article_eyecatch img {
	border-radius: 12px;
}

.guide_article_sentence {
	margin-top: 32px;
}

@media only screen and (max-width: 767px) {
	.guide_article_header h3 {
		margin-top: 0;
		margin-bottom: 8px;
		font-size: var(--fz_lg);
	}

	.guide_article_eyecatch {
		margin-top: 16px;
	}
}

@media only screen and (max-width: 500px) {
	.guide_article_header h3 {
		margin-top: 4px;
		margin-bottom: 12px;
		font-size: var(--fz_md);
		line-height: 1.6;
	}

	.guide_article_time {
		font-size: var(--fz_xs);
	}

	.guide_article_publish {
		margin-left: 16px;
	}
	.guide_article_update::before,
	.guide_article_publish::before {
		width: 14px;
		height: 14px;
		margin-right: 4px;
	}

	.guide_article_tag li {
		margin-right: 6px;
		margin-bottom: 6px;
		font-size: var(--fz_xs);
	}

	.guide_article_sns {
		position: static;
		order: 3;
		margin-top: 12px;
	}
}

/* 記事本文 */
.guide_article_sentence h4 {
	position: relative;
	margin-top: 40px;
	margin-bottom: 16px;
	padding-left: 30px;
	font-size: var(--fz_lg);
	line-height: 1.8;
}
.guide_article_sentence h4::before {
	content: "";
	display: block;
	position: absolute;
	left: 0;
	top: .25em;
	width: 8px;
	height: calc(100% - .5em);
	border-radius: 4px;
	background-color: var(--c_blue);
}

.guide_article_sentence img {
	max-width: 62%;
}

@media only screen and (max-width: 767px) {
	.guide_article_sentence h4 {
		margin-top: 32px;
		margin-bottom: 8px;
		font-size: var(--fz_md);
	}
}

@media only screen and (max-width: 500px) {
	.guide_article_sentence h4 {
		margin-top: 24px;
		margin-bottom: 4px;
		padding-left: 24px;
		font-size: 2rem;
	}
	.guide_article_sentence h4::before {
		width: 6px;
	}

	.guide_article_sentence img {
		max-width: 100%;
	}
}

/* 記事まとめ */
.guide_article_summary {
	position: relative;
	margin-top: 46px;
	padding-bottom: 50px;
	border-bottom: 1px solid var(--c_text);
}
.guide_article_summary::before {
	content: "";
	display: block;
	position: absolute;
	left: 0;
	top: 34px;
	z-index: -1;
	width: 100%;
	height: 1px;
	background-color: var(--c_text);
}

.guide_article_summary h4 {
	display: inline-block;
	margin-bottom: 14px;
	margin-left: 16px;
	padding: 0 16px;
	background-color: #fff;
	font-size: var(--fz_xl);
}

@media only screen and (max-width: 767px) {
	.guide_article_summary {
		margin-top: 32px;
		padding-bottom: 32px;
	}
	.guide_article_summary::before {
		top: 24px;
	}

	.guide_article_summary h4 {
		margin-bottom: 8px;
		font-size: var(--fz_md);
	}
}

@media only screen and (max-width: 500px) {
	.guide_article_summary {
		margin-top: 24px;
		padding-bottom: 24px;
	}
	.guide_article_summary::before {
		top: 20px;
	}

	.guide_article_summary h4 {
		margin-bottom: 4px;
		margin-left: 12px;
		padding: 0 8px;
		font-size: 2rem;
	}
}

/* サイドバー */
.guide_side_house dd:nth-of-type(n + 2) {
	margin-top: 12px;
}

.guide_side_house dd img {
	border: 1px solid var(--c_bdc);
}

.guide_side_recommend {
	margin-top: 32px;
}

.guide_side_recommend dd:nth-of-type(n + 2) {
	margin-top: 20px;
}

.guide_side_recommend dd img {
	object-fit: contain;
	aspect-ratio: 64 / 43;
	border-radius: 6px;
	background-color: #fff;
	font-family: 'object-fit: cover;';
}

@media only screen and (max-width: 1160px) {
	.guide_side_house,
	.guide_side_recommend {
		display: grid;
		grid-template-columns: 1fr 1fr;
		grid-template-rows: auto;
		gap: 24px;
	}

	.guide_side_house dt,
	.guide_side_recommend dt {
		grid-column: 1 / 3;
		margin-bottom: 0;
	}

	.guide_side_house dd:nth-of-type(n + 2),
	.guide_side_recommend dd:nth-of-type(n + 2) {
		margin-top: 0;
	}
}

@media only screen and (max-width: 767px) {
	.guide_side_house {
		gap: 16px;
	}

	.guide_side_recommend {
		gap: 16px;
		margin-top: 24px;
	}
}

@media only screen and (max-width: 500px) {
	.guide_side_house,
	.guide_side_recommend {
		display: block;
	}

	.guide_side_house dt,
	.guide_side_recommend dt {
		margin-bottom: 16px;
	}

	.guide_side_house dd:nth-of-type(n + 2) {
		margin-top: 8px;
	}

	.guide_side_recommend dd:nth-of-type(n + 2) {
		margin-top: 20px;
	}
}



/* ==================================================
   提携会社 - 一覧
-------------------------------------------------- */
.partner_archiveArea {
	display: grid;
	grid-template-columns: repeat(3, 1fr);
	gap: 32px;
}

.partner_archiveArea li {
	text-align: center;
}

.partner_archiveArea a {
	display: block;
	padding: 6px;
	border-radius: 8px;
	background-color: var(--c_gray_bg);
}
.partner_archiveArea a:hover {
	opacity: .5;
	color: var(--c_text);
}

.partner_archiveArea img {
	border-radius: 4px;
}
.partner_archiveArea a:hover img {
	opacity: 1;
}

.partner_archiveArea span {
	display: block;
	padding: 4px 0;
}

@media only screen and (max-width: 1280px) {
	.partner_archiveArea {
		gap: 2.5vw;
	}
}

@media only screen and (max-width: 880px) {
	.partner_archiveArea {
		grid-template-columns: repeat(2, 1fr);
	}
}

@media only screen and (max-width: 560px) {
	.partner_archiveArea {
		grid-template-columns: repeat(1, 1fr);
		gap: 5.714vw;
	}
}



/* ==================================================
   提携会社 - 詳細
-------------------------------------------------- */
.partner.blog_article .mainContents {
	margin-bottom: 0;
}


/* ----- 特典 ----- */
.partner_benefitsArea {
	display: flex;
	flex-wrap: wrap;
	justify-content: space-between;
	align-items: flex-start;
	width: 1600px;
	margin-bottom: 72px;
}

.partner_benefitsArea img {
	width: 47%;
	margin: 0 auto;
}

@media only screen and (max-width: 1620px) {
	.partner_benefitsArea {
		width: 100%;
	}
}

@media only screen and (max-width: 1280px) {
	.partner_benefitsArea img {
		width: 48.5%;
	}
}

@media only screen and (max-width: 960px) {
	.partner_benefitsArea {
		flex-direction: column;
		align-items: center;
		gap: 32px;
	}

	.partner_benefitsArea img {
		width: 71%;
	}
}

@media only screen and (max-width: 800px) {
	.partner_benefitsArea {
		gap: 3vw;
	}

	.partner_benefitsArea img {
		width: 100%;
	}
}

@media only screen and (max-width: 767px) {
	.partner_benefitsArea {
		margin-bottom: 7.090vw;
	}
}

@media only screen and (max-width: 500px) {
	.partner_benefitsArea {
		gap: 4.85vw;
		margin-bottom: 11.47vw;
	}
}


/* ----- 説明部分 ----- */
.partner_desc_bg {
	/* margin-top: 72px; */
	padding: 54px 0 60px;
	background-color: var(--c_blue_bg);
}

.partner_desc {
	display: grid;
	grid-template-columns: auto 266px;
	gap: 40px;
}

.partner_desc_logo {
	padding-top: .5em;
}

@media only screen and (max-width: 960px) {
	.partner_desc {
		gap: 4.167vw;
	}
}

@media only screen and (max-width: 767px) {
	.partner_desc_bg {
		/* margin-top: 7.090vw; */
		padding: 7.090vw 0 7.735vw;
	}

	.partner_desc {
		grid-template-columns: 1fr;
		gap: 1em;
	}

	.partner_desc_logo {
		max-width: 266px;
		margin: auto;
		padding-top: 0;
	}
}

@media only screen and (max-width: 500px) {
	.partner_desc_bg {
		/* margin-top: 11.47vw; */
		padding: 11.47vw 0 12.51vw;
	}
}


/* ----- 主な特徴 ----- */
.partner_feature_bg {
	position: relative;
	width: calc(50% + 590px);
	margin-left: auto;
	padding: 44px 3.333vw 0 0;
	background-color: #fff;
}
.partner_feature_bg::before {
	content: "";
	position: absolute;
	right: 0;
	top: 0;
	z-index: -1;
	width: 100vw;
	height: 188px;
	background-color: var(--c_blue_bg);
}
.partner_feature_bg::after {
	content: "";
	position: absolute;
	left: -3.333vw;
	top: 0;
	z-index: 0;
	width: 3.333vw;
	height: 100%;
	border-top-left-radius: 24px;
	background-color: #fff;
}
.partner_feature_bg.is__no-photo {
	min-height: 240px;
}

.partner_feature_bg h4 {
	display: inline-block;
	border-bottom: 1px solid #333;
	font-size: var(--fz_md);
}

.partner_feature_wrapper {
	display: grid;
	grid-template-columns: 1fr auto;
	gap: 2.083vw;
	width: 100%;
	margin-top: 32px;
}

.partner_feature_bg.is__no-photo .partner_feature_sentence {
	width: 1180px;
}

.partner_feature_sentence ol:first-child {
	margin-top: 0;
}

.partner_feature_photo {
	width: 33.958vw;
	padding-top: .5em;
}

.partner_feature_photo img {
	border-radius: 12px;
}

@media only screen and (max-width: 1400px) {
	.partner_feature_bg {
		width: calc(50% + 590px - 3.333vw);
	}

	.partner_feature_bg.is__no-photo .partner_feature_sentence {
		width: 100%;
		padding-right: 3.333vw;
	}
}

@media only screen and (max-width: 1280px) {
	.partner_feature_bg {
		width: calc(100% - 40px);
		padding-left: 3.333vw;
		border-top-left-radius: 24px;
	}
	.partner_feature_bg::after {
		content: none;
	}

	.partner_feature_bg.is__no-photo .partner_feature_sentence {
		padding-right: 0;
	}
}

@media only screen and (max-width: 1024px) {
	.partner_feature_bg {
		padding: 44px 4.297vw 0 4.297vw;
	}
}

@media only screen and (max-width: 800px) {
	.partner_feature_bg {
		width: calc(100% - 5vw);
		padding-top: 5.5vw;
	}

	.partner_feature_wrapper {
		grid-template-columns: 1fr;
		margin-top: 16px;
	}

	.partner_feature_photo {
		width: 100%;
	}
}

@media only screen and (max-width: 500px) {
	.partner_feature_bg {
		width: calc(100% - 15px);
		padding: 6vw 5.5vw 0;
	}

	.partner_feature_wrapper {
		margin-top: 12px;
	}
}


/* ----- 構造・対応エリア ----- */
.partner_feature_detail {
	margin-top: 56px;
	margin-bottom: 80px;
}

.partner_feature_detail > :where(section) {
	display: grid;
	grid-template-columns: 10vw auto;
	padding: 32px 56px;
	background-color: var(--c_gray_bg);
}
.partner_feature_detail > :only-child {
	padding: 32px 56px;
	border-radius: 12px;
}
.partner_feature_detail_structure {
	/* position: relative; */
	padding-top: 40px;
	border-radius: 12px 12px 0 0;
}
.partner_feature_detail_area {
	position: relative;
	padding-bottom: 40px;
	border-radius: 0 0 12px 12px;
}
.partner_feature_detail_structure + .partner_feature_detail_area::before {
	content: "";
	display: block;
	position: absolute;
	left: 56px;
	top: 0;
	width: calc(100% - 112px);
	height: 1px;
	background-color: var(--c_bdc);
}

@media only screen and (max-width: 1200px) {
	.partner_feature_detail > :where(section) {
		grid-template-columns: 12vw auto;
		padding: 32px 2.833vw;
	}
	.partner_feature_detail > :only-child {
		padding: 32px 2.833vw;
	}

	.partner_feature_detail_structure + .partner_feature_detail_area::before {
		left: 2.833vw;
		width: calc(100% - 5.666vw);
	}
}

@media only screen and (max-width: 1024px) {
	.partner_feature_detail {
		margin-top: 7.09vw;
	}

	.partner_feature_detail > :where(section) {
		grid-template-columns: 1fr;
		padding: 3.125vw 3.32vw;
	}
	.partner_feature_detail > :only-child {
		padding: 3.125vw 3.32vw;
	}

	.partner_feature_detail_structure + .partner_feature_detail_area {
		padding-bottom: 3.125vw;
	}
	.partner_feature_detail_structure + .partner_feature_detail_area::before {
		left: 3.32vw;
		width: calc(100% - 6.64vw);
	}
}

@media only screen and (max-width: 500px) {
	.partner_feature_detail {
		margin-top: 9.797vw;
	}

	.partner_feature_detail > :where(section) {
		padding: 5.5vw;
	}

	.partner_feature_detail_structure + .partner_feature_detail_area {
		padding-bottom: 5.5vw;
	}
	.partner_feature_detail_structure + .partner_feature_detail_area::before {
		left: 5.5vw;
		width: calc(100% - 11vw);
	}
}


/* ----- 建築事例 ----- */
.partner_caseArea {
	padding: 68px 4.167vw 80px;
	background: url("../images/bg_border.webp") 0 0 repeat;
}

.partner_caseArea h4 {
	font-size: var(--fz_lg);
	text-align: center;
}

.partner_case_bg {
	width: 100%;
	margin-top: 40px;
	padding: 64px 6.25vw;
	border-radius: 12px;
	background-color: #fff;
}

.partner_case_wrapper:nth-of-type(n + 2) {
	margin-top: 56px;
	padding-top: 32px;
	border-top: 1px solid var(--c_bdc);
}

.partner_case_wrapper h5 {
	position: relative;
	margin-bottom: 24px;
	padding-left: 28px;
	font-size: var(--fz_lg);
	line-height: 1.75;
}
.partner_case_wrapper h5::before {
	content: "";
	position: absolute;
	left: 0;
	top: 6px;
	width: 8px;
	height: calc(100% - 12px);
	border-radius: 4px;
	background-color: var(--c_blue);
}

.partner_case {
	display: flex;
	align-items: flex-start;
	justify-content: space-between;
	/* gap: 1.667vw; */
}

.partner_case_photo {
	aspect-ratio: 29 / 18;
	overflow: hidden;
	display: flex;
	justify-content: center;
	align-items: center;
	width: 30.208vw;
	margin-top: .4em;
	border-radius: 8px;
	background-color: var(--c_white);
}

.partner_case_photo img {
	object-fit: contain;
	height: 100%;
}

.partner_case_sentence {
	width: calc(100% - 32.875vw);
}

@media only screen and (max-width: 1260px) {
	.partner_caseArea {
		padding: 48px 2.575vw 80px;
	}

	.partner_case_bg {
		margin-top: 32px;
		padding: 2.54vw 4.444vw 4.444vw;
	}

	.partner_case_wrapper h5 {
		margin-bottom: 1.905vw;
	}
}

@media only screen and (max-width: 1024px) {
	.partner_case_bg {
		margin-top: 3.125vw;
		padding: 2.54vw 3.32vw 3.32vw;
	}

	.partner_case_wrapper:nth-of-type(n + 2) {
		margin-top: 3.906vw;
		padding-top: 1.953vw;
	}

	.partner_case_wrapper h5 {
		margin-bottom: 1.177vw;
		font-size: var(--fz_md);
	}

	.partner_case_photo {
		width: 45%;
	}

	.partner_case_sentence {
		width: 52%;
	}
}

@media only screen and (max-width: 767px) {
	.partner_caseArea h4 {
		font-size: var(--fz_md);
	}

	.partner_case_bg {
		padding: 32px 40px 32px;
	}

	.partner_case_wrapper:nth-of-type(n + 2) {
		margin-top: 3.651vw;
		padding-top: 3.129vw;
	}

	.partner_case_wrapper h5 {
		margin-bottom: 1.905vw;
		padding-left: 20px;
	}
	.partner_case_wrapper h5:not(.esc)::before {
		width: 6px;
	}

	.partner_case {
		display: grid;
		grid-template-columns: 1fr;
		gap: 1.667vw;
	}

	.partner_case_photo {
		width: auto;
		margin-top: 0;
	}

	.partner_case_sentence {
		width: 100%
	}
}

@media only screen and (max-width: 500px) {
	.partner_caseArea {
		margin-top: 12.51vw;
		padding: 6vw 2.575vw 12.51vw;
	}

	.partner_case_bg {
		padding: 5.5vw;
	}

	.partner_case_wrapper:nth-of-type(n + 2) {
		margin-top: 5.5vw;
		padding-top: 5.5vw;
	}

	.partner_case_wrapper h5 {
		margin-bottom: 2.632vw;
		font-size: calc( var(--fz_base) * 1.15 );
		line-height: 1.4;
	}
}


/* ----- 家づくりの相談をする ----- */
.partner_contactArea {
	padding: 88px;
	background-color: var(--c_gray_bg);
}

.partner_contactBtn {
	display: flex;
	justify-content: center;
	align-items: center;
	position: relative;
	aspect-ratio: 258 / 53;
	max-width: 516px;
	/* height: 106px; */
	margin: auto;
	padding-left: 16px;
	border-radius: 53px;
	background-color: var(--c_yellow);
	color: var(--c_text);
	font-size: var(--fz_lg);
}
.partner_contactBtn:hover {
	background-color: var(--c_lightyellow);
	color: var(--c_text);
}
.partner_contactBtn::before {
	content: "";
	display: block;
	position: absolute;
	left: 24px;
	top: 50%;
	width: 16px;
	height: 16px;
	border-top: 2px solid var(--c_text);
	border-right: 2px solid var(--c_text);
	transform: translateY(-50%) rotate(45deg);
}

@media only screen and (max-width: 767px) {
	.partner_contactArea {
		padding: 80px 40px;
	}

	.partner_contactBtn::before {
		left: 3.129vw;
	}
}

@media only screen and (max-width: 500px) {
	.partner_contactArea {
		padding: 12.51vw 5vw;
	}

	.partner_contactBtn {
		font-size: var(--fz_md);
	}
	.partner_contactBtn::before {
		width: 12px;
		height: 12px;
	}
}



/* ==================================================
   よくある質問
-------------------------------------------------- */
/* ----- インデックス ----- */
/* .faq_category_list {
	display: flex;
	justify-content: center;
	flex-wrap: wrap;
	gap: 40px;
	margin-bottom: 80px;
}

.faq_category_list a {
	position: relative;
	padding: 8px 48px 8px 56px;
	border: 1px solid var(--c_text);
	border-radius: 3px;
	color: var(--c_text);
}
.faq_category_list a:hover {
	opacity: .5;
}
.faq_category_list a::after {
	content: "";
	display: block;
	position: absolute;
	left: 8px;
	top: calc(50% - 4px);
	width: 8px;
	height: 8px;
	border: 2px solid var(--c_text);
	border-top: 0;
	border-left: 0;
	transform: rotate(45deg);
}

@media only screen and (max-width: 1024px) {
	.faq_category_list {
		gap: 3.906vw;
	}
}

@media only screen and (max-width: 767px) {
	.faq_category_list {
		display: grid;
		grid-template-columns: 1fr 1fr;
		gap: 8px;
		margin-bottom: 48px;
	}

	.faq_category_list a {
		display: block;
		width: 100%;
		padding: 8px 24px 8px 32px;
		text-align: center;
	}
	.faq_category_list a::after {
		left: 16px;
	}
}

@media only screen and (max-width: 500px) {
	.faq_category_list {
		grid-template-columns: 1fr;
		margin-bottom: 32px;
	}

	.faq_category_list a {
		font-size: var(--fz_xs);
	}
} */

/* ----- コンテンツ ----- */
.faq .mainContents {
	/* margin-bottom: 0; */
	margin-bottom: 80px;
}

.faq_bg {
	/* padding: 96px 0 144px;
	background-color: var(--c_blue_bg); */
}

/* .faq_category h3 {
	position: relative;
	margin-bottom: 40px;
	padding-bottom: 16px;
	font-size: var(--fz_xxl);
	line-height: 1.55;
	letter-spacing: .095em;
	text-align: center;
}
.faq_category:nth-of-type(n + 2) h3 {
	margin-top: 88px;
}
.faq_category h3:not(.esc)::after {
	content: "";
	position: absolute;
	left: calc(50% - 24px);
	bottom: 0;
	width: 48px;
	height: 6px;
	background: url("../images/page_h3_dot.webp") var(--bg_cc_contain);
} */

.faq_list_unit {
	border-radius: 8px;
	background-color: var(--c_gray_bg);
}
.faq_list_unit:nth-of-type(n + 2) {
	/* margin-top: 16px; */
	margin-top: 12px;
}

.faq_list_unit dt {
	position: relative;
	padding: 1.3em 72px 1.3em 24px;
	/* border-radius: 6px; */
	/* background-color: #fff; */
	/* background-color: var(--c_blue);
	color: var(--c_white); */
	/* font-size: var(--fz_lg); */
	/* font-size: var(--fz_md); */
	font-size: calc( var(--fz_base) * 1.15 );
	font-weight: var(--fw_b);
	transition: var(--transition);
	line-height: 1.8;
	cursor: pointer;
}
/* .faq_list_unit dt:hover {
	background-color: var(--c_blue_hover);
} */
.faq_list_unit dt::before,
.faq_list_unit dt::after {
	content: '';
	display: block;
	position: absolute;
	/* background-color: var(--c_white); */
	background-color: var(--c_blue);
	transition: var(--transition);
}
.faq_list_unit dt::before {
	right: 28px;
	top: calc(50% - 1.5px);
	width: 20px;
	height: 3px;
}
.faq_list_unit dt::after {
	right: 36.5px;
	top: calc(50% - 10px);
	width: 3px;
	height: 20px;
}
.faq_list_unit dt.is__active::before,
.faq_list_unit dt.is__active::after {
	transform: rotate(225deg);
}

.faq_label {
	display: block;
	position: relative;
	padding-left: 64px;
}
.faq_label::before {
	display: flex;
	justify-content: center;
	align-items: center;
	position: absolute;
	left: 0;
	width: 1.6em;
	height: 1.6em;
	padding-bottom: 3px;
	border-radius: 50%;
	color: #fff;
	font-weight: var(--fw_b);
	font-size: calc( var(--fz_base) * 1.5 );
	line-height: 1;
}
.faq_label.faq_question::before {
	content: "Q";
	top: -2px;
	background-color: var(--c_blue);
}
.faq_label.faq_answer::before {
	content: "A";
	top: 1em;
	background-color: var(--c_red);
}

.faq_list_unit dd {
	display: none;
	position: relative;
	/* margin-bottom: 32px; */
	/* padding: 0 28px 1.6em 28px; */
	padding: 0 28px;
}
.faq_answer {
	padding: 1.6em 0 1.6em 64px;
	border-top: 1px dashed var(--c_bdc);
}

.faq_list_unit dd a {
	color: var(--c_blue);
	text-decoration-line: underline;
}
.faq_list_unit dd a:hover {
	color: #ccc;
	text-decoration-color: transparent;
}

.faq_comment {
	padding: 16px 36px;
	border: 2px solid var(--c_text);
	border-radius: 6px;
	/* background-color: var(--c_blue_bg); */
}

.faq_comment_title {
	font-weight: var(--fw_b);
}

.faq_quote {
	margin: 1em auto;
	padding: 16px 32px;
	border-radius: 6px;
	background-color: #fff;
	font-size: var(--fz_xs);
	line-height: 1.8;
}

.faq_quote_box {
	margin: 1em auto;
	padding: 12px 20px;
	border: 2px solid var(--c_text);
}

@media only screen and (max-width: 767px) {
	.faq .mainContents {
		margin-bottom: 48px;
	}

	/* .faq_bg {
		padding: 11.473vw 0 12.516vw;
	}

	.faq_category h3 {
		margin-bottom: 24px;
		padding-bottom: 20px;
		font-size: 3.1rem;
		line-height: 1.5;
	}
	.faq_category:nth-of-type(n + 2) h3 {
		margin-top: 11.473vw;
	} */

	.faq_list_unit dt {
		padding: 1em 72px 1em 1em;
		/* padding: 16px 56px 16px 28px; */
		/* font-size: var(--fz_base); */
	}
	.faq_list_unit dt::before {
		right: 24px;
		top: calc(50% - 1px);
		width: 20px;
		/* height: 2px; */
	}
	.faq_list_unit dt::after {
		right: 32.5px;
		top: calc(50% - 9.5px);
		/* width: 2px; */
		height: 20px;
	}

	.faq_label {
		padding-left: 60px;
	}
}

@media only screen and (max-width: 500px) {
	.faq .mainContents {
		margin-bottom: 32px;
	}

	.faq_list_unit dt {
		padding: .8em 44px .8em .8em;
		font-weight: var(--fw_b);
	}
	.faq_list_unit dt::before {
		right: 14.5px;
		top: calc(50% - 1px);
		width: 16px;
	}
	.faq_list_unit dt::after {
		right: 21px;
		top: calc(50% - 7.5px);
		height: 16px;
	}

	.faq_label {
		padding-left: 40px;
	}
	.faq_label::before {
		font-size: var(--fz_base);
	}
	.faq_label.faq_question::before {
		top: 3px;
	}

	.faq_list_unit dd {
		/* padding: 0 .8em .8em .8em; */
		padding: 0 .8em;
	}

	.faq_answer {
		padding: .8em 0 .8em 40px;
	}

	.faq_comment {
		padding: .7em 1em;
	}
}



/* ==================================================
   利用者の声
-------------------------------------------------- */
/* 一覧 */
.voice_list {
	display: grid;
	grid-template-columns: repeat(3, 1fr);
	grid-template-rows: auto;
	gap: 32px;
	width: 100%;
}

.voice_eyecatch {
	overflow: hidden;
	aspect-ratio: 181 / 85;
	border-radius: 8px;
}

.voice_list_title {
	margin-top: 12px;
	padding-left: 32px;
	background: url("../images/guide_list_icon.webp") 0 5px / 19px no-repeat;
	line-height: 1.7;
}

@media only screen and (max-width: 1080px) {
	.voice_list {
		grid-template-columns: repeat(2, 1fr);
		gap: 2.963vw;
	}
}

@media only screen and (max-width: 767px) {
	.voice_list {
		grid-template-columns: repeat(1, 1fr);
		gap: 28px;
	}
}

/* 記事 */
.voice_commentArea {
	margin-top: 40px;
	padding: 40px 48px;
	border-radius: 8px;
	background-color: var(--c_lightblue);
}

.voice_name {
	position: relative;
	margin-bottom: 16px;
	padding-bottom: 12px;
	padding-left: 1.8em;
	border-bottom: 1px solid var(--c_text);
	font-size: var(--fz_md);
	line-height: 1.7;
}
.voice_name::before {
	content: "";
	display: block;
	position: absolute;
	left: 0;
	top: 0;
	width: 1.6em;
	height: 1.6em;
	background: url("../images/voice_name_icon.svg") center 0 / contain no-repeat;
}

@media only screen and (max-width: 1024px) {
	.voice_commentArea {
		padding: 24px 32px;
	}
}

@media only screen and (max-width: 767px) {
	.voice_commentArea {
		margin-top: 5.215vw;
	}

	.voice_name {
		margin-bottom: 8px;
		padding-bottom: 8px;
		font-size: var(--fz_base);
	}
}

@media only screen and (max-width: 560px) {
	.voice_commentArea {
		padding: 24px;
	}
}



/* ==================================================
   お知らせ
-------------------------------------------------- */
/* ----- 一覧 ----- */
.topics_list {
	border-top: 1px solid var(--c_bdc_news);
}

.topics_list li {
	border-bottom: 1px solid var(--c_bdc_news);
}

.topics_list a {
	display: flex;
	justify-content: space-between;
	align-items: flex-start;
	padding: 24px 0;
}

.topics_list_title {
	width: calc(100% - 236px);
}

@media only screen and (max-width: 1024px) {
	.topics_list_title {
		width: calc(100% - 17.969vw);
	}
}

@media only screen and (max-width: 880px) {
	/* .home_information {
		margin-top: 24px;
	} */

	.topics_list a {
		padding: 20px 0;
	}

	.topics_list_title {
		width: calc(100% - 22.19vw);
	}
}

@media only screen and (max-width: 640px) {
	.topics_list a {
		flex-direction: column;
	}

	.topics_list_title {
		width: 100%;
	}
}


/* ページネーション */
.pagination {
	display: flex;
	justify-content: center;
	margin-top: 48px;
}

.pagination ul {
	display: flex;
	margin: 0;
}

.pagination span,
.pagination a {
	display: flex;
	align-items: center;
	justify-content: center;
	width: 48px;
	height: 48px;
	border: 1px solid var(--c_blue);
	border-left: 0;
	background-color: #fff;
	color: var(--c_blue);
	text-decoration: none !important;
}

.pagination a:hover {
	border-color: var(--c_blue);
	background-color: var(--c_blue_hover);
	color: var(--c_white) !important;
}

.pagination .current {
	border-color: var(--c_blue);
	background-color: var(--c_blue);
	color: var(--c_white);
}

/* .pagination a.prev { */
.pagination > a:first-child {
	border-left: 1px solid var(--c_blue);
}

@media only screen and (max-width: 1760px) {
	.pagination {
		width: 100%;
	}
}

@media only screen and (max-width: 520px) {
	.pagination ul {
		justify-content: center;
		width: 100%;
	}

	.pagination ul > li {
		width: 12%;
	}

	.pagination span,
	.pagination a {
		width: 100%;
		height: 100%;
		aspect-ratio: 1 / 1;
	}
}


/* ----- 記事 ----- */
.news_article_date {
	font-size: var(--fz_xs);
}
.news_article_date::before {
	display: inline-block;
	width: 16px;
	height: 16px;
	margin-right: 5px;
	background: url("../images/news_article_date.png") center center no-repeat;
	background-size: 16px;
	vertical-align: -3px;
	content: "";
}



/* ==================================================
   お問い合わせ
-------------------------------------------------- */
.form_group {
	display: grid;
	grid-template-columns: 34.6% auto;
	align-items: center;
	width: 900px;
	margin: auto;
}

.form_group fieldset {
	display: contents;
}

.form_label {
	display: flex;
	flex-direction: column;
	align-items: flex-start;
	justify-content: center;
	height: 100%;
	padding: 40px 0;
	border-bottom: 1px solid var(--c_white);
	font-weight: var(--fw_b);
	font-size: var(--fz_md); /* → 2.3rem */
}

.form_label label,
.form_label legend {
	display: flex;
	flex-direction: column-reverse;
	align-items: flex-start;
	justify-content: center;
}

.form_required {
	display: inline-block;
	padding: 0 8px;
	border-radius: 4px;
	background-color: var(--c_red);
	color: #fff;
	font-size: var(--fz_xs); /* → 1.4rem */
	line-height: 1.6;
}

.form_input {
	display: flex;
	align-items: center;
	height: 100%;
	padding: 40px 0;
	border-bottom: 1px solid var(--c_white);
}

.form_input .wpcf7-form-control-wrap {
	width: 100%;
}
.form_zipcodeArea.form_input .wpcf7-form-control-wrap {
	width: 12em;
	margin-left: .5em;
}

.form_input input[type="text"],
.form_input input[type="email"],
.form_input input[type="tel"],
.form_input textarea {
	width: 100%;
	padding: 12px 24px;
	border: 0;
	border-radius: 8px;
	background-color: var(--c_white);
}
.form_input textarea {
	height: 12em;
}

.form_member .wpcf7-form-control,
.form_reply .wpcf7-form-control,
.form_type .wpcf7-form-control {
	display: flex;
	flex-wrap: wrap;
}

.form_member .wpcf7-form-control .wpcf7-list-item,
.form_reply .wpcf7-form-control .wpcf7-list-item,
.form_type .wpcf7-form-control .wpcf7-list-item {
	margin: 0 1.5em 0 0;
}
.form_member .wpcf7-form-control .wpcf7-list-item:last-child,
.form_reply .wpcf7-form-control .wpcf7-list-item:last-child,
.form_type .wpcf7-form-control .wpcf7-list-item:last-child {
	margin-right: 0;
}

.form_agreeArea label .form_required {
	margin-left: .5em;
	vertical-align: 1px;
	transition: var(--transition);
}
.form_agreeArea label:hover .form_required,
.form_agreeArea label:has(:checked) .form_required {
	background-color: #fff;
	color: var(--c_red);
}

.form_agreeArea {
	margin-top: 2em;
	text-align: center;
}

.form_agreeArea .wpcf7-list-item {
	display: block;
	width: 900px;
	margin: 0 auto;
}

.form_agreeArea label {
	display: block;
	padding: 16px;
	border-radius: 6px;
	background-color: var(--c_blue_bg);
	font-weight: var(--fw_b);
	transition: var(--transition);
}
.form_agreeArea label:hover {
	background-color: var(--c_blue_hover) !important;
	color: #fff;
}
.form_agreeArea label:has(:checked) {
	background-color: var(--c_blue);
	color: #fff;
}

.form_agreeArea input[type=checkbox] + span {
	position: relative;
	padding-left: calc(20px + .5em);
	transition: var(--transition);
}
.form_agreeArea input[type=checkbox]:checked + span {
	color: #fff;
}
.form_agreeArea label:hover input[type=checkbox] + span::before,
.form_agreeArea input[type=checkbox]:checked + span::before {
	border-color: #fff;
}
.form_agreeArea input[type=checkbox] + span::before,
.form_agreeArea input[type=checkbox] + span::after {
	content: "";
	display: block;
	position: absolute;
	top: 50%;
	transform: translateY(-50%);
	transition: var(--transition);
}
.form_agreeArea input[type=checkbox] + span::before {
	left: 0;
	width: 20px;
	height: 20px;
	border: 2px solid var(--c_bdc_news);
	background-color: transparent;
}
.form_agreeArea input[type=checkbox] + span::after {
	left: 6px;
	width: 8px;
	height: 13px;
	margin-top: -8px;
	border-right: 3px solid #fff;
	border-bottom: 3px solid #fff;
	border-radius: 0;
	background-color: transparent;
	transform: rotate(45deg);
	opacity: 0;
}
.form_agreeArea input[type=checkbox]:checked + span::after {
	opacity: 1;
}

.form_agreeArea .form_agree_link {
	margin-top: .5em;
}

.form_agreeArea a {
	color: var(--c_blue);
	text-decoration-line: underline;
}
.form_agreeArea a:hover {
	color: var(--c_link_hover);
	text-decoration-color: transparent;
}

.form_submitBtn {
	display: flex;
	justify-content: center;
	align-items: center;
	width: 324px;
	height: 66px;
	margin: 56px auto 0;
	border: 0;
	border-radius: 33px !important;
	background: var(--c_yellow) url("../images/btn_arrow.webp") right 16px center / 7px 12px no-repeat;
	color: var(--c_text);
	transition: var(--transition);
}
.form_submitBtn:hover {
	background-color: var(--c_lightyellow);
	cursor: pointer;
}
.form_submitArea .form_submitBtn {
	margin: 0 0 0 48px;
	cursor: pointer;
}

.contactArea .bl_form_confirm[disabled] {
	background-color: var(--c_gray_bg);
	background-image: none;
	color: var(--c_bdc_news);
	cursor: not-allowed;
}

@media only screen and (max-width: 1024px) {
	.form_group,
	.form_agreeArea .wpcf7-list-item {
		width: 100%;
	}
}

@media only screen and (max-width: 840px) {
	.form_group {
		grid-template-columns: 100%;
	}

	.form_label {
		padding-top: 16px;
		padding-bottom: 0;
		border-bottom: 0;
		line-height: 1.6;
	}

	.form_label .br::before {
		content: none;
	}

	.form_input {
		padding-top: 4px;
		padding-bottom: 32px;
	}
}

@media only screen and (max-width: 560px) {
	.form_inputArea .form_group {
		flex-direction: column;
		align-items: flex-start;
	}

	.form_member .wpcf7-form-control,
	.form_reply .wpcf7-form-control,
	.form_type .wpcf7-form-control {
		flex-direction: column;
	}
}

@media only screen and (max-width: 480px) {
	.form_agreeArea label {
		display: flex;
		flex-direction: column;
	}

	.form_agreeArea input[type=checkbox] + span {
		display: flex;
		flex-direction: column-reverse;
		align-items: flex-start;
		justify-content: center;
		padding-left: 32px;
	}

	.form_agreeArea label .form_required {
		margin-left: 0;
	}

	.form_submitBtn {
		/* width: 100%; */
		width: calc(100% - 80px);
		margin-top: 40px;
		margin-left: 40px;
	}
	.form_submitArea .form_submitBtn {
		margin-top: 0;
		margin-left: 40px;
	}
}

/* 確認画面 */
/* .bl_formConfirm, .wpcf7-response-output, .bl_formConfirm .wpcf7-spinner { */
.bl_formConfirm, .wpcf7-response-output {
	display: none;
}

.form_conf_txt {
	margin-bottom: 1em;
	text-align: center;
}

.form_submitArea {
	display: flex;
	flex-wrap: wrap;
	flex-direction: column;
	align-items: center;
	margin-top: 56px;
}

.form_backBtn {
	display: flex;
	justify-content: center;
	align-items: center;
	width: 324px;
	height: 66px;
	margin-top: 24px;
	border: 2px solid var(--c_yellow);
	border-radius: 33px !important;
	background: url("../images/btn_arrow_back.webp") 16px center / 7px 12px no-repeat;
	color: var(--c_text);
	transition: var(--transition);
	cursor: pointer;
}
.form_backBtn:hover {
	opacity: .5;
}

.form_submit {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
}

.bl_formConfirm .wpcf7-spinner {
	margin-right: 0;
}

@media only screen and (max-width: 480px) {
	.form_backBtn {
		/* width: 100%; */
		width: calc(100% - 80px);
		/* margin-top: 40px;
		margin-left: 40px; */
	}

	.form_submit {
		width: 100%;
	}

	.bl_formConfirm .wpcf7-spinner {
		margin-left: 16px;
	}
}

/* reCAPTCHAマーク移動 */
.grecaptcha-badge {
	margin-bottom: 64px !important;
}



/* ==================================================
   404 Not Found
-------------------------------------------------- */
.notFound_sitemap {
	margin-top: 40px;
}

.notFound_sitemap .allNav_nav > li:not(.allNav_nav_login) a {
	color: var(--c_text);
	text-decoration: none;
}