/* ==============================================
   Common Inner Container
   ============================================== */
.pk_inner {
	width: min(100% - 40px, 961px);
	margin: 0 auto;
}

/* ==============================================
   FV
   ============================================== */
.pk_fv {
	position: relative;
	width: 100%;
	height: 390px;
	display: flex;
	justify-content: center;
	align-items: center;
	background: no-repeat center center / cover;
}

.pk_fv_badge {
	position: absolute;
	top: 10%;
	left: 2.7%;
	color: #fff;
	font-size: 22px;
	font-weight: 400;
	letter-spacing: 0.06em;
	background-color: #808080;
	border-radius: 100px;
	padding: 10px 28px;
}

.pk_fv_ttl {
	color: #fff;
	font-size: 46px;
	font-weight: 400;
	letter-spacing: 0.04em;
}

/* ==============================================
   Summary
   ============================================== */
.pk_summary {
	background: #fff;
	padding: 100px 0;
}

.pk_summary_head {
	color: #858585;
	font-size: 16px;
	letter-spacing: 0.04em;
	text-align: center;
	margin-bottom: 23px;
}

/* ==============================================
   BG Wrap (intro〜Section3 共通)
   ============================================== */
.pk_bg_wrap {
	position: relative;
}

.pk_bg_wrap::before {
	content: "";
	position: absolute;
	inset: 0;
	background: url(/building-materials/pickup/images/bg-img.jpg) center
		center / cover no-repeat;
	background-color: #fbf6f6;
	background-blend-mode: multiply;
	opacity: 0.6;
	z-index: 0;
}

@madem screen and (max-width: 768px) {
	.pk_bg_wrap::before {
		background-image: url(/building-materials/pickup/images/bg-img-sp.jpg);
	}
}

.pk_bg_wrap > * {
	position: relative;
	z-index: 1;
}

.pk_bg_wrap .pk_summary,
.pk_bg_wrap .pk_features_wrap {
	background: transparent;
}

/* ==============================================
   Features Wrapper
   ============================================== */
.pk_features_wrap {
	background: #fbf6f6;
	padding: 126px 0 100px;
}

/* ==============================================
   Feature Section Override (pickup共通)
   ============================================== */
.un_bm2 .ly_main,
.un_bm10z .ly_main {
	margin-top: 147px;
}

.un_bm2 .pk_feature,
.un_bm10z .pk_feature {
	position: relative;
	overflow: visible;
	padding-top: 70px;
	padding-left: 0;
	padding-right: 0;
}

.un_bm2 .pk_features_wrap .pk_feature,
.un_bm10z .pk_features_wrap .pk_feature {
	width: min(100% - 40px, 1366px);
	margin-left: auto;
	margin-right: auto;
}

.un_bm2 .pk_feature_num,
.un_bm10z .pk_feature_num {
	position: absolute;
	top: -30px;
	left: 50%;
	transform: translateX(-50%);
	margin: 0;
}

/* ==============================================
   Feature Section (numbered)
   ============================================== */
.pk_feature {
	padding: 50px 50px 92px;
	background: #fff;
	margin-bottom: 112px;
}

.pk_feature_num {
	width: 55px;
	height: 55px;
	border-radius: 50%;
	background: #a72126;
	color: #fff;
	font-size: 28px;
	font-weight: 500;
	display: flex;
	justify-content: center;
	align-items: center;
	margin: 0 auto 32px;
}

.pk_feature_ttl {
	font-size: 36px;
	font-weight: 500;
	text-align: center;
	letter-spacing: 0.04em;
	line-height: 1.5;
	margin-bottom: 18px;
}

.pk_feature_sub {
	font-size: 20px;
	line-height: 2;
	text-align: center;
	letter-spacing: 0.04em;
	margin-bottom: 50px;
	color: #444;
}

/* ==============================================
   Chevron Divider
   ============================================== */
.pk_chevron {
	display: flex;
	justify-content: center;
}

.pk_chevron::before {
	content: "";
	display: block;
	width: 48px;
	height: 48px;
	border-right: 5px solid #a72126;
	border-bottom: 5px solid #a72126;
	transform: rotate(45deg) skew(-9deg, -9deg);
}

/* ==============================================
   Button (chemicals-linkArea 同仕様)
   ============================================== */
.pk_btn {
	display: flex;
	justify-content: space-between;
	align-items: center;
	background: #a72126;
	color: #fff;
	text-decoration: none;
	font-size: 24px;
	font-weight: 500;
	letter-spacing: 0.04em;
	max-width: 441px;
	width: 100%;
	height: 75px;
	margin-left: auto;
}

