@charset "UTF-8";
/*
提携会社のご紹介（/partner/）だけで読み込む
2026-11-10 BANTORRA-10
色・文字・余白は ver2（assets/sass/foundation/_mixin.scss）に合わせる
文字 #2f2725／補足 #6d6461／線 #dcd6d0／紙 #f6f3ef／差し色 #ef8862（ホバー #df7550）
PC 960px〜／タブレット 〜959px／SP 〜750px
*/

/*
----------------------------------------
折り返し（.inner の break-all だと「19:00」などが途中で切れるため、このページは単語の途中で切らない）
----------------------------------------
*/
#partner .inner {
	word-break: normal;
	overflow-wrap: anywhere;
}

/*
----------------------------------------
リード・カテゴリーの目次
----------------------------------------
*/
.p-partnerLead {
	padding-block: 12rem 16rem;
}

.p-partnerLead__text {
	font-size: 1.8rem;
	line-height: 2.2;
	letter-spacing: 0.12em;
	text-align: center;
}

.p-partnerIndex {
	display: grid;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	margin-top: 8rem;
	border-top: 1px solid #2f2725;
	border-bottom: 1px solid #2f2725;
}

.p-partnerIndex__item + .p-partnerIndex__item {
	border-left: 1px solid #dcd6d0;
}

.p-partnerIndex__link {
	display: grid;
	grid-template-columns: minmax(0, 1fr) auto;
	grid-template-areas:
		"en arrow"
		"ja count";
	align-items: end;
	gap: 0.8rem 1.6rem;
	height: 100%;
	padding: 4rem 3.2rem;
	transition: background-color 0.5s cubic-bezier(0.25, 0.46, 0.45, 0.94);
}

.p-partnerIndex__en {
	grid-area: en;
	font-size: 3.2rem;
	line-height: 1.1;
	letter-spacing: 0.04em;
	word-break: normal;
}

.p-partnerIndex__ja {
	grid-area: ja;
	font-size: 1.6rem;
	letter-spacing: 0.2em;
}

.p-partnerIndex__count {
	grid-area: count;
	font-size: 1.6rem;
	color: #6d6461;
}

/* 下向きの丸い矢印（ページ内のリンク） */
.p-partnerIndex__link::after {
	content: "";
	grid-area: arrow;
	justify-self: end;
	width: 3.6rem;
	height: 3.6rem;
	border-radius: 50%;
	background: #ef8862 url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 10 8'%3E%3Cpath d='M0 0l5 8 5-8z' fill='%23ffffff'/%3E%3C/svg%3E") no-repeat center 55% / 0.9rem;
	transition: transform 0.5s cubic-bezier(0.25, 0.46, 0.45, 0.94), background-color 0.5s cubic-bezier(0.25, 0.46, 0.45, 0.94);
}

@media (hover: hover) {
	.p-partnerIndex__link:hover {
		background: #f6f3ef;
	}

	.p-partnerIndex__link:hover::after {
		transform: translateY(0.4rem);
		background-color: #df7550;
	}
}

@media (max-width: 959px) {
	.p-partnerLead {
		padding-block: 9.6rem 12rem;
	}

	.p-partnerIndex {
		margin-top: 6.4rem;
	}

	.p-partnerIndex__link {
		padding: 3.2rem 2rem;
	}

	.p-partnerIndex__en {
		font-size: 2.6rem;
	}
}

@media (max-width: 750px) {
	.p-partnerLead {
		padding-block: 6.4rem 9.6rem;
	}

	.p-partnerLead__text {
		font-size: 1.5rem;
		text-align: left;
	}

	.p-partnerIndex {
		grid-template-columns: minmax(0, 1fr);
		margin-top: 4.8rem;
	}

	.p-partnerIndex__item + .p-partnerIndex__item {
		border-top: 1px solid #dcd6d0;
		border-left: 0;
	}

	.p-partnerIndex__link {
		padding: 2rem 0.4rem;
	}

	.p-partnerIndex__en {
		font-size: 2.4rem;
	}

	.p-partnerIndex__ja,
	.p-partnerIndex__count {
		font-size: 1.4rem;
	}

	.p-partnerIndex__link::after {
		width: 3.2rem;
		height: 3.2rem;
	}
}

/*
----------------------------------------
カテゴリーごとの提携会社
----------------------------------------
*/
.p-partnerSec {
	padding-block: 16rem;
	scroll-margin-top: 13.9rem;
}

.p-partnerSec__lead {
	max-width: 72rem;
	margin: 4rem auto 0;
	font-size: 1.6rem;
	text-align: center;
}

.p-partnerSec__list {
	display: grid;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	gap: 4rem;
	margin-top: 8rem;
}

.p-partnerCard {
	display: flex;
	flex-direction: column;
	background: #ffffff;
	border: 1px solid #dcd6d0;
}

.p-partnerCard__thumb img {
	display: block;
	width: 100%;
	height: auto;
	aspect-ratio: 16 / 9;
	object-fit: cover;
}

.p-partnerCard__body {
	display: flex;
	flex: 1;
	flex-direction: column;
	padding: 3.2rem 2.8rem 3.6rem;
}

.p-partnerCard__tags {
	display: flex;
	flex-wrap: wrap;
	gap: 0.8rem;
}

.p-partnerCard__tags span {
	padding: 0.2rem 1.2rem;
	border: 1px solid #dcd6d0;
	font-size: 1.6rem;
	line-height: 1.6;
	letter-spacing: 0.08em;
	color: #6d6461;
}

