@charset "utf-8";
/*------------------------------------------------------------
	index
------------------------------------------------------------*/
#container {
		overflow: hidden;
}
#gFooter .top-box .sub-box {
		z-index: 1000;
}
#gFooter .f-box {
		position: relative;
		z-index: 999;
}
.index-visual {
		position: relative;
		display: flex;
		width: 100%;
		align-items: center;
		justify-content: space-between;
}
.index-visual .en-txt {
		position: absolute;
		left: 0;
		color: #EBEBEB;
		bottom: -60px;
		font-size: 15.2rem;
		font-weight: 300;
		font-style: italic;
		font-family: 'Poppins', sans-serif;
		white-space: nowrap;
		z-index: 10;
		mix-blend-mode: overlay;
}
.index-visual .en-txt span {
		display: inline-block;
		margin-right: 70px;
}
.index-visual .l-box {
		width: 50%;
		height: 740px;
}
.index-visual .l-box .img-list li {
		height: 740px;
		float: left;
		background: url("../img/index/main_img01.png") no-repeat center center;
		background-size: cover;
}
.index-visual .l-box .img-list .bg02 {
		background: url("../img/index/main_img02.png") no-repeat center center;
		background-size: cover;
}
.index-visual .slick-dots {
		position: absolute;
		right: 28px;
		top: 50%;
		text-align: right;
		margin-top: -39px;
}
.index-visual .slick-dots li {
		margin: 0 0 4px;
		display: block;
		width: 4px;
		float: none;
		height: 26px;
		background: #DBDBDB;
}
.index-visual .slick-dots li button {
		display: none;
}
.index-visual .slick-dots li.slick-active {
		background-color: #F69602;
}
.index-visual .r-box {
		width: 50%;
		padding: 0 60px;
		box-sizing: border-box;
}
.index-visual .r-box .top {
		margin-bottom: 20px;
		font-size: 2rem;
		font-weight: 500;
		line-height: 1.6;
}
.index-visual .r-box .top span {
		display: block;
}
.index-visual .r-box .top .info-txt01 {
		transition-delay: 0.05s;
}
.index-visual .r-box .top .info-txt02 {
		transition-delay: 0.1s;
}
.index-visual .r-box .ttl {
		transition-delay: 0.15s;
}
.index-visual .r-box .ttl .info {
		margin-bottom: 20px;
		font-size: 3.4rem;
		font-weight: 500;
		position: relative;
		display: inline-block;
}
.index-visual .r-box .ttl .info:before {
		position: absolute;
		left: 0;
		bottom: 8px;
		right: 0;
		height: 1px;
		background: #333;
		content: "";
}
/* 20220520 ito */
@media all and (min-width: 897px) and (max-width: 1280px) {
		.index-visual .r-box .ttl .info {
				font-size: 3.0vw;
		}
}
/* //20220520 ito */
.index-visual .r-box .ttl .en {
		display: block;
		font-size: 8.1rem;
		font-weight: 700;
		font-family: 'Inter', sans-serif;
}
/* 20220520 ito */
@media all and (min-width: 897px) and (max-width: 1280px) {
		.index-visual .r-box .ttl .en {
				font-size: 6.8vw;
				white-space: nowrap;
		}
}
/* //20220520 ito */
.index-visual .link-box {
		position: absolute;
		right: 0;
		bottom: -20px;
		z-index: 10;
}
.index-visual .link-box a {
		display: flex;
		align-items: center;
		justify-content: flex-start;
		width: 398px;
		color: #fff;
		position: relative;
		height: 145px;
		padding: 0 20px 0 50px;
		box-sizing: border-box;
		border-radius: 10px 0 0 10px;
		will-change: transform;
		overflow: hidden;
}
.index-visual .link-box .bg {
		position: absolute;
		left: 0;
		top: 0;
		width: 100%;
		height: 100%;
		background: url("../img/index/bg01.png") no-repeat center center;
		background-size: cover;
}
@media all and (min-width: 897px) {
		.index-visual .link-box .bg {
				-webkit-transition: all 0.3s ease-in-out;
				transition: all 0.3s ease-in-out;
		}
		.index-visual .link-box a:hover .bg {
				-webkit-transform: scale(1.2);
				transform: scale(1.2);
		}
}
.index-visual .link-box .ttl {
		padding-right: 115px;
		display: inline-block;
		font-size: 1.4rem;
		font-weight: 500;
		background: url("../img/common/icon07.png") no-repeat right center;
		background-size: 39px auto;
		z-index: 2;
}
.index-visual .link-box .ttl .font {
		margin-top: 2px;
		font-size: 2.4rem;
		display: block;
		line-height: 1.25;
}
.index-visual .com-scroll {
		position: absolute;
		bottom: -40px;
		left: 20px;
		z-index: 11;
}
.index-visual .com-scroll a {
		padding-bottom: 92px;
		color: #fff;
}
.index-visual .com-scroll a:before {
		background: #fff;
		width: 2px;
		bottom: -10px;
}
.index-visual .com-scroll a::after {
		margin-left: -16px;
}
#main .service-sec {
		margin-bottom: 156px;
		padding: 192px 0 0;
		position: relative;
}
#main .service-sec .content {
		position: relative;
		display: flex;
		justify-content: space-between;
		width: 1100px;
}
/* 20220520 ito */
@media all and (min-width: 897px) and (max-width: 1280px) {
		#main .service-sec .content {
				width: calc(100% - 100px);
		}
}
/* //20220520 ito */
#main .service-sec .content:before {
		position: absolute;
		left: 105px;
		top: 204px;
		width: 584px;
		height: 425px;
		background: #F8FAFC;
		content: "";
		z-index: -1;
		opacity: 0;
		-webkit-transform: translateX(-100px);
		transform: translateX(-100px);
		transition: opacity 0.4s linear, transform 0.7s cubic-bezier(0.25, 1, 0.5, 1);
}
#main .service-sec .content.on:before {
		opacity: 1;
		-webkit-transform: translateX(0);
		transform: translateX(0);
}
#main .service-sec .l-box {
		width: 470px;
}
/* 20220520 ito */
@media all and (min-width: 897px) and (max-width: 1280px) {
		#main .service-sec .l-box {
				width: 38.7%;
				padding-right: 3%;
		}
}
/* //20220520 ito */
#main .service-sec .l-box .head-line08 {
		padding: 132px 0 0 30px;
		position: relative;
		z-index: 2;
}
/* 20220520 ito */
@media all and (min-width: 897px) and (max-width: 1280px) {
		#main .service-sec .l-box .head-line08 {
				padding-left: 0;
		}
}
/* //20220520 ito */
#main .service-sec .l-box .head-line08 .en {
		margin-bottom: -1px;
}
#main .service-sec .r-box {
		width: 536px;
}
/* 20220520 ito */
@media all and (min-width: 897px) and (max-width: 1280px) {
		#main .service-sec .r-box {
				width: 58.3%;
		}
}
/* //20220520 ito */
#main .service-sec .r-box .photo-list {
		position: relative;
		display: flex;
		justify-content: space-between;
		flex-wrap: wrap;
		margin-top: -47px;
		z-index: 2;
}
#main .service-sec .r-box .photo-list li {
		width: 250px;
		margin-top: 47px;
}
/* 20220520 ito */
@media all and (min-width: 897px) and (max-width: 1280px) {
		#main .service-sec .r-box .photo-list li {
				width: 46.6%;
		}
}
/* //20220520 ito */
#main .service-sec .r-box .photo-list li a {
		display: block;
}
#main .service-sec .r-box .photo-list li .pho {
		display: block;
		overflow: hidden;
		border-radius: 20px;
		will-change: transform;
}
#main .service-sec .r-box .photo-list li .txt-span {
		padding: 25px 0 0 0;
		display: block;
		text-align: right;
}
#main .service-sec .r-box .photo-list li:nth-child(2n) .txt-span {
		padding-right: 10px;
}
#main .service-sec .r-box .photo-list li .com-more {
		font-size: 1.4rem;
		font-family: 'Noto Sans JP', sans-serif;
}
/* 20220520 ito */
@media all and (min-width: 897px) and (max-width: 1280px) {
		#main .service-sec .r-box .photo-list li .com-more {
				font-size: 1.3rem;
		}
}
/* //20220520 ito */
#main .service-sec .r-box .photo-list li .com-more .txt {
		padding: 0;
		border: none;
}
#main .service-sec .r-box .photo-list li:nth-child(2n) .com-more {
		padding-right: 75px;
}
@media all and (min-width: 897px) {
		#main .service-sec .r-box .photo-list li a:hover .circle:before {
				transform: scale(1)
		}
		#main .service-sec .r-box .photo-list li a:hover .circle:after {
				opacity: 1;
		}
		#main .service-sec .r-box .photo-list li .pho img {
				-webkit-transition: all 0.3s ease-in-out;
				transition: all 0.3s ease-in-out;
		}
		#main .service-sec .r-box .photo-list li a:hover img {
				-webkit-transform: scale(1.2);
				transform: scale(1.2);
		}
		#main .service-sec .r-box .photo-list li .circle::after {
				padding: 0;
				right: 66px;
				margin-top: 2px;
				border-bottom: none;
		}
		#main .service-sec .r-box .photo-list li .txt-span02 .circle::after {
				right: 76px;
		}
		#main .service-sec .r-box .photo-list li .txt-span04 .circle::after {
				right: 76px;
		}
}
#main .service-sec .head-line07 {
		position: absolute;
		top: 205px;
		right: calc(50% + 140px);
}
#main .service-sec .com-link {
		position: absolute;
		left: 0;
		bottom: -7px;
		z-index: 2;
}
#main .service-sec .com-link a {
		width: 302px;
		height: 76px;
}
/* 20220520 ito */
@media all and (min-width: 897px) and (max-width: 1280px) {
		#main .service-sec .head-line07 {
				right: auto;
				left: -90px;
		}
		#main .service-sec .com-link a {
				width: calc(302px / 1.1);
				height: calc(76px / 1.1);
		}
}
/* //20220520 ito */
#main .overview-sec {
		position: relative;
		padding: 100px 0 487px;
}
#main .overview-sec:before {
		margin-left: -496px;
		position: absolute;
		left: 50%;
		top: 88px;
		width: 568px;
		height: 480px;
		background: #FAFAFA;
		content: "";
		z-index: -1;
		opacity: 0;
		-webkit-transform: translateX(100px);
		transform: translateX(100px);
		transition: opacity 0.4s linear, transform 0.7s cubic-bezier(0.25, 1, 0.5, 1);
}
#main .overview-sec.on:before {
		opacity: 1;
		-webkit-transform: translateX(0);
		transform: translateX(0);
}
#main .overview-sec:after {
		margin-left: -214px;
		position: absolute;
		left: 50%;
		bottom: 418px;
		width: 750px;
		height: 491px;
		background: #F8FAFC;
		content: "";
		z-index: -1;
}
#main .overview-sec .head-line07 {
		position: absolute;
		top: -6px;
		left: calc(50% - 36px);
}
/* 20220520 ito */
@media all and (min-width: 897px) and (max-width: 1280px) {
		#main .overview-sec .head-line07 {
				left: auto;
				right: 0;
		}
}
/* //20220520 ito */
#main .overview-sec .img-box {
		padding: 126px 0 0;
		margin-bottom: 110px;
}
#main .overview-sec .img-box .img-box__pho {
		float: left;
		width: 40.6%;
		height: 480px;
		background: url("../img/index/photo05.jpg") no-repeat right center;
		background-size: cover;
}
#main .overview-sec .img-box .img-box__text {
		float: right;
		width: 59.4%;
}
#main .overview-sec .img-box .info-box {
		width: 612px;
		padding: 13px 0 0 80px;
}
/* 20220520 ito */
@media all and (min-width: 897px) and (max-width: 1280px) {
		#main .overview-sec .img-box .info-box {
				width: 100%;
				-webkit-box-sizing: border-box;
				box-sizing: border-box;
				padding: 13px 30px 0 60px;
		}
}
/* //20220520 ito */
#main .overview-sec .img-box .head-line08 {
		margin-bottom: 40px;
}
#main .overview-sec .img-box .head-line08 .en {
		margin-bottom: 0;
}
#main .overview-sec .img-box .title {
		margin: 0 0 52px -7px;
		font-size: 3.4rem;
		font-weight: 700;
		line-height: 1.75;
}
/* 20220520 ito */
@media all and (min-width: 897px) and (max-width: 1280px) {
		#main .overview-sec .img-box .title {
				font-size: 2.75vw;
				letter-spacing: -0.01em;
		}
}
/* //20220520 ito */
#main .overview-sec .img-box .txt {
		font-size: 1.8rem;
		font-weight: 500;
		width: 425px;
		line-height: 2.05;
}
/* 20220520 ito */
#main .overview-sec .img-box .txt br {
		display: none;
}
@media all and (min-width: 897px) and (max-width: 1280px) {
		#main .overview-sec .img-box .txt {
				font-size: 1.6rem;
				width: 100%;
		}
		#main .overview-sec .img-box .txt br {
				display: block;
		}
}
@media all and (max-width: 896px) {
		#main .overview-sec .img-box .txt br {
				display: none;
		}
}
/* //20220520 ito */
#main .overview-sec .photo-list {
		margin: 0 -70px 0 0;
		float: right;
		display: flex;
		justify-content: flex-end;
}
#main .overview-sec .photo-list li {
		padding-left: 63px;
		width: 404px;
}
#main .overview-sec .photo-list li .pho {
		display: block;
		overflow: hidden;
		border-radius: 20px;
		will-change: transform;
		position: relative;
		z-index: 2;
}
#main .overview-sec .photo-list li a {
		display: block;
}
#main .overview-sec .photo-list li img {
		width: 100%;
}
#main .overview-sec .photo-list li .txt-box {
		display: block;
		padding: 32px 0 0;
		text-align: center;
		position: relative;
}
#main .overview-sec .photo-list li .txt-box:before {
		position: absolute;
		left: -101px;
		top: -160px;
		width: 440px;
		height: 254px;
		border-radius: 20px;
		background: #F8FAFC;
		content: "";
		z-index: -1;
}
#main .overview-sec .photo-list li:last-child .txt-box:before {
		left: -36px;
}
#main .overview-sec .photo-list li .ttl {
		display: inline-block;
		text-align: center;
		position: relative;
		z-index: 2;
}
#main .overview-sec .photo-list li .com-more {
		padding-right: 95px;
		font-size: 1.4rem;
		font-family: 'Noto Sans JP', sans-serif;
}
#main .overview-sec .photo-list li .com-more .txt {
		border: none;
		padding: 0;
}
/* 20220520 ito */
@media all and (min-width: 897px) and (max-width: 1280px) {
		#main .overview-sec .photo-list {
				margin: 0 6% 0 0;
		}
		#main .overview-sec .photo-list li {
				padding-left: 7%;
				width: 46%;
		}
}
/* //20220520 ito */
@media all and (min-width: 897px) {
		#main .overview-sec .photo-list li a:hover .circle:before {
				transform: scale(1)
		}
		#main .overview-sec .photo-list li a:hover .circle:after {
				opacity: 1;
		}
		#main .overview-sec .photo-list li .com-more .circle::after {
				right: 98px;
				padding: 0;
				margin-top: 2px;
				border-bottom: none;
		}
		#main .overview-sec .photo-list li:nth-child(2) .ttl {
				padding-left: 80px;
		}
		#main .overview-sec .photo-list li .pho img {
				-webkit-transition: all 0.3s ease-in-out;
				transition: all 0.3s ease-in-out;
		}
		#main .overview-sec .photo-list li a:hover img {
				-webkit-transform: scale(1.2);
				transform: scale(1.2);
		}
}
#main .company-sec {
		padding: 162px 0 45px;
		position: relative;
		background: #F8FAFC;
}
#main .company-sec .head-line07 {
		position: absolute;
		top: -117px;
		right: calc(50% - 570px);
}
/* 20220520 ito */
@media all and (min-width: 1281px) and (max-width: 1400px) {
		#main .company-sec .head-line07 {
				left: 0;
				right: auto;
				/* font-size: 10rem; */
		}
		#main .service-sec .head-line07 {
				right: auto;
				left: 0;
		}
}
@media all and (min-width: 897px) and (max-width: 1280px) {
		#main .company-sec .head-line07 {
				left: -38px;
				right: auto;
				font-size: 12rem;
		}
}
/* //20220520 ito */
#main .company-sec .content {
		width: 1040px;
}
#main .company-sec .head-line08 {
		margin-bottom: 62px;
}
#main .company-sec .head-line08 .en {
		margin-bottom: -3px;
}
#main .company-sec .list-ul {
		margin: 0 -50px 46px 38px;
		display: flex;
		flex-wrap: wrap;
		justify-content: flex-start;
		position: relative;
		z-index: 2;
}
#main .company-sec .list-ul li {
		width: 120px;
		margin: 0 50px 35px 0;
}
#main .company-sec .list-ul li a {
		display: block;
		background: #fff;
}
#main .company-sec .com-link {
		position: relative;
		z-index: 2;
}
#main .company-sec .com-link a {
		margin: 0 auto;
		height: 76px;
		width: 302px;
}
#main .recruit-sec {
		margin-bottom: 228px;
		padding: 155px 0;
		position: relative;
}
#main .recruit-sec:before {
		position: absolute;
		left: 0;
		bottom: -32px;
		width: 308px;
		height: 275px;
		background: rgba(118, 186, 232, 0.36);
		content: "";
		opacity: 0;
		-webkit-transform: translateX(-100px);
		transform: translateX(-100px);
		transition: opacity 0.4s linear, transform 0.7s cubic-bezier(0.25, 1, 0.5, 1);
}
#main .recruit-sec.on:before {
		opacity: 1;
		-webkit-transform: translateX(0);
		transform: translateX(0);
}
#main .recruit-sec:after {
		position: absolute;
		left: 50%;
		margin-left: -550px;
		bottom: 53px;
		width: 881px;
		height: 496px;
		border-radius: 20px;
		background: #FAFAFA;
		content: "";
		z-index: -2;
}
@media all and (min-width: 897px) {
		#main .company-sec .list-ul li a {
				overflow: hidden;
		}
		#main .company-sec .list-ul li img {
				-webkit-transition: all 0.3s ease-in-out;
				transition: all 0.3s ease-in-out;
		}
		#main .company-sec .list-ul li a:hover img {
				-webkit-transform: scale(0.9);
				transform: scale(0.9);
		}
}
#main .recruit-sec .l-box {
		padding-top: 74px;
		width: 41%;
		float: left;
}
/* 20220520 ito */
@media all and (min-width: 897px) and (max-width: 1280px) {
		#main .recruit-sec .l-box {
				width: 38.7%;
		}
}
/* //20220520 ito */
#main .recruit-sec .l-box .head-line08 {
		width: 280px;
		margin: 0 114px 0 auto;
}
/* 20220520 ito */
@media all and (min-width: 897px) and (max-width: 1280px) {
		#main .recruit-sec .l-box .head-line08 {
				margin-left: 50px;
		}
}
/* //20220520 ito */
#main .recruit-sec .l-box .head-line08 .en {
		margin-bottom: -3px;
}
#main .recruit-sec .r-box {
		float: right;
		width: 59%;
}
#main .recruit-sec .r-box .com-list {
		margin: 0;
		display: block;
		position: relative;
		z-index: 2;
}
#main .recruit-sec .r-box li {
		width: 100%;
}
#main .recruit-sec .r-box li:first-child {
		margin-bottom: 25px;
}
#main .recruit-sec .r-box li a {
		height: 276px;
		justify-content: flex-start;
		border-radius: 20px 0 0 20px;
		overflow: hidden;
		will-change: transform;
}
#main .recruit-sec .r-box li .bg01 {
		background: url("../img/index/bg02.png") no-repeat left top;
		background-size: cover;
}
#main .recruit-sec .r-box li .bg02 {
		background: url("../img/index/bg03.png") no-repeat left top;
		background-size: cover;
}
#main .recruit-sec .r-box li .ttl {
		padding-left: 120px;
}
/* 20220520 ito */
@media all and (min-width: 897px) and (max-width: 1280px) {
		#main .recruit-sec .r-box li .bg01 {
				background-position: 57% top;
		}
		#main .recruit-sec .r-box li .bg02 {
				background-position: 40% top;
		}
		#main .recruit-sec .r-box li .ttl {
				padding-left: 13%;
		}
}
/* //20220520 ito */
#main .recruit-sec .r-box li .com-more {
		right: 52px;
		bottom: 30px;
}
#main .recruit-sec .head-line07 {
		position: absolute;
		bottom: -63px;
		left: calc(50% + 140px);
}
/* 20220520 ito */
@media all and (min-width: 897px) and (max-width: 1280px) {
		#main .recruit-sec .head-line07 {
				left: auto;
				right: 0;
		}
}
/* //20220520 ito */
#main .news-sec {
		padding: 114px 0 0;
		position: relative;
		background: #F8FAFC;
}
#main .news-sec .head-line07 {
		position: absolute;
		top: -126px;
		right: calc(50% - 365px);
}
/* 20220520 ito */
@media all and (min-width: 897px) and (max-width: 1280px) {
		#main .news-sec .head-line07 {
				right: auto;
				left: -38px;
				font-size: 13rem;
		}
}
/* //20220520 ito */
#main .news-sec .head-line07 .small {
		font-size: 10rem;
}
#main .news-sec .content {
		width: 1020px;
}
#main .news-sec .head-line08 {
		margin-bottom: 76px;
}
#main .news-sec .head-line08 .en {
		margin-bottom: -6px;
}
#main .news-sec .com-news-page {
		width: 800px;
		padding-right: 30px;
		margin: 0 auto;
}
#main .news-sec .com-more-box .com-more .circle:after {
		margin-top: -2px;
}
/* 20220520 ito */
@media all and (min-width: 897px) and (max-width: 1280px) {
		#main .news-sec .com-news-page {
				max-width: 100%;
				/* padding-left: 120px; */
		}
}
/* //20220520 ito */
#main .com-news-page .com-tab-ul {
		margin-bottom: 10px;
}
#main .com-news-page .com-tab-ul li a {
		font-weight: 400;
		font-family: 'Inter', sans-serif;
}
#main .com-news-page .com-tab-ul .on a {
		background: #F8FAFC;
		align-items: center;
}
#main .com-news-page .com-news {
		margin-bottom: 110px;
}
#main .com-news-page .com-news li a {
		display: flex;
		align-items: center;
}
#main .com-news-page .com-news li .category {
		font-family: 'Inter', sans-serif;
		font-weight: 700;
}
#main .com-news-page .com-news li .category-list {
		margin-bottom: 0;
}
#main .com-news-page .com-news li .det-txt {
		width: 370px;
}
#main .com-more-box {
		position: relative;
		z-index: 2;
		text-align: center;
}
@media all and (min-width: 897px) {
		#main .com-news-page .com-tab-ul li a:hover {
				background: #F8FAFC;
		}
		.index-visual .com-scroll a:hover {
				color: #F39800;
		}
}
@media all and (max-width: 896px) {
		.index-visual {
				padding-top: 69px;
				display: block;
		}
		.index-visual .en-txt {
				bottom: -24px;
				font-size: 5.9rem;
		}
		.index-visual .l-box {
				width: 100%;
				height: auto;
				position: relative;
		}
		.index-visual .l-box .img-list li {
				position: relative;
				height: auto;
				background: none !important;
		}
		.index-visual .l-box .img-list li img {
				width: 100%;
		}
		.index-visual .slick-dots {
				right: 23px;
				margin: 0;
				top: auto;
				bottom: 173px;
		}
		.index-visual .slick-dots li {
				width: 2px;
		}
		.index-visual .r-box {
				width: 100%;
				box-sizing: border-box;
				padding: 46px 20px 0;
		}
		.index-visual .r-box .top {
				margin-bottom: 12px;
				font-size: 1.4rem;
				line-height: 1.9;
		}
		.index-visual .r-box .ttl {
				margin-bottom: 45px;
		}
		.index-visual .r-box .ttl .info {
				margin-bottom: 20px;
				font-size: 1.9rem;
		}
		.index-visual .r-box .ttl .info::before {
				bottom: 4px;
		}
		.index-visual .r-box .ttl .en {
				font-size: 4.5rem;
		}
		.index-visual .link-box {
				position: static;
				float: right;
				margin: 0;
		}
		.index-visual .link-box a {
				width: 100%;
				padding: 0 24px 0 50px;
				max-width: 398px;
				margin: 0 auto;
		}
		.index-visual .link-box .ttl .font {
				margin-top: 6px;
				font-size: 2rem;
				line-height: 1.5;
		}
		.index-visual .com-scroll {
				left: auto;
				right: 31px;
				bottom: -18px;
		}
		.index-visual .com-scroll a {
				padding-bottom: 67px;
				color: #333;
		}
		.index-visual .com-scroll a:before {
				background: #333;
				width: 1px;
				bottom: 0;
		}
		.index-visual .com-scroll a:after {
				margin-left: -6px;
		}
		#main .service-sec {
				clear: both;
				margin-bottom: 76px;
				padding: 70px 0 0;
				position: relative;
		}
		#main .service-sec .content {
				display: block;
				width: auto;
		}
		#main .service-sec .content:before {
				position: absolute;
				left: auto;
				right: 0;
				top: 82px;
				width: 230px;
				height: 549px;
				z-index: 2;
		}
		#main .service-sec .l-box {
				width: auto;
		}
		#main .service-sec .l-box .head-line08 {
				padding: 0 0 0 10px;
		}
		#main .service-sec .l-box .head-line08 .en {
				margin-bottom: -1px;
				font-size: 3rem;
		}
		#main .service-sec .l-box .head-line08 .jp {
				font-size: 1.2rem;
		}
		#main .service-sec .r-box {
				width: auto;
		}
		#main .service-sec .r-box .photo-list {
				display: flex;
				justify-content: space-between;
				margin: 36px 20px 48px;
		}
		#main .service-sec .r-box .photo-list li {
				width: 44%;
				margin-top: 36px;
		}
		#main .service-sec .r-box .photo-list li .pho {
				border-radius: 10px;
		}
		#main .service-sec .r-box .photo-list li .txt-span {
				padding: 11px 0 0 0;
				height: 30px;
				display: flex;
				align-items: center;
				text-align: left;
		}
		#main .service-sec .r-box .photo-list li .com-more {
				font-size: 1.3rem;
				line-height: 1.4;
				display: flex;
				width: 100%;
				height: 100%;
		}
		#main .service-sec .r-box .photo-list li .com-more .circle {
				top: -3px;
				right: -15px;
		}
		#main .service-sec .r-box .photo-list li:nth-child(2n) .com-more {
				padding: 0;
		}
		#main .service-sec .r-box .photo-list li:first-child .com-more .circle {
				right: 5px;
		}
		#main .service-sec .head-line07 {
				top: 40px;
				right: 40px;
				z-index: 3;
		}
		#main .service-sec .com-link {
				position: relative;
				z-index: 2;
		}
		#main .service-sec .com-link a {
				width: 248px;
				height: 56px;
				font-size: 1.3rem;
				margin: 0 auto;
		}
		#main .overview-sec {
				padding: 20px 0 255px;
		}
		#main .overview-sec .head-line07 {
				position: absolute;
				top: 54px;
				left: calc(50% - 58px);
		}
		#main .overview-sec .head-line08 {
				margin: -3px 0 0 30px;
		}
		#main .overview-sec .head-line08 .en {
				margin-bottom: -2px;
				font-size: 3rem;
		}
		#main .overview-sec .head-line08 .jp {
				font-size: 1.2rem;
		}
		#main .overview-sec .img-box {
				padding: 90px 0 0;
				margin-bottom: 50px;
				position: relative;
				z-index: 3;
		}
		#main .overview-sec .img-box .img-box__pho {
				float: none;
				width: 76%;
				height: auto;
				background: none;
		}
		#main .overview-sec .img-box .img-box__pho img {
				width: 100%;
		}
		#main .overview-sec .img-box .img-box__text {
				float: none;
				width: 100%;
		}
		#main .overview-sec .img-box .info-box {
				width: auto;
				padding: 45px 10px 0 26px;
		}
		#main .overview-sec .img-box .head-line08 {
				margin-bottom: 40px;
		}
		#main .overview-sec .img-box .head-line08 .en {
				margin-bottom: 0;
		}
		#main .overview-sec .img-box .title {
				margin: 0 0 25px;
				font-size: 1.8rem;
				line-height: 1.8;
		}
		#main .overview-sec .img-box .txt {
				font-size: 1.3rem;
				width: auto;
				margin-left: -5px;
				line-height: 2.05;
		}
		#main .overview-sec .photo-list {
				margin: 0 28px;
				float: none;
				display: block;
				position: relative;
				z-index: 3;
		}
		#main .overview-sec .photo-list li {
				padding-left: 0;
				width: 100%;
				margin-bottom: 33px;
		}
		#main .overview-sec .photo-list li .pho {
				border-radius: 10px;
		}
		#main .overview-sec .photo-list li:last-child {
				margin-bottom: 0;
		}
		#main .overview-sec .photo-list li .txt-box {
				padding: 15px 0 0;
		}
		#main .overview-sec .photo-list li .txt-box:before {
				display: none;
		}
		#main .overview-sec .photo-list li:last-child .txt-box:before {
				left: -36px;
		}
		#main .overview-sec .photo-list li .ttl {
				padding-right: 0;
				display: block;
		}
		#main .overview-sec .photo-list li .com-more {
				padding-right: 0;
				display: block;
				font-size: 1.3rem;
		}
		#main .overview-sec .photo-list li .com-more .circle {
				right: 26px;
		}
		#main .overview-sec::before {
				display: none;
		}
		#main .overview-sec::after {
				margin: 0;
				left: 0;
				top: 200px;
				bottom: 215px;
				width: 204px;
				height: auto;
				z-index: 2;
		}
		#main .company-sec {
				margin-bottom: -2px;
				padding: 20px 0 48px;
				position: relative;
				z-index: 2;
		}
		#main .company-sec .head-line07 {
				position: absolute;
				top: -47px;
				right: calc(50% - 186px);
		}
		#main .company-sec .content {
				width: auto;
		}
		#main .company-sec .head-line08 {
				position: relative;
				top: -149px;
				margin: 0 0 0 10px;
		}
		#main .company-sec .head-line08 .en {
				margin-bottom: -1px;
				font-size: 3rem;
		}
		#main .company-sec .head-line08 .jp {
				font-size: 1.2rem;
		}
		#main .company-sec .list-ul {
				margin: -10px 35px 51px;
		}
		#main .company-sec .list-ul li {
				width: 26.1%;
				margin: 0 10.85% 21px 0;
		}
		#main .company-sec .list-ul li:nth-child(3n) {
				margin-right: 0;
		}
		#main .company-sec .list-ul li:nth-child(n+7) {
				display: none;
		}
		#main .company-sec .com-link a {
				margin: 0 auto;
				height: 56px;
				width: 250px;
				font-size: 1.3rem;
		}
		#main .recruit-sec {
				margin-bottom: 165px;
				padding: 20px 0;
				display: block;
		}
		#main .recruit-sec:before {
				bottom: -56px;
				width: 249px;
				height: 216px;
				z-index: -2;
		}
		#main .recruit-sec:after {
				position: absolute;
				left: auto;
				right: 0;
				margin-left: 0;
				bottom: 41px;
				width: 252px;
				height: 260px;
				background: #FAFAFA;
				border-radius: 10px;
				z-index: 2;
		}
		#main .recruit-sec .l-box {
				padding-top: 45px;
				width: 100%;
				float: none;
		}
		#main .recruit-sec .l-box .head-line08 {
				width: auto;
				margin: 0 0 70px 30px;
		}
		#main .recruit-sec .l-box .head-line08 .en {
				margin-bottom: -1px;
				font-size: 3rem;
		}
		#main .recruit-sec .l-box .head-line08 .jp {
				font-size: 1.2rem;
		}
		#main .recruit-sec .r-box {
				float: none;
				width: auto;
		}
		#main .recruit-sec .r-box .com-list {
				margin: 0 0 76px 55px;
				position: relative;
				z-index: 3;
		}
		#main .recruit-sec .r-box li {
				width: 100%;
		}
		#main .recruit-sec .r-box li:first-child {
				margin-bottom: 25px;
		}
		#main .recruit-sec .r-box li a {
				height: 32.1vw;
				justify-content: center;
				border-radius: 10px 0 0 10px;
		}
		#main .recruit-sec .r-box li .bg01 {
				background: url("../img/index/sp_photo04.png") no-repeat left top;
				background-size: cover;
		}
		#main .recruit-sec .r-box li .bg02 {
				background: url("../img/index/sp_photo05.png") no-repeat left top;
				background-size: cover;
		}
		#main .recruit-sec .r-box li .ttl {
				padding: 0 153px 0 0;
				font-size: 1.4rem;
		}
		#main .recruit-sec .r-box li .com-more {
				right: 14px;
				bottom: 14px;
		}
		#main .recruit-sec .head-line07 {
				position: absolute;
				bottom: -60px;
				left: calc(50% - 17px);
		}
		#main .news-sec {
				padding: 114px 0 0;
				position: relative;
				z-index: 991;
		}
		#main .news-sec .head-line07 {
				position: absolute;
				top: -49px;
				right: calc(50% - 105px);
		}
		#main .news-sec .head-line07 .small {
				font-size: 6rem;
		}
		#main .news-sec .content {
				width: auto;
		}
		#main .news-sec .head-line08 {
				margin: -56px 0 45px 10px;
		}
		#main .news-sec .head-line08 .en {
				margin-bottom: -1px;
				font-size: 3rem;
		}
		#main .news-sec .head-line08 .jp {
				font-size: 1.2rem;
		}
		#main .news-sec .com-news-page {
				width: auto;
				padding: 0;
				margin: 0 auto;
		}
		#main .com-news-page .com-tab-ul {
				margin-bottom: 40px;
		}
		#main .com-news-page .com-tab-ul .on a {
				background: #F8FAFC;
				align-items: center;
		}
		#main .com-news-page .com-news {
				margin-bottom: 40px;
		}
		#main .com-news-page .com-news li a {
				display: block;
				padding-bottom: 23px;
		}
		#main .com-news-page .com-news li .category {
				font-family: 'Inter', sans-serif;
				font-weight: 700;
		}
		#main .com-news-page .com-news li .date {
				padding-left: 12px;
				display: inline-block;
				vertical-align: middle;
		}
		#main .com-news-page .com-news li .category-list {
				margin-bottom: 0;
				display: inline-block;
		}
		#main .com-news-page .com-news li .det-txt {
				width: auto;
				padding: 11px 0 0 2px;
		}
		#main .com-news-page .com-news li .info-box {
				align-items: center;
		}
		#main .com-more-box {
				position: relative;
				z-index: 2;
				text-align: center;
		}
}
@media all and (max-width: 374px) {
		.index-visual .link-box a {
				padding: 0 24px;
		}
		.index-visual .link-box .ttl {
				padding-right: 80px;
		}
		#main .service-sec .r-box .photo-list {
				margin: 36px 0 52px;
		}
		#main .overview-sec .img-box .title {
				font-size: 1.7rem;
		}
}
.page_container {
		position: relative;
}
.page_container::before {
		content: '';
		display: block;
		width: 100%;
		height: 120%;
		position: absolute;
		top: 0;
		left: 0;
		background: url("../images/line_bg.png");
		transition: transform 3s cubic-bezier(0.16, 1, 0.3, 1);
		transform-origin: center top;
		transform: scaleY(0);
		transition-delay: 0.3s;
		z-index: 1;
		pointer-events: none;
		mix-blend-mode: darken;
}
.page_container.bodyStart::before {
		transform: scaleY(1);
}
.loading_base {
		position: fixed;
		top: 0;
		left: 0;
		width: 100%;
		height: 100%;
		background: #fff;
		display: flex;
		justify-content: center;
		align-items: center;
		z-index: 2000;
}
.loading_logo {
		width: 150px;
		height: 65px;
		overflow: hidden;
		position: relative;
		transform: translateY(-60px);
}
.loading_logo img {
		width: 100%;
		height: auto;
}
.loading_logo div {
		position: absolute;
		top: 0;
		left: 0;
		width: 150px;
}
.loading_logo2, .loading_logo3 {
		opacity: 0;
		transition: opacity 0.8s cubic-bezier(0.16, 1, 0.3, 1);
}
/*
.loading_logo .loading_logo1 {
	transition-delay: 0.2s;
}
.loading_logo .loading_logo2 {
	transform: translateY(20px);
	transition-delay: 0.3s;
}
.loading_logo .loading_logo3 {
transition-delay: 0.6s;
}
*/
.loadStart .loading_logo3 {
		animation: loadingFadeIn 0.3s linear forwards;
}
.loading_logo1 img {
		-webkit-mask: url('../images/loading_logo_mask.png') 0 0 no-repeat;
		mask: url('../images/loading_logo_mask.png') 0 0 no-repeat;
		-webkit-mask-position: -150px 0px;
		mask-position: -150px 0px;
		-webkit-mask-size: 100% 100%;
		mask-size: 100% 100%;
}
.loadStart .loading_logo1 img {
		animation: loadingMask 0.35s cubic-bezier(0.16, 1, 0.3, 1) forwards;
}
@keyframes loadingMask {
		0% {
				-webkit-mask-position: -150px 0px;
				mask-position: -150px 0px;
		}
		100% {
				-webkit-mask-position: 0px 0px;
				mask-position: 0px 0px;
		}
}
@keyframes loadingFadeIn {
		0% {
				opacity: 0;
		}
		100% {
				opacity: 1;
		}
}
.loadStart .loading_logo .loading_logo2 {
		opacity: 1;
		transform: translateY(0);
}
.hero_section {
		display: flex;
		align-items: center;
		position: relative;
		z-index: 2;
}
.hero_section_left {
		padding-top: 49%;
}
.hero_section_left, .hero_section_right {
		width: 50%;
}
.hero_section_left img {
		width: 100%;
		height: auto;
}
.hero_section_right {
		box-sizing: border-box;
		padding: 0 100px;
}
.hero_catch {
		font-size: 20px;
		font-weight: 500;
		letter-spacing: 0.04em;
		line-height: 2;
		margin-bottom: 20px;
}
.hero_section_right h1 {
		font-size: 32px;
		font-weight: 500;
		letter-spacing: 0.04em;
		display: inline-block;
		position: relative;
		white-space: nowrap;
}
.hero_section_right h1::after {
		content: '';
		display: block;
		width: 100%;
		height: 2px;
		background: #333;
		position: absolute;
		left: 0;
		bottom: -3px;
		transform-origin: left center;
		transition: transform 1s cubic-bezier(0.16, 1, 0.3, 1);
		transform: scaleX(0);
		transition-delay: 1.5s;
}
.start .hero_section_right h1::after {
		transform: scaleX(1);
}
.hero_name {
		margin-bottom: 20px;
}
.hero_section h2 {
		/* font-family: 'Poppins', sans-serif; */
		font-family: 'Inter', sans-serif;
		font-size: 104px;
		font-weight: 700;
}
@media(max-width: 1600px) {
		.hero_section_left {
				width: 47%;
		}
		.hero_section_right {
				width: 53%;
		}
		.hero_section_right {
				padding: 0 50px;
		}
		.hero_section h2 {
				font-size: 7vw;
		}
}
.hero_section_left {
		display: flex;
		justify-content: space-between;
}
.hero_slide1 {
		width: 29.4%;
}
.hero_slide2 {
		width: 19.6%;
		display: flex;
		flex-flow: column;
		justify-content: space-between;
}
.hero_slide3 {
		width: 46.4%;
}
.hero_catch2, .hero_catch3, .hero_name, .hero_name + h2 {
		transform: translateX(20vw);
		transition: transform 1.3s cubic-bezier(0.16, 1, 0.3, 1);
}
.hero_catch2 {
		transition-delay: 0.02s;
}
.hero_catch3 {
		transition-delay: 0.04s;
}
.hero_name {
		transition-delay: 0.20s;
}
.hero_name + h2 {
		transition-delay: 0.28s;
}
.start .hero_catch2, .start .hero_catch3, .start .hero_name, .start .hero_name + h2 {
		transform: translateX(0);
}
.hero_slide1, .slide2_upper, .slide2_bottom, .hero_slide3 {
		transform: translateX(100px);
		opacity: 0;
		transition: opacity 0.4s, transform 0.5s cubic-bezier(0.16, 1, 0.3, 1);
}
.hero_catch1 {
		transition-delay: 0.03s;
}
.hero_name {
		transition-delay: 0.2s;
}
.hero_section h2 {
		transition-delay: 0.25s;
}
.slide2_upper {
		transition-delay: 0.05s;
}
.slide2_bottom {
		transition-delay: 0.1s;
}
.hero_slide3 {
		transition-delay: 0.15s;
}
/*
.start .hero_catch1, .start .hero_catch2, .start .hero_catch3, .start .hero_name, h2, .start .hero_slide1, .start .slide2_upper, .start .slide2_bottom, .start .hero_slide3 {
		transform: translateX(0);
		opacity: 1;
}
*/
.fadeTxt span {
		display: inline-block;
		opacity: 0;
		transform: translateX(150px);
		transition: opacity 0.15s, transform 0.6s cubic-bezier(0.25, 1, 0.5, 1);
}
.hero_section.start .fadeTxt span {
		transform: translateX(0px);
		opacity: 1;
}
@media(max-width: 1400px) {
		.hero_catch {
				font-size: 1.8vw;
		}
		.hero_section_right h1 {
				font-size: 2.2vw;
		}
		.hero_section h2 {
				font-size: 7.2vw;
		}
}
@media all and (max-width: 960px) and (min-width: 896px) {
		.hero_section_right {
				margin-top: 40px;
		}
}
@media all and (max-width: 896px) {
		.hero_section_left .sp {
				position: absolute;
				left: 0;
				bottom: 0;
				z-index: 11;
		}
		.hero_section_left .en-txt {
				position: static;
		}
		.hero_section {
				display: block;
		}
		.hero_section_left, .hero_section_right {
				width: 100%;
				box-sizing: border-box;
		}
		.hero_section_left {
				position: relative;
				min-height: 290px;
		}
		.hero_section_right {
				padding: 41px 20px 45px;
		}
		.hero_catch {
				margin-bottom: 10px;
		}
		.hero_catch p {
				font-size: 1.35rem;
		}
		.hero_section_right h1 {
				font-size: 1.9rem;
		}
		.hero_section_right h1::after {
				height: 1px;
				bottom: 3px;
		}
		.hero_section h2 {
				font-size: 6.3rem;
				line-height: 1;
		}
		.hero_name {
				margin-bottom: 22px;
		}
}
@media all and (max-width: 299px) {
		.hero_section_left {
				min-height: inherit;
		}
}
.hero_section .link-box {
		position: absolute;
		right: 0;
		bottom: -40px;
		z-index: 10;
}
.hero_section .link-box a {
		display: flex;
		align-items: center;
		justify-content: flex-start;
		width: 398px;
		color: #fff;
		position: relative;
		height: 145px;
		padding: 0 20px 0 50px;
		box-sizing: border-box;
		border-radius: 10px 0 0 10px;
		will-change: transform;
		overflow: hidden;
}
.hero_section .link-box .bg {
		position: absolute;
		left: 0;
		top: 0;
		width: 100%;
		height: 100%;
		background: url("../img/index/bg01.png") no-repeat center center;
		background-size: cover;
}
@media all and (min-width: 897px) and (max-width: 1280px) {
		.hero_section .link-box {
				bottom: -80px;
		}
}
@media all and (min-width: 897px) {
		.hero_section .link-box .bg {
				-webkit-transition: all 0.3s ease-in-out;
				transition: all 0.3s ease-in-out;
		}
		.hero_section .link-box a:hover .bg {
				-webkit-transform: scale(1.2);
				transform: scale(1.2);
		}
}
.hero_section .link-box .ttl {
		padding-right: 115px;
		display: inline-block;
		font-size: 1.4rem;
		font-weight: 500;
		background: url("../img/common/icon07.png") no-repeat right center;
		background-size: 39px auto;
		z-index: 2;
}
.hero_section .link-box .ttl .font {
		margin-top: 2px;
		font-size: 2.4rem;
		display: block;
		line-height: 1.25;
}
.hero_section .en-txt {
		position: absolute;
		left: 0;
		color: #EBEBEB;
		bottom: -60px;
		font-size: 15.2rem;
		font-weight: 300;
		font-style: italic;
		font-family: 'Poppins', sans-serif;
		white-space: nowrap;
		z-index: 10;
		mix-blend-mode: overlay;
}
.hero_section .en-txt > span {
		display: inline-block;
		margin-right: 70px;
}
.hero_section .com-scroll {
		position: absolute;
		bottom: -40px;
		left: 20px;
		z-index: 11;
}
.hero_section .com-scroll a {
		padding-bottom: 92px;
		color: #fff;
}
.hero_section .com-scroll a:before {
		background: #fff;
		width: 2px;
		bottom: -10px;
}
.hero_section .com-scroll a::after {
		margin-left: -16px;
}
@media all and (min-width: 897px) {
		.hero_section .com-scroll a:hover {
				color: #F39800;
		}
		#gFooter .top-box {
				padding: 0;
		}
}
@media all and (max-width: 896px) {
		.hero_section .link-box {
				position: static;
				float: right;
				margin: 0;
		}
		.hero_section .link-box a {
				width: 100%;
				padding: 0 24px 0 50px;
				max-width: 398px;
				margin: 0 auto;
		}
		.hero_section .link-box .ttl .font {
				margin-top: 6px;
				font-size: 2rem;
				line-height: 1.5;
		}
		.hero_section .en-txt {
				top: 240px;
				bottom: auto;
				font-size: 5.9rem;
		}
		.hero_section .com-scroll {
				left: auto;
				right: 18px;
				bottom: 68px;
		}
		.hero_section .com-scroll a {
				padding-bottom: 67px;
				color: #333;
		}
		.hero_section .com-scroll a:before {
				background: #333;
				width: 1px;
				bottom: 0;
		}
		.hero_section .com-scroll a:after {
				margin-left: -6px;
		}
		.page_container::before {
				background: url("../img/index/line_bg.png");
				background-size: 134px auto;
		}
}
@media all and (max-width: 374px) {
		.hero_section .link-box a {
				padding: 0 24px;
		}
		.hero_section .link-box .ttl {
				padding-right: 80px;
		}
}