body {
	overflow-x: hidden;
}
main img {
	aspect-ratio: 4 /3;
	object-fit: cover;
}
.others-list-bottom img {
	aspect-ratio: initial;
	object-fit: contain;
}
/* ＝＝＝＝＝＝
↑プロフィール写真とロゴとボトムリンクの＞だけアスペ比変わらないように対応済
＝＝＝＝＝*/

/* ----------
fv
---------- */


#FV .fv-img {
	position: relative;
	background-image: url(../image/case/main_kv.png);
	background-size: cover;
	background-position: center center;
	width: 100%;
	height: auto;
	overflow: hidden;
	aspect-ratio: 1600/370;
}

#FV .fv-img .bread-crumbs {
    position: absolute;
    /* top: 1vw; */
    top: 0.156vw;
    left: 10.57%;
    font-size: 0.81rem;
    display: flex;
    gap: 10px;
    margin-block: 1rem;
}
#FV .fv-img .bread-crumbs a {
	text-decoration: underline;
	text-underline-offset: 0.313vw;
	padding-bottom: 0.104vw;
	transition: all 0.3s;
}

#FV .fv-img .bread-crumbs a:hover {
	opacity: 0.5;
}

#FV .sp {
	display: none;
}

#FV .fv-img h1 {
	position: absolute;
	top: 25%;
	left: 10.57%;
	word-break: keep-all;
	font-size: 2.474vw;
	letter-spacing: -0.26vw;
}


#FV nav {
	box-shadow: 0 0.156vw 0 #f5f5f5;
}

#FV nav .nav-ul-pc {
	display: block;
}

#FV nav .nav-ul-sp {
	display: none;
}

#FV nav .nav-ul-pc {
	width: 78.2%;
	height: 60px;
	margin: 0 auto;
	display: flex;
}

#FV nav .nav-ul-pc .nav-li {
	width: 33.3%;
	border-left: 0.052vw solid #f5f5f5;
}

#FV nav .nav-ul-pc .nav-li a {
	position: relative;
	display: flex;
	justify-content: center;
	align-items: center;
	width: 100%;
	height: 100%;
}

#FV nav .nav-ul-pc .nav-li a img {
	position: absolute;
	left: 0.052vw;
	margin-left: 1.042vw;
	width: 8%;
	aspect-ratio: 1/1;
}

#FV nav .nav-ul-pc .nav-li a p {
	font-size: clamp(12px, 1vw, 14px);
	font-weight: bold;
	letter-spacing: -0.052vw;
	text-align: center;
}

#FV nav .nav-ul-pc .nav-li a p span {
	font-size: 0.781vw;
}

#FV nav .nav-ul-pc .nav-li a:hover {
	color: #fff;
	background-color: #b1000e;
}

#FV nav .nav-ul-pc .nav-li:last-child {
	border-right: 0.052vw solid #f5f5f5;
}

#FV .fv-description {
	display: flex;
	flex-direction: column;
	justify-content: center;
	align-items: center;
	margin: 2.188vw 0;
	text-align: center;
}

#FV .fv-description p {
	/* font-size: 1.094vw; */
	font-size: clamp(10px, 1.37vw, 33px);
	width: 80%;
	margin: 0 auto;
	line-height: 2.083vw;
}

