@charset "utf-8";
/*------------------------------------------------------------
	index
------------------------------------------------------------*/
body {
	background-color: #fff;
}
#main .mainVisual {
	margin-bottom: 10rem;
	padding: 15.3rem 0 14.7rem;
	position: relative;
	overflow: hidden;
	z-index: 1;
	background-color: #FAFAFA;
}
#main .mainVisual .bgBox {
	width: 100%;
	aspect-ratio: 1920/789;
	position: absolute;
	left: 0;
	top: 8.6rem;
	z-index: -1;
	background: url(../img/index/bg.png) no-repeat center center / 100%;
}
#main .mainVisual .imgBox {
	margin: 0 auto;
	width: 152rem;
	max-width: calc(100% - 4rem);
	display: flex;
	gap: 4.2rem;
	align-items: center;
}
#main .mainVisual .textBox {
	flex: 1;
}
#main .mainVisual .textBox p {
	margin: 4.6rem 0 3rem;
	font-size: 5rem;
	font-weight: 600;
	line-height: 1.55;
	letter-spacing: 0.02em;
	position: relative;
	z-index: 1;
}
#main .mainVisual .pageTitle {
	color: #00A196;
	font-style: normal;
	font-weight: 500;
	line-height: 1.5;
	letter-spacing: 0.278em;
}
#main .mainVisual .mainImg {
	margin: 0 18.3rem 0 -18.3rem;
	width: 54.5rem;
	aspect-ratio: 1/1;
	border-radius: 0.5rem;
	position: relative;
	transform: rotate(-7.047deg);
}
#main .mainVisual .mainImg::after {
	width: 54.5rem;
	height: 54.5rem;
	content: "";
	position: absolute;
	left: 0;
	top: 0;
	border-radius: inherit;
	z-index: 1;
	background: linear-gradient(0deg, rgba(135, 219, 202, 0.65) 0%, rgba(135, 219, 202, 0.65) 100%);	
}
#main .mainVisual .mainImg .image {
	width: 100%;
	position: absolute;
	left: 0;
	top: 0;
	aspect-ratio: 1/1;
}
#main .mainVisual .mainImg .image.on {
	z-index: 2;
	transform:  scale(1.065) translate(4.4rem,0.5rem) rotate(14.35deg);
}
#main .mainVisual .mainImg .image img {
	width: 100%;
	height: 100%;
	object-fit: cover;
}
#main .mainVisual .slideTxt {
	margin: -3rem -3rem 0;
	font-size:  min(calc(158 / 1920 * 100vw), 15.8rem);
	font-weight: 500;
	line-height: 1.01;
	white-space: nowrap;
	text-align: center;
	z-index: 7;
	position: relative;
	letter-spacing: 0.01em;
}
#main .mainVisual .slideTxt p {
	background: #AAF3DD;
	opacity: 0.7;
	background-clip: text;
	-webkit-background-clip: text;
	-webkit-text-fill-color: transparent;
	backdrop-filter: blur(2rem);
}
@media all and (max-width: 896px) {
	#main {
		overflow: hidden;
	}
	#main .mainVisual {
		margin-bottom: 5rem;
		padding: 10rem 0 6rem;
		background: #FAFAFA;
	}
	#main .mainVisual .imgBox {
		width: auto;
		max-width: inherit;
		display: block;
	}
	#main .mainVisual .textBox {
		margin: 0 2rem 20vw;
	}
	#main .mainVisual .textBox p {
		margin: 0 0 1.5rem;
		font-size: 2.4rem;
		letter-spacing: 0.0416em;
	}
	#main .mainVisual .pageTitle {
		letter-spacing: 0.142em;
		font-size: 1.4rem;
	}
	#main .mainVisual .mainImg {
		margin: 0 4.2rem 0 1.8rem;
		width: auto;
		border-radius: 0.3rem;
	}
	#main .mainVisual .mainImg::after {
		width: 100%;
		height: auto;
		aspect-ratio: 1/1;
	}
	#main .mainVisual .mainImg .image.on {
		transform:  scale(1.065) translate(2rem,0rem) rotate(14.35deg);
	}
	#main .mainVisual .slideTxt {
		margin: 7.3rem -1rem 0;
		color: rgba(170, 243, 221, 0.50);
		font-size: 5.8rem;
		font-weight: 500;
		line-height: 1.01;
		letter-spacing: 0;
		text-align: left;
	}
}
/* committed */
#main .committed {
	padding: 0;
	margin-bottom: 9.2rem;
	background-color: #fff;
}
#main .committed .content {
	width: 147rem;
}
#main .committed .enText {
	margin: 0 9.9rem;
	width: fit-content;
	font-size: 7rem;
	font-weight: 600;
	line-height: 1.26;
	background: linear-gradient(180deg, #03D8B8 17.7%, #00A196 73.73%);
	background-clip: text;
	-webkit-background-clip: text;
	-webkit-text-fill-color: transparent;
	backdrop-filter: blur(0.8546rem);
}
#main .committed .textBox {
	margin: 8.4rem 0 0 auto;
	width: 73.5rem;
}
#main .committed .jpTxt {
	margin-bottom: 2.7rem;
	color: #00A196;
	font-size: 4.4rem;
	font-weight: 600;
	line-height: 1.4;
	letter-spacing: 0.091em;
}
#main .committed .info {
	margin-bottom: 1.2rem;
	font-size: 2.4rem;
	font-style: normal;
	font-weight: 500;
	line-height: 1.35;
	letter-spacing: 0.0416em;
}
@media all and (max-width: 896px) {	
	#main .committed {
		margin-bottom: 9.2rem;
	}
	#main .committed::before {
		display: none;
	}
	#main .committed .content {
		margin: 0 3.2rem;
	}
	#main .committed .enText {
		margin: 0 0 1rem 0.4rem;
		font-size: 3.4rem;
		font-weight: 600;
		line-height: 1.26;
		letter-spacing: 0.02em;
	}
	#main .committed .textBox {
		margin: 2.9rem 0 0;
		width: auto;
		line-height: 1.46;
		letter-spacing: 0.142em;
	}
	#main .committed .jpTxt {
		margin-bottom: 2rem;
		font-size: 2.2rem;
		line-height: 1.39;
		letter-spacing: 0.045em;
	}
	#main .committed .info {
		margin-bottom: 1.2rem;
		font-size: 1.6rem;
		letter-spacing: 0.062em;
	}
}
/* business */
#main .business {
	margin-bottom: 14.3rem;
	padding: 0;
}
#main .business .list {
	display: flex;
}
#main .business .list li {
	width: 32rem;
}
#main .business .list a {
	width: 100%;
	height: 100%;
	display: block;
	overflow: hidden;
	position: relative;
	border-radius: 0.3rem;
	color: #FFF;
}
#main .business .list .image {
	width: 100%;
	aspect-ratio: 32/47;
	position: relative;
}
#main .business .list .image::before {
	width: 100%;
	height: 100%;
	content: "";
	position: absolute;
	left: 0;
	top: 0;
	background: rgba(0, 0, 0, 0.4);
	transition: background 0.3s,backdrop-filter 0.3s;
}
#main .business .list .image img {
	width: 100%;
	height: 100%;
	object-fit: cover;
}
#main .business .list .en {
	height: 24rem;
	color:#ACACAC;
	font-size: 1.5rem;
	font-weight: 500;
	line-height: 1;
	letter-spacing: 0.066em;
	position: absolute;
	left: 5.2rem;
	top: 4.4rem;
	writing-mode: vertical-rl;
	text-orientation: mixed;
	white-space: nowrap;
}
#main .business .list .text {
	padding: 3.8rem 2rem 3.8rem 5rem;
	width: 100%;
	position: absolute;
	left: 0;
	bottom: 0;
}
#main .business .list .jp {
	margin-bottom: 2.3rem;
	font-size: 2.6rem;
	font-weight: 700;
	line-height: 1.27;
	letter-spacing: 0.0769em;
}
#main .business .list .comArrow {
	width: 4rem;
	height: 2rem;
	background-color: #009C91;
}
#main .business .imgList {
	margin: 12.2rem 8rem 0;
	padding-top: 1px;
	columns: 2;
	gap: 10.1rem 8rem;
}
#main .business .imgList > li {
	margin-top: 10rem;
	font-weight: 500;
	line-height: 1.5;
	page-break-inside: avoid;
}
#main .business .imgList > li:first-child {
	margin-top: 0;
}
#main .business .imgList .item02 {
	padding-top: 33.1rem;
}
#main .business .imgList a {
	display: block;
}
#main .business .imgList a img {
	transition: transform 0.3s;
}
#main .business .imgList h3 {
	margin-bottom: 0.8rem;
	display: flex;
	justify-content: space-between;
	align-items: center;
	font-size: 3.2rem;
	font-weight: 600;
	line-height: 1.5;
	letter-spacing: 0.094em;
}
#main .business .imgList h3 .en {
	color: #ACACAC;
	font-size: 1.4rem;
	font-weight: 500;
	line-height: 1;
	letter-spacing: 0.071em;
}
#main .business .imgList .photoBox {
	margin-bottom: 2.2rem;
	width: 100%;
	position: relative;
}
#main .business .imgList .comArrow {
	width: 6rem;
	height: 6rem;
	position: absolute;
	right: 0;
	bottom: 0;
	background-color: #00A196;
	border-bottom-right-radius: 0.3rem;
}
#main .business .imgList .image {
	width: 100%;
	border-radius: 0.3rem;
	overflow: hidden;
}
#main .business .imgList .image img {
	width: 100%;
}
#main .business .tagUl {
	margin-bottom: 1.9rem;
	display: flex;
	flex-wrap: wrap;
	gap: 0.5rem 0.9rem;
}
#main .business .tagUl li {
	padding: 0.1rem 1.3rem;
	width: fit-content;
	font-size: 1.6rem;
	font-weight: 400;
	line-height: 1.5;
	letter-spacing: 0.0625em;
	border: 1px solid #ACACAC;
}
@media all and (min-width: 897px) {
	#main .business::before {
		top: auto;
		bottom: -63.1rem;
		aspect-ratio: 2880/2136;
		background-image: url(../img/common/line02.png);
	}
	#main .business .imgList a:hover img {
		transform: scale(1.05);
		opacity: 1.0;
	}
	#main .company .imgList a:hover img {
		transform: scale(1.05);
	}
}
@media all and (max-width: 896px) {
	#main .business {
		margin-bottom: 5.8rem;
		padding: 5.9rem 0 0;
	}
	#main .business .content {
		margin: 0 3.2rem;
	}
	#main .business .list {
		display: block;
	}
	#main .business .list li {
		margin-bottom: 0.6rem;
		width: 100%;
	}
	#main .business .list li:last-child {
		margin-bottom: 0;
	}
	#main .business .list a {
		width: 100%;
		height: auto;
		border-radius: 0;
	}
	#main .business .list .image {
		display: none;
	}
	#main .business .list .en {
		display: none;
	}
	#main .business .list .text {
		margin-bottom: 0;
		padding: 1.2rem 5rem 1.2rem 0.6rem;
		width: 100%;
		position: initial;
		display: flex;
		align-items: center;
		justify-content: space-between;
		gap: 1.2rem;
		border-bottom: 1px solid #C4C4C4;
		background: url(../img/common/arrow03.png) no-repeat center right 0.3rem / 3.4rem;
	}
	#main .business .list .jp {
		margin-bottom: 0;
		font-size: 1.8rem;
		font-weight: 500;
		line-height: 1.4;
		color: #333;
		letter-spacing: 0.055em;
	}
	#main .business .list .comArrow {
		display: none;
	}
	#main .business .imgList {
		margin: 2.6rem 0 0;
		columns: 1;
		display: flex;
		flex-direction: column;
		flex-wrap: wrap;
		gap: 4rem;
	}
	#main .business .imgList > li {
		margin: 0;
		line-height: 1.6;
		letter-spacing: 0.071em;
	}
	#main .business .imgList .item01 {
		order: 0;
	}
	#main .business .imgList .item02 {
		padding-top: 0;
		order: 1;
	}
	#main .business .imgList .item03 {
		order: 2;
	}
	#main .business .imgList .item04 {
		order: 3;
	}
	#main .business .imgList .item05 {
		order: 4;
	}
	#main .business .imgList h3 {
		margin-bottom: 1.2rem;
		font-size: 2.2rem;
		letter-spacing: 0.09em;
	}
	#main .business .imgList h3 .en {
		font-size: 1rem;
		letter-spacing: 0.1em;
	}
	#main .business .imgList .photoBox {
		margin-bottom: 1.9rem;
	}
	#main .business .imgList .photoBox .image {
		aspect-ratio: 325/280;
	}
	#main .business .imgList .comArrow {
		width: 5rem;
		height: 5rem;
	}
	#main .business .tagUl {
		margin-bottom: 1.3rem;
		gap: 0.5rem 0.4rem;
	}
	#main .business .tagUl li {
		padding: 0 0.5rem;
		font-size: 1.2rem;
		letter-spacing: 0.083em;
	}
}
/* about */
#main .about {
	padding-bottom: 16rem;
	background: linear-gradient(to top ,#FAFAFA 0%,#FAFAFA 100%) no-repeat left top 6.2rem / 100%;
}
#main .about .imgBox {
	margin: 0 auto;
	width: 182.6rem;
	max-width: calc(100% - 4rem);
	display: flex;
	justify-content: space-between;
	gap: 11.3rem;
	position: relative;
	z-index: 1;
}
#main .about .imgBox .photo01 {
	margin: 0 18.8rem 24.2rem;
	width: 36rem;
	border-radius: 0.4rem;
	overflow: hidden;
}
#main .about .imgBox .photoBox {
	margin-top: 22.2rem;
	width: 80rem;
}
#main .about .imgBox .textBox {
	flex: 1;
}
#main .about .imgBox .inner {
	margin: 0 0 0 auto;
	width: 64rem;
}
#main .about .imgBox p:not(.text) {
	margin-bottom: 2.7rem;
	font-size: 1.6rem;
	letter-spacing: 0.125em;
}
#main .about .imgBox p:last-child {
	margin-bottom: 0;
}
#main .about .imgBox p.title {
	margin-bottom: 1.8rem;
	font-size: 2.8rem;
	font-weight: 600;
	line-height: 1.5;
	letter-spacing: 0.0714em;
}
#main .about .imgBox .comBtn02 {
	margin-top: 7rem;
}
#main .about .imgBox .comBtn02 p {
	margin: 0;
}
@media all and (max-width: 896px) {
	#main .about {
		padding: 5.8rem 0 6rem;
		background-color: #FAFAFA;
	}
	#main .about .imgBox {
		margin: 0 3.2rem;
		width: auto;
		max-width: inherit;
		display: block;
	}
	#main .about .imgBox .photoBox {
		margin-top: 2rem;
		width: auto;
	}
	#main .about .imgBox .inner {
		width: auto;
	}
	#main .about .imgBox p:last-of-type {
		margin-bottom: 0;
	}
	#main .about .imgBox p.title {
		margin-bottom: 1.8rem;
		font-size: 1.8rem;
		letter-spacing: 0.111em;
	}
	#main .about .imgBox .comBtn02 {
		margin-top: 1.1rem;
	}
}
#main .csrBox {
	margin: 14rem 0 17.2rem;
}
#main .csrBox .content {
	width: 152rem;
}
#main .csrBox .photoBox {
	margin: 14.9rem 2.9rem 0;
	width: 80rem;
}
#main .csrBox .photoBox img {
	width: 100%;
}
#main .csrBox .textBox {
	width: 55.1rem;
}
#main .csrBox .textBox .headLine01 {
	margin-bottom: 5rem;
}
#main .csrBox .textBox p {
	line-height: 1.8;
}
#main .csrBox .linkUl {
	margin-top: 4.3rem;
	width: fit-content;
	min-width: 28rem;
}
#main .csrBox .linkUl li + li {
	margin-top: 0.3rem;
}
#main .csrBox .linkUl a {
	padding-bottom: 0.3rem;
	width: 100%;
	justify-content: space-between;
}
@media all and (max-width: 896px) {
	#main .csrBox {
		margin: 4.8rem 0 4.8rem;
	}
	#main .csrBox .content {
		margin: 0 3.2rem;
	}
	#main .csrBox .photoBox {
		margin: 3rem 0 0;
		width: 100%;
	}
	#main .csrBox .textBox {
		width: auto;
	}
	#main .csrBox .textBox .headLine01 {
		margin-bottom: 3rem;
	}
	#main .csrBox .textBox p {
		line-height: 1.6;
		font-size: 1.6rem;
		letter-spacing: 0.125em;
	}
	#main .csrBox .linkUl {
		margin-top: 2.3rem;
		width: 100%;
	}
	#main .csrBox .linkUl li + li {
		margin-top: 0.9rem;
	}
	#main .csrBox .linkUl a {
		padding-bottom: 0.1rem;
		width: 100%;
		font-size: 1.8rem;
		justify-content: space-between;
		letter-spacing: 0.055em;
	}
}
/* company */
#main .company {
	background-color: #FAFAFA;
}
#main .company .content {
	width: 104.4rem;
	position: relative;
}
#main .company .headLine01 {
	position: absolute;
	left: 0;
	top: -0.5rem;
	z-index: 1;
}
#main .company .imgList {
	display: flex;
	flex-wrap: wrap;
	flex-direction: row-reverse;
	justify-content: space-between;
	align-items: flex-start;
	position: relative;
	z-index: 1;
}
#main .company .imgList > li {
	width: calc(50% - 4.1rem);
}
#main .company .imgList > li:nth-child(2n) {
	margin-top: 22.5rem;
}
#main .company .imgList a {
	position: relative;
	display: block;
}
#main .company .imgList .photoBox {
	padding: 1.7rem;
	position: relative;
	background: rgba(255, 255, 255, 0.33);
	backdrop-filter: blur(0.75rem);
	border-radius: 0.3rem;
	overflow: hidden;
	border: 0.3rem solid #fff;
}
#main .company .imgList .photoBox .image {
	width: 100%;
	overflow: hidden;
	border-radius: 0.3rem;
}
#main .company .imgList .photoBox  img {
	width: 100%;
	transition: 0.3s;
}
#main .company .imgList .en {
	margin-bottom: 2rem;
	font-size: 1.4rem;
	font-weight: 600;
	line-height: 1.01;
	letter-spacing: 0.142em;
	color: #ACACAC;
}
#main .company .imgList .subUl {
	position: absolute;
	left: 1.7rem;
	bottom: 6.1rem;
	width: fit-content;
	min-width: 17.2rem;
}
#main .company .imgList .subUl li {
	padding: 0.4rem 1.5rem 0.4rem 1.8rem;
	margin-bottom: 0.9rem;
	font-weight: 600;
	line-height: 1.5;
	background: rgba(255, 255, 255, 0.77);
	backdrop-filter: blur(0.5rem);
}
#main .company .imgList .subUl li:last-child {
	margin-bottom: 0;
}
#main .company .comArrow {
	width: 5.6rem;
	height: 5.6rem;
	position: absolute;
	right: 4.4rem;
	bottom: 4rem;
	z-index: 1;
}
#main .company .comArrow::after {
	width: 100%;
	height: 100%;
	content: "";
	position: absolute;
	left: 0.3rem;
	top: 0.3rem;
	z-index: -1;
	border-radius: 100%;
	transform: skew(-15deg);
	background-color: #00A196;
}
#main .company .comArrow .ico {
	width: 3.8rem;
}
@media all and (min-width: 897px) {
	#main .company::before {
		top: -21.6rem;
		aspect-ratio: 1920/1473;
		background-image: url(../img/common/line03.png);
	}
}
@media all and (max-width: 896px) {
	#main .company {
		padding: 5.5rem 0 6.3rem;
	}
	#main .company .content {
		margin: 0 3.2rem;
	}
	#main .company .headLine01 {
		margin-bottom: 3rem;
		position: relative;
		left: auto;
		top: auto;
	}
	#main .company::before {
		top: 11.5rem;
	}
	#main .company::after {
		width: 999rem;
		height: 1px;
		content: "";
		position: absolute;
		bottom: 6.6rem;
		left: 50%;
		opacity: 0.5;
		transform: translateX(-50%) rotate(-165.459deg);
		aspect-ratio: 435.44/31.97;
		background: #80EBDB;
	}
	#main .company .imgList {
		display: block;
	}
	#main .company .imgList > li {
		margin-bottom: 3.1rem;
		width: 100%;
	}
	#main .company .imgList > li:last-child {
		margin-bottom: 0;
	}
	#main .company .imgList > li:nth-child(2n) {
		margin-top: 0;
	}
	#main .company .imgList .photoBox {
		padding: 0.8rem 1rem;
	}
	#main .company .imgList .en {
		margin-bottom: 1.1rem;
		font-size: 1.2rem;
		letter-spacing: 0.083em;
	}
	#main .company .imgList .subUl {
		left: 1rem;
		bottom: 2.8rem;
		min-width: 14rem;
	}
	#main .company .imgList .subUl li {
		padding: 0.2rem 0.8rem 0.2rem 1rem;
		margin-bottom: 0.6rem;
		font-size: 1.6rem;
	}
	#main .company .comArrow {
		width: 4rem;
		height: 4rem;
		right: 3.2rem;
		bottom: 2.9rem;
	}
	#main .company .comArrow::after {
		left: 0.2rem;
		top: 0rem;
		transform: skew(-14deg);
	}
	#main .company .comArrow .ico {
		width: 2.7rem;
	}
}
/* recruit */
#main .recruit {
	padding: min(calc(130 / 1920 * 100vw), 13rem) 0 min(calc(140 / 1920 * 100vw), 14rem);
	background: radial-gradient(220.78% 102.05% at 72.34% 29.13%, rgba(237, 237, 237, 0.36) 9.71%, #F4F4F4 100%),#FAFAFA;
}
#main .recruit .content {
	position: relative;
	width: 179.8rem;
}
#main .recruit .photoBox {
	height: 100%;
	max-height: min(calc(708 / 1920 * 100vw), 80.8rem);
	display: flex;
	gap: min(calc(22 / 1920 * 100vw), 2.2rem);
	justify-content: flex-end;
	flex-direction: row-reverse;
	position: absolute;
	right: 0;
	bottom: 50%;
	transform: translateY(50%);
	overflow: hidden;
}
#main .recruit .photoBox .list {
	width: min(calc(370 / 1920 * 100vw), 37rem);
	display: flex;
	flex-direction: column;
	gap: 2rem;
}
#main .recruit .photoBox .list li {
	width: 100%;
}
#main .recruit .photoBox .list img {
	width: 100%;
}
#main .recruit .textBox {
	padding: min(calc(84 / 1920 * 100vw), 8.4rem) min(calc(100 / 1920 * 100vw), 10rem) min(calc(70 / 1920 * 100vw), 7rem);
	width: 80rem;
	position: relative;
	z-index: 2;
}
#main .recruit .head {
	margin-bottom: 3.6rem;
	font-size: 2.4rem;
	font-size: min(calc(24 / 1500 * 100vw), 2.4rem);
	font-weight: 600;
	line-height: 1.6;
	letter-spacing: 0.0416em;
}
#main .recruit .comBtn02 a {
	padding-bottom: 0.4rem;
}
#main .recruit .infoList {
	margin-bottom: 3.1rem;
	width: 40rem;
}
#main .recruit .infoList li {
	padding: 0.5rem 1rem 0.6rem;
	font-weight: 400;
	line-height: 1.5;
	border-bottom: 1px solid #C4C4C4;
}
#main .recruit .list02 {
	margin-top: max(calc(-272 / 1920 * 100vw), -27.2rem);
}
#main .recruit .list04 .item02 {
	opacity: 0.2;
}
#main .recruit .item {
	position: relative;
	mix-blend-mode: multiply;
}
#main .recruit .item img {
	opacity: 0.18;
}
#main .recruit .item02 {
	opacity: 1;
}
#main .recruit .item02 img {
	opacity: 0.36;
}
@media all and (max-width: 896px) {
	#main .recruit {
		padding: 0;
	}
	#main .recruit .content {
		margin: 0 3.2rem;
		padding:0 0 7.2rem;
	}
	#main .recruit .textBox {
		padding: 6.5rem 0 3.3rem;
		width: auto;
	}
	#main .recruit .head {
		margin-bottom: 2rem;
		font-size: 1.8rem;
		line-height: 1.45;
		letter-spacing: 0.055em;
	}
	#main .recruit .comBtn02 a {
		padding: 0 1rem 0 0;
	}
	#main .recruit .infoList {
		margin-bottom: 1rem;
		width: auto;
	}
	#main .recruit .infoList li {
		padding: 0.5rem 0.5rem 0.6rem;
		font-weight: 500;
		line-height: 1.5;
		letter-spacing: 0.142em;
	}
	#main .recruit .photoBox {
		margin: 0 -3.2rem;
		width: auto;
		height: 100%;
		max-height: inherit;
		gap: 1.1rem;
	}
	#main .recruit .photoBox .list {
		width: calc(50% - 0.549rem);
		gap: 1rem;
	}
	#main .recruit .photoBox .list02 {
		margin-top: -14.4rem;
	}
	#main .recruit .photoBox .list li {
		position: relative;
	}
	#main .recruit .photoBox .list li img {
		opacity: 0.11;
	}
	#main .recruit .photoBox .list li::before {
		width: 100%;
		height: 100%;
		content: "";
		position: absolute;
		left: 0;
		top: 0;
		background: #FCFCFC;
		mix-blend-mode: multiply;
		opacity: 0.48;
	}
	#main .recruit .imgList {
		margin: 0 0.3rem;
		display: flex;
		flex-wrap: wrap;
		gap: 1rem;
		position: relative;
		z-index: 1;
	}
	#main .recruit .imgList li {
		width: calc((100% - 2rem) / 3);
	}
	#main .recruit .imgList li img {
		width: 100%;
	}
}
/* newsBox */
#main .newsBox {
	padding: 12.5rem 0 12rem;
}
#main .newsBox .content {
	width: 128rem;
}
#main .newsBox .headLine01 {
	margin-bottom: 4.2rem;
}
#main .newsBox .comBtn02 a {
	padding-bottom: 0.3rem;
	gap: 1rem;
}
#main .newsBox .flexBox {
	display: flex;
	gap: 5.4rem;
}
#main .newsBox .flexBox .titleBox {
	width: 26.6rem;
}
#main .newsBox .flexBox .newsUl {
	margin-top: 1.5rem;
	flex: 1;
}
#main .newsBox .newsUl li {
	margin-bottom: 7.5rem;
	border-bottom: 1px solid #E4E4E4;
}
#main .newsBox .newsUl li:last-child {
	margin-bottom: 0;
}
#main .newsBox .newsUl a {
	padding: 0 5rem 1.9rem 1.1rem;
	display: flex;
	flex-wrap: wrap;
	position: relative;
	align-items: center;
	line-height: 1.5;
	gap: 1.6rem 2.2rem;
}
#main .newsBox .newsUl time {
	width: 11rem;
	font-size: 1.6rem;
	font-weight: 500;
	line-height: 1.4;
	letter-spacing: 0.125em;
}
#main .newsBox .newsUl .tag {
	flex: 1;
	display: flex;
	flex-wrap: wrap;
	gap: 1rem;
}
#main .newsBox .newsUl .tag span {
	padding: 0.2rem 1.4rem;
	border: 1px solid #ACACAC;
	font-size: 1.5rem;
	font-weight: 400;
	letter-spacing: 0.0666em;
}
#main .newsBox .newsUl .text {
	width: 100%;
	color: #000;
	font-weight: 500;
	letter-spacing: 0.0555em;
	transition: opacity 0.3s;
}
#main .newsBox .newsUl .comArrow {
	position: absolute;
	right: 0.6rem;
	bottom: 1.3rem;
}
@media all and (min-width: 897px) {
	#main .business .list a:hover {
		color: #009C91;
	}
	#main .business .list a:hover .image::before {
		background: rgba(255, 255, 255, 0.38);
		backdrop-filter: blur(0.2rem);
	}
	#main .newsBox .newsUl a:hover .text {
		opacity: 0.6;
	}
}
@media all and (max-width: 896px) {
	#main .newsBox {
		padding: 7.5rem 0 8rem;
		background-color: #FAFAFA;
	}
	#main .newsBox .content {
		margin: 0 3.2rem;
	}
	#main .newsBox .headLine01 {
		margin-bottom: 3.5rem;
	}
	#main .newsBox .comBtn02 a {
		padding: 0 0.8rem 0 0;
	}
	#main .newsBox .flexBox {
		display: block;
	}
	#main .newsBox .flexBox .titleBox {
		width: auto;
	}
	#main .newsBox .flexBox .newsUl {
		margin-top: 5rem;
	}
	#main .newsBox .newsUl li {
		margin-bottom: 2rem;
	}
	#main .newsBox .newsUl a {
		padding: 0 1.1rem 1.9rem 1.1rem;
		line-height: 1.5;
		gap: 1rem 1rem;
	}
	#main .newsBox .newsUl time {
		width: 11rem;
		font-size: 1.4rem;
		font-weight: 500;
		line-height: 1.4;
		letter-spacing: 0.125em;
	}
	#main .newsBox .newsUl .tag {
		gap: 1rem;
	}
	#main .newsBox .newsUl .tag span {
		padding: 0 0.7rem;
		font-size: 1.4rem;
	}
	#main .newsBox .newsUl .text {
		padding-right: 4rem;
		letter-spacing: 0.0555em;
		text-align: justify;
	}
	#main .newsBox .newsUl .comArrow {
		right: 0rem;
		bottom: 1.3rem;
	}
}
/*------------------------------------------------------------
	business list animation（５つの事業展開）
------------------------------------------------------------*/
@media all and (min-width: 897px) {
	#main .business .list li {
		position: relative;
	}
	#main .business .list a {
		transform-origin: left bottom;
	}
	#main .business .list li:hover {
		z-index: 10;
	}
	#main .business .list a:hover {
		transform: scale(1.07);
	}
	#main .business .list.js-anim li:nth-child(1) {
		z-index: 5;
		transform: translateX(0);
	}
	#main .business .list.js-anim li:nth-child(2) {
		z-index: 4;
		transform: translateX(-29rem);
	}
	#main .business .list.js-anim li:nth-child(3) {
		z-index: 3;
		transform: translateX(-58rem);
	}
	#main .business .list.js-anim li:nth-child(4) {
		z-index: 2;
		transform: translateX(-87rem);
	}
	#main .business .list.js-anim li:nth-child(5) {
		z-index: 1;
		transform: translateX(-116rem);
	}
	#main .business .list.js-anim.is-ready li {
		transition: transform 0.9s cubic-bezier(0.22, 0.61, 0.36, 1);
	}
	#main .business .list.js-anim.is-ready li:nth-child(2) {
		transition-delay: 0.08s;
	}
	#main .business .list.js-anim.is-ready li:nth-child(3) {
		transition-delay: 0.16s;
	}
	#main .business .list.js-anim.is-ready li:nth-child(4) {
		transition-delay: 0.24s;
	}
	#main .business .list.js-anim.is-ready li:nth-child(5) {
		transition-delay: 0.32s;
	}
	#main .business .list.js-anim.is-view li {
		transform: translateX(0);
	}
}
/*------------------------------------------------------------
	recruit parallax（採用セクション 背景写真）
------------------------------------------------------------*/
@media all and (min-width: 897px) {
	#main .recruit .photoBox.pc .list {
		will-change: transform;
	}
}
/*------------------------------------------------------------
	mainVisual card slider（MV写真の切り替わり）
------------------------------------------------------------*/
#main .mainVisual .mainImg .image {
	z-index: -1;
	opacity: 1;
	transition: transform 0.7s cubic-bezier(0.22, 0.61, 0.36, 1), opacity 0.7s ease;
}
#main .mainVisual .mainImg .image.is-next {
	z-index: 0;
}
#main .mainVisual .mainImg .image.is-leaving {
	z-index: -2;
	opacity: 0;
}
#main .mainVisual .mainImg .image.on {
	z-index: 20;
	transition-delay: 0.18s;
}
/*------------------------------------------------------------
	mainVisual bg slider（背景写真の無限スクロール）
------------------------------------------------------------*/
#main .mainVisual .bgBox {
	background: none;
	overflow: hidden;
}
#main .mainVisual .bgTrack {
	display: flex;
	width: max-content;
	height: 100%;
	align-items: flex-start;
	will-change: transform;
	animation: mvBgFlow 45s linear infinite;
}
#main .mainVisual .bgTrack li {
	flex-shrink: 0;
}
#main .mainVisual .bgTrack img {
	display: block;
	width: 100%;
	height: auto;
}
#main .mainVisual .bgTrack .mvBg01 {
	width: 25rem;
	margin-right: 9rem;
	transform: translateY(30rem);
}
#main .mainVisual .bgTrack .mvBg02 {
	width: 25rem;
	margin-right: 7rem;
	transform: translateY(3rem);
}
#main .mainVisual .bgTrack .mvBg03 {
	width: 18rem;
	margin-right: 10rem;
	transform: translateY(20rem);
}
#main .mainVisual .bgTrack .mvBg04 {
	width: 28rem;
	margin-right: 7rem;
	transform: translateY(27rem);
}
#main .mainVisual .bgTrack .mvBg05 {
	width: 24rem;
	margin-right: 9rem;
	transform: translateY(1rem);
}
@keyframes mvBgFlow {
	from {
		transform: translateX(0);
	}
	to {
		transform: translateX(-33.3333%);
	}
}
@media all and (max-width: 896px) {
	#main .mainVisual .bgBox {
		width: 100%;
		height: 100%;
		aspect-ratio: auto;
		top: 0;
	}
	#main .mainVisual .bgTrack {
		animation-duration: 24s;
	}
	#main .mainVisual .bgTrack .mvBg01 {
		width: 12rem;
		margin-right: 3.5rem;
		transform: translateY(46rem);
	}
	#main .mainVisual .bgTrack .mvBg02 {
		width: 13rem;
		margin-right: 3rem;
		transform: translateY(6rem);
	}
	#main .mainVisual .bgTrack .mvBg03 {
		width: 9rem;
		margin-right: 4rem;
		transform: translateY(30rem);
	}
	#main .mainVisual .bgTrack .mvBg04 {
		width: 14rem;
		margin-right: 3rem;
		transform: translateY(52rem);
	}
	#main .mainVisual .bgTrack .mvBg05 {
		width: 11rem;
		margin-right: 3.5rem;
		transform: translateY(16rem);
	}
}
@media (prefers-reduced-motion: reduce) {
	#main .mainVisual .bgTrack {
		animation: none;
	}
}
/*------------------------------------------------------------
	crossLine（背景クロス線 / SVG化・committedはドローアニメ）
------------------------------------------------------------*/
.crossLine {
	display: none;
}
@media all and (min-width: 897px) {
	#main .committed::before,
	#main .business::before,
	#main .company::before {
		background-image: none;
	}
	.crossLine {
		display: block;
		width: 100%;
		position: absolute;
		left: 0;
		z-index: -1;
		opacity: 0.5;
		overflow: hidden;
		pointer-events: none;
	}
	.crossLine__svg {
		display: block;
		width: 100%;
		height: auto;
	}
	/* 下のセクションへはみ出した線がコンテンツより前に出ないようにする */
	#main .recruit {
		position: relative;
		z-index: 2;
	}
	.crossLine__ln {
		fill: none;
		stroke: #80EBDB;
		stroke-width: 1.8;
	}
	.crossLine--committed {
		top: -5.6rem;
		aspect-ratio: 2880/1352;
	}
	.crossLine--business {
		top: auto;
		bottom: -63.1rem;
		aspect-ratio: 2880/2136;
	}
	.crossLine--company {
		top: -21.6rem;
		aspect-ratio: 2880/2654;
	}
	.crossLine__ln--draw {
		stroke-dasharray: 1000;
		stroke-dashoffset: 0;
	}
	.crossLine__light {
		opacity: 0;
	}
	.crossLine--committed .crossLine__light {
		--lx: -2880px;
		--ly: 760px;
	}
	.crossLine--business .crossLine__light {
		--lx: 2148px;
		--ly: 1028px;
	}
	.crossLine--company .crossLine__light--a {
		--lx: -2880px;
		--ly: 1378px;
	}
	.crossLine--company .crossLine__light--b {
		--lx: 2880px;
		--ly: 1378px;
	}
	.crossLine.is-ready .crossLine__ln--draw {
		stroke-dashoffset: 1000;
	}
	.crossLine.is-view .crossLine__ln--draw {
		animation: crossDraw 1.6s cubic-bezier(0.33, 0, 0.2, 1) forwards;
	}
	.crossLine.is-view .crossLine__light {
		animation: crossLight 1.6s cubic-bezier(0.33, 0, 0.2, 1) forwards;
	}
	.crossLine--company.is-view .crossLine__ln--drawB,
	.crossLine--company.is-view .crossLine__light--b {
		animation-delay: 0.2s;
	}
}
@keyframes crossDraw {
	from {
		stroke-dashoffset: 1000;
	}
	to {
		stroke-dashoffset: 0;
	}
}
@keyframes crossLight {
	0% {
		opacity: 0;
		transform: translate(0, 0);
	}
	8% {
		opacity: 1;
	}
	85% {
		opacity: 1;
	}
	100% {
		opacity: 0;
		transform: translate(var(--lx, 0), var(--ly, 0));
	}
}
@media (prefers-reduced-motion: reduce) {
	.crossLine.is-ready .crossLine__ln--draw,
	.crossLine.is-view .crossLine__ln--draw {
		animation: none;
		stroke-dashoffset: 0;
	}
	.crossLine.is-view .crossLine__light {
		animation: none;
		opacity: 0;
	}
}


