@charset "utf-8";
/*------------------------------------------------------------
	index
------------------------------------------------------------*/
.comBox {
	margin-top: 0;
}
#main .insetBox {
	clip-path: inset(0);
}
#main .mainVisual {
	margin-bottom: 26.4rem;
	height: 100svh;
	position: relative;
}
#main .mainVisual .bgImg {
	width: 59.9rem;
	position: absolute;
	top: 0.3rem;
  	left: -3.7rem;
	z-index: 10;
}
#main .mainVisual .logo {
	width: 38.1rem;
	position: absolute;
	left: 0;
	bottom: -4.3rem;
	z-index: 2;
}
#main .mainVisual .titleImg {
	width: 35.5rem;
	position: absolute;
	right: 11.8rem;
	bottom: 8.2rem;
	z-index: 2;
}
#main .mainVisual .title {
	color: #fff;
	font-family: "Noto Serif JP", serif;
	font-weight: 550;
	line-height: 1.66;
	position: absolute;
	right: 11.8rem;
	bottom: 8.2rem;
	z-index: 2;
	font-size: 3rem;
	white-space:nowrap;
	letter-spacing: 0.15em;
}
#main .mainVisual .slider li::before {
	height: 19.8rem;
	position: absolute;
	left: 0;
	right: 0;
	bottom: 0;
	background: url(../img/index/mv_bg.png) no-repeat center center / 100% 100%;
	pointer-events: none;
	z-index: 1;
	content: "";
}
#main .mainVisual .slider:not(.slick-initialized) li:not(:first-child) {
	display: none;
}
#main .mainVisual .slider,
#main .mainVisual .slider .slick-list,
#main .mainVisual .slider .slick-track,
#main .mainVisual .slider .slick-slide,
#main .mainVisual .slider .slick-slide > div,
#main .mainVisual .slider li {
	height: 100%;
}
#main .mainVisual .slider li {
	vertical-align: top;
	position: relative;
}
#main .mainVisual .slider li img {
	width: 100%;
	height: 100%;
	object-fit: cover;
}
#main .mainVisual .slider .animate img {
	animation: slideimg 8s forwards linear;
}
@keyframes slideimg {
	0% {
		transform: scale(1);
	}
	100% {
		transform: scale(1.2);
	}
}
#main .mainVisual .slider .slick-dots {
	height: 0.2rem;
	position: absolute;
	right: 0;
	bottom: 2.5rem;
	display: flex;
	justify-content: center;
	align-items: center;
	gap: 1.5rem;
	z-index: 2;
}
#main .mainVisual .slider .slick-dots li {
	height: 100%;
	flex: 1;
	position: relative;
	background: #D9D9D9;
	cursor: pointer;
	transition: .3s;
	width: 13.7rem;
}
#main .mainVisual .slider .slick-dots li:before {
	display: none;
}
#main .mainVisual .slider .slick-dots li::after {
	position: absolute;
	left: 0;
	right: 0;
	top: 0;
	bottom: 0;
	opacity: 0;
	background: #8AF310;
	transform-origin: left center;
	content: "";
}
#main .mainVisual .slider .slick-dots li.slick-active {
	background: #E1FFBE;
}
#main .mainVisual .slider .slick-dots li button {
	display: none !important;
}
#main .mainVisual .slider .slick-dots li.slick-active::after {
    opacity: 1;
    animation: grow 3.5s linear;
}
@keyframes grow {
    0% {
        transform: scale(0,1)
    }
    100% {
        transform: scale(1,1)
    }
}
#main .concept {
	padding-bottom:29rem;
	position: relative;
	z-index: 2;
}
#main .concept .radiusBg {
    width: 100%;
	aspect-ratio: 1 / 1;
	position: absolute;
    top: 30%;
    left: 0;
    background: #8AF310;
    border-radius: 100% 100% 0 0;
    overflow: hidden;
	transform: scale(1);
	transform-origin: center bottom;
	z-index: -1;
}
#main .concept .movieBox {
	align-items: flex-start;
	margin-bottom: 22.1rem;
}
#main .concept .movieBox .title {
	margin-top: 1.6rem;
	width: 50%;
	color: #131313;
	font-size: 5.4rem;
	font-weight: 500;
	line-height: 1;
}
#main .concept .movieBox .title .large {
	margin-top: 1.8rem;
	display: block;
	font-size: 12rem;
	font-weight: 600;
	line-height: 1.05;
}
#main .concept .movieBox .title .large .txt {
	margin-left: -0.9rem;
	letter-spacing: -0.24rem;
}
#main .concept .movieBox .title .large .mid {
	margin-left: -1rem;
	font-size: 10rem;
}
#main .concept .movieBox .movieBtn {
	width: 50%;
	display: block;
	position: relative;
	border-radius: 1rem;
	overflow: hidden;
	aspect-ratio: 600 / 337;
	background: url(../img/index/movie_thumbnail.jpg) no-repeat center center / cover;
}
#main .concept .movieBox .movieBtn::before,
#main .concept .movieBox .movieBtn::after,
#main .concept .movieBox .movieBtn img {
	transition: opacity 1s;
}
#main .concept .movieBox .movieBtn.on::before,
#main .concept .movieBox .movieBtn.on::after,
#main .concept .movieBox .movieBtn.on img {
	opacity: 0;
}
#main .concept .movieBox .movieBtn::before {
	margin-left: 1rem;
	width: 4.9rem;
	aspect-ratio: 49 / 57;
	position: absolute;
	left: 50%;
	top: 50%;
	transform: translate(-50%,-50%);
	background: url(../img/index/play_btn.png) no-repeat center center / cover;
	z-index: 2;
	content: "";
}
#main .concept .movieBox .movieBtn::after {
	position: absolute;
	left: 0;
	right: 0;
	top: 0;
	bottom: 0;
	background: rgba(0, 0, 0, 0.30);
	background-blend-mode: multiply;
	content: "";
}
#main .concept .movieBox .movieBtn .thumbnail {
	display: block;
	position: absolute;
	left: 0;
	right: 0;
	top: 0;
	bottom: 0;
}
#main .concept .movieBox .movieBtn img,
#main .concept .movieBox .movieBtn video {
	width: 100%;
	height: 100%;
	object-fit: cover;
}
#main .business {
	margin-top: -10rem;
	padding: 27.8rem 0 19rem;
	background: #303030;
	clip-path: polygon(0 0,50% 10rem,100% 0,100% 100%,0 100%);
}
#main .works {
	margin-bottom: 23.3rem;
	padding-top: 15.4rem;
}
#main .works .topBox {
	display: flex;
	justify-content: space-between;
}
#main .works .topBox .headLine01 {
	flex: 1;
}
#main .works .topBox .comBtn {
	margin: 1.2rem 0 0 0;
}
#main .works .fooBox {
	margin-bottom: 2rem;
	padding: 0 3.9rem;
	position: relative;
}
#main .works .fooBox .foo:not(.slick-initialized) {
	display: flex;
	flex-wrap: nowrap;
}
#main .works .fooBox .foo li {
	margin: 0 0.6rem;
	width: 17.5rem !important;
	aspect-ratio: 175 / 155;
	position: relative;
	vertical-align: top;
	border-radius: 1.6rem;
	cursor: pointer;
	overflow: hidden;
}
#main .works .fooBox .foo li::before {
	position: absolute;
	left: 0;
	right: 0;
	top: 0;
	bottom: 0;
	background: rgba(0, 0, 0, 0.50);
	transition: .3s;
	content: "";
}
#main .works .fooBox .foo .slick-current li::before {
	opacity: 0;
}
#main .works .fooBox .foo li img {
	width: 100%;
	height: 100%;
	object-fit: cover;
}
#main .works .fooBox .arrow li {
	width: 1.3rem;
	position: absolute;
	top: 50%;
	transform: translateY(-50%);
	cursor: pointer;
}
#main .works .fooBox .arrow .prev {
	left: 0;
}
#main .works .fooBox .arrow .next {
	right: 0;
}
#main .works .imgBox {
	padding-left: calc((100% - 120rem) / 2);
	flex-direction: row-reverse;
	position: relative;
}
#main .works .imgBox::before {
	position: absolute;
	left: 0;
	right: 0;
	top: -4.4rem;
	bottom: 3.4rem;
	background: #8AF310;
	z-index: -1;
	content: "";
}
#main .works .imgBox .photoBox {
	width: calc(100% - 37rem);
	font-size: 0;
  	line-height: 1;
}
#main .works .imgBox .photoBox .slider:not(.slick-initialized) > li:not(:first-child) {
	display: none;
}
#main .works .imgBox .photoBox .slider > li {
	vertical-align: top;
}
#main .works .imgBox .photoBox .subUl {
	aspect-ratio: 95 / 60;
	display: grid;
	grid-template-areas:
		"item4 item1"
		"item3 item1"
		"item2 item1";
	grid-template-columns: 25.26% 74.74%;
	grid-template-rows: calc(100% / 3) calc(100% / 3) calc(100% / 3);
}
#main .works .imgBox .photoBox .subUl img {
	width: 100%;
	height: 100%;
	object-fit: cover;
}
#main .works .imgBox .photoBox .subUl li:nth-child(1) {
	grid-area: item1;
}
#main .works .imgBox .photoBox .subUl li:nth-child(2) {
	grid-area: item2;
}
#main .works .imgBox .photoBox .subUl li:nth-child(3) {
	grid-area: item3;
}
#main .works .imgBox .photoBox .subUl li:nth-child(4) {
	grid-area: item4;
}
#main .works .imgBox .photoBox .subUl.one {
	display: block;
}
#main .works .imgBox .photoBox .subUl.one li {
	height: 100%;
}
#main .works .imgBox .photoBox .subUl.two {
	grid-template-areas:
		"item1"
		"item2";
	grid-template-columns: 1fr;
	grid-template-rows: 50% 50%;
}
#main .works .imgBox .textBox {
	width: 37rem;
	margin-top: 5.6rem;
}
#main .textList:not(.slick-initialized) li:not(:first-child) {
	display: none;
}
#main .textList li {
	padding-bottom: 1.5rem;
}
#main .textList h3 {
	margin-bottom: 5.3rem;
	font-size: 4rem;
	letter-spacing: 0.05em;
	font-weight: 700;
}
#main .textList h3 .en {
	font-size: 1.3rem;
	font-weight: 500;
	display: block;
	letter-spacing: 0.05em;
	margin-top: 1.1rem;
}
#main .textList .comBtn {
	max-width: 27rem;
	margin-top: 2.8rem;
}
#main .addressDl {
	max-width: 27rem;
	border-top: 0.3rem solid #000;
	border-bottom: 0.3rem solid #000;
	font-size: 1.4rem;
}
#main .addressDl > dt {
	font-size: 1.6rem;
	font-weight: 700;
	border-bottom: 1px solid #000;
	padding: 3rem 0 3.5rem;
	letter-spacing: 0.05em;
}
#main .addressDl > dd {
	padding: 3rem 0 3.2rem;
}
#main .addressDl .subDl {
	display: flex;
	flex-wrap: wrap;
	letter-spacing: 0.05em;
}
#main .addressDl .subDl dt {
	width: 5.9rem;
}
#main .addressDl .subDl dd {
	margin-bottom: 0.4rem;
	width: calc(100% - 5.9rem);
}
#main .addressDl .subDl dd:last-child {
	margin-bottom: 0;
}
@media all and (min-width: 897px) {
	#main .works .fooBox .foo li:hover::before {
		opacity: 0;
	}
	#main .works .fooBox .arrow li:hover {
		opacity: 0.7;
	}
}
@media all and (max-width: 896px) {
	#main .mainVisual {
		margin-bottom: 24.5rem;
	}
	#main .mainVisual .bgImg {
		width: 21.9rem;
		top: 4.5rem;
		left: -1.4rem;
	}
	#main .mainVisual .logo {
		width: 14.8rem;
		left: 0;
		bottom: 10.8rem;
	}
	#main .mainVisual .titleImg {
		width: 22.3rem;
		right: 2rem;
		bottom: 3.1rem;
	}
	#main .mainVisual .slider .slick-dots {
		width: 25rem;
		height: 0.2rem;
		bottom: 1.6rem;
		gap: 0.5rem;
	}
	#main .mainVisual .title {
		line-height: 1.8;
		right: 3rem;
		bottom: 3.3rem;
		font-weight: 450;
		font-size: 2rem;
		letter-spacing: 0;
	}
	#main .concept {
		padding-bottom: 12.7rem;
	}
	#main .concept::before {
		position: absolute;
		left: 0;
		right: 0;
		top: 37.5rem;
		bottom: 0;	
		background: #8AF310;
		content: "";
		z-index: -1;
	}
	#main .concept .radiusBg {
		top: 0;
        border-radius: 100% 100% 0 0;
		transform-origin: center center;
	}
	#main .concept .movieBox .title {
		margin-top: 0.4rem;
		font-size: 1.4254rem;
		text-align: center;
	}
	#main .concept .movieBox .title .large {
		margin-top: 0.4rem;
		font-size: 3.1675rem;
		text-align: center;
	}
	#main .concept .movieBox .title .large .txt {
		margin-left: -0.4rem;
		letter-spacing: -1px;
	}
	#main .concept .movieBox .title .large .mid {
		margin-left: 0;
		font-size: 2.6396rem;
	}
	#main .concept .movieBox .movieBtn {
		border-radius: 0.264rem;
	}
	#main .concept .movieBox .movieBtn::before {
		margin-left: 0.3rem;
		width: 1.3rem;
	}
	#main .business {
		margin-top: -3rem;
		padding: 11.8rem 0 81rem;
		clip-path: polygon(0 0,50% 3rem,100% 0,100% 100%,0 100%);
	}
	#main .works {
		padding-top: 16.3rem;
		margin-bottom: 13rem;
	}
	#main .works .fooBox {
		margin-right: -2.8rem;
		padding: 0;
	}
	#main .works .fooBox .foo li {
		margin: 0 0.5rem 0 0;
		width: 7.5rem !important;
		border-radius: 0.5rem;
	}
	#main .works .fooBox .arrow {
		display: none;
	}
	#main .works .imgBox {
		padding: 0 0 8.3rem 2.8rem;
		display: block;
	}
	#main .works .imgBox::before {
		top: -4.3rem;
		bottom: 0;
	}
	#main .works .imgBox .photoBox {
		margin-right: -2.8rem;
		width: auto;
	}
	#main .works .imgBox .textBox {
		width: auto;
		margin: 4.4rem 2.8rem 0 0;
	}
	#main .textList li {
		padding-bottom: 1.5rem;
	}
	#main .textList h3 {
		margin-bottom: 3.5rem;
		font-size: 2.4rem;
	}
	#main .textList h3 .en {
		font-size: 1.2rem;
		margin-top: 1.2rem;
	}
	#main .textList .comBtn {
		max-width: inherit;
		margin-top: 2.4rem;
	}
	#main .addressDl {
		max-width: inherit;
		font-size: 1.5rem;
	}
	#main .addressDl > dt {
		font-size: 1.8rem;
		padding: 3rem 0 3.1rem;
	}
	#main .addressDl > dd {
		padding: 3.3rem 0 2.9rem;
	}
	#main .addressDl .subDl dt {
		width: 6.3rem;
	}
	#main .addressDl .subDl dd {
		margin-bottom: 0.6rem;
		width: calc(100% - 6.3rem);
	}
	#main .works .topBox {
		display: block;
		margin-bottom: 6.8rem;
	}
	#main .works .topBox .comBtn {
		text-align: right;
  		margin: 0;
	}
	#main .works .topBox .headLine01 {
		margin-bottom: 3.1rem;
	}
}