#FV .fv-description img {
	margin: 1.771vw 0;
	width: 35%;
	height: auto;
	aspect-ratio: 1672/1636;
}
.title-lead {
	width: 30%;
	position: absolute;
	left: 10.57%;
	top: 48%;
	font-size: clamp(10px, 1.9vw, 48px);
	font-weight: bold;
	line-height: 1.56;
}
.company-name {
	color: #2f2f2f;
	display: flex;
	align-items: center;
	gap: 14px;
	letter-spacing: initial;
}
.company-name span {
	background-color: #b1000e;
	color: #fff;
	font-size: clamp(10px, 1.8vw, 16px);
	/* line-height: 3.8; */
	letter-spacing: 0.025em;
	font-weight: 500;
	padding: 7px 12px 8px 13px;
}
.company-name-sp, 
.title-lead-sp {
	display: none;
}
@media screen and (max-width: 768px) {
	#FV .fv-img {
		position: relative;
		background-image: url(../image/case/main_kv.png);
		/* width: 119%; */
		width: 100%;
		overflow: hidden;
		/* 枠からはみ出した部分を隠す */
		object-fit: cover;
		object-position: 50% 50%;
		/* 画像の中心を基準に表示 */
		background-repeat: no-repeat;
		/* 画像の繰り返しをしない */
		height: auto;
		aspect-ratio: 480/111;
	}
	#FV .fv-img .bread-crumbs {
		display: none;
		position: absolute;
		/* top: 1vw; */
		top: -5px;
		left: 4.57%;
		/* font-size: 1vw; */
		font-size: 2.5vw;
	}
	#FV .fv-img .bread-crumbs a {
		text-decoration: underline;
		text-underline-offset: 6px;
		padding-bottom: 2px;
		transition: all 0.3s;
	}
	#FV .fv-img .bread-crumbs a:hover {
		opacity: 0.5;
	}
	#FV .sp {
		display: block;
	}
	#FV .fv-img h1, 
	.title-lead, 
	.bread-crumbs {
		display: none;
	}
	
	.company-name-sp {
		display: block;
		color: #2f2f2f;
		font-size: min(4.3vw, 38px);
		margin-block: 5.6vw;
		font-weight: bold;
	}
	.company-name-sp span {
		background-color: #b1000e;
		color: #fff;
		font-size: min(3.1vw, 28px);
		padding-block: 2.15vw;
		display: inline-block;
		text-align: center;
		width: 19%;
	}

	.title-lead-sp {
		display: block;
		font-size: clamp(10px, 5.4vw, 48px);
		font-weight: bold;
		line-height: 1.45;
		margin-bottom: 26px;
	}

	.title-sp, 
	.case-container, 
	.contact__wrapper {
		padding-inline: 4.5vw;
	}
	#FV nav {
		/* box-shadow: 0 3px 0 #f5f5f5; */
		border-top: 1px solid #e1e1e1;
		border-bottom: 1px solid #e1e1e1;
	}

	#FV nav .nav-ul-pc {
		display: none;
	}

	#FV nav .nav-ul-sp {
		display: block;
	}
	#FV nav .nav-ul-sp {
		/* width: 78.2%; */
		width: 100%;
		/* height: 72px; */
		/* height: 15.5vw; */
		margin: 0 auto;
		display: flex;
		flex-wrap: wrap;
	}
	#FV nav .nav-ul-sp .nav-li {
		width: 33.3%;
		border-left: 1px solid #f5f5f5;
		border-bottom: 1px solid #f5f5f5;

	}

	.nav-ul-sp li:nth-child(5) {
		border-right: 1px solid #f5f5f5;
	  }

	#FV nav .nav-ul-sp li:nth-child(-n+3) {
		padding-bottom: 2vw;
	  }
	  

	#FV nav .nav-ul-sp .nav-li a {
		/* position: relative; */
		display: flex;
		flex-direction: column;
		justify-content: center;
		align-items: center;
	}
	#FV nav .nav-ul-sp .nav-li a img {
		/* position: absolute; */
		left: 44%;
		/* bottom: -3.4vw; */
		bottom: -1.6vw;
		/* margin-left: 20px; */
		width: 3.5vw;
		aspect-ratio: 1 / 1;
		margin-bottom: 1vw;
	}
	#FV nav .nav-ul-sp .nav-li a p {
		/* font-size: 16px; */
		font-size: 2.5vw;
		/* font-size: clamp(10px, 1.8vw, 28px); */
		font-weight: bold;
		letter-spacing: -1;
		line-height: 1.2rem;
		text-align: center;
		margin-bottom: 1vw;
		padding-block: 15px 10px;
	}
	#FV nav .nav-ul-sp .nav-li a p span {
		/* font-size: 2.6vw;
		line-height: 2.3rem; */
		font-size: 2.6vw;
		line-height: 1;
	}
	#FV nav .nav-ul-sp .nav-li:hover {
		background-color: #b1000e;
		a {
			color: #fff;
		}
	}
	/* #FV nav .nav-ul-sp .nav-li:last-child {
		border-right: 1px solid #f5f5f5;
	} */
	#FV .fv-description {
		display: flex;
		flex-direction: column;
		justify-content: center;
		align-items: center;
		/* margin: 42px 0; */
		/* margin: 35px 0; */
		margin: 18px 0;
		text-align: center;
		padding: 0 3.8%;
	}
	#FV .fv-description p {
		font-size: 21px;
		/* width: 80%; */
		width: 100%;
		margin: 0 auto;
		line-height: 40px;
		text-align: justify;
	}
	#FV .fv-description img {
		/* margin: 34px 0;
		width: 35%; */
		/* margin: 16px 0; */
		margin: 1vw 0 4vw 0;
		width: 61%;
		height: auto;
		aspect-ratio: 1672/1636;
	}
}

