@charset "utf-8";
/*------------------------------------------------------------
	business
------------------------------------------------------------*/
#main .whoBox {
	margin: 11.6rem 0 0;
}
#main .headLine02.head {
	margin: 0 auto 4.2rem;
	width: 125rem;
	position: relative;
	z-index: 1;
}
#main .whoBox .imgBox {
	display: flex;
	align-items: flex-start;
	flex-direction: row-reverse;
	gap: 6.6rem;
	text-align: justify;
}
#main .whoBox .imgBox .photoBox {
	width: calc(50% - 8.35rem);
	text-align: left;
}
#main .whoBox .imgBox .photoBox img {
	width: 100%;
}
#main .whoBox .imgBox .textBox {
	width: 64rem;
}
#main .whoBox .heading {
	margin: 1.7rem -5rem 1.6rem 0;
	font-size: 3.9rem;
	line-height: 1.384;
	letter-spacing: 0.04em;
	font-weight: 600;
	color: #000;
}
#main .whoBox p {
	font-size: 1.8rem;
	line-height: 1.833;
	letter-spacing: 0.04em;
	font-weight: 300;
}
#main .strengths {
	margin: 10.8rem 0 10.2rem;
    padding: 7.2rem 0 14rem;
	color: #fff;
}
#main .strengths .bgBox {
	z-index: 1;
}
#main .strengths .posImg {
	width: 121.2rem;
	position: absolute;
	right: 0;
	top: 0;
	pointer-events: none;
}
#main .strengths .posImg::after {
	content: "";
	position: absolute;
	width: 100%;
	height: 10rem;
	left: 0;
	bottom: 0;
	background: linear-gradient(to top,#e60112 0%,transparent 100%);
}
#main .strengths .posImg img {
	width: 100%;
	mix-blend-mode: overlay;
}
#main .strengths .headLine02 .en {
	margin-bottom: 0rem;
	color: #fff;
	letter-spacing: 0.02em;
}
#main .strengths .headLine02 .jp {
	letter-spacing: 0.1em;
	color: #fff;
}
#main .strengths .imgList li {
	display: flex;
	position: relative;
	z-index: 3;
	gap: 1.9rem;
}
#main .strengths .imgList li + li {
	margin-top: 6rem;
}
#main .strengths .imgList .image {
	width: calc(50% - 11.15rem);
}
#main .strengths .imgList .image img {
	width: 100%;
}
#main .strengths .imgList .textBox {
	width: 65.3rem;
}
#main .strengths .heading {
	margin: 1.6rem 0 1.5rem 8.2rem;
	min-height: 8.4rem;
	font-weight: 700;
	font-size: 3rem;
	line-height: 1.4666;
	position: relative;
	display: flex;
	align-items: flex-end;
}
#main .strengths .heading .num {
	font-size: 17.6rem;
	letter-spacing: 0.02em;
	line-height: 1;
	color: #000;
	opacity: 0.3;
	position: absolute;
	left: -7.6rem;
	top: -6.6rem;
	display: block;
	font-family:"acumin-variable",sans-serif;
	font-stretch: expanded;
	font-variation-settings: "wght" 600, "wdth" 115, "slnt" -12;
}
#main .strengths .heading .text {
	position: relative;
	z-index: 1;
}
#main .strengths p {
	font-size: 2rem;
	line-height: 1.65;
	letter-spacing: 0.04em;
	font-weight: 600;
}
#main .purpose .content {
	width: 125rem;
}
#main .support {
	margin-top: 6.7rem;
	padding: 6.9rem 0 0;
	background: url(../img/business/img07.webp) no-repeat right top / 79.8rem;
}
#main .support .content {
	width: 125rem;
}
#main .support .headLine02 {
	margin-bottom: 2.2rem;
}
#main .support .text {
	margin-bottom: 0.4rem;
	width: 72.7rem;
	font-size: 2rem;
	line-height: 1.65;
	letter-spacing: 0.04em;
	font-feature-settings: "palt";
	text-align: justify;
}
#main .support .subBox {
	display: flex;
	align-items: center;
}
#main .support .subBox .photoBox {
	margin: 3.4rem 1.6rem 0;
	width: 50.7rem;
	position: relative;
}
#main .support .subBox .photoBox img {
	width: 100%;
}
#main .support .subBox .photoBox .posText {
	width: fit-content;
	font-size: 1.6rem;
	font-weight: 400;
	line-height: 1.562;
	color: #000;
	text-align: center;
	position: absolute;
	right: 2.5rem;
	top: -0.5rem;
	letter-spacing: 0.04em;
	font-feature-settings: "palt";
}
#main .support .subBox .photoBox .posText a {
	width: fit-content;
	color: #e60012;
	font-size: 2rem;
	font-weight: 700;
	text-decoration: underline;
	display: block;
	line-height: 1.3;
}
#main .support .subBox .textBox {
	flex: 1;
}
#main .support .subList {
	position: relative;
}
#main .support .subList::before {
	content: "";
	width: 10rem;
	height: 0.2rem;
	position: absolute;
	right: calc(100% - 1px);
	top: 50%;
	transform: translateY(-50%);
	background-color: #848484;
}
#main .support .subList li {
	padding-left: 2rem;
	display: flex;
	align-items: center;
	gap: 1.5rem;
	position: relative;
}
#main .support .subList li::before {
	content: "";
	width: 0.2rem;
	position: absolute;
	left: 0;
	top: 0;
	bottom: -2.4rem;
	background-color: #848484;
}
#main .support .subList li:first-child::before {
	top: calc(50% - 0.1rem);
}
#main .support .subList li:last-child::before {
	bottom: calc(50% - 0.1rem);
}
#main .support .subList li + li {
	margin-top: 2.3rem;
}
#main .support .subList .title {
	width: 19.3rem;
	min-height: 7.2rem;
	display: flex;
	align-items: center;
	justify-content: center;
	text-align: center;
	font-size: 2rem;
	line-height: 1.25;
	color: #e60012;
	border: 0.2rem solid #848484;
	position: relative;
}
#main .support .subList .title::before {
	content: "";
	width: 2.1rem;
	height: 0.2rem;
	position: absolute;
	left: -2.1rem;
	top: 50%;
	transform: translateY(-50%);
	background-color: #848484;
}
#main .support .subList .info {
	flex: 1;
	font-size: 1.8rem;
	font-weight: 300;
	line-height: 1.5;
	letter-spacing: 0.04em;
	font-feature-settings: "palt";
}
#main .support .note {
	margin: -1.7rem 0 4.8rem;
	color: #e60012;
	text-align: right;
	font-weight: 600;
	font-size: 1.4rem;
}
#main .support .textList {
	display: flex;
	flex-wrap: wrap;
	gap: 2.6999rem;
}
#main .support .textList li {
	width: calc((100% - 5.4rem) / 3);
	border: 0.5rem solid #bdbebe;
	font-feature-settings: "palt";
}
#main .support .textList .title {
	padding: 0.9rem 1.5rem;
	min-height: 9.2rem;
	display: flex;
	align-items: center;
	text-align: left;
	font-size: 2.4rem;
	font-weight: 600;
	letter-spacing: 0.05em;
	line-height: 1.291;
	color: #000;
	border-bottom: 0.5rem solid #bdbebe;
}
#main .support .textList p {
	padding: 1rem 2rem 1.4rem;
	font-size: 1.8rem;
	line-height: 1.611;
	letter-spacing: 0.04em;
	text-align: justify;
}
@media all and (min-width: 897px) {
	.comMainVisual .mainImg {
		width: 100%;
		aspect-ratio: 1425/636;
	}
	.comMainVisual .mainImg img {
		height: 100%;
		object-fit: cover;
	}
	.pageTtitle {
		width: 130rem;
	}
	.headLine02 .en {
		margin-bottom: 0.3rem;
		letter-spacing: 0.03em;
	}
	#main .purpose .headLine02 {
		margin-bottom: -2.6rem;
	}
	#main .purpose .headLine02 .en {
		margin-bottom: 0.7rem;
		letter-spacing: 0.04em;
	}
	#main .purpose .comBtn03 {
		margin: 0 0 3.9rem auto;
		width: fit-content;
	}
}
@media all and (max-width: 896px) {
	#main .comList01 {
		margin-bottom: 6.4rem;
	}
	#main .typeBox {
		margin-bottom: 7.5rem;
	}
	#main .comList01 {
		gap: 0;
	}
	#main .comList01 li {
		width: 50%;
	}
	#main .comList01 li a {
		border-bottom: none;
		line-height: 1.375;
	}
	#main .comList01 li:nth-child(2n - 1) a {
		border-left: 1px solid #E60012;
	}
	#main .comList01 {
		border-bottom: 1px solid #E60012;
	}
	#main .whoBox {
		margin: 7rem 2rem 0;
	}
	.headLine02 .en {
		margin-bottom: 0;
	}
	#main .headLine02.head {
		margin-bottom: 2rem;
		width: auto;
	}
	#main .whoBox .heading {
		margin: 0 0 2.8rem;
		font-size: 2.6rem;
		line-height: 1.423;
		letter-spacing: 0;
		text-align: left;
	}
	#main .whoBox .imgBox {
		flex-wrap: wrap;
	}
	#main .whoBox .imgBox .textBox {
		width: auto;
	}
	#main .whoBox .imgBox .photoBox {
		margin: 0 -2rem 3.5rem;
		width: auto;
	}
	#main .whoBox p {
		line-height: 1.7222;
		font-feature-settings: "palt";
	}
	#main .strengths {
		margin: 6.8rem 0 5.8rem;
		padding: 4.7rem 0 5.5rem;
	}
	#main .strengths .headLine02 {
		margin: 0 2rem 3.6rem;
	}
	#main .strengths .bgBox {
		width: 36rem;
		left: -6.3rem;
		top: -4.4rem;
	}
	#main .strengths .posImg {
		width: 40rem;
		right: -3.6rem;
		top: -4.4rem;
	}
	#main .strengths .imgList li {
		display: block;
	}
	#main .strengths .imgList .image {
		width: 95.5%;
	}
	#main .strengths .imgList .textBox {
		width: auto;
	}
	#main .strengths .heading {
		margin: 2rem 0.5rem 1.3rem 6.8rem;
		font-size: 2.4rem;
		line-height: 1.291;
		min-height: 9.3rem;
		align-items: center;
		font-feature-settings: "palt";
	}
	#main .strengths p {
		margin: 0 2rem;
		font-size: 1.8rem;
		line-height: 1.6111;
		letter-spacing: 0.04em;
		font-feature-settings: "palt";
	}
	#main .strengths .heading .num {
		font-size: 12.6rem;
		left: -5.3rem;
		top: 50%;
		transform: translateY(-55%);
	}
	#main .strengths .imgList {
		margin-bottom: 3.9rem;
		position: relative;
		height: 75rem;
		overflow: hidden;
	}
	#main .strengths .imgList.show {
		margin-bottom: 0;
		height: auto;
	}
	#main .strengths .imgList.show ~ .moreBtn {
		display: none;
	}
	#main .strengths .imgList::after {
		width: 100%;
		height: 6rem;
		content: "";
		position: absolute;
		left: 0;
		bottom: 0;
		background: linear-gradient(to top,#e60012 0%,transparent 100%);
		z-index: 3;
		opacity: 1;
	}
	#main .strengths .imgList.show::after {
		opacity: 0;
		pointer-events: none;
	}
	#main .strengths .imgList li + li {
		margin-top: 4rem;
	}
	#main .strengths .moreBtn {
		margin: 0 auto;
		width: fit-content;
		position: relative;
	}
	#main .strengths .moreBtn a {
		padding-right: 2.5rem;
	}
	#main .strengths .moreBtn span span {
		font-size: 0;
	}
	#main .strengths .moreBtn span::before {
		content: "もっと見る";
	}
	#main .strengths .current {
		position: relative;
	}
	#main .strengths .current span::before {
		content: "閉じる";
	}
	#main .purpose .headLine02 {
		margin-bottom: 1.3rem;
	}
	#main .purpose .headLine02 .en {
		margin-bottom: 0.6rem;
	}
	#main .purpose .comBtn03 {
		margin-bottom: 1.5rem;
	}
	#main .support {
		margin-top: 6.6rem;
		padding: 0;
		background: none;
	}
	#main .support .headLine02 .en {
		margin-bottom: 0.8rem;
	}
	#main .support .text {
		width: auto;
		font-size: 1.8rem;
		line-height: 1.7222;
		letter-spacing: 0.1em;
	}
	#main .support .subBox {
		margin: 1.6rem -2rem 0;
		padding: 10.5rem 0 0;
		display: block;
		background: url(../img/business/img07.webp) no-repeat right top / 41.3rem;
	}
	#main .support .subBox .textBox {
		padding: 0 2rem;
	}
	#main .support .subBox .photoBox {
		margin: 0 -2rem 1.5rem;
		width: auto;
	}
	#main .support .subBox .photoBox .image {
		margin: 0 auto;
		max-width: 37.5rem;
	}
	#main .support .subBox .photoBox .posText {
		font-size: 1.6rem;
		line-height: 1.437;
		top: auto;
		bottom: 1.3rem;
		right: calc(50% - 15.8rem);
		font-feature-settings: normal;
	}
	#main .support .subBox .photoBox .posText a {
		margin-top: 0.5rem;
		font-size: 1.9rem;
	}
	#main .support .subList li {
		padding: 0 2.6rem 0 2.6rem;
		display: block;
		overflow: hidden;
	}
	#main .support .subList .title {
		margin-bottom: 1.2rem;
		padding: 0.65rem 1rem;
		width: 100%;
		min-height: inherit;
	}
	#main .support .subList li + li {
		margin-top: 0;
		padding-top: 2.6rem;
	}
	#main .support .subList::before {
		width: 0.2rem;
		top: -6.8rem;
		height: 8.8rem;
		left: 0.6rem;
		right: auto;
		transform: none;
	}
	#main .support .subList li::before {
		display: none;
	}
	#main .support .subList .title::before {
		width: 2.2rem;
		left: -2.2rem;
	}
	#main .support .subList .title::after {
		content: "";
		width: 0.2rem;
		position: absolute;
		left: -2.2rem;
		top: -999rem;
		bottom: -999rem;
		background-color: #848484;
	}
	#main .support .subList li:last-child .title::after {
		bottom: 50%;
	}
	#main .support .note {
		margin: 1.5rem 0 3.5rem 0.8rem;
		padding-left: 1.4rem;
		font-size: 1.4rem;
		letter-spacing: 0;
		text-align: left;
		text-indent: -1.4rem;
	}
	#main .support .textList {
		display: block;
	}
	#main .support .textList li {
		width: 100%;
		border-width: 0.4rem;
	}
	#main .support .textList li + li {
		margin-top: 1.9rem;
	}
	#main .support .textList .title {
		padding: 1.5rem 1.9rem 1.1rem;
		font-size: 2rem;
		min-height: inherit;
		line-height: 1.35;
		border-width: 0.45rem;
	}
	#main .support .textList p {
		padding: 0.9rem 1.8rem 0.9rem;
	}
}