@charset "utf-8";

/* =========================================================
  Affiliated Detail Info
========================================================= */
.c-heading-serif {
	font-family: "Noto Sans JP", sans-serif;
}
.p-affiliated-detail-info {
	padding-top: clamp(70px, 7.8vw, 150px);
}

.p-affiliated-detail-info__table {
	width: 100%;
	margin-top: clamp(55px, 5.2vw, 100px);
	border-left: 15px solid var(--color-primary);
	border-collapse: collapse;
	background-color: #fafafa;
}

.p-affiliated-detail-info__table tr {
	border-top: 1px solid #bfbfbf;
}

.p-affiliated-detail-info__table tr:last-child {
	border-bottom: 1px solid #bfbfbf;
}

.p-affiliated-detail-info__table th,
.p-affiliated-detail-info__table td {
	padding: 1.5em 1em 1.5em 1.8em;
	border-right: 1px solid #bfbfbf;
	vertical-align: middle;
	line-height: 1.5;
}

.p-affiliated-detail-info__table th {
	width: calc(35% - 15px);
	font-size: clamp(20px, 1.5625vw, 30px);
	font-weight: 400;
}

.p-affiliated-detail-info__table td {
	background-color: #fff;
	width: 65%;
	font-size: clamp(18px, 1.302vw, 25px);
	font-weight: 400;
}

.p-affiliated-detail-info__table td a {
	text-decoration: underline;
}

.p-affiliated-detail-info__back {
	margin-top: clamp(40px, 4.2vw, 80px);
	text-align: center;
}

.p-affiliated-detail-info__back a {
	display: inline-flex;
	align-items: center;
	gap: 0.7em;
	color: var(--color-primary);
	font-size: clamp(18px, 2.5vw, 25px);
	font-weight: 600;
}

.p-affiliated-detail-info__back a::before {
	content: "←";
}

/* =========================================================
  Affiliated Detail Info - SP
========================================================= */
@media (max-width: 767px) {
	.p-affiliated-detail-info {
		padding-top: 55px;
	}

	.p-affiliated-detail-info__table {
		margin-top: 45px;
		border-left-width: 8px;
	}

	.p-affiliated-detail-info__table,
	.p-affiliated-detail-info__table tbody,
	.p-affiliated-detail-info__table tr,
	.p-affiliated-detail-info__table th,
	.p-affiliated-detail-info__table td {
		display: block;
		width: 100%;
	}

	.p-affiliated-detail-info__table th,
	.p-affiliated-detail-info__table td {
		padding: 1em 1.2em;
		border-right: 0;
		text-align: left;
	}

	.p-affiliated-detail-info__table th {
		font-size: 18px;
		padding-bottom: 0.4em;
        font-weight: 600;
	}

	.p-affiliated-detail-info__table td {
		font-size: 16px;
		padding-top: 0;
	}
}

/* =========================================================
  Affiliated Detail Map
========================================================= */
.p-affiliated-detail-map {
    margin-top: clamp(50px, 14vw, 140px);
	padding-top: clamp(70px, 7.8vw, 150px);
	padding-bottom: clamp(80px, 8.33vw, 160px);
	background-color: #f9f9f9;
}

.p-affiliated-detail-map__grid {
	display: grid;
	grid-template-columns: repeat(2, 1fr);
	gap: clamp(55px, 5.2vw, 100px) clamp(45px, 5.2vw, 100px);
}
.p-affiliated-detail-map__group--lead {
	grid-column: 1 / -1;
}
.p-affiliated-detail-map__group h3 {
	position: relative;
	padding-bottom: 0.7em;
	font-size: clamp(22px, 1.5625vw, 30px);
	font-weight: 600;
	line-height: 1.4;
}

.p-affiliated-detail-map__group h3::after {
	content: "";
	position: absolute;
	left: 0;
	bottom: 0;
	width: 56px;
	height: 4px;
	background-color: var(--color-primary);
}

.p-affiliated-detail-map__group ul {
	display: grid;
	gap: 0.45em;
	margin-top: 1.5em;
	font-size: clamp(17px, 1.302vw, 25px);
	font-weight: 400;
	line-height: 1.6;
}

.p-affiliated-detail-map__group li a {
	position: relative;
	display: inline-block;
	padding-left: 1.4em;
}
.p-affiliated-detail-map__group li.current a {
	border-bottom: 1px dashed var(--color-primary);
}

.p-affiliated-detail-map__group li a::before {
	content: "→";
	position: absolute;
	left: 0;
	color: var(--color-primary);
}

@media (max-width: 767px) {
	.p-affiliated-detail-map__grid {
		grid-template-columns: 1fr;
		gap: 45px;
	}

	.p-affiliated-detail-map__group h3 {
		font-size: 22px;
	}

	.p-affiliated-detail-map__group ul {
		font-size: 16px;
	}
}

/* =========================================================
  Custom Override
  Affiliated Detail Typography
========================================================= */

.p-affiliated-detail h2,
.p-affiliated-detail h3 {
	font-weight: 400;
	letter-spacing: 0.04em;
	color: #333;
}

.p-affiliated-detail p,
.p-affiliated-detail li,
.p-affiliated-detail th,
.p-affiliated-detail td {
	font-weight: 400;
	color: #444;
	line-height: 1.8;
}

.p-affiliated-detail-info .c-heading-serif {
	font-weight: 500;
	letter-spacing: 0.04em;
}

.p-affiliated-detail-map__group h3 {
	font-weight: 400;
	letter-spacing: 0.04em;
	color: #333;
}

.p-affiliated-detail-map__group a {
	font-weight: 400;
	color: #444;
}

/* =========================================================
  Custom Override
  Affiliated Detail Title - SP
========================================================= */

@media (max-width: 767px) {

	.p-affiliated-detail-info .c-heading-serif {
		font-size: 22px;
		line-height: 1.35;
		letter-spacing: 0.02em;
	}

}