/* ordinaryBox */
#main .ordinaryBox .title {
	width: fit-content;
	margin-left: auto;
	display: flex;
	font-size: 9.8rem;
	font-weight: 700;
	line-height: 1.13;
	order: 3;
	gap: 4.1rem;
	text-align: center;
}
#main .ordinaryBox .title .big {
	font-size: 10rem;
	line-height: 1.1;
}
#main .ordinaryBox .title small {
	font-size: 9.4rem;
	display: inline-block;
	vertical-align: top;
	margin: -0.6rem -2.4rem 0 0;
}
#main .ordinaryBox .title .dot {
	text-align: right;
	display: block;
	margin: -6.4rem -5.9rem 0 0;
}
#main .ordinaryBox .imgBox {
	display: flex;
	align-items: flex-start;
}
#main .ordinaryBox .imgBox .photo {
	width: 50%;
	margin-right: -12rem;
}
#main .ordinaryBox .imgBox .photo img {
	width: 100%;
	border-radius: 1rem;
}
#main .ordinaryBox .imgBox p {
	font-size: 2rem;
	line-height: 2.15;
	font-weight: 500;
	letter-spacing: 0.05em;
}
#main .ordinaryBox .imgBox .name {
	display: block;
	position: relative;
	padding-left: 4.2rem;
}
#main .ordinaryBox .imgBox .name::before {
	width: 2.5rem;
	height: 1px;
	position: absolute;
	top: 2.3rem;
	left: 0;
	background-color: #000;
	content: "";
}
#main .ordinaryBox .imgBox .textBox {
	flex: 1;
	margin-top: 4.1rem;
}
#main .ordinaryBox .imgUl {
	width: 64rem;
}
#main .ordinaryBox .imgUl img {
	width: 100%;
	border-radius: 1rem;
}
#main .ordinaryBox .imgUl li {
	width: 36rem;
}
#main .ordinaryBox .imgUl .item02 {
	width: 22rem;
	margin: -10.9rem 0 0 auto;
}
#main .ordinaryBox .imgUl .item03 {
	width: 30rem;
	margin: 3.2rem 0 0 9.6rem;
}
#main .ordinaryBox .widBox {
	margin: 0 auto 4.5rem;
	max-width: 120rem;
	display: flex;
}
@media all and (max-width: 896px) {
	#main .ordinaryBox .title {
		font-size: 4.9rem;
		margin: 0 auto;
		gap: 2rem;
	}
	#main .ordinaryBox .title .big {
		font-size: 5rem;
	}
	#main .concept .movieBox {
		margin-bottom: 10.3rem;
	}
	#main .ordinaryBox .title small {
		font-size: 4.7rem;
		margin: -0.2rem -1.4rem 0 0;
	}
	#main .ordinaryBox .title .dot {
		margin: -3.2rem -3rem 0 0;
	}
	#main .ordinaryBox .imgBox {
		display: block;
	}
	#main .ordinaryBox .imgUl {
		width: auto;
		margin-top: 6rem;
	}
	#main .ordinaryBox .widBox {
		display: block;
		margin-bottom: 7rem;
	}
	#main .ordinaryBox .imgBox p {
		font-size: 1.5rem;
		line-height: 2;
		letter-spacing: 0;
	}
	#main .ordinaryBox .imgBox .name {
		padding-left: 3rem;
	}
	#main .ordinaryBox .imgBox .name::before {
		top: 1.6rem;
	}
	#main .ordinaryBox .imgUl li {
		width: 24rem;
	}
	#main .ordinaryBox .imgUl .item02 {
		width: 12rem;
		margin: 3rem 0 0 auto;
	}
	#main .ordinaryBox .imgUl .item03 {
		width: 17rem;
		margin: 3.1rem 0 0 7rem;
	}
	#main .ordinaryBox .imgBox .photo {
		width: auto;
		margin: 3.1rem 0 0 0;
	}
	#main .ordinaryBox .imgUl img {
		border-radius: 1.3rem;
	}
}