/* ----------
中のコンテンツ
---------- */
/* .company-name {

} */
.case-title span {
	font-size: 2.2rem;
	font-weight: 500;
}
.nav-ul-pc li {
	font-size: 1.14rem;
	font-weight: 500;
	line-height: 1.37;
}
.case-title {
	display: flex;
	align-items: center;
	gap: 19px;
}
.case-contents__wrapper {
    max-width: 1000px;
    width: 100%;
    margin: 58px auto 152px;
    font-family: 'Noto Sans CJK JP', sans-serif;
	color: #000;
	padding-inline: 2vw;
}
.case-main-text {
    font-size: 1rem;
    font-weight: 400;
    line-height: 2;
    letter-spacing: 0.05em;
}
.case-lead {
    margin-bottom: 118px;
}
.case-lead__text {
    margin-bottom: 53px;
}
.case-border {
	background-color: #c7c7c7;
    max-width: 1250px;
    height: 1px;
    margin-block: 20px 40px;
}
.process-flex {
	display: flex;
	gap: 3%;
	align-items: center;
	width: 100%;
	margin-inline: auto;
	margin-top: 3%;
}
.process-flex img {
	width: 100%;
}
#selection, 
#process, 
#support {
	margin-bottom: 85px;
}
.odagirisyoji-selection-flex, 
.selection-content {
	display: flex;
	gap: 5%;
}
.odagirisyoji-selection-flex img, 
.benichu-process img {
	width: 40%;
	object-fit: contain;
}
.benichu-effect-img {
	margin-top: 3%;
}
.benichu-effect-img img {
	width: 45%;
	object-fit: contain;
}
.benichu-effect02flex {
	display: flex;
	gap: 5%;
}
.benichu-effect02flex img {
	width: 40%;
	object-fit: contain;
}
.benichu-effect02-btm-img {
	width: 100%;
	object-fit: contain;
}
#selection .selection-content img {
	width: 40%;
	max-width: 400px;
	object-fit: contain;
}
.odagirisyoji-selection {
	flex-direction: column;
}
/* .selection-text {
	width: 55%;
} */

.effect-text {
	margin-bottom: 30px;
}
#effect, 
#effect02 {
	margin-bottom: 104px;
}