.pk_btn p {
	text-align: center;
	width: 100%;
	margin: 0;
}

.pk_btn_arrow_area {
	width: 75px;
	height: 48px;
	position: relative;
	overflow: hidden;
	border-left: 1px solid #fff;
	flex-shrink: 0;
}

.pk_btn_arrow_area span {
	position: absolute;
	top: 50%;
	left: 50%;
	width: 10px;
	height: 10px;
	border-top: 2px solid #fff;
	border-right: 2px solid #fff;
	transition:
		transform 0.38s cubic-bezier(0.22, 0.8, 0.2, 1),
		opacity 0.38s cubic-bezier(0.22, 0.8, 0.2, 1);
}

.pk_btn_arrow--current {
	transform: translate(-50%, -50%) rotate(45deg);
	opacity: 1;
}

.pk_btn_arrow--next {
	transform: translate(-200%, -50%) rotate(45deg);
	opacity: 0;
}

.pk_btn:hover .pk_btn_arrow--current {
	transform: translate(100%, -50%) rotate(45deg);
	opacity: 0;
}

.pk_btn:hover .pk_btn_arrow--next {
	transform: translate(-50%, -50%) rotate(45deg);
	opacity: 1;
}

/* ==============================================
   Cases Section
   ============================================== */
.pk_cases {
	padding-top: 60px;
}

.pk_cases_ttl {
	font-size: 26px;
	font-weight: 500;
	text-align: center;
	letter-spacing: 0.04em;
	margin-bottom: 50px;
}

.pk_case_item {
	width: min(100%, 1242px);
	display: flex;
	align-items: flex-start;
	gap: 5.7%;
	margin: 0 auto 79px;
}

.pk_case_item:last-child {
	margin-bottom: 0;
}
.pk_case_slider {
	width: 50%;
	flex-shrink: 0;
	padding-bottom: 40px;
	position: relative;
}

.pk_case_slider img {
	width: 100%;
	display: block;
}

.pk_case_body {
	margin-top: auto;
	margin-bottom: auto;
}

.swiper-slide {
	position: relative;
}

.pk_case_slide_ttl {
	background-color: #fff;
	font-size: 18px;
	font-weight: 500;
	letter-spacing: 0.04em;
	padding: 14px 18px;
	position: absolute;
	bottom: 20px;
	left: 20px;
	z-index: 1;
}

.pk_case_tag {
	display: inline-block;
	background: #a72126;
	color: #fff;
	font-size: 20px;
	font-weight: 500;
	padding: 9px 32px;
	border-radius: 26px;
	margin-bottom: 24px;
	letter-spacing: 0.04em;
}

.pk_case_tag--dark {
	background: #282828;
}

.pk_case_ttl {
	font-size: 26px;
	font-weight: 500;
	letter-spacing: 0.04em;
	line-height: 1.6;
	margin-bottom: 20px;
}

.pk_case_txt {
	font-size: 20px;
	letter-spacing: 0.04em;
	line-height: 1.9;
	color: #444;
}

.pk_case_link_txt {
	font-size: 20px;
	letter-spacing: 0.04em;
	line-height: 1.9;
	color: #444;
}

/* Swiper customization */
.pk_case_slider .swiper-button-prev,
.pk_case_slider .swiper-button-next {
	--swiper-navigation-color: #fff;
}

.pk_case_slider .swiper-pagination {
	bottom: 10px;
}

.pk_case_slider .swiper-pagination-bullet {
	background: #000;
	opacity: 0.3;
}

.pk_case_slider .swiper-pagination-bullet-active {
	background: #282828;
	opacity: 1;
}

/* ==============================================
   Bottom Link Blocks
   ============================================== */
.pk_links {
	background: #fff;
	padding: 104px 0 80px;
}

.pk_links_inner {
	width: min(100% - 40px, 1484px);
	margin: 0 auto;
	display: grid;
	grid-template-columns: 1fr 1fr;
	gap: 65px;
}

.pk_link_item {
	display: block;
	text-decoration: none;
	overflow: hidden;
}

.pk_link_item_img_wrap {
	overflow: hidden;
	position: relative;
}

.pk_link_item_img {
	width: 100%;
	display: block;
	transition: transform 0.3s ease;
}

.pk_link_item:hover .pk_link_item_img {
	transform: scale(1.03);
}