/* businessBox */
#main .businessBox {
	padding: 18rem 0 19rem;
	background-color: #303030;
	position: relative;
	color: #fff;
}
#main .businessBox::before {
	width: 100%;
	height: 9.8rem;
	position: absolute;
	bottom: 100%;
	left: 0;
	background: url("../img/index/business_bg.png") no-repeat left top / 100% 100%;
	content: "";
}
#main .businessBox .flexBox {
	display: flex;
	position: relative;
}
#main .businessBox .flexBox .rightBox {
	flex: 1;
	order: 3;
	margin: -1.5rem 0 0 15.7rem;
}
#main .businessBox .flexBox .leftBox {
	width: 60rem;
}
#main .businessBox .content {
	max-width: 130rem;
}
#main .businessBox .comBtn {
	position: absolute;
	bottom: -0.9rem;
	right: 5rem;
}
#main .businessBox .comLinkUl li:nth-child(2) {
	margin: 1rem -5rem 0 5rem;
}
#main .businessBox .comLinkUl li:nth-child(3) {
	margin: 1rem -10rem 0 10rem;
}
#main .businessBox .showTxt {
	text-align: center;
	font-size: 2rem;
	font-weight: 500;
	margin-right: 4.6rem;
	letter-spacing: 0.05em;
}
#main .businessBox .showTxt strong {
	color: #8AF310;
	font-size: 4.5rem;
	font-weight: 700;
	display: block;
	letter-spacing: 0.05em;
	margin-top: 0.2rem;
}
#main .businessBox .showTxt strong.sml {
	font-size: 4rem;
	margin-top: 0.5rem;
}
#main .businessBox .showTxt .btm {
	font-size: 3rem;
	margin: 1.8rem 0 0 2.4rem;
	letter-spacing: 0.05em;
}
#main .businessBox .showTxt .icon {
	margin: 2.4rem auto 3.6rem;
	max-width: 3.6rem;
}
#main .businessBox .enImg {
	width: 100%;
	height: 8.7rem;
	position: absolute;
	bottom: 0;
	left: 0;
	overflow: hidden;
}
#main .businessBox .enImg ul {
	display: flex;
}
#main .businessBox .enImg li {
	flex: none;
	margin: 0 3rem;
}
#main .businessBox .enImg img {
	max-width: inherit;
	width: 173.6rem;
}

