@charset "utf-8";
.partner_lead {
		font-size: 22px;
		line-height: 2.0;
}
.partner_hd {
		font-size: 38px;
		font-weight: 500;
		margin: 75px 0 35px;
		font-family: YakuHanMP, "Noto Serif JP", serif;
}
.partner_hd span {
		display: inline-block;
		position: relative;
}
.partner_hd span::before {
		content: '・';
		display: block;
		position: absolute;
		top: 0;
		left: -1em;
}
.partner_grid {
		display: grid;
		grid-template-columns: repeat(3, 1fr);
		gap: 16px 16px;
}
.partner_tile {
		border-radius: 24px;
		overflow: hidden;
}
.partner_tile img {
		width: 100%;
		height: auto;
		transition: transform 0.3s cubic-bezier(0.16, 1, 0.3, 1);
}
@media (hover: hover) {
		.partner_tile a:hover img {
				transform: scale(1.1)
		}
}
.partner_bottom {
		height: 100px
}
@media(max-width: 1500px) {
		.partner_lead {
				font-size: 18px;
		}
		.partner_hd {
				font-size: 30px;
		}
		.partner_hd span {
				padding-left: 1em;
		}
		.partner_hd span::before {
				left: 0em;
		}
}
@media(max-width: 767px) {
		.partner_lead {
				font-size: 15px;
		}
		.partner_hd {
				font-size: 22px;
				margin: 45px 0 15px;
		}
		.partner_grid {
				display: grid;
				grid-template-columns: repeat(2, 1fr);
				gap: 8px;
		}
		.partner_tile {
				border-radius: 10px;
		}
}
@media(max-width: 960px) {
		.partner_bottom {
				height: 50px
		}
}
.partner_footer {
		margin-top: calc(15vw + 100px);
		margin-bottom: -100px;
		position: relative;
}
.partner_footer footer {
		position: relative;
}
.partner_footer::before {
		content: '';
		display: block;
		position: absolute;
		top: -16vw;
		left: 0;
		width: 100%;
		background-repeat: no-repeat;
		background-position: center top;
		background-size: 100%;
		background-image: url("../images/second_wht_bg2_pc.svg");
		height: 800px;
		z-index: 10;
		box-sizing: border-box;
		pointer-events: none;
}
.partner_footer_inner {
		position: relative;
		z-index: 15;
		top: -10vw;
		margin-bottom: -10vw;
}
@media(max-width: 1500px) {
		.partner_footer_inner {
				top: -6vw;
				margin-bottom: -6vw;
		}
}
@media(max-width: 767px) {
		.partner_footer {
				margin-top: calc(14vw + 80px);
				margin-bottom: -80px;
		}
		.partner_footer::before {
				top: -14vw;
				background-image: url("../images/second_wht_bg_sp.png");
				height: 15vw;
				min-height: inherit;
				background-size: 100%;
		}
		.partner_footer_inner {
				background: #fff;
				padding-bottom: 20px;
				margin-bottom: -20px;
		}
}
.footer_partner_hd {
		text-align: center;
		font-size: 40px;
		font-weight: 500;
		margin: 0 0 35px;
}
.footer_partner_caption {
		text-align: center;
		line-height: 1.8;
		margin: 0 0 40px;
}
.footer_partner_btn {
		width: 325px;
		margin: 0 auto 160px;
}
.footer_partner_btn a {
		color: #323232;
		text-decoration: none;
		display: flex;
		justify-content: center;
		align-items: center;
		height: 49px;
		box-sizing: border-box;
		border: 1px solid #323232;
		border-radius: 60px;
		position: relative;
		transition: background 0.4s;
}
.footer_partner_btn a::after {
		content: '';
		display: block;
		position: absolute;
		top: 0px;
		right: 0;
		width: 49px;
		height: 49px;
		background-repeat: no-repeat;
		background-position: center center;
		background-size: 49px;
		background-image: url("../images/icon_right_blk.png");
		pointer-events: none
}
@media (hover: hover) {
		.footer_partner_btn a:hover {
				background: #000;
				color: #fff;
		}
		.footer_partner_btn a:hover::after {
				background-image: url("../images/icon_right_wht.png")
		}
}
@media(max-width: 767px) {
		.partner_bottom {
				height: 40px;
		}
		.footer_partner_hd {
				font-size: 32px;
				padding-top: 40px;
		}
		.footer_partner_btn {
				width: 230px;
				margin: 0 auto 80px;
		}
		.footer_partner_btn a span {
				transform: translateX(-1em)
		}
}