@charset "UTF-8";

.partner a {
	transition: all 0.4s;
}

.partner a:hover {
	opacity: 0.6;
}

.intro {
	display: flex;
	gap: 100px;
}

.intro_cnt {
}

.intro_ttl {
	font-size: 35px;
}

.intro_text {
	margin-top: 50px;
}

.intro_target {
	margin-top: 40px;
	padding: 28px 33px;
	background: #f7f7f7;
}

.intro_target h3 {
	margin-bottom: 10px;
	color: #aa1f25;
	font-weight: bold;
}

.intro_img {
	flex-shrink: 0;
	padding-top: 80px;
}

.case {
	margin-top: 120px;
}

.case_ttl {
}

.case_list {
	display: grid;
	gap: 40px;
	margin-top: 50px;
}

.case_item {
	display: flex;
	justify-content: space-between;
	align-items: center;
	gap: 60px;
	padding: 60px;
	border: 1px solid var(--c-border);
	border-radius: 5px;
}

.case_item_cnt {
}

.case_item_num {
	position: relative;
	padding-bottom: 10px;
	font-size: 20px;
	font-family: var(--ff-en);
}

.case_item_num::after {
	content: "";
	display: block;
	position: absolute;
	bottom: 0;
	left: 0;
	width: 50px;
	height: 1px;
	background-color: var(--c-black);
}

.case_item_ttl {
	margin-top: 25px;
	font-weight: bold;
	font-size: 24px;
}

.case_item_text {
	margin-top: 20px;
}

.case_item_logo {
	flex-shrink: 0;
}

.flow {
	margin-top: 100px;
}

.flow_ttl {
}

.flow_list {
	display: grid;
	grid-template-columns: repeat(4, 1fr);
	gap: 20px;
	margin-top: 110px;
}

.flow_item {
	position: relative;
	padding: 30px;
	border: 1px solid var(--c-border);
	border-radius: 5px;
	background-color: var(--c-bg);
}

.flow_item::before {
	content: "";
	position: absolute;
	top: -50px;
	right: 15px;
	width: 100px;
	height: 108px;
	background-position: center;
	background-size: contain;
	background-repeat: no-repeat;
}

.flow_item.-step01::before {
	background-image: url(/img/partnership/step01@2x.png);
}

.flow_item.-step02::before {
	background-image: url(/img/partnership/step02@2x.png);
}

.flow_item.-step03::before {
	background-image: url(/img/partnership/step03@2x.png);
}

.flow_item.-step04::before {
	background-image: url(/img/partnership/step04@2x.png);
}

.flow_item:not(:first-child)::after {
	content: "";
	display: block;
	position: absolute;
	top: 50%;
	left: -25px;
	width: 22px;
	height: 38px;
	margin-top: -19px;
	background-image: url(/img/partnership/step-arrow.svg);
	background-position: center;
	background-size: contain;
	background-repeat: no-repeat;
}

.flow_item_num {
	position: relative;
	padding-bottom: 15px;
	font-size: 20px;
	font-family: var(--ff-en);
}

.flow_item_num::after {
	content: "";
	display: block;
	position: absolute;
	bottom: 0;
	left: 0;
	width: 50px;
	height: 1px;
	background-color: var(--c-black);
}

.flow_item_ttl {
	margin-top: 15px;
	color: #2250a2;
	font-size: 20px;
}

.flow_item_text {
	margin-top: 15px;
}

.contact {
	position: relative;
	overflow: hidden;
}

.contact .c_main_cnt::before {
	content: "";
	display: block;
	opacity: 0.4;
	position: absolute;
	top: -12%;
	right: -160px;
	z-index: 0;
	width: 800px;
	background: url(/img/cmn/logo-mark-blur.svg) no-repeat center center/contain;
	animation: 8s fuwafuwa ease-in-out infinite;
	aspect-ratio: 629 / 666;

	filter: blur(40px);
	perspective: 2000px;
	transform-style: preserve-3d;
}

@media screen and (max-width:767px) {
	.partner {
	}

	.intro {
		flex-direction: column;
		gap: 30px;
	}

	.intro_cnt {
	}

	.intro_ttl {
		font-size: 24px;
	}

	.intro_text {
		margin-top: 30px;
	}

	.intro_caution {
	}

	.intro_target {
		margin-top: 20px;
		padding: 28px 15px;
	}

	.intro_target h3 {
	}

	.intro_img {
		margin: 0 -24px;
		padding: 0;
	}

	.case {
		margin-top: 50px;
	}

	.case_ttl {
	}

	.case_list {
	}

	.case_item {
		flex-direction: column;
		gap: 30px;
		padding: 24px 24px 30px;
	}

	.case_item_cnt {
	}

	.case_item_num {
		font-size: 18px;
	}

	.case_item_num::after {
	}

	.case_item_ttl {
		font-size: 20px;
		text-align: left;
	}

	.case_item_text {
		margin-top: 15px;
	}

	.case_item_logo {
	}

	.flow {
		margin-top: 50px;
	}

	.flow_ttl {
	}

	.flow_list {
		grid-template-columns: 1fr;
		gap: 40px;
	}

	.flow_item {
		padding: 24px;
	}

	.flow_item::before {
		top: -20px;
		width: 80px;
		height: 80px;
	}

	.flow_item.-step01::before {
	}

	.flow_item.-step02::before {
	}

	.flow_item.-step03::before {
	}

	.flow_item.-step04::before {
	}

	.flow_item:not(:first-child)::after {
		top: -34px;
		left: 50%;
		width: 16px;
		height: 28px;
		margin-top: 0;
		margin-left: -8px;
		transform: rotate(90deg);
	}

	.flow_item_num {
	}

	.flow_item_num::after {
	}

	.flow_item_ttl {
	}

	.flow_item_text {
	}

	.contact {
	}

	.contact .c_main_cnt::before {
		top: -80px;
		right: -70px;
		width: 420px;
	}
}