@media all and (max-width: 896px) {
	#main .businessBox::before {
		height: 2.6rem;
	}
	#main .businessBox .flexBox .rightBox {
		margin: 0;
	}
	#main .businessBox .flexBox {
		display: block;
	}
	#main .businessBox .headLine02 {
		text-align: center;
	}
	#main .businessBox .showTxt {
		font-size: 1.5rem;
		margin: 0;
	}
	#main .businessBox .showTxt strong {
		font-size: 3.375rem;
	}
	#main .businessBox .showTxt .btm {
		font-size: 2.25rem;
		margin: 1.2rem 0 0 1.6rem;
	}
	#main .businessBox {
		padding: 9.6rem 0 7.8rem;
	}
	#main .businessBox .showTxt .icon {
		margin: 1.6rem auto 2.8rem;
		max-width: 2.7rem;
	}
	#main .businessBox .showTxt strong.sml {
		font-size: 3rem;
		margin-top: 0.5rem;
	}
	#main .businessBox .flexBox .leftBox {
		width: auto;
		margin: 4.4rem 4rem 0 -0.7rem;
	}
	#main .businessBox .comLinkUl li:nth-child(2) {
		margin: 0.5rem -2.4rem 0 2.4rem;
	}
	#main .businessBox .comLinkUl li:nth-child(3) {
		margin: 0.5rem -4.8rem 0 4.8rem;
	}
	#main .businessBox .comBtn {
		position: static;
		bottom: auto;
		right: auto;
		text-align: right;
		margin-top: 4rem;
	}
	#main .businessBox .enImg {
  		width: 100%;
		bottom: 0;
		height: 4.7rem;
	}
	#main .businessBox .enImg img {
		width: 98rem;
	}
	#main .businessBox .enImg li {
		margin: 0 2rem;
	}
}