.p-partnerCard__tags span + span {
	border-color: #ef8862;
	color: #ef8862;
}

.p-partnerCard__ttl {
	margin-top: 2rem;
	font-size: 2rem;
	font-weight: 400;
	line-height: 1.6;
	letter-spacing: 0.1em;
}

.p-partnerCard__lead {
	margin-top: 1.6rem;
	font-size: 1.6rem;
	line-height: 2;
}

.p-partnerCard__spec {
	margin-top: 2.4rem;
	border-top: 1px solid #dcd6d0;
}

.p-partnerCard__spec div {
	display: grid;
	grid-template-columns: 8.8rem minmax(0, 1fr);
	gap: 1.2rem;
	padding-block: 1.2rem;
	border-bottom: 1px solid #dcd6d0;
	font-size: 1.6rem;
	line-height: 1.7;
}

.p-partnerCard__spec dt {
	color: #6d6461;
	letter-spacing: 0.08em;
}

.p-partnerCard__btn {
	margin-top: auto;
	padding-top: 2.8rem;
}

.p-partnerCard__btn a {
	display: flex;
	align-items: center;
	justify-content: center;
	gap: 1rem;
	min-height: 5.2rem;
	border: 1px solid #2f2725;
	font-size: 1.6rem;
	letter-spacing: 0.16em;
	transition: background-color 0.5s cubic-bezier(0.25, 0.46, 0.45, 0.94), color 0.5s cubic-bezier(0.25, 0.46, 0.45, 0.94);
}

/* 別タブの印 */
.p-partnerCard__btn a::after {
	content: "";
	width: 1.2rem;
	height: 1.2rem;
	background: currentColor;
	-webkit-mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 12 12'%3E%3Cpath d='M4 1h7v7M11 1L4.5 7.5M8.5 11H1V3.5' fill='none' stroke='%23000000' stroke-width='1.2'/%3E%3C/svg%3E") no-repeat center / contain;
	mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 12 12'%3E%3Cpath d='M4 1h7v7M11 1L4.5 7.5M8.5 11H1V3.5' fill='none' stroke='%23000000' stroke-width='1.2'/%3E%3C/svg%3E") no-repeat center / contain;
}

@media (hover: hover) {
	.p-partnerCard__btn a:hover {
		background: #2f2725;
		color: #ffffff;
	}
}

@media (max-width: 959px) {
	.p-partnerSec {
		padding-block: 12rem;
		scroll-margin-top: 7.2rem;
	}

	.p-partnerSec__list {
		grid-template-columns: repeat(2, minmax(0, 1fr));
		gap: 3.2rem;
		margin-top: 6.4rem;
	}
}

@media (max-width: 750px) {
	.p-partnerSec {
		padding-block: 9.6rem;
		scroll-margin-top: 6.4rem;
	}

	.p-partnerSec__lead {
		margin-top: 3.2rem;
		font-size: 1.4rem;
		text-align: left;
	}

	.p-partnerSec__list {
		grid-template-columns: minmax(0, 1fr);
		gap: 2.4rem;
		margin-top: 4.8rem;
	}

	.p-partnerCard__body {
		padding: 2.4rem 2rem 2.8rem;
	}

	.p-partnerCard__tags span {
		font-size: 1.3rem;
	}

	.p-partnerCard__ttl {
		margin-top: 1.6rem;
		font-size: 1.8rem;
	}

	.p-partnerCard__lead,
	.p-partnerCard__spec div {
		font-size: 1.4rem;
	}

	.p-partnerCard__spec div {
		grid-template-columns: 7.6rem minmax(0, 1fr);
	}

	.p-partnerCard__btn a {
		font-size: 1.5rem;
	}
}

/*
----------------------------------------
ご利用について・提携をご希望の企業様へ
----------------------------------------
*/
.p-partnerNote {
	padding-block: 16rem;
}

.p-partnerNote__box {
	padding: 4rem 4.8rem;
	border: 1px solid #dcd6d0;
}

.p-partnerNote__ttl {
	font-size: 1.8rem;
	letter-spacing: 0.16em;
}

.p-partnerNote__text {
	margin-top: 1.6rem;
	font-size: 1.6rem;
	color: #6d6461;
}

.p-partnerRecruit {
	margin-top: 12rem;
	padding-top: 12rem;
	border-top: 1px solid #dcd6d0;
	text-align: center;
}

.p-partnerRecruit__text {
	margin-top: 4.8rem;
	font-size: 1.6rem;
}

.p-partnerRecruit__btn {
	display: flex;
	justify-content: center;
	margin-top: 4.8rem;
}

@media (max-width: 959px) {
	.p-partnerNote {
		padding-block: 12rem;
	}

	.p-partnerRecruit {
		margin-top: 9.6rem;
		padding-top: 9.6rem;
	}
}

@media (max-width: 750px) {
	.p-partnerNote {
		padding-block: 9.6rem;
	}

	.p-partnerNote__box {
		padding: 2.8rem 2rem;
	}

	.p-partnerNote__ttl {
		font-size: 1.6rem;
	}

	.p-partnerNote__text {
		font-size: 1.4rem;
	}

	.p-partnerRecruit {
		margin-top: 8rem;
		padding-top: 8rem;
	}

	.p-partnerRecruit__text {
		margin-top: 3.2rem;
		font-size: 1.4rem;
		text-align: left;
	}

	.p-partnerRecruit__btn {
		margin-top: 3.2rem;
	}
}
