/*====================
砂利部（/gravel）
インナー最大幅: 1420px / パネル: 1400px / 紺: #16346D
====================*/

.gravel-page {
	display: block;
	background: var(--color-topics-bg, #f4fafe);
}

.gravel-page__inner {
	box-sizing: border-box;
	width: 100%;
	max-width: 1420px;
	margin-inline: auto;
	padding: 48px 16px 0;
}

@media screen and (max-width: 900px) {
	.gravel-page__inner {
		padding-top: 40px;
	}
}

@media screen and (max-width: 600px) {
	.gravel-page__inner {
		padding: 32px 16px 0;
	}
}

.visually-hidden {
	position: absolute;
	width: 1px;
	height: 1px;
	padding: 0;
	margin: -1px;
	overflow: hidden;
	clip: rect(0, 0, 0, 0);
	white-space: nowrap;
	border: 0;
}

/* ダミー画像 */
.gravel-placeholder {
	display: block;
	width: 100%;
	aspect-ratio: var(--gravel-ph-ratio, 16 / 10);
	background: linear-gradient(145deg, #dce6f4 0%, #b8c9e0 55%, #9eb5d4 100%);
}

.gravel-intro__picture img {
	display: block;
	width: 100%;
	height: auto;
	object-fit: cover;
}

/* --------------------------------------------------------------------------
   BOX1（セクション1・イントロ）
   -------------------------------------------------------------------------- */
.gravel-intro__outer {
	box-sizing: border-box;
	position: relative;
	width: 100%;
	max-width: 1720px;
	margin: 0 auto;
	padding: 48px 16px 0;
}

@media screen and (max-width: 600px) {
	.gravel-intro__outer {
		padding: 32px 16px 0;
	}
}

.gravel-box1 {
	position: relative;
	z-index: 1;
	margin-bottom: 0px;
	padding-bottom: clamp(48px, 8vw, 93px);
}

@media screen and (max-width: 600px) {
	.gravel-box1 {
		margin-bottom: 48px;
		padding-bottom: 56px;
	}
}

.gravel-box1__bg {
	position: absolute;
	bottom: 0;
	left: -0.04em;
	z-index: 0;
	margin: 0;
	color: rgba(22, 52, 109, 0.06);
	font-family: var(--font-en);
	font-size: clamp(80px, 14vw, 180px);
	font-style: italic;
	font-weight: 500;
	line-height: 1;
	letter-spacing: -0.01em;
	white-space: nowrap;
	pointer-events: none;
	user-select: none;
}

@media screen and (max-width: 600px) {
	.gravel-box1__bg {
		left: -0.08em;
		font-size: clamp(64px, 18vw, 120px);
	}
}

.gravel-box1__inner {
	position: relative;
	z-index: 1;
}

.gravel-intro__inner {
	box-sizing: border-box;
	width: 100%;
	max-width: 1400px;
	margin-inline: auto;
}

.gravel-intro__grid {
	display: grid;
	grid-template-columns: minmax(0, 1fr) minmax(300px, 46%);
	gap: clamp(24px, 3vw, 48px);
	align-items: center;
}

@media screen and (max-width: 900px) {
	.gravel-intro__grid {
		grid-template-columns: 1fr;
	}
}

.gravel-intro__title {
	margin: 0 0 40px;
	color: #16346d;
	font-size: 32px;
	font-weight: 500;
	line-height: 1.5;
	letter-spacing: 0.1em;
}

@media screen and (max-width: 600px) {
	.gravel-intro__title {
		margin-bottom: 24px;
		font-size: 24px;
	}
}

.gravel-intro__title.js-anim-sweep {
	display: inline-block;
	width: fit-content;
	max-width: 100%;
	vertical-align: top;
}

.gravel-intro__title .js-anim-sweep__content {
	display: block;
}

.gravel-intro__br-sp {
	display: none;
}

@media screen and (max-width: 600px) {
	.gravel-intro__br-sp {
		display: inline;
	}
}

.gravel-intro__text {
	color: #16346d;
	font-size: 16px;
	font-weight: 400;
	line-height: 1.8;
	letter-spacing: 0.08em;
}

@media screen and (max-width: 600px) {
	.gravel-intro__text {
		font-size: 14px;
	}
}

.gravel-intro__text-p {
	margin: 0 0 1em;
}

.gravel-intro__text-p:last-child {
	margin-bottom: 0;
}

.gravel-intro__media {
	position: relative;
	min-width: 0;
}

.gravel-intro__tri-stack {
	margin-left: auto;
	margin-right: 0;
}

/* WHAT WE DO 左下ゆらぎ（272×129） */
.gravel-intro__yuragi-slot {
	--gravel-intro-yuragi-w: 272px;
	--gravel-intro-yuragi-h: 129px;

	position: absolute;
	z-index: 0;
	bottom: 0;
	left: 0;
	width: var(--gravel-intro-yuragi-w);
	height: var(--gravel-intro-yuragi-h);
	overflow: visible;
	pointer-events: none;
}

@media screen and (max-width: 600px) {
	.gravel-intro__yuragi-slot {
		--gravel-intro-yuragi-w: 218px;
		--gravel-intro-yuragi-h: 103px;

		transform: scale(0.8);
		transform-origin: left bottom;
	}
}

.gravel-intro__yuragi {
	position: relative;
	width: 100%;
	height: 100%;
	overflow: visible;
}

.gravel-intro__yuragi-shape {
	position: absolute;
	display: block;
	transform-origin: 50% 50%;
}

.gravel-intro__yuragi-shape--1 {
	top: 52px;
	left: 0;
	width: 49px;
	height: 29px;
	background: rgba(146, 200, 234, 0.5);
	clip-path: polygon(0 40%, 100% 0, 100% 100%);
}

.gravel-intro__yuragi-shape--2 {
	top: 120px;
	left: 62px;
	width: 10px;
	height: 12px;
	background: rgba(53, 86, 107, 1);
	clip-path: polygon(50% 0, 100% 100%, 0 100%);
}

.gravel-intro__yuragi-shape--3 {
	top: 123px;
	left: 0;
	width: 105px;
	height: 109px;
	background: rgba(209, 237, 255, 0.5);
	clip-path: polygon(0 100%, 100% 8%, 100% 100%);
}

/* --------------------------------------------------------------------------
   セクション2（私たちにできること）
   -------------------------------------------------------------------------- */
.gravel-section2 {
	margin-bottom: 64px;
}

@media screen and (max-width: 600px) {
	.gravel-section2 {
		margin-bottom: 48px;
	}
}

.gravel-section2__head {
	margin-bottom: 0;
	padding: 0 16px 24px;
	text-align: center;
}

@media screen and (max-width: 600px) {
	.gravel-section2__head {
		padding: 0 0px 16px;
	}
}

.gravel-section2__panels {
	position: relative;
	z-index: 1;
	box-sizing: border-box;
	width: 1400px;
	max-width: calc(100% - 32px);
	margin-inline: auto;
}

@media screen and (max-width: 600px) {
	.gravel-section2__panels {
		width: 100%;
		max-width: none;
		margin-inline: 0;
	}
}

.gravel-section2__inner {
	box-sizing: border-box;
	width: 100%;
	max-width: 1420px;
	margin-inline: auto;
	text-align: center;
}

.gravel-section2__heading {
	display: flex;
	flex-direction: column;
	align-items: center;
	margin-bottom: 48px;
}

@media screen and (max-width: 600px) {
	.gravel-section2__heading {
		margin-bottom: 32px;
	}
}

.gravel-section2__badge {
	display: inline-flex;
	align-items: stretch;
	justify-content: center;
	margin: 0 0 12px;
	padding: 0;
}

.gravel-section2__badge-tri {
	display: block;
	flex: 0 0 17px;
	width: 17px;
	height: 40px;
	background-color: #16346d;
}

.gravel-section2__badge-tri--left {
	clip-path: polygon(100% 0, 100% 100%, 0 50%);
	transform: translateX(1px);
}

.gravel-section2__badge-tri--right {
	clip-path: polygon(0 0, 0 100%, 100% 50%);
	transform: translateX(-1px);
}

.gravel-section2__badge-text {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	box-sizing: border-box;
	height: 40px;
	padding: 0 16px;
	background-color: #16346d;
	color: #fff;
	font-size: 16px;
	font-weight: 500;
	line-height: 1.32;
	letter-spacing: 0.08em;
	white-space: nowrap;
}

@media screen and (max-width: 600px) {
	.gravel-section2__badge-text {
		font-size: 14px;
	}
}

.gravel-section2__title {
	margin: 0;
	color: #16346d;
	font-size: 32px;
	font-weight: 500;
	line-height: 1.4;
	letter-spacing: 0.13em;
}

@media screen and (max-width: 600px) {
	.gravel-section2__title {
		font-size: 24px;
	}
}

.gravel-section2__title.js-anim-sweep {
	display: table;
	width: fit-content;
	max-width: 100%;
	margin-inline: auto;
	vertical-align: top;
}

.gravel-section2__title .js-anim-sweep__content {
	display: block;
}

.gravel-section2__cards {
	display: flex;
	flex-direction: row;
	flex-wrap: wrap;
	gap: 24px;
	align-items: flex-start;
	justify-content: center;
	text-align: left;
}

@media screen and (max-width: 1279px) {
	.gravel-section2__cards {
		flex-direction: column;
		align-items: stretch;
	}
}

.gravel-section2__card {
	box-sizing: border-box;
	flex: 0 0 calc(50% - 12px);
	max-width: calc(50% - 12px);
	min-width: 0;
	padding: 24px 16px;
	background: #fff;
	border-radius: 4px;
}

@media screen and (max-width: 1279px) {
	.gravel-section2__card {
		flex: 0 0 auto;
		width: 100%;
		max-width: 100%;
	}
}

.gravel-section2__card-inner {
	padding: 0;
}

.gravel-section2__card-title {
	margin: 0 0 16px;
	color: #16346d;
	font-size: 18px;
	font-weight: 700;
	line-height: 1.5;
	letter-spacing: 0.13em;
	text-align: center;
}

.gravel-section2__card-note {
	display: inline;
	margin-top: 4px;
	font-size: 16px;
	font-weight: 500;
	letter-spacing: 0.13em;
}

@media screen and (max-width: 600px) {
	.gravel-section2__card-note {
		display: block;
		margin-top: 0;
	}
}

.gravel-section2__photos {
	display: flex;
	gap: 16px;
	justify-content: center;
	align-items: center;
}

@media screen and (max-width: 600px) {
	.gravel-section2__photos--duo {
		flex-direction: column;
		align-items: center;
	}
}

.gravel-section2__photo {
	flex: 0 0 auto;
	width: min(260px, 100%);
	height: 200px;
	overflow: hidden;
	border-radius: 2px;
}
@media screen and (max-width: 600px) {
	.gravel-section2__photo {
		width: min(330px, 100%);
	}
}


.gravel-section2__img {
	display: block;
	width: 100%;
	height: 100%;
}

.gravel-section2__img img {
	display: block;
	width: 100%;
	height: 100%;
	object-fit: cover;
}

/* 砂、砂利の販売パネル */
.gravel-purchase {
	position: relative;
	padding: 0 16px 0px;
	overflow: hidden;
	background: #16346d;
}

.gravel-purchase:has(.gravel-purchase__deco--top) {
	padding-top: 0;
}

.gravel-purchase__deco {
	position: absolute;
	left: 0;
	right: 0;
	z-index: 1;
	width: 100%;
	line-height: 0;
	pointer-events: none;
}

.gravel-purchase__deco--top {
	top: 0;
}

.gravel-purchase__deco-img {
	display: block;
	width: 100%;
	height: auto;
	opacity: 0.5;
}

.gravel-purchase__inner {
	position: relative;
	z-index: 2;
	box-sizing: border-box;
	width: 100%;
	max-width: 1420px;
	margin-inline: auto;
	padding-top: 48px;
}

@media screen and (max-width: 600px) {
	.gravel-purchase__inner {
		padding-top: 32px;
	}
}

.gravel-purchase:has(.gravel-purchase__deco--top) .gravel-purchase__inner {
	padding-top: 40px;
}

.gravel-purchase__title {
	display: flex;
	align-items: center;
	justify-content: center;
	box-sizing: border-box;
	width: 100%;
	max-width: 256px;
	min-height: 60px;
	margin: 0 auto 34px;
	padding: 12px 16px;
	border: 1px solid #fff;
	color: #fff;
	font-size: 24px;
	font-weight: 700;
	line-height: 1.4;
	letter-spacing: 0.13em;
	text-align: center;
}

@media screen and (max-width: 600px) {
	.gravel-purchase__title {
		font-size: 22px;
	}
}

.gravel-purchase__highlights,
.gravel-disposal__highlights {
	display: flex;
	gap: 24px;
	width: 100%;
	max-width: 980px;
	margin: 0 auto 32px;
	padding: 0;
	list-style: none;
}

@media screen and (max-width: 600px) {
	.gravel-purchase__highlights,
	.gravel-disposal__highlights {
		gap: 8px;
		align-items: stretch;
		margin: 0 auto 8px;
	}
}

.gravel-purchase__highlight-item,
.gravel-disposal__highlight-item {
	flex: 1 1 0;
	box-sizing: border-box;
	display: flex;
	align-items: center;
	justify-content: center;
	min-width: 0;
	padding: 14px 16px;
	background: #fff;
	color: #16346d;
	font-size: 16px;
	font-weight: 500;
	line-height: 1.5;
	letter-spacing: 0.03em;
	text-align: center;
}

@media screen and (max-width: 600px) {
	.gravel-purchase__highlight-item,
	.gravel-disposal__highlight-item {
		padding: 2px 2px;
		font-size: 14px;
	}
}
@media screen and (max-width: 468px) {
	.gravel-purchase__highlight-item,
	.gravel-disposal__highlight-item {
		padding: 2px 2px;
		font-size: 13px;
	}
}
@media screen and (max-width: 374px) {
	.gravel-purchase__highlight-item,
	.gravel-disposal__highlight-item {
		padding: 2px 2px;
		font-size: 12.8px;
	}
}

.gravel-purchase__br-sp,
.gravel-disposal__br-sp {
	display: none;
}

@media screen and (max-width: 600px) {
	.gravel-purchase__br-sp,
	.gravel-disposal__br-sp {
		display: inline;
	}
}

.gravel-purchase__sheet {
	display: flex;
	flex-wrap: wrap;
	gap: clamp(20px, 3vw, 40px);
	align-items: flex-start;
	box-sizing: border-box;
	width: 100%;
	max-width: 980px;
	margin: 0 auto 32px;
	padding: 16px 64px;
	background: #fff;
}

@media screen and (max-width: 900px) {
	.gravel-purchase__sheet {
		flex-direction: column;
		align-items: center;
	}
}

@media screen and (max-width: 600px) {
	.gravel-purchase__sheet {
		padding: 16px clamp(8px, 3vw, 32px);
	}
}

.gravel-purchase__sheet-head {
	flex: 0 0 276px;
	width: 276px;
	min-width: 276px;
}

@media screen and (max-width: 900px) {
	.gravel-purchase__sheet-head {
		flex: 0 0 auto;
		width: 100%;
		min-width: min(100%, 240px);
		text-align: center;
	}
}

.gravel-purchase__sheet-label {
	margin: 0 0 8px;
	color: #16346d;
	font-size: 20px;
	font-weight: 700;
	line-height: 1.4;
	letter-spacing: 0.13em;
}

@media screen and (max-width: 900px) {
	.gravel-purchase__sheet-label {
		margin-bottom: 4px;
	}
}

.gravel-purchase__sheet-note {
	margin: 0;
	color: #16346d;
	font-size: 16px;
	font-weight: 500;
	line-height: 1.5;
	letter-spacing: 0.13em;
}

@media screen and (max-width: 600px) {
	.gravel-purchase__sheet-note {
		font-size: 14px;
	}
}

.gravel-purchase__sheet-body {
	flex: 0 0 464px;
	width: 464px;
	max-width: 464px;
	min-width: 0;
}

@media screen and (max-width: 900px) {
	.gravel-purchase__sheet-body {
		flex: 0 1 auto;
		display: flex;
		flex-direction: column;
		align-items: center;
		width: 100%;
		max-width: 464px;
		margin-inline: auto;
	}
}

@media screen and (max-width: 600px) {
	.gravel-purchase__sheet-body {
		align-items: stretch;
		max-width: 100%;
	}
}

.gravel-purchase__sheet-list {
	display: flex;
	flex-wrap: wrap;
	gap: 16px;
	margin: 0 0 16px;
	padding: 0;
	list-style: none;
}

@media screen and (max-width: 900px) {
	.gravel-purchase__sheet-list {
		justify-content: center;
		width: 100%;
	}
}

@media screen and (max-width: 600px) {
	.gravel-purchase__sheet-list:not(.gravel-purchase__sheet-list--conditions) {
		flex-wrap: nowrap;
		gap: 8px;
	}
}

.gravel-purchase__sheet-list--conditions {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	max-width: 464px;
}

@media screen and (max-width: 900px) {
	.gravel-purchase__sheet-list--conditions {
		margin-inline: auto;
	}
}

@media screen and (max-width: 600px) {
	.gravel-purchase__sheet-list--conditions {
		grid-template-columns: 1fr;
		max-width: 100%;
	}
}

.gravel-purchase__sheet-list--conditions .gravel-purchase__sheet-list-item:nth-child(3) {
	grid-column: 1 / -1;
}

@media screen and (max-width: 600px) {
	.gravel-purchase__sheet-list--conditions .gravel-purchase__sheet-list-item:nth-child(3) {
		grid-column: auto;
	}
}

.gravel-purchase__sheet-list-item {
	display: flex;
	align-items: center;
	justify-content: center;
	box-sizing: border-box;
	min-width: 142px;
	margin: 0;
	padding: 10px 16px;
	border: 2px solid #16346d;
	border-radius: 9999px;
	background: #fff;
	color: #16346d;
	font-size: 16px;
	font-weight: 500;
	line-height: 1.5;
	letter-spacing: 0.08em;
	text-align: center;
}

.gravel-purchase__sheet-list:not(.gravel-purchase__sheet-list--conditions) .gravel-purchase__sheet-list-item {
	flex: 1 1 142px;
	max-width: 150px;
}

@media screen and (max-width: 600px) {
	.gravel-purchase__sheet-list:not(.gravel-purchase__sheet-list--conditions) .gravel-purchase__sheet-list-item {
		flex: 1 1 calc(50% - 4px);
		max-width: none;
		min-width: 0;
	}
}

.gravel-purchase__sheet-list--conditions .gravel-purchase__sheet-list-item {
	width: 100%;
	min-width: 0;
}

.gravel-purchase__sheet-footnote {
	margin: 0;
	color: #16346d;
	font-size: 14px;
	font-weight: 400;
	line-height: 1.6;
	letter-spacing: 0.06em;
}

@media screen and (max-width: 900px) {
	.gravel-purchase__sheet-footnote {
		width: 100%;
		text-align: center;
	}
}

@media screen and (max-width: 600px) {
	.gravel-purchase__sheet-footnote {
		text-align: left;
	}
}

.gravel-purchase__sheet-footnote:first-of-type {
	margin-bottom: 0;
}

.gravel-purchase__sheet-footnote + .gravel-purchase__sheet-footnote {
	padding-top: 8px;
}

.gravel-purchase__sheet-text {
	margin: 0;
	color: #16346d;
	font-size: 16px;
	font-weight: 500;
	line-height: 1.5;
	letter-spacing: 0.08em;
}

.gravel-purchase__sheet-text--lead {
	margin-bottom: 1em;
}

.gravel-purchase__tel {
	width: 100%;
}

.gravel-purchase__tel-label {
	margin: 0 0 8px;
	color: #16346d;
	font-size: 16px;
	font-weight: 400;
	line-height: 1.5;
	letter-spacing: 0.05em;
	text-align: left;
}

.gravel-purchase__tel-link {
	box-sizing: border-box;
	display: flex;
	flex-direction: column;
	align-items: center;
	justify-content: center;
	gap: 8px;
	width: 100%;
	max-width: 335px;
	min-height: 100px;
	margin-inline: 0;
	padding: 4px 16px;
	border-radius: 8px;
	background: #16346d;
	color: #fff;
	text-align: center;
	text-decoration: none;
	box-shadow: 0 0 0 rgba(22, 52, 109, 0);
	transition:
		background-color 0.25s ease,
		box-shadow 0.25s ease,
		transform 0.25s ease;
}
@media screen and (max-width: 374px) {
	.gravel-purchase__tel-link {
		font-size: 28px;
		padding: 4px 4px;
	}
}

.gravel-purchase__tel-link:hover {
	background: #122a52;
	box-shadow: 0 8px 24px rgba(22, 52, 109, 0.22);
	transform: translateY(-2px);
}

.gravel-purchase__tel-link:focus-visible {
	outline: 2px solid #16346d;
	outline-offset: 3px;
}

.gravel-purchase__tel-row {
	display: flex;
	align-items: center;
	justify-content: center;
	gap: 10px;
}

.gravel-purchase__tel-icon {
	display: flex;
	flex-shrink: 0;
	align-items: center;
	justify-content: center;
	width: 26px;
	height: 26px;
	border-radius: 50%;
	background: #fff;
}

.gravel-purchase__tel-icon img {
	display: block;
	width: 15px;
	height: 15px;
	object-fit: contain;
}

.gravel-purchase__tel-num {
	font-size: 30px;
	font-weight: 700;
	line-height: 1.2;
	letter-spacing: 0.05em;
	margin-bottom: 2px;
}

.gravel-purchase__tel-hours {
	font-size: 14px;
	font-weight: 500;
	line-height: 1.5;
	letter-spacing: 0.13em;
}

.gravel-purchase__flow-link,
.gravel-disposal__flow-link {
	width: 100%;
	max-width: 980px;
	margin: 0 auto 32px;
	text-align: center;
}

.gravel-purchase__flow-btn,
.gravel-disposal__flow-btn {
	position: relative;
	box-sizing: border-box;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 100%;
	max-width: 400px;
	min-height: 50px;
	padding: 12px 48px 12px 24px;
	border: 2px solid #16346d;
	border-radius: 13px;
	background: #fff;
	color: #16346d;
	font-size: 16px;
	font-weight: 500;
	line-height: 1.5;
	letter-spacing: 0.08em;
	text-align: center;
	text-decoration: none;
	transition:
		background-color 0.25s ease,
		box-shadow 0.25s ease,
		transform 0.25s ease;
}

.gravel-purchase__flow-btn:hover,
.gravel-purchase__flow-btn:focus-visible,
.gravel-disposal__flow-btn:hover,
.gravel-disposal__flow-btn:focus-visible {
	background: #f4fafe;
	box-shadow: 0 4px 16px rgba(22, 52, 109, 0.12);
	transform: translateY(-1px);
}

.gravel-purchase__flow-btn:focus-visible,
.gravel-disposal__flow-btn:focus-visible {
	outline: 2px solid #16346d;
	outline-offset: 3px;
}

.gravel-purchase__flow-btn-text,
.gravel-disposal__flow-btn-text {
	display: block;
}

.gravel-purchase__flow-btn-icon,
.gravel-disposal__flow-btn-icon {
	position: absolute;
	top: 50%;
	right: 20px;
	display: block;
	width: 27px;
	height: 10px;
	margin: 0;
	transform: translateY(-50%);
}

/* 行程 */
.gravel-process {
	margin-block: 48px;
}

.gravel-process__inner {
	box-sizing: border-box;
	width: 100%;
	max-width: 1420px;
	margin-inline: auto;
	padding: 48px 16px;
	background: #fff;
}

.gravel-process__title {
	margin: 0 0 14px;
	font-size: 32px;
	font-weight: 700;
	line-height: 1.4;
	text-align: center;
	letter-spacing: 0.13em;
	color: #16346d;
}

.gravel-process__lead {
	display: flex;
	justify-content: center;
	margin-bottom: 32px;
}

.gravel-process__lead-text {
	display: inline-block;
	margin: 0;
	padding: 8px 24px;
	font-size: 16px;
	font-weight: 700;
	line-height: 1.5;
	text-align: center;
	letter-spacing: 0.13em;
	color: #fff;
	background: #16346d;
	border-radius: 999px;
}

.gravel-process__slider {
	position: relative;
}

.gravel-process__viewport {
	position: relative;
}

.gravel-process__stage {
	overflow: hidden;
}

.gravel-process__slider:not(.is-slider-active) .gravel-process__stage {
	overflow: visible;
}

.gravel-process__list {
	display: grid;
	grid-template-columns: repeat(4, minmax(0, 300px));
	justify-content: center;
	gap: clamp(16px, 1.67vw, 32px);
	margin: 0;
	padding: 0;
	list-style: none;
}

.gravel-process__slider:not(.is-slider-active) .gravel-process__list {
	display: grid;
	transform: none;
}

.gravel-process__slider:not(.is-slider-active) .gravel-process__item {
	flex: initial;
	width: 100%;
	max-width: 300px;
	min-width: 0;
}

.gravel-process__item {
	width: 100%;
	max-width: 300px;
	min-width: 0;
}

.gravel-process__card {
	box-sizing: border-box;
	width: 100%;
	max-width: 300px;
	margin-inline: auto;
}

.gravel-process__card-title {
	margin: 0 0 16px;
	font-size: 20px;
	font-weight: 700;
	line-height: 1.4;
	text-align: center;
	letter-spacing: 0.08em;
	color: #16346d;
}

.gravel-process__card-media {
	width: 100%;
	margin-bottom: 16px;
	overflow: hidden;
	aspect-ratio: 288 / 184;
}

.gravel-process__card-picture,
.gravel-process__card-media picture,
.gravel-process__card-media img,
.gravel-process__card-media .gravel-placeholder {
	display: block;
	width: 100%;
	height: 100%;
}

.gravel-process__card-media img {
	object-fit: cover;
}

.gravel-process__card-text {
	margin: 0;
	font-size: 16px;
	font-weight: 400;
	line-height: 1.75;
	color: #16346D;
}

.gravel-process__arrows {
	display: none;
}

.gravel-process__arrows[hidden] {
	display: none !important;
}

.gravel-process__pager {
	display: none;
}

.gravel-process__pager[hidden] {
	display: none !important;
}

.gravel-process__dots {
	display: flex;
	justify-content: center;
	gap: 8px;
}

.gravel-process__dot {
	width: 8px;
	height: 8px;
	padding: 0;
	border: none;
	border-radius: 50%;
	background: rgba(22, 52, 109, 0.25);
	cursor: pointer;
	transition:
		background-color 0.25s ease,
		transform 0.25s ease;
}

.gravel-process__dot.is-active {
	background: #16346d;
	transform: scale(1.15);
}

@media screen and (max-width: 900px) {
	.gravel-process__list {
		grid-template-columns: repeat(2, minmax(0, 300px));
	}
}

@media screen and (max-width: 600px) {
	.gravel-process__inner {
		padding: 48px 16px;
	}

	.gravel-process__title {
		font-size: 28px;
	}

	.gravel-process__lead {
		margin-bottom: 24px;
	}

	.gravel-process__lead-text {
		font-size: 14px;
		padding: 8px 20px;
	}

	.gravel-process__slider.is-slider-active {
		box-sizing: border-box;
		width: 100%;
		max-width: 100%;
		overflow: visible;
	}

	.gravel-process__slider.is-slider-active .gravel-process__viewport {
		position: relative;
		overflow: visible;
	}

	.gravel-process__slider.is-slider-active .gravel-process__stage {
		container-type: inline-size;
		overflow: hidden;
		width: 100%;
	}

	.gravel-process__slider.is-slider-active .gravel-process__list {
		display: flex;
		flex-wrap: nowrap;
		justify-content: flex-start;
		gap: 0;
		width: auto;
		min-width: 0;
		will-change: transform;
	}

	.gravel-process__slider.is-slider-active .gravel-process__item {
		flex: 0 0 100cqw;
		box-sizing: border-box;
		width: 100cqw;
		max-width: none;
		min-width: 0;
	}

	.gravel-process__slider.is-slider-active .gravel-process__card {
		box-sizing: border-box;
		width: 100%;
		max-width: 400px;
		margin-inline: auto;
		padding-inline: 8px;
	}

	.gravel-process__slider.is-slider-active .gravel-process__arrows {
		display: block;
		position: absolute;
		inset: 0;
		z-index: 2;
		pointer-events: none;
	}

	.gravel-process__arrow {
		position: absolute;
		top: 50%;
		display: flex;
		align-items: center;
		justify-content: center;
		box-sizing: border-box;
		width: 24px;
		height: 24px;
		padding: 0;
		border: none;
		border-radius: 50%;
		background: #16346d;
		box-shadow:
			0 1px 3px rgba(0, 0, 0, 0.12),
			0 2px 8px rgba(0, 0, 0, 0.1);
		cursor: pointer;
		pointer-events: auto;
	}

	.gravel-process__arrow--prev {
		left: 0;
		transform: translate(-50%, -50%);
	}

	.gravel-process__arrow--next {
		right: 0;
		transform: translate(50%, -50%);
	}

	.gravel-process__arrow-icon {
		display: block;
		width: 8.2px;
		height: 9.6px;
		background: #fff;
		clip-path: polygon(100% 0, 100% 100%, 0 50%);
	}

	.gravel-process__arrow--next .gravel-process__arrow-icon {
		clip-path: polygon(0 0, 0 100%, 100% 50%);
	}

	.gravel-process__slider.is-slider-active .gravel-process__pager {
		display: flex;
		justify-content: center;
		margin-top: 16px;
	}
}

/* 残土の受け入れパネル */
.gravel-disposal {
	position: relative;
	padding: 0 16px 0px;
	overflow: hidden;
	background: #16346d;
}

@media screen and (max-width: 374px) {
	.gravel-disposal {
		padding: 0 8px 0px;
	}
}
.gravel-disposal:has(.gravel-disposal__deco--top) {
	padding-top: 0;
}

.gravel-disposal__deco {
	position: absolute;
	left: 0;
	right: 0;
	z-index: 1;
	width: 100%;
	line-height: 0;
	pointer-events: none;
}

.gravel-disposal__deco--top {
	top: 0;
}

.gravel-disposal__deco-img {
	display: block;
	width: 100%;
	height: auto;
	opacity: 0.5;
}

.gravel-disposal__inner {
	position: relative;
	z-index: 2;
	box-sizing: border-box;
	width: 100%;
	max-width: 980px;
	margin-inline: auto;
	padding-top: 48px;
}

@media screen and (max-width: 600px) {
	.gravel-disposal__inner {
		padding-top: 32px;
	}
}

.gravel-disposal:has(.gravel-disposal__deco--top) .gravel-disposal__inner {
	padding-top: 40px;
}

.gravel-disposal__title {
	display: flex;
	align-items: center;
	justify-content: center;
	box-sizing: border-box;
	width: 100%;
	max-width: 256px;
	min-height: 60px;
	margin: 0 auto 34px;
	padding: 12px 16px;
	border: 1px solid #fff;
	color: #fff;
	font-size: 24px;
	font-weight: 700;
	line-height: 1.4;
	letter-spacing: 0.13em;
	text-align: center;
}

@media screen and (max-width: 600px) {
	.gravel-disposal__title {
		font-size: 22px;
	}
}

.gravel-disposal__content {
	display: flex;
	justify-content: center;
	box-sizing: border-box;
	width: 100%;
	margin-bottom: 32px;
	padding: 16px;
	background: #fff;
}

.gravel-disposal__blocks {
	display: flex;
	flex-wrap: wrap;
	gap: clamp(36px, 4vw, 48px);
	align-items: flex-start;
	justify-content: center;
	box-sizing: border-box;
	width: 100%;
	max-width: 740px;
}

@media screen and (max-width: 900px) {
	.gravel-disposal__blocks {
		flex-direction: column;
		align-items: stretch;
	}
}

.gravel-disposal__block {
	flex: 1 1 0;
	box-sizing: border-box;
	min-width: min(100%, 280px);
}

.gravel-disposal__block-title {
	margin: 0 0 8px;
	color: #16346d;
	font-size: 20px;
	font-weight: 700;
	line-height: 1.4;
	letter-spacing: 0.13em;
	text-align: center;
}

.gravel-disposal__block-title--center {
	margin-bottom: 16px;
	text-align: center;
}

.gravel-disposal__table {
	width: 100%;
	border-collapse: collapse;
	border: 1px solid #16346d;
	background: #fff;
	color: #16346d;
	font-size: 16px;
	font-weight: 500;
	line-height: 1.5;
	letter-spacing: 0.13em;
}

.gravel-disposal__table th,
.gravel-disposal__table td {
	box-sizing: border-box;
	padding: 18px 16px;
	text-align: center;
	vertical-align: middle;
}

.gravel-disposal__table thead th {
	border-bottom: 1px solid #16346d;
	font-weight: 500;
}

.gravel-disposal__table tbody tr + tr th,
.gravel-disposal__table tbody tr + tr td {
	border-top: 1px dashed #16346d;
}

.gravel-disposal__table tbody th {
	font-weight: 500;
}

@media screen and (max-width: 600px) {
	.gravel-disposal__table {
		font-size: 14px;
	}
}

.gravel-disposal__table-note {
	margin: 8px 0 0 -16px;
	padding-left: calc(16px + 1em);
	color: #16346d;
	font-size: 12px;
	font-weight: 500;
	line-height: 1.5;
	letter-spacing: 0.13em;
	text-align: left;
	text-indent: -1em;
}

.gravel-disposal__table-note-indent {
	display: inline;
}

.gravel-disposal__conditions-text {
	margin: 0 0 16px;
	color: #16346d;
	font-size: 16px;
	font-weight: 500;
	line-height: 1.5;
	letter-spacing: 0.13em;
	text-align: center;
}

.gravel-disposal__conditions-text--center {
	text-align: center;
}

.gravel-disposal__conditions-text:last-of-type {
	margin-bottom: 1em;
}

.gravel-disposal__soil-link {
	position: relative;
	box-sizing: border-box;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 100%;
	max-width: 270px;
	min-height: 48px;
	padding: 8px 48px 8px 24px;
	border: none;
	border-radius: 0;
	background: #16346d;
	color: #fff;
	font-size: 16px;
	font-weight: 500;
	line-height: 1.5;
	letter-spacing: 0.13em;
	text-decoration: none;
	transition:
		background-color 0.25s ease,
		opacity 0.25s ease,
		transform 0.25s ease;
}

.gravel-disposal__block--conditions {
	display: flex;
	flex-direction: column;
	align-items: center;
}

.gravel-disposal__block--conditions .gravel-disposal__conditions-text {
	width: 100%;
	margin-bottom: 16px;
}

.gravel-disposal__soil-link:hover,
.gravel-disposal__soil-link:focus-visible {
	background: #0f2756;
	transform: translateY(-1px);
}

.gravel-disposal__soil-link:focus-visible {
	outline: 2px solid #16346d;
	outline-offset: 3px;
}

.gravel-disposal__soil-link-text {
	display: block;
}

.gravel-disposal__soil-link-icon {
	position: absolute;
	top: 50%;
	right: 20px;
	display: block;
	width: 27px;
	height: 10px;
	margin: 0;
	transform: translateY(-50%);
}

/* --------------------------------------------------------------------------
   アクセス（Googleマップ）
   -------------------------------------------------------------------------- */
.gravel-access {
	margin-bottom: 64px;
}

@media screen and (max-width: 600px) {
	.gravel-access {
		margin-bottom: 48px;
	}
}

.gravel-access__inner {
	box-sizing: border-box;
	width: 100%;
	max-width: 1420px;
	margin-inline: auto;
	padding: 16px 0px;
}

.gravel-access__box {
	display: grid;
	grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
	gap: 16px;
	box-sizing: border-box;
	width: 100%;
	max-width: 1480px;
	margin-inline: auto;
	padding: clamp(24px, 3vw, 32px);
	background: #fff;
	align-items: stretch;
}

@media screen and (max-width: 1279px) {
	.gravel-access__box {
		grid-template-columns: 1fr;
	}
}

@media screen and (max-width: 600px) {
	.gravel-access__box {
		padding: 20px 16px;
	}
}

.gravel-access__heading {
	margin: 0 0 32px;
	color: #16346d;
	font-size: 32px;
	font-weight: 700;
	line-height: 1.2;
	letter-spacing: 0.13em;
}

@media screen and (max-width: 600px) {
	.gravel-access__heading {
		font-size: 24px;
		text-align: center;
	}
}

.gravel-access__heading-text {
	display: block;
	border: none;
}

.gravel-access__heading-rule {
	display: block;
	width: 100%;
	height: 1px;
	margin: 16px 0 0;
	padding: 0;
	border: none;
	background: #16346d;
}

.gravel-access__name {
	margin: 0 0 20px;
	color: #16346d;
	font-size: 20px;
	font-weight: 500;
	line-height: 1.4;
	letter-spacing: 0.13em;
}

@media screen and (max-width: 600px) {
	.gravel-access__name {
		font-size: 20px;
		letter-spacing: 0.02em;
		margin: 0 0 16px;
	}
}

.gravel-access__address {
	margin: 0 0 32px;
	line-height: 1.5;
}
@media screen and (max-width: 600px) {
	.gravel-access__address {
		margin: 0 0 16px;
	}
}

.gravel-access__address .gravel-access__line {
	margin: 0;
}

.gravel-access__line {
	margin: 0 0 8px;
	color: #16346d;
	font-size: 16px;
	font-weight: 400;
	line-height: 1.5;
	letter-spacing: 0.1em;
}

@media screen and (max-width: 600px) {
	.gravel-access__line {
		font-size: 14px;
	}
}

.gravel-access__info {
	display: grid;
	grid-template-columns: max-content minmax(0, 1fr);
	column-gap: 0.75em;
	row-gap: 8px;
	padding-left: 1em;
	color: #16346d;
	font-size: 16px;
	font-weight: 400;
	line-height: 1.5;
	letter-spacing: 0.1em;
}

@media screen and (max-width: 600px) {
	.gravel-access__info {
		font-size: 14px;
	}
}

.gravel-access__info .gravel-access__line--pair {
	display: contents;
}

.gravel-access__line--pair {
	display: grid;
	grid-template-columns: max-content minmax(0, 1fr);
	column-gap: 0.75em;
	align-items: baseline;
}

.gravel-access__term,
.gravel-access__desc {
	display: block;
}

.gravel-access__line:last-child {
	margin-bottom: 0;
}

.gravel-access__tel-link,
.gravel-access__fax-link {
	color: inherit;
	text-decoration: none;
}

.gravel-access__tel-link:hover,
.gravel-access__tel-link:focus-visible,
.gravel-access__fax-link:hover,
.gravel-access__fax-link:focus-visible {
	text-decoration: underline;
}

.gravel-access__map {
	display: flex;
	flex-direction: column;
	min-width: 0;
	min-height: 100%;
	justify-self: end;
	width: 100%;
	max-width: 740px;
}

@media screen and (max-width: 1919px) {
	.gravel-access__map {
		justify-self: stretch;
		max-width: none;
	}
}

@media screen and (max-width: 1279px) {
	.gravel-access__map {
		min-height: auto;
	}
}

.gravel-access__map-frame {
	position: relative;
	flex: 1 1 auto;
	width: 100%;
	min-height: 376px;
	overflow: hidden;
	border-radius: 4px;
	background: #e8eef5;
}

@media screen and (max-width: 1279px) {
	.gravel-access__map-frame {
		flex: none;
		aspect-ratio: 740 / 362;
		min-height: 376px;
	}
}

@media screen and (max-width: 600px) {
	.gravel-access__map-frame {
		min-height: 276px;
	}
}

.gravel-access__iframe {
	position: absolute;
	inset: 0;
	display: block;
	width: 100%;
	height: 100%;
	border: 0;
}

/* --------------------------------------------------------------------------
   サービス（タブ＋フロー）
   -------------------------------------------------------------------------- */
.gravel-services {
	position: relative;
	padding: 56px 16px 80px;
	overflow: hidden;
	scroll-margin-top: calc(var(--site-header-sticky-height, 100px) + 16px);
}

@media screen and (max-width: 600px) {
	.gravel-services {
		padding: 40px 0px 56px;
	}
}

.gravel-services__watermark {
	position: absolute;
	top: 50%;
	left: 50%;
	z-index: 0;
	margin: 0;
	color: rgba(22, 52, 109, 0.06);
	font-family: var(--font-en);
	font-size: clamp(100px, 18vw, 220px);
	font-weight: 700;
	line-height: 1;
	letter-spacing: -0.04em;
	white-space: nowrap;
	transform: translate(-50%, -50%);
	pointer-events: none;
	user-select: none;
}

.gravel-services__inner {
	position: relative;
	z-index: 1;
	box-sizing: border-box;
	width: 100%;
	max-width: 1420px;
	margin-inline: auto;
}

/* タブ */
.gravel-services__tablist {
	position: relative;
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: 0;
	width: 100%;
	max-width: 1140px;
	margin: 0 auto 0;
	padding: 0;
	border: 1px solid #16346d;
	overflow: hidden;
}

.gravel-services__tab-slider {
	position: absolute;
	top: 0;
	left: 0;
	z-index: 0;
	width: 50%;
	height: 100%;
	background: #16346d;
	box-shadow: none;
	transition:
		transform 0.5s cubic-bezier(0.22, 1, 0.36, 1),
		width 0.5s cubic-bezier(0.22, 1, 0.36, 1);
	pointer-events: none;
	will-change: transform;
	backface-visibility: hidden;
}

.gravel-services__tab {
	position: relative;
	z-index: 1;
	display: flex;
	align-items: center;
	justify-content: center;
	min-height: 72px;
	padding: 16px 20px;
	border: 0;
	background: #fff;
	color: #16346d;
	font-size: clamp(15px, 1.6vw, 20px);
	font-weight: 700;
	line-height: 1.4;
	letter-spacing: 0.08em;
	text-align: center;
	cursor: pointer;
	transition:
		color 0.35s ease,
		background-color 0.35s ease;
}

@media screen and (max-width: 900px) {
	.gravel-services__tab {
		min-height: 64px;
		font-size: 16px;
	}
}

@media screen and (max-width: 600px) {
	.gravel-services__tab {
		min-height: 56px;
		padding: 12px 10px;
	}
}

.gravel-services__tab.is-active {
	background: #16346d;
	color: #fff;
}

.gravel-services__tab:focus-visible {
	outline: 2px solid #16346d;
	outline-offset: 2px;
}

/* パネル */
.gravel-services__panels {
	position: relative;
	min-height: 120px;
}

.gravel-services__panel {
	display: none;
}

.gravel-services__panel.is-active {
	display: block;
}

.gravel-services__panel.is-entering {
	animation: gravel-panel-in 0.48s cubic-bezier(0.22, 1, 0.36, 1) forwards;
}

.gravel-services__panel.is-leaving {
	animation: gravel-panel-out 0.28s ease forwards;
}

@keyframes gravel-panel-in {
	from {
		opacity: 0;
		transform: translateY(16px);
	}
	to {
		opacity: 1;
		transform: translateY(0);
	}
}

@keyframes gravel-panel-out {
	from {
		opacity: 1;
		transform: translateY(0);
	}
	to {
		opacity: 0;
		transform: translateY(-10px);
	}
}

@media (prefers-reduced-motion: reduce) {
	.gravel-services__tab-slider {
		transition: none;
	}

	.gravel-services__panel.is-entering,
	.gravel-services__panel.is-leaving {
		animation: none;
	}
}

/* フロー */
.gravel-flow__list {
	display: flex;
	flex-direction: column;
	gap: 16px;
	margin: 0;
	padding: clamp(24px, 3vw, 32px);
	background: #16346d;
	list-style: none;
}
@media screen and (max-width: 600px) {
	.gravel-flow__list {
		padding: 20px 16px;
	}
}
.gravel-flow__step {
	box-sizing: border-box;
	padding: clamp(20px, 2.5vw, 32px);
	background: #fff;
	display: grid;
	grid-template-columns: minmax(0, 1fr) min(100%, 534px);
	grid-template-rows: auto auto;
	column-gap: 24px;
	align-items: start;
}

.gravel-flow__step--no-actions .gravel-flow__step-actions--spacer {
	visibility: hidden;
	pointer-events: none;
}

@media screen and (max-width: 900px) {
	.gravel-flow__step {
		display: block;
	}

	.gravel-flow__step--no-actions .gravel-flow__step-actions--spacer {
		display: none;
	}
}

@media screen and (max-width: 600px) {
	.gravel-flow__step {
		padding: 20px 16px;
	}
}

.gravel-flow__step-head {
	display: flex;
	gap: 16px;
	align-items: center;
	margin-bottom: 0;
	grid-column: 1;
	grid-row: 1;
}

@media screen and (max-width: 900px) {
	.gravel-flow__step-head {
		margin-bottom: 12px;
	}
}

.gravel-flow__step-num {
	display: inline-flex;
	flex: 0 0 40px;
	align-items: center;
	justify-content: center;
	width: 40px;
	height: 40px;
	border-radius: 50%;
	background: #16346d;
	color: #fff;
	font-size: 18px;
	font-weight: 700;
	line-height: 1;
}

@media screen and (max-width: 600px) {
	.gravel-flow__step-num {
		flex: 0 0 36px;
		width: 36px;
		height: 36px;
		font-size: 16px;
	}
}

.gravel-flow__step-title {
	margin: 0;
	color: #16346d;
	font-size: clamp(17px, 1.7vw, 20px);
	font-weight: 700;
	line-height: 1.4;
	letter-spacing: 0.08em;
}

.gravel-flow__step-text {
	margin: 0;
	padding-left: 56px;
	color: #16346d;
	font-size: 15px;
	font-weight: 400;
	line-height: 1.8;
	letter-spacing: 0.06em;
	grid-column: 1;
	grid-row: 2;
}

@media screen and (max-width: 900px) {
	.gravel-flow__step-text {
		margin-bottom: 16px;
		padding-left: 0;
	}
}

@media screen and (max-width: 600px) {
	.gravel-flow__step-text {
		font-size: 14px;
	}
}
@media screen and (max-width: 374px) {
	.gravel-flow__step-text {
		margin-bottom: 0px;
	}
}

.gravel-flow__step-line {
	display: inline-block;
	padding-left: 1em;
}

.gravel-flow__br-pc {
	display: inline;
}

.gravel-flow__step-note {
	display: block;
	margin-top: 1em;
}

@media screen and (max-width: 600px) {
	.gravel-flow__br-pc {
		display: none;
	}
}

.gravel-flow__step-actions {
	display: flex;
	flex-wrap: wrap;
	gap: 12px;
	justify-content: flex-end;
	align-items: center;
	width: 100%;
	max-width: 534px;
	margin: 0;
	padding: 0;
	list-style: none;
	grid-column: 2;
	grid-row: 1 / span 2;
	align-self: center;
	justify-self: end;
}

@media screen and (max-width: 900px) {
	.gravel-flow__step-actions {
		justify-content: stretch;
		max-width: none;
		margin-top: 16px;
	}
}

/* 砂利部直通電話（contact-gravel と同型） */
.gravel-flow__tel {
	width: 100%;
	margin: 0;
}

.gravel-flow__tel .contact-page__tel-label {
	margin: 0 0 8px;
	color: #16346d;
	font-size: 16px;
	font-weight: 400;
	line-height: 1.5;
	letter-spacing: 0.05em;
	text-align: center;
}

.gravel-flow__tel .contact-page__tel-link {
	box-sizing: border-box;
	display: flex;
	flex-direction: column;
	align-items: center;
	justify-content: center;
	gap: 8px;
	width: 100%;
	max-width: 335px;
	min-height: 86px;
	margin-inline: auto;
	padding: 8px 16px;
	border-radius: 8px;
	background: #16346d;
	color: #fff;
	text-align: center;
	text-decoration: none;
	box-shadow: 0 0 0 rgba(22, 52, 109, 0);
	transition:
		background-color 0.25s ease,
		box-shadow 0.25s ease,
		transform 0.25s ease;
}

@media screen and (max-width: 374px) {
	.gravel-flow__tel .contact-page__tel-link {
		padding: 8px 4px;
	}
}

.gravel-flow__tel .contact-page__tel-link:hover {
	background: #122a52;
	box-shadow: 0 8px 24px rgba(22, 52, 109, 0.22);
	transform: translateY(-2px);
}

.gravel-flow__tel .contact-page__tel-link:focus-visible {
	outline: 2px solid #16346d;
	outline-offset: 3px;
}

.gravel-flow__tel .contact-page__tel-row {
	display: flex;
	align-items: center;
	justify-content: center;
	gap: 10px;
}

.gravel-flow__tel .contact-page__tel-icon {
	display: flex;
	flex-shrink: 0;
	align-items: center;
	justify-content: center;
	width: 26px;
	height: 26px;
	border-radius: 50%;
	background: #fff;
}

.gravel-flow__tel .contact-page__tel-icon img {
	display: block;
	width: 15px;
	height: 15px;
	object-fit: contain;
}

.gravel-flow__tel .contact-page__tel-num {
	font-size: 32px;
	font-weight: 700;
	line-height: 1.2;
	letter-spacing: 0.07em;
}
@media screen and (max-width: 600px) {
	.gravel-flow__tel .contact-page__tel-num {
		font-size: 28px;
	}
}
@media screen and (max-width: 374px) {
	.gravel-flow__tel .contact-page__tel-num {
		font-size: 24px;
	}
}

.gravel-flow__tel .contact-page__tel-hours {
	font-size: 14px;
	font-weight: 400;
	line-height: 1.5;
	letter-spacing: 0.13em;
}

@media screen and (max-width: 900px) {
	.gravel-flow__tel .contact-page__tel-link {
		max-width: none;
	}
}

/* 販売情報記入表パネル（ステップ2） */
.gravel-flow__apply-panel {
	display: flex;
	flex-direction: column;
	gap: 12px;
	width: 100%;
	max-width: 534px;
}

.gravel-flow__apply-pdf {
	box-sizing: border-box;
	display: flex;
	align-items: center;
	justify-content: center;
	min-height: 50px;
	padding: 12px 20px;
	background: #16346d;
	color: #fff;
	font-size: 16px;
	font-weight: 700;
	line-height: 1.4;
	letter-spacing: 0.13em;
	text-align: center;
	text-decoration: none;
	transition: opacity 0.2s ease, transform 0.2s ease;
}

.gravel-flow__apply-pdf:hover,
.gravel-flow__apply-pdf:focus-visible {
	opacity: 0.9;
	transform: translateY(-1px);
}

.gravel-flow__apply-row {
	display: flex;
	gap: 12px;
}

.gravel-flow__apply-btn {
	box-sizing: border-box;
	display: flex;
	flex: 1 1 0;
	align-items: center;
	justify-content: center;
	min-width: 0;
	min-height: 50px;
	padding: 12px 10px;
	border: 1px solid #16346d;
	background: #fff;
	color: #16346d;
	font-size: 14px;
	font-weight: 700;
	line-height: 1.4;
	letter-spacing: 0.06em;
	text-align: center;
	text-decoration: none;
	transition: background-color 0.2s ease, color 0.2s ease;
}

.gravel-flow__apply-btn:hover,
.gravel-flow__apply-btn:focus-visible {
	background: #16346d;
	color: #fff;
}

.gravel-flow__apply-btn--fax {
	font-size: 13px;
	letter-spacing: 0.04em;
}

@media screen and (max-width: 600px) {
	.gravel-flow__apply-row {
		flex-direction: column;
	}

	.gravel-flow__apply-btn {
		width: 100%;
	}
}

.gravel-flow__btn {
	box-sizing: border-box;
	display: inline-flex;
	gap: 10px;
	align-items: center;
	justify-content: center;
	width: 100%;
	max-width: 356px;
	min-height: 50px;
	padding: 12px 24px;
	background: #16346d;
	color: #fff;
	font-size: 14px;
	font-weight: 700;
	line-height: 1.4;
	letter-spacing: 0.06em;
	text-align: center;
	text-decoration: none;
	transition: opacity 0.2s ease, transform 0.2s ease;
}

@media screen and (max-width: 900px) {
	.gravel-flow__btn {
		width: 100%;
	}
}

.gravel-flow__btn:hover,
.gravel-flow__btn:focus-visible {
	opacity: 0.9;
	transform: translateY(-1px);
}

.gravel-flow__btn img {
	flex: 0 0 auto;
}

/* --------------------------------------------------------------------------
   BLOG（top-blog 共通）
   -------------------------------------------------------------------------- */
.gravel-page__blog {
	margin-bottom: 0;
}

.gravel-page__blog .top-blog__inner.top-inner {
	max-width: 1420px;
}