#main .recruit {
	margin: 0 2rem 32.8rem;
	aspect-ratio: 2 / 1;
	position: relative;
}
#main .recruit .bg {
	z-index: -1;
}
#main .recruit .bg::before {
	position: absolute;
	left: 0;
	right: 0;
	top: 0;
	bottom: 0;
	background: rgba(0, 0, 0, 0.30);
	background-blend-mode: multiply;
	z-index: 1;
	content: "";
}
#main .recruit .bg img {
	transition: .3s;
	width: 100%;
	height: 100%;
	object-fit: cover;
}
#main .recruit .content {
	display: flex;
	justify-content: space-between;
	position: relative;
	padding: 8.3rem 0 18.1rem;
}
#main .recruit .comBtn {
	position: absolute;
	bottom: 0;
	right: 0;
}
#main .recruit .title {
	width: fit-content;
	margin-left: auto;
	display: flex;
	font-size: 5rem;
	font-weight: 700;
	line-height: 1.1;
	gap: 2.5rem;
	color: #fff;
	text-align: center;
}
#main .recruit .title .big {
	font-size: 10rem;
	line-height: 1.1;
}
#main .recruit .title small {
	font-size: 4.9rem;
	display: inline-block;
	vertical-align: top;
}
#main .recruit .title .dot {
	text-align: right;
	display: block;
	margin: -2.9rem -3rem 0 0;
}
#main .recruit .headLine02 {
	margin: 20.2rem 0 0 0;
}
#main .recruit .headLine02 .en {
	font-size: 9rem;
	letter-spacing: 0.05em;
	margin-bottom: 1.5rem;
}
@media all and (max-width: 896px) {
	#main .recruit {
		margin: 0 1.4rem 15.3rem;
		aspect-ratio: 347 / 260;
		display: flex;
    	align-items: center;
	}
	#main .recruit .content {
		width: 100%;
	}
	#main .recruit .title {
		font-size: 1.4rem;
		line-height: 1.3;
		gap: 0.8rem;
	}
	#main .recruit .headLine02 {
		margin: 7.3rem 0 0 0;
		font-size: 1.2rem;
	}
	#main .recruit .headLine02 .en {
		font-size: 3rem;
		margin-bottom: 0.6rem;
	}
	#main .recruit .content {
		padding: 1.2rem 1.4rem 8.7rem;
	}
	#main .recruit .title small {
		font-size: 1.4rem;
	}
	#main .recruit .title .dot {
		margin: -0.9rem -0.8rem 0 0;
	}
	#main .recruit .comBtn {
		bottom: 0;
		right: 1.4rem;
	}
}


