/*************************************************

column-list（コラム一覧）

*************************************************/
.column-list {
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	-ms-flex-wrap: wrap;
	    flex-wrap: wrap;
	gap: 4rem 3rem;
}

.column-list__item {
	width: calc(33.3333333333% - 2rem);
}
@media screen and (max-width: 992px) {
	.column-list__item {
		width: calc(50% - 1.5rem);
	}
}
@media screen and (max-width: 767px) {
	.column-list__item {
		width: 100%;
	}
}

.column-list__anchor {
	display: block;
	color: #2e2e2e;
	text-decoration: none;
}

.column-list__thumb {
	overflow: hidden;
	aspect-ratio: 3/2;
	background-color: #E9EBED;
	border-radius: 0.5rem;
	line-height: 0;
}
.column-list__thumb img {
	width: 100%;
	height: 100%;
	-o-object-fit: cover;
	   object-fit: cover;
	-webkit-transition: -webkit-transform 0.4s;
	transition: -webkit-transform 0.4s;
	transition: transform 0.4s;
	transition: transform 0.4s, -webkit-transform 0.4s;
}
@media (any-hover: hover) {
	.column-list__anchor:hover .column-list__thumb img {
		-webkit-transform: scale(1.05);
		        transform: scale(1.05);
	}
}

.column-list__body {
	padding-top: 1.5rem;
}

.column-list__date {
	color: #8C8F91;
	font-size: 1.3rem;
	letter-spacing: 0.03em;
}

.column-list__title {
	margin-top: 0.8rem;
	font-size: 1.8rem;
	font-weight: 700;
	line-height: 1.5;
}
@media screen and (max-width: 767px) {
	.column-list__title {
		font-size: 1.6rem;
	}
}

.column-list__excerpt {
	margin-top: 1rem;
	color: #2e2e2e;
	font-size: 1.4rem;
	line-height: 1.7;
}

/* 上部表示エリア：通常一覧と行間（gap）を揃えて自然に続けて見せる */
.column-list--featured {
	margin-bottom: 4rem;
}

/*************************************************

column-pager（ページネーション）

*************************************************/
.column-pager {
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	-webkit-box-pack: center;
	    -ms-flex-pack: center;
	        justify-content: center;
	-webkit-box-align: center;
	    -ms-flex-align: center;
	        align-items: center;
	-ms-flex-wrap: wrap;
	    flex-wrap: wrap;
	gap: 1rem;
	margin-top: 6rem;
}
@media screen and (max-width: 767px) {
	.column-pager {
		margin-top: 4rem;
	}
}

.column-pager .page-numbers {
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	-webkit-box-align: center;
	    -ms-flex-align: center;
	        align-items: center;
	-webkit-box-pack: center;
	    -ms-flex-pack: center;
	        justify-content: center;
	min-width: 4rem;
	height: 4rem;
	padding: 0 0.5rem;
	color: #2f4050;
	font-weight: 700;
	text-decoration: none;
	background-color: #fff;
	border: #CCCCCC solid 1px;
	-webkit-transition: border-color 0.3s, background-color 0.3s, color 0.3s;
	transition: border-color 0.3s, background-color 0.3s, color 0.3s;
}
@media (any-hover: hover) {
	.column-pager a.page-numbers:hover {
		border-color: #ac1f28;
	}
}
.column-pager .page-numbers.current {
	color: #fff;
	background-color: #ac1f28;
	border-color: #ac1f28;
}
.column-pager .page-numbers.dots {
	border-color: transparent;
}

/*************************************************

column-empty（0件時）

*************************************************/
.column-empty {
	padding: 4rem 0;
	text-align: center;
}

/*************************************************

column-detail（コラム詳細）

*************************************************/
.column-detail-date {
	margin-bottom: 1.5rem;
	color: #8C8F91;
	letter-spacing: 0.03em;
}

.column-detail-title {
	margin-bottom: 4rem;
	color: #2f4050;
	font-size: 2.4rem;
	font-weight: 700;
	line-height: 1.4;
}
@media screen and (max-width: 767px) {
	.column-detail-title {
		margin-bottom: 3rem;
		font-size: 1.8rem;
	}
}

