@charset "utf-8";

/* =========================================================
  Affiliates
========================================================= */
.p-affiliates {
	position: relative;
}

/* =========================================================
  Affiliates Index
========================================================= */
.p-affiliates-index {
	position: relative;
	z-index: 1;
	padding-bottom: clamp(90px, 8.333vw, 160px);
}

.p-affiliates-index__grid {
	display: grid;
	grid-template-columns: repeat(2, 1fr);
	justify-content: space-between;
	gap: clamp(70px, 6.25vw, 120px) 50px;
}

.p-affiliates-index__category-title {
	position: relative;
	padding-left: 0.65em;
	font-size: clamp(22px, 3vw, 30px);
	font-weight: 500;
	line-height: 1.4;
}

.p-affiliates-index__category-title::before {
	content: "";
	position: absolute;
	top: 0.2em;
	left: 0;
	width: 0.12em;
	height: 1.15em;
	background: linear-gradient(to bottom, #9b001d 0%, #f20012 100%);
}

.p-affiliates-index__links {
	display: grid;
	gap: 0.7em;
	margin-top: 1.1em;
	font-size: clamp(16px, 2vw, 20px);
	font-weight: 400;
	line-height: 1.6;
}

/* =========================================================
  Affiliates Detail
========================================================= */
.p-affiliates-detail {
	padding-top: clamp(90px, 8.333vw, 160px);
	padding-bottom: clamp(100px, 10.417vw, 200px);
	background-image: url("../img/affiliates/bg_company.jpg");
	background-repeat: repeat-y;
	background-position: top center;
	background-size: 100% auto;
}

.p-affiliates-detail__section {
	display: grid;
	grid-template-columns: 40% 60%;
	padding-top: clamp(60px, 5.208vw, 100px);
	padding-bottom: clamp(60px, 5.208vw, 100px);
	border-bottom: 1px solid #ccc;
}

.p-affiliates-detail__section:first-child {
	padding-top: 0;
}

.p-affiliates-detail__category {
	position: relative;
	padding-left: 0.65em;
	font-size: clamp(22px, 3vw, 30px);
	font-weight: 500;
	line-height: 1.4;
}
.p-affiliates-detail__category.long {
    font-size: clamp(22px, 2.9vw, 28px);
}

.p-affiliates-detail__category::before {
	content: "";
	position: absolute;
	top: 0.2em;
	left: 0;
	width: 0.12em;
	height: 1.15em;
	background: linear-gradient(to bottom, #9b001d 0%, #f20012 100%);
}

.p-affiliates-detail__companies {
	display: grid;
	gap: clamp(50px, 4.167vw, 80px);
}

.p-affiliates-detail__company-name {
	color: #c9001d;
	font-size: clamp(22px, 3vw, 30px);
	font-weight: 500;
	line-height: 1.5;
}

.p-affiliates-detail__table {
	width: 100%;
	margin-top: 1.2em;
	border-collapse: collapse;
}

.p-affiliates-detail__table th,
.p-affiliates-detail__table td {
	padding: 0.35em 0;
	vertical-align: top;
	line-height: 1.7;
	font-size: clamp(16px, 2vw, 20px);
}

.p-affiliates-detail__table th {
	width: 190px;
	font-weight: 500;
}

.p-affiliates-detail__table td {
	font-weight: 400;
}
.p-affiliates-index__item img {
	width: 100%;
}

.p-affiliates-index__category-title {
	margin-top: 1.45em;
	padding-bottom: 0.55em;
	border-bottom: 1px dashed #999;
}
.p-affiliates-index__links li {
	border-bottom: 1px solid var(--color-border);
	padding-bottom: 0.5em;
}
.p-affiliates-index__links a {
	text-underline-offset: 0.15em;
	position: relative;
	padding-right: 2em;
}
.p-affiliates-index__links a::after {
	content: "";
	position: absolute;
	top: 50%;
	right: 0.35em;
	width: 0.55em;
	height: 0.55em;
	border-right: 1px solid #e60012;
	border-bottom: 1px solid #e60012;
	transform: translateY(-65%) rotate(45deg);
}

/* =========================================================
  Affiliates - SP
========================================================= */
@media (max-width: 767px) {
	.p-affiliates-index {
		padding-bottom: 72px;
	}

	.p-affiliates-index__grid {
		grid-template-columns: 1fr;
		gap: 48px;
	}

	.p-affiliates-detail {
		padding-top: 72px;
		padding-bottom: 90px;
		background-size: auto 520px;
	}

	.p-affiliates-detail__section {
		display: block;
		padding-top: 56px;
		padding-bottom: 56px;
	}

	.p-affiliates-detail__companies {
		gap: 42px;
		margin-top: 32px;
	}

	.p-affiliates-detail__table th,
	.p-affiliates-detail__table td {
		display: block;
		width: 100%;
	}

	.p-affiliates-detail__table th {
		padding-bottom: 0;
		font-size: 16px;
	}

	.p-affiliates-detail__table td {
		padding-top: 0;
		font-size: 15px;
	}
}


/* =========================================================
  Custom Override by UP
  Affiliates link arrow adjustment
========================================================= */

.p-affiliates-index__links a {
	display: grid;
	grid-template-columns: minmax(0, 1fr) auto;
	align-items: center;
	gap: 0.8em;
	padding-right: 0;
}

.p-affiliates-index__links a::after {
	position: static;
	display: block;
	flex-shrink: 0;
	transform: rotate(45deg);
}