#main .companyBox {
	padding-top: 18rem;
	background-color: #303030;
	position: relative;
	color: #fff;
}
#main .companyBox::before {
	width: 100%;
	height: 9.8rem;
	position: absolute;
	bottom: 100%;
	left: 0;
	background: url("../img/index/business_bg.png") no-repeat left top / 100% 100%;
	content: "";
}
#main .companyBox .content {
	padding: 0;
	max-width: inherit;
	display: flex;
}
#main .companyBox .photo {
	width: 50%;
	height: 65rem;
}
#main .companyBox .photo img {
	width: 100%;
	height: 100%;
	object-fit: cover;
}
#main .companyBox .textBox {
	flex: 1;
	margin: 10.7rem 0 0 8.3rem;
	order: 3;
}
#main .companyBox .textBox p {
	line-height: 1.87;
	font-weight: 500;
	letter-spacing: 0.05em;
}
#main .companyBox .innerBox {
	max-width: 51.7rem;
}
#main .companyBox .headLine02 {
	margin-bottom: 7.5rem;
}
#main .companyBox .comBtn {
	margin-top: 10rem;
}
#main .companyBox .imgList {
	margin: 16rem 0 0 0;
	position: relative;
	z-index: 10;
}
#main .companyBox .imgList ul {
	display: flex;
	align-items: flex-start !important;
}
#main .companyBox .imgList li {
	width: 30rem;
	margin: 0 3rem;
	flex: none;
}
#main .companyBox .imgList .mar {
	padding-top: 8rem;
}
#main .companyBox .imgList .image {
	aspect-ratio: 600/900;
	border-radius: 1.5rem;
	overflow: hidden;
}
#main .companyBox .imgList li img {
	width: 100%;
	height: 100%;
	object-fit: cover;
}
@media all and (max-width: 896px) {
	#main .companyBox::before {
		height: 2.3rem;
	}
	#main .companyBox .content {
		display: block;
	}
	#main .companyBox .textBox {
		margin: 0 2.8rem;
	}
	#main .companyBox .headLine02 {
		text-align: center;
		margin-bottom: 5rem;
	}
	#main .companyBox {
		padding-top: 9.7rem;
	}
	#main .companyBox .innerBox {
		max-width: inherit;
	}
	#main .companyBox .textBox p {
		line-height: 2;
	}
	#main .companyBox .photo {
		width: auto;
		height: auto;
		margin: 4.9rem 0 0 -2.8rem;
		border-radius: 0 1.5rem 1.5rem 0;
		overflow: hidden;
		aspect-ratio: 347/325;
	}
	#main .companyBox .comBtn {
		margin-top: 4rem;
	}
	#main .companyBox .imgList li {
		width: 16rem;
		margin: 0 1rem;
	}
	#main .companyBox .imgList {
		margin: 10rem 0 0;
	}
	#main .companyBox .imgList .mar {
		padding-top: 4.2rem;
	}
	#main .companyBox .imgList .image {
		aspect-ratio: 600/880;
		border-radius: 1.5rem;
	}
}