.profile-detail {
	display: flex;
	align-items: flex-start;
	gap: 5%;
	margin-bottom: 32px;
}
.profile-deta {
	max-width: 680px;
	display: flex;
	flex-wrap: wrap;
}
.profile-detail img {
	object-fit: contain;
	margin-top: 36px;
}
.profile-deta dt {
	width: 83px;
	font-weight: bold;
	padding-block: 1.1rem;
	border-bottom: 1px solid #f0f0f0;
}
.profile-deta dd {
	width: calc(100% - 83px);
	margin: 0;
	padding-block: 1.1rem;
	border-bottom: 1px solid #f0f0f0;
}
.profile-desc {
	margin-bottom: 28px;
}
.profile-list-text {
	font-size: clamp(10px, 0.8vw, 20px);
	line-height: 1.38;
	font-weight: 400;
}
.profile-list {
	display: flex;
	gap: 20px;
	margin-bottom: 62px;
}
.profile-list img {
	max-width: 200px;
	width: 100%;
	height: auto;
}
.profile-title {
	background-color: #eeeeee;
	padding-block: 15px;
	font-size: 1.2rem;
	margin-bottom: 26px;
	padding-left: 19px;
}
.profile-text {
	font-size: 1.1rem;
	line-height: 1.875;
	letter-spacing: 0.05em;
	font-weight: 400;
	margin-bottom: 36px;
}
.profile-title-red {
	background-color: #b1000e;
	color: #fff;
	font-size: 1.7rem;
	padding-block: 14px;
	padding-left: 19px;
	margin-bottom: 50px;
}

.others-list {
	display: flex;
	justify-content: center;
	gap: 63px;
}

.others-list li {
	max-width: 360px;
	border-bottom: 1px solid #dbe4ed;
}
.others-list-bottom {
	display: flex;
	max-width: 360px;
}
.other-company {
	font-size: clamp(10px, 0.81vw, 20px);
	line-height: 1.76;
	letter-spacing: 0.01em;
	font-weight: 500;
	margin-bottom: 10px;
}
.other-title {
	font-size: clamp(10px, 1.1vw, 27px);
	font-weight: bold;
	line-height: 1.27;
	margin-bottom: 15px;
}
.other-desc {
	font-size: clamp(10px, 0.81vw, 20px);
	font-weight: 100;
	line-height: 1.53;
	letter-spacing: 0.005;
	margin-bottom: 15px;
}
/* ----------
footer
---------- */


@media screen and (max-width: 768px) {
	.case-container {
		padding-inline: 2.5vw;
	}
	.case-title span {
		font-size: min(5.4vw, 48px);
	}
	.case-main-text {
		font-size: clamp(10px, 3.4vw, 30px);
		line-height: 1.73;
	}
	.case-contents__wrapper {
		margin-block: 5vw 10.2vw;
	}
	.case-lead__text {
		margin-bottom: 5vw;
	}
	.case-lead {
		margin-bottom: 13.6vw;
	}
	.case-border {
		margin-block: 1.8vw 3.6vw;
	}
	#effect, 
	#effect02 {
		margin-bottom: 9vw;
	}
	.profile-text {
		font-size: clamp(10px, 3.4vw, 30px);
	}
	.profile-detail img {
		margin-top: 0;
	}
	.selection-content {
		flex-direction: column;
	}
	#selection .selection-content img {
		width: 100%;
	}
	.selection-content img {
		width: 100%;
	}
	.selection-text {
		margin-bottom: 5.4vw;
	}
	.odagirisyoji-selection-flex, 
	.benichu-effect02flex {
		flex-direction: column;
	}
	.benichu-effect02flex img {
		width: 100%;
	}
	.profile-detail {
		flex-direction: column-reverse;
	}
	.profile-list {
		flex-wrap: wrap;
		gap: 3vw;
	}
	.profile-list img {
		width: 50%;
		/* aspect-ratio: 1 / 1; */
		object-fit: cover;
	}
	.process-flex {
		flex-direction: column;
	}
	.process-flex img {
		width: 100%;
	}
	.profile-list li {
		width: 45%;
		display: flex;
		align-items: flex-start;
		gap: 5%;
	}
	.profile-deta {
		margin-top: 25px;
	}
	.profile-deta dt:first-of-type, 
	.profile-deta dd:first-of-type {
		border-top: 1px solid #f0f0f0;
	}
	.others-list {
		gap: 5%;
	}
}

#global-nav.m_fixed {
	left: 0;
	position: fixed;
	width:100%;
	background-color:white;
	z-index: 100;
}