.pk_link_item_footer {
	display: flex;
	align-items: center;
	justify-content: space-between;
	padding: 18px 0;
}

.pk_link_item_ttl {
	font-size: 32px;
	font-weight: 500;
	letter-spacing: 0.04em;
	color: #282828;
}

.pk_link_item_btn {
	width: 75px;
	height: 75px;
	background: #a72126;
	position: absolute;
	bottom: 0;
	right: 0;
	overflow: hidden;
}

.pk_link_item_btn_arrow--current,
.pk_link_item_btn_arrow--next {
	position: absolute;
	top: 50%;
	left: 50%;
	width: 10px;
	height: 10px;
	border-top: 2px solid #fff;
	border-right: 2px solid #fff;
	transition:
		transform 0.38s cubic-bezier(0.22, 0.8, 0.2, 1),
		opacity 0.38s cubic-bezier(0.22, 0.8, 0.2, 1);
}

.pk_link_item_btn_arrow--current {
	transform: translate(-50%, -50%) rotate(45deg);
	opacity: 1;
}

.pk_link_item_btn_arrow--next {
	transform: translate(-200%, -50%) rotate(45deg);
	opacity: 0;
}

.pk_link_item:hover .pk_link_item_btn_arrow--current {
	transform: translate(100%, -50%) rotate(45deg);
	opacity: 0;
}

.pk_link_item:hover .pk_link_item_btn_arrow--next {
	transform: translate(-50%, -50%) rotate(45deg);
	opacity: 1;
}

/* ==============================================
   CTA (Video + FAQ)
   ============================================== */
.pk_cta {
	background: #f6f6f6;
	padding: 81px 0 84px;
}

.pk_cta_inner {
	display: grid;
	grid-template-columns: 1fr 1fr;
	gap: 36px;
	width: min(100% - 40px, 1726px);
	margin: 0 auto;
}

.pk_cta_video,
.pk_cta_faq {
	position: relative;
	display: grid;
	grid-template-columns: auto 1fr;
	grid-template-areas:
		"icon block"
		"icon desc";
	align-content: center;
	column-gap: 72px;
	row-gap: 10px;
	height: 225px;
	text-decoration: none;
	color: #fff;
	padding: 25px 80px 25px 69px;
	transition: opacity 0.2s;
}

.pk_cta_video {
	padding: 25px 80px 25px 63px;
	background: #282828;
	opacity: 0.8;
}

.pk_cta_video:hover {
	opacity: 0.9;
}

.pk_cta_faq {
	padding: 25px 80px 25px 78px;
	background: #a72126;
	opacity: 0.5;
}

.pk_cta_faq:hover {
	opacity: 0.8;
}

.pk_cta_icon {
	grid-area: icon;
	align-self: center;
	flex-shrink: 0;
	width: auto;
	display: flex;
	align-items: center;
	justify-content: center;
}

.pk_cta_icon img {
	display: block;
}

.pk_cta_video .pk_cta_icon img {
	width: 116px;
}

.pk_cta_faq .pk_cta_icon img {
	width: 95px;
	margin-top: 20px;
}

.pk_cta_block {
	grid-area: block;
	display: flex;
	flex-direction: column;
	align-items: flex-start;
	gap: 8px;
}

.pk_cta_label {
	display: block;
	font-size: 16px;
	letter-spacing: 0.04em;
	opacity: 0.75;
}

.pk_cta_heading {
	display: block;
	font-size: 30px;
	font-weight: 500;
	letter-spacing: 0.04em;
}

.pk_cta_desc {
	grid-area: desc;
	font-size: 16px;
	line-height: 1.8;
	letter-spacing: 0.04em;
	opacity: 0.85;
	margin: 0;
}

.pk_cta_arrow {
	position: absolute;
	top: 50%;
	right: 39px;
	transform: translateY(-50%);
}

.pk_cta_arrow img {
	width: 8px;
	display: block;
}

/* ==============================================
   Break Utilities
   ============================================== */
br.br_sp {
	display: none;
}

/* ==============================================
   SP Responsive (max-width: 768px)
   ============================================== */