/* newsBox */
#main .newsBox {
	padding: 45.9rem 0 18rem;
	background-color: #8AF310;
	position: relative;
	margin-top: -29.9rem;
}
#main .newsBox .content {
	background: url(../img/common/bg01.jpg) repeat center top / 11.2rem;
	padding: 4rem 10rem;
	box-sizing: border-box;
}

#main .newsBox .ins a {
	width: 6rem;
	aspect-ratio: 1;
	display: flex;
	align-items: center;
	justify-content: center;
	background-color: #000;
	border-radius: 100%;
}
#main .newsBox .ins img {
	width: 2.9rem;
}
@media all and (min-width: 897px) {
	#main .newsBox .content {
		display: flex;
		align-items: center;
		justify-content: space-between;
	}
	#main .newsBox .text {
		width: calc(100% - 8rem);
		font-size: 2rem;
		font-weight: 700;
	}
	.newsBox .ins a:hover {
		opacity: 0.7;
	}
}
@media all and (max-width: 896px) {
	#main .newsBox {
		padding: 27.8rem 2.8rem 13rem;
		margin-top: -15.5rem;
	}
	#main .newsBox .content {
		padding: 6rem 2rem;
	}
	#main .newsBox .text {
		margin-bottom: 2rem;
		font-size: 1.8rem;
		font-weight: 700;
		line-height: 1.67;
		text-align: center;
		letter-spacing: 0.05em;
	}
	#main .newsBox .ins a {
		margin: 0 auto;
	}
}