.column-detail-mv {
	margin-bottom: 4rem;
	overflow: hidden;
	border-radius: 0.5rem;
	line-height: 0;
}

/*************************************************

column-cta（コラム詳細 相談導線）

*************************************************/
.column-cta {
	-webkit-box-sizing: border-box;
	        box-sizing: border-box;
	width: min(98rem, 100% - 10rem);
	margin: 8rem auto 0;
	padding: 5rem 4rem;
	text-align: center;
	background-color: #F5F6F7;
	border-top: #ac1f28 solid 3px;
	border-radius: 0.5rem;
}
@media screen and (max-width: 767px) {
	.column-cta {
		width: min(98rem, 100% - 2rem);
		margin-top: 6rem;
		padding: 3.5rem 2rem;
	}
}

.column-cta__title {
	color: #2f4050;
	font-size: 2.2rem;
	font-weight: 700;
	line-height: 1.5;
}
@media screen and (max-width: 767px) {
	.column-cta__title {
		font-size: 1.8rem;
	}
}

.column-cta__text {
	max-width: 36em;
	margin-top: 1.5rem;
	margin-inline: auto;
	line-height: 1.75;
	text-wrap: balance;
}
@media screen and (max-width: 767px) {
	.column-cta__text {
		font-size: 1.4rem;
	}
}

.column-cta__method {
	white-space: nowrap;
}

.column-cta__links {
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	-webkit-box-pack: center;
	    -ms-flex-pack: center;
	        justify-content: center;
	gap: 1.5rem;
	margin-top: 3rem;
}
@media screen and (min-width: 768px) and (max-width: 1023px) {
	.column-cta__links {
		-ms-flex-wrap: wrap;
		    flex-wrap: wrap;
	}
}
@media screen and (max-width: 767px) {
	.column-cta__links {
		-webkit-box-orient: vertical;
		-webkit-box-direction: normal;
		    -ms-flex-direction: column;
		        flex-direction: column;
		gap: 1rem;
		margin-top: 2.5rem;
	}
}

.column-cta__links-item {
	-webkit-box-flex: 1;
	    -ms-flex: 1 1 0px;
	        flex: 1 1 0;
	max-width: 28rem;
}
@media screen and (min-width: 768px) and (max-width: 1023px) {
	.column-cta__links-item {
		-webkit-box-flex: 0;
		    -ms-flex: 0 0 calc(50% - 0.75rem);
		        flex: 0 0 calc(50% - 0.75rem);
		max-width: none;
	}
}
@media screen and (max-width: 767px) {
	.column-cta__links-item {
		-webkit-box-flex: 0;
		    -ms-flex: none;
		        flex: none;
		max-width: none;
	}
}

.column-cta__anchor {
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	-webkit-box-align: center;
	    -ms-flex-align: center;
	        align-items: center;
	-webkit-box-pack: center;
	    -ms-flex-pack: center;
	        justify-content: center;
	gap: 1rem;
	height: 6rem;
	padding: 0 1.5rem;
	color: #fff;
	font-size: 1.5rem;
	font-weight: 700;
	text-decoration: none;
	background-color: #2e2e2e;
	border: #2e2e2e solid 2px;
	border-radius: 0.5rem;
	-webkit-transition: border-color 0.3s, opacity 0.3s;
	transition: border-color 0.3s, opacity 0.3s;
}
@media screen and (min-width: 1024px) and (max-width: 1199px) {
	.column-cta__anchor {
		padding: 0 1rem;
		font-size: 1.4rem;
	}
}
@media screen and (max-width: 767px) {
	.column-cta__anchor {
		height: 5.5rem;
		font-size: 1.4rem;
	}
}
@media (any-hover: hover) {
	.column-cta__anchor:hover {
		border-color: #b89d5a;
		opacity: 0.9;
	}
}

.column-cta__icon {
	-ms-flex-negative: 0;
	    flex-shrink: 0;
}

.services-detail-indexbtn.column-detail-indexbtn {
	margin-top: 6rem;
}
@media screen and (max-width: 767px) {
	.services-detail-indexbtn.column-detail-indexbtn {
		margin-top: 4rem;
	}
}
