@charset "utf-8";

/* ↓↓↓ fv ↓↓↓ */
.fv {
	position: relative;
	height: 400px;
}

@media (max-width: 768px) {
	.fv {
		height: auto;
	}
}

.fv .image {
	display: block;
	width: 100%;
	height: 100%;
	overflow: hidden;
}

.fv .image img {
	width: 100%;
	height: 100%;
	object-fit: cover;
}

.fv-title {
	position: absolute;
	transform: translateY(-50%);
	top: 50%;
	left: min(6.723%, 80px);
	color: #fff;
}

@media (max-width: 768px) {
	.fv-title {
		position: initial;
		transform: translateY(0);
		min-height: 197px;
		color: #000;
		background-color: #f5f5f5;
		padding: 20px 20px 45px;
	}
}

.fv-title .title {
	font-family: var(--noto-serif);
	font-size: clamp(52px,64/1280*100vw,64px);
	letter-spacing: .08em;
	line-height: 1;
}

@media (max-width: 768px) {
	.fv-title .title {
		font-size: 4rem;
		line-height: 1.4;
	}
}

.fv-title .text {
	margin-top: min(3.90623vw, 50px);
	font-size: 1.4rem;
	line-height: 1.8;
	text-align: justify;
}

@media (max-width: 768px) {
	.fv-title .text {
		margin-top: 20px;
		font-size: 1.5rem;
	}
}
/* ↑↑↑ fv ↑↑↑ */

/* ↓↓↓ support ↓↓↓ */
.company-area {
	margin-top: 85px;
	padding: 0 30px;
}

@media (max-width: 768px) {
	.company-area {
		margin-top: 78px;
		padding: 0 20px;
	}
}

.company-area .wrap {
	position: relative;
	max-width: 936px;
	margin: 0 auto;
}

.company-area .wrap .deco-title {
	position: absolute;
	top: -35px;
	left: clamp(70%, 53.125vw, 680px);
	width: min(27.344vw, 350px);
}

@media (max-width: 768px) {
	.company-area .wrap .deco-title {
		top: -70px;
    left: initial;
    right: -5px;
    width: 176px;
	}
}

.company-area .list {
	position: relative;
	display: flex;
	justify-content: space-between;
	flex-wrap: wrap;
	z-index: 1;
}

@media (max-width: 768px) {
	.company-area .list {
		display: block;
	}
}

.company-area .list .item {
	display: flex;
	flex-direction: column;
	justify-content: space-between;
	align-items: center;
	width: calc((100% - 16px) / 2);
	padding-top: 52px;
	background-color: #fff;
	box-shadow: 0px 0px 6px rgba(0, 0, 0, .1);
}

.company-area .list .item:nth-of-type(n + 3) {
	margin-top: 16px;
}

@media (max-width: 768px) {
	.company-area .list .item {
		width: 100%;
	}
	.company-area .list .item:nth-of-type(n + 2) {
		margin-top: 16px;
	}
}

.company-area .list .item .logo {
	width: auto;
	height: min(6.764vw, 60px);
}

@media (max-width: 768px) {
	.company-area .list .item .logo {
		height: min(13vw, 60px);
	}
}


.company-area .list .item-head {
	text-align: center;
	font-size: 1.5rem;
	letter-spacing: 0.08em;
	font-weight: 500;
	padding: 20px 20px 30px;
}

@media (max-width: 768px) {
	.company-area .list .item-head {
		width: 100%;
		font-size: 1.5rem;
		margin-bottom: 12px;
	}
}

.company-area .list .link-group {
	width: 100%;
	height: 63px;
	display: flex;
	justify-content: center;
	align-items: center;
	border-top: 1px solid #e6e6e6;
}

.company-area .list .link-group .link {
	position: relative;
	display: inline-block;
	font-size: 1.5rem;
	letter-spacing: 0.08em;
	padding-right: 30px;
	transition: opacity ease .3s;
}

@media (max-width: 768px) {
	.company-area .list .link-group .link {
		padding-right: 25px;
	}
}

.company-area .list .link-group .link:not(:first-of-type) {
	margin-left: 55px;
}

@media (max-width: 768px) {
	.company-area .list .link-group .link:not(:first-of-type) {
		margin-left: 25px;
	}
}

@media (min-width: 769px) {
	.company-area .list .link-group .link:hover {
		transition: opacity ease .3s;
		opacity: .5;
	}
}

.company-area .list .link-group .link::before {
	content: '';
	position: absolute;
	transform: translateY(-50%);
	top: 50%;
	right: 0;
	width: 12px;
	aspect-ratio: 1/1;
	background: url(../img/group/icon-outlink.svg) no-repeat;
	background-size: cover;
}

.company-area .list .link-group .text {
	display: inline-block;
	font-size: 1.5rem;
	letter-spacing: 0.08em;
}
/* ↑↑↑ support ↑↑↑ */

footer {
	margin-top: 150px;
}

@media screen and (max-width: 768px) {
	footer {
		margin-top: 130px;
	}
}