@media screen and (max-width: 768px) {
	/* Layout */
	.un_bm2 .ly_main,
	.un_bm10z .ly_main {
		margin-top: 72px;
	}

	/* Feature section: 全幅解放 */
	.un_bm2 .pk_features_wrap .pk_feature,
	.un_bm10z .pk_features_wrap .pk_feature {
		width: 100%;
	}

	/* FV */
	.pk_fv {
		height: 250px;
	}
	.pk_fv_badge {
		top: 14.5%;
		left: 50%;
		transform: translateX(-50%);
		font-size: 14px;
		padding: 9px 24px;
	}
	.pk_fv_ttl {
		font-size: 26px;
		text-align: center;
		padding: 0 20px;
		line-height: 1.5;
		margin-top: 16px;
	}

	/* Summary */
	.pk_summary {
		padding: 60px 0 40px;
	}
	.un_bm10z .pk_summary {
		padding: 60px 0;
	}
	.pk_summary_head {
		font-size: 14px;
		margin-bottom: 20px;
	}

	/* Feature section */
	.pk_feature {
		padding: 30px 0;
		margin-bottom: 30px;
	}

	/* Features wrap */
	/* .pk_features_wrap {
		padding-bottom: 1px;
	} */
	.pk_feature_num {
		font-size: 22px;
		margin-bottom: 20px;
	}
	.pk_feature_ttl {
		font-size: 22px;
		margin-bottom: 25px;
		line-height: 1.58;
	}
	.pk_feature_sub {
		font-size: 16px;
		line-height: 2;
		text-align: left;
		margin-bottom: 25px;
	}

	/* Chevron */
	.pk_chevron::before {
		width: 28px;
		height: 28px;
		transform: rotate(45deg) skew(-3deg, -3deg);
	}

	/* Button */
	.pk_btn {
		max-width: none;
		font-size: 16px;
		height: 55px;
	}
	.pk_btn_arrow_area {
		width: 58px;
		height: 33px;
		margin-left: 12px;
	}

	/* Cases layout: text top, slider bottom */
	.pk_case_item {
		flex-direction: column-reverse;
		gap: 0;
		margin-bottom: 50px;
	}
	.pk_case_slider {
		width: 100%;
		margin-top: 20px;
	}
	.pk_case_body {
		width: 100%;
		padding-top: 0;
	}
	.pk_case_tag {
		display: flex;
		font-size: 16px;
		padding: 6px 30px;
		margin: 8px auto 26px;
		width: fit-content;
	}
	.pk_case_ttl {
		font-size: 18px;
		margin-bottom: 20px;
	}
	.pk_case_txt,
	.pk_case_link_txt {
		font-size: 16px;
	}
	.pk_case_slide_ttl {
		font-size: 14px;
		padding: 10px 12px;
		bottom: 14px;
		left: 12px;
	}

	/* Cases section title */
	.pk_cases_ttl {
		font-size: 20px;
		margin-bottom: 30px;
	}

	/* Bottom links: 1 column */
	.pk_links {
		padding: 25px 0;
		margin-top: 40px;
	}
	.un_bm10z .pk_links {
		margin-top: 0;
	}
	.pk_links_inner {
		grid-template-columns: 1fr;
		gap: 16px;
	}
	.pk_link_item_ttl {
		font-size: 16px;
	}
	.pk_link_item_btn {
		width: 50px;
		height: 50px;
	}

	/* 改行ユーティリティ */
	br.br_pc {
		display: none;
	}
	br.br_sp {
		display: block;
	}
}

/* ==============================================
   CTA Responsive (max-width: 1200px)
   ============================================== */
@media screen and (max-width: 1200px) {
	/* CTA: 1 column stacked */
	.pk_cta {
		padding: 45px 0 26px;
	}
	.pk_cta_inner {
		grid-template-columns: 1fr;
		gap: 10px;
		padding: 0;
	}
	.pk_cta_video,
	.pk_cta_faq {
		display: flex;
		flex-direction: row;
		flex-wrap: wrap;
		align-items: center;
		column-gap: 20px;
		row-gap: 22px;
		height: auto;
		padding: 28px 24px 70px;
	}
	.pk_cta_icon {
		grid-area: unset;
		align-self: auto;
		flex-shrink: 0;
	}
	.pk_cta_video .pk_cta_icon img,
	.pk_cta_faq .pk_cta_icon img {
		width: 70px;
		height: auto;
		margin-top: 0;
	}
	.pk_cta_block {
		grid-area: unset;
		flex: 1;
		margin-top: -6px;
	}
	.pk_cta_desc {
		grid-area: unset;
		flex-basis: 100%;
		font-size: 14px;
		line-height: 1.6;
		letter-spacing: 0.12em;
	}
	.pk_cta_heading {
		font-size: 20px;
	}
	.pk_cta_arrow {
		top: auto;
		bottom: 25px;
		transform: none;
		right: 26px;
	}
}