/*------------------------------------------------------------
	リキッド調整（専用クラス aqsLiquid のみ / 既存共通クラスは変更なし）
	1920px時点の比率を保ったまま縮小させる
------------------------------------------------------------*/
@media all and (min-width: 897px) {
	/* メインビジュアル */
	#main .mainVisual .imgBox.aqsLiquid {
		width: min(calc(1520 / 1920 * 100vw), 152rem);
		gap: min(calc(42 / 1920 * 100vw), 4.2rem);
	}
	#main .mainVisual .imgBox.aqsLiquid .mainImg {
		margin: 0 min(calc(183 / 1920 * 100vw), 18.3rem) 0 max(calc(-183 / 1920 * 100vw), -18.3rem);
		width: min(calc(545 / 1920 * 100vw), 54.5rem);
	}
	#main .mainVisual .imgBox.aqsLiquid .mainImg::after {
		width: 100%;
		height: 100%;
	}
	/* CSR・各種活動 */
	#main .csrBox .content.aqsLiquid {
		width: min(calc(1520 / 1920 * 100vw), 152rem);
	}
	#main .csrBox .content.aqsLiquid .textBox {
		width: min(calc(551 / 1920 * 100vw), 55.1rem);
	}
	#main .csrBox .content.aqsLiquid .photoBox {
		margin: min(calc(149 / 1920 * 100vw), 14.9rem) min(calc(29 / 1920 * 100vw), 2.9rem) 0;
		width: min(calc(800 / 1920 * 100vw), 80rem);
	}
}