@charset "utf-8";
/*------------------------------------------------------------
	index
------------------------------------------------------------*/
#container {
	padding-top: 0;
}
#gHeader,
.menu,
#main .mainVisual .lTxt {
	opacity: 0;
	transition: opacity 2s, background .3s;
}
#gHeader.show,
.menu.show,
#main .mainVisual .lTxt.show {
	opacity: 1;
}
#gHeader h1 .black {
	opacity: 0;
}
#gHeader h1 .white {
	opacity: 1;
}
#gHeader.fix h1 .white {
	opacity: 0;
}
#gHeader.fix h1 .black {
	opacity: 1;
}
#main .lineList li {
	position: absolute;
	z-index: 1;
}
#main .mainVisual {
	position: relative;
	height: 100svh;
}
#main .mainVisual .lTxt {
	position: absolute;
	left: 3.7rem;
	top: 10.5rem;
	width: 5.6rem;
	z-index: 2;
}
#main .mainVisual .txtList {
	position: absolute;
	right: 1.7rem;
	top: 11rem;
	gap: 0 12.2rem;
	flex-direction: row-reverse;
	z-index: 2;
}
#main .mainVisual .txtList li {
	width: 11.3rem;
	opacity: 0;
	transform: translateY(3rem);
	transition: .8s;
}
#main .mainVisual .txtList .wid01 {
	width: 13rem;
}
#main .mainVisual .txtList .wid02 {
	width: 12.6rem;
}
#main .mainVisual .txtList .wid03 {
	width: 12.7rem;
}
#main .mainVisual .txtList li.show {
	opacity: 1;
	transform: none;
}
#main .mainVisual .txtList li span {
	display: block;
	transition: opacity ease, filter ease;
	transition-duration: .4s;
}
#main .mainVisual .txtList li.hide span {
	filter: blur(20px);
	opacity: 0;
	transition-duration: 1s;
}
#main .mainVisual .txtList li:nth-child(2) {
	transition-delay: .2s;
}
#main .mainVisual .txtList li:nth-child(3) {
	transition-delay: .4s;
}
#main .mainVisual .txtList li:nth-child(4) {
    transition-delay: .6s;
}
#main .mainVisual .notes {
	position: absolute;
	right: 2.4rem;
	bottom: 1.4rem;
	color: #fff;
	font-size: 1.4rem;
	text-align: right;
	z-index: 2;
}
#main .mainVisual .foo img {
	width: 100%;
	height: 100svh;
	object-fit: cover;
	object-position: center bottom;
}
#main .mainVisual .btn {
	position: absolute;
	left: 50%;
	transform: translateX(-50%);
	bottom: 1.5rem;
	width: 1.1rem;
	z-index: 2;
}
#main .mainVisual .btn a:hover {
	opacity: 0.7;
}
#main .mainVisual .line01 {
	left: 8.2rem;
	top: -28.5rem;
	width: 74.4rem;
}
#main .mainVisual .line02 {
	left: 50%;
	top: 3.6rem;
	width: 27.6rem;
}
#main .mainVisual .line03 {
	left: calc(50% - 15rem);
	bottom: 3.1rem;
	width: 27.7rem;
}
#main .topBox {
	padding: 12rem 0 9.6rem;
	position: relative;
	background-color: #fff;
}
#main .topBox .content {
	margin: 0 auto;
	max-width: 90.6rem;
	position: relative;
	z-index: 2;
}
#main .topBox p {
	margin: 0 0 5.3rem;
	color: #1E2735;
	font-size: 3.4rem;
	line-height: 1.82;
	letter-spacing: 0.05em;
}
#main .topBox .title {
	margin: 6.6rem 0 0 -0.5rem;
}
#main .topBox .title img {
	width: 90.4rem;
}
#main .topBox .line01 {
	top: -5.2rem;
	left: calc(50% - 54.2rem);
	width: 24.2rem;
}
#main .topBox .line02 {
	top: 3.1rem;
	right: calc(50% - 62.8rem);
	width: 27.6rem;
}
#main .topBox .line03 {
	top: 30rem;
	left: calc(50% - 75rem);
	width: 54.9rem;
}
#main .topBox .line04 {
	top: 50.4rem;
	right: calc(50% - 44.5rem);
	width: 20.9rem;
}
#main .topBox .line05 {
	top: 106.5rem;
	left: calc(50% - 52.2rem);
	width: 27.6rem;
}
#main .topBox .line06 {
	top: 69.5rem;
	right: calc(50% - 70.6rem);
	width: 65.6rem;
}
#main .topBox .line07 {
	top: 133.5rem;
	right: calc(50% - 55.4rem);
	width: 31.5rem;
}
#main .special {
	padding: 6.1rem 0 8.3rem;
	position: relative;
}
#main .special h2 {
	position: absolute;
	right: 0;
	top: 2.5rem;
	width: 60.6rem;
	z-index: 2;
}
#main .special .subBox {
	margin: 0 auto;
	max-width: 128rem;
	justify-content: flex-end;
	position: relative;
	z-index: 2;
}
#main .special .enTtl {
	margin-left: -1.2rem;
	width: 12.3rem;
}
#main .special .inner {
	margin: 26rem 0 0 15rem;
	flex: 1;
}
#main .special .listBox:not(:last-child) {
	margin-bottom: 7.2rem;
}
#main .special .listBox h3 {
	margin: 0 0 3.4rem 0.9rem;
}
#main .special .listBox h3 img {
	height: 7.7rem;
}
#main .special .listUl li {
	width: 49.5%;
}
#main .special .listUl a {
	display: block;
}
#main .special .listUl .num {
	margin: 0 0 -1rem -4.2rem;
	line-height: 1;
	position: relative;
	z-index: 2;
}
#main .special .listUl .num img {
	height: 12.3rem;
}
#main .special .listUl .pho {
	margin-bottom: 2rem;
	position: relative;
	width: 36rem;
}
#main .special .listUl .pho .sub {
	border-radius: 1rem;
	overflow: hidden;
}
#main .special .listUl .pho img {
	width: 100%;
	transition: .3s;
}
#main .special .listUl .pho:after {
	position: absolute;
	right: -4.8rem;
	top: 50%;
	transform: translateY(-50%);
	width: 7rem;
	height: 7rem;
	background: url(../img/common/icon03.png) no-repeat left top/100%;
	content: "";
}
#main .special .listUl p {
	margin: 0 0.2rem 0.6rem;
	color: #1E2735;
	font-size: 1.7rem;
	font-feature-settings: normal;
	letter-spacing: 0.02em;
}
#main .special .listUl .ttl {
	margin-bottom: 0;
	font-size: 3.6rem;
	line-height: 1.4;
	letter-spacing: 0.06em;
}
#main .special .line01 {
	top: -12.7rem;
	left: calc(50% - 44.2rem);
	width: 24.9rem;
}
#main .special .line02 {
	top: 16.2rem;
	left: calc(50% - 46.5rem);
	width: 106.4rem;
}
#main .special .line03 {
	top: 132.6rem;
	right: calc(50% - 60.5rem);
	width: 27.6rem;
}
#main .special .line04 {
	top: 166rem;
	left: calc(50% - 86.4rem);
	width: 43rem;
}
#main .special .line05 {
	top: 172rem;
	right: calc(50% - 76.3rem);
	width: 49.9rem;
}
#main .interview {
	padding: 6.3rem 0 10rem;
	background-color: #fff;
	position: relative;
}
#main .interview h2 {
	margin: 0 auto 12.7rem;
	width: 45.6rem;
	transform: translateX(1.5rem);
}
#main .interview .staffList {
	position: relative;
}
#main .interview .staffList .slick-slide {
	margin: 0 3rem;
	width: 38.7rem;
	pointer-events: none;
}
#main .interview .staffList a {
	display: block;
}
#main .interview .staffList .pho {
	margin: 0 auto 6.4rem;
	position: relative;
}
#main .interview .staffList .pho .sub {
	border-radius: 1rem;
	overflow: hidden;
}
#main .interview .staffList .pho img {
	width: 100%;
	transition: .3s;
}
#main .interview .staffList .pho:before {
	position: absolute;
	left: 0;
	top: 0;
	width: 100%;
	height: 100%;
	opacity: 0.75;
	border-radius: 1rem;
	background-color: #fff;
	content: "";
}
#main .interview .staffList .pho:after {
	display: none;
	position: absolute;
	right: 2.2rem;
	bottom: -3.5rem;
	width: 7rem;
	height: 7rem;
	background: url(../img/common/icon03_over.png) no-repeat left top/100%;
	content: "";
}
#main .interview .staffList .txtBox {
	margin: 0 -20rem;
	opacity: 0;
	visibility: hidden;
}
#main .interview .staffList .slick-center {
	pointer-events: visible;
}
#main .interview .staffList .slick-center .txtBox {
	opacity: 1;
	visibility: visible;
}
#main .interview .staffList .slick-center .pho:before {
	opacity: 0;
}
#main .interview .staffList .slick-center .pho:after {
	display: block;
}
#main .interview .staffList .ttl {
	margin-bottom: 4.5rem;
}
#main .interview .staffList .ttl img {
	margin: 0 auto;
	height: 17.8rem;
	transform: translateX(1.7rem);
}
#main .interview .staffList .txt {
	color: #1E2735;
	font-size: 1.7rem;
	font-weight: 700;
	text-align: center;
	letter-spacing: 0.05em;
}
#main .interview .slick-dots {
	position: absolute;
	left: 0;
	top: -6.2rem;
	width: 100%;
	display: flex;
	justify-content: center;
}
#main .interview .slick-dots li {
	margin: 0 1.05rem;
	display: inline-block;
	width: 1.4rem;
	height: 1.4rem;
	border-radius: 50%;
	cursor: pointer;
	background: none;
	background-color: #fff;
	border: 1px solid #1E2735;
}
#main .interview .slick-dots li button {
	display: none;
}
#main .interview .slick-dots li.slick-active {
	background-color: #1E2735;
}
#main .interview .line01 {
	top: -4.8rem;
	left: calc(50% - 58rem);
	width: 18.4rem;
}
#main .interview .line02 {
	top: 14.4rem;
	right: calc(50% - 51.5rem);
	width: 27.6rem;
}
#main .interview .line03 {
	top: 77.6rem;
	left: calc(50% - 59.4rem);
	width: 20.9rem;
}
#main .interview .line04 {
	bottom: -11.5rem;
	right: calc(50% - 54rem);
	width: 49.8rem;
	z-index: 0;
}
#main .about {
	padding: 5.8rem 0 1rem;
	position: relative;
}
#main .about .enTtl {
	margin-bottom: 5.2rem;
	position: relative;
	z-index: 5;
}
#main .about .enTtl img {
	margin: 0 3rem;
	height: 10rem;
	max-width: inherit;
}
#main .about h2 {
	margin-bottom: -9.5rem;
	width: 57.2rem;
	position: relative;
	z-index: 5;
}
#main .about .tabPanel {
	position: relative;
	z-index: 4;
}
#main .about .tabNavi {
	margin: 21rem 5.9rem 0 0;
	width: calc(50% - 18.5rem);
	position: relative;
	z-index: 3;
}
#main .about .tabNavi li:not(:last-child) {
	margin-bottom: 0.7rem;
}
#main .about .tabNavi a {
	padding-right: 8rem;
	min-height: 7.3rem;
	position: relative;
	display: flex;
	justify-content: flex-end;
	color: #fff;
	font-size: 2.4rem;
	font-weight: 500;
	font-feature-settings: normal;
	align-items: center;
	background: #1E2735;
	border-radius: 0rem 3.6rem 3.6rem 0rem;
}
#main .about .tabNavi a:after {
	position: absolute;
	right: 1.6rem;
	top: 50%;
	transform: translateY(-50%);
	width: 4.5rem;
	height: 4.5rem;
	background: url(../img/common/icon04.png) no-repeat left top/100%;
	content: "";
}
#main .about .tabNavi .sub {
	min-width: 33.6rem;
}
#main .about .tabNavi .navi02 a {
	font-feature-settings: "palt";
}
#main .about .tabNavi .on a {
	background: linear-gradient(90deg, rgba(59, 73, 180, 1) 0.04%, rgba(0, 139, 231, 1) 100%);
}
#main .about .tabNavi .navi02.on a {
	background: linear-gradient(90deg, rgba(0, 161, 231, 1) 0%, rgba(67, 201, 231, 1) 100%);
}
#main .about .tabNavi .navi03.on a {
	background: linear-gradient(90deg, rgba(138, 88, 208, 1) 0%, rgba(142, 142, 231, 1) 100%);
}
#main .about .tabNavi .navi04.on a {
	background: linear-gradient(90deg, rgba(219, 59, 91, 1) 0%, rgba(223, 119, 176, 1) 100%);
}
#main .about .tabNavi .navi05.on a {
	background: linear-gradient(90deg, rgba(255, 137, 14, 1) 0%, rgba(228, 175, 38, 1) 100%);
}
#main .about .tabNavi .navi06.on a {
	background: linear-gradient(90deg, rgba(98, 198, 56, 1) 0%, rgba(107, 216, 173, 1) 100%);
}
#main .about .tabNavi .navi07.on a {
	background: linear-gradient(90deg, rgba(0, 142, 141, 1) 0%, rgba(78, 196, 142, 1) 100%);
}
#main .about .tabNavi .on a:after {
	background-image: url(../img/common/icon04_over.png);
}
#main .about .tabInner {
	width: 67.8rem;
	min-height: 101.7rem;
	position: relative;
	z-index: 2;
}
#main .about .tabInner:after {
	position: absolute;
	left: 50%;
	transform: translateX(-50%);
	top: -7.8rem;
	width: 109.4rem;
	height: 109.4rem;
	background-color: #fff;
	border-radius: 50%;
	z-index: -1;
	content: "";
}
#main .about .tabBox {
	position: relative;
	z-index: 2;
}
#main .about .tabBox h3 {
	margin-bottom: 3.5rem;
	color : #1E2735;
	font-size: 3.7rem;
	font-weight: 500;
	font-feature-settings: normal;
	text-align: center;
}
#main .about .tabBox h3 .en {
	margin-bottom: 3rem;
	display: block;
	font-size: 2.9rem;
}
#main .about .tabBox h3 .en .large {
	margin-left: 2.8rem;
	font-size: 11rem;
	font-weight: 400;
	line-height: 1;
	font-family: "Roboto Condensed", sans-serif;
}
#main .about .tabBox p {
	margin-bottom: 4rem;
	color: #000;
	font-size: 1.8rem;
	line-height: 1.7;
	font-feature-settings: normal;
	text-align: justify;
}
#main .about .tabBox .btn {
	margin-top: 2rem;
}
#main .about .tabBox .btn a {
	margin: 0 auto;
	width: 32.9rem;
	height: 5.4rem;
	color: #000;
	font-size: 2rem;
	font-weight: 500;
	letter-spacing: 0.02em;
	display: flex;
	align-items: center;
	justify-content: center;
	border: 1px solid #000;
	background: url(../img/common/icon10.png) no-repeat right 2.3rem center/1.8rem;
	border-radius: 3rem;
}
#main .about .line01 {
	top: 32.4rem;
	left: calc(50% - 58.5rem);
	width: 27.6rem;
}
#main .about .line02 {
	bottom: -10rem;
	left: calc(50% - 53rem);
	width: 55.3rem;
}
#main .recruit {
	padding: 6.8rem 0 30rem;
	position: relative;
	background-color: #fff;
}
#main .recruit h2 {
	margin: 0 0 7.8rem auto;
	width: 54.3rem;
	position: relative;
	z-index: 2;
}
#main .recruit .linkList {
	margin: 0 auto;
	max-width: 109rem;
	gap: 8.3rem;
	position: relative;
	z-index: 2;
}
#main .recruit .linkList li {
	width: 30.8rem;
}
#main .recruit .linkList a {
	padding: 4rem 3.8rem;
	display: block;
	position: relative;
	min-height: 33.2rem;
	border-radius: 1.8rem;
	background: linear-gradient(90deg, rgba(254, 248, 245, 1) 0%, rgba(220, 222, 242, 1) 100%);
}
#main .recruit .linkList a:after {
	position: absolute;
	right: 2rem;
	bottom: 2rem;
	width: 4.5rem;
	height: 4.5rem;
	background: url(../img/common/icon05.png) no-repeat left top/100%;
	content: "";
}
#main .recruit .linkList .en {
	margin-bottom: 2.5rem;
	height: 1.3rem;
}
#main .recruit .linkList .en img {
	height: 1.3rem;
}
#main .recruit .linkList .en .over {
	display: none;
}
#main .recruit .linkList .ttl {
	color: #1E2735;
	font-size: 2.8rem;
	line-height: 1.3;
	font-weight: 500;
	font-feature-settings: normal;
}
#main .recruit .linkList .noLink {
	position: relative;
	pointer-events: none;
}
#main .recruit .linkList .noLink:after {
	position: absolute;
	left: 4rem;
	bottom: 2.6rem;
	color: #1E2735;
	font-size: 2.7rem;
	font-weight: 500;
	display: block;
	content: "coming soon";
	z-index: 1;
}
#main .recruit .line01 {
	width: 105.6rem;
	left: calc(50% - 80.4rem);
	top: 7rem;
}
#main .recruit .line02 {
	width: 27.6rem;
	right: calc(50% - 72.8rem);
	bottom: 15.4rem;
}
#main .company {
	padding: 18.8rem 0 19rem;
	position: relative;
	background: #1E2735;
}
#main .company .content {
	max-width: 103rem;
}
#main .company h2 {
	position: absolute;
	left: 0;
	top: 30.7rem;
	width: 42.3rem;
}
#main .company .linkList {
	margin: 0 0 16.8rem auto;
	width: 53rem;
	border-top: 1px solid #fff;
}
#main .company .linkList li {
	border-bottom: 1px solid #fff;
}
#main .company .linkList a {
	display: block;
	padding: 2.3rem 5rem 2.8rem 1.8rem;
	font-size: 2.3rem;
	font-weight: 500;
	color: #fff;
	font-feature-settings: normal;
	background: url(../img/common/icon06.png) no-repeat right 2.8rem center/3.7rem;
}
#main .company .link {
	margin: 0 auto;
	width: 81.7rem;
	transform: translateX(-1.7rem);
}
#main .company .link a:hover {
	opacity: 0.7;
}
#main .company .line01 {
	width: 30.6rem;
	left: calc(50% - 23.8rem);
	top: -4.5rem;
}
#gFooter {
	position: absolute;
	left: 0;
	bottom: 0;
	width: 100%;
	background: none;
}
#gFooter address {
	color: #fff;
}
@media all and (min-width: 897px) {
	#main .special .listUl a:hover .pho img {
		transform: scale(1.05);
	}
	#main .special .listUl a:hover .pho:after {
		background-image: url(../img/common/icon03_over.png);
	}
	#main .interview .staffList a:hover .pho img {
		transform: scale(1.05);
	}
	#main .interview .staffList a:hover .pho:after {
		background-image: url(../img/common/icon03.png);
	}
	#main .about .tabNavi a:hover:after {
		background-image: url(../img/common/icon04_over.png);
	}
	#main .company .linkList a:hover {
		background-color: #2E3344;
		background-image: url(../img/common/icon06_over.png);
	}
	#main .recruit .linkList a:hover {
		background: #1E2735;
	}
	#main .recruit .linkList a:hover .ttl {
		color: #fff;
	}
	#main .recruit .linkList a:hover .en .out {
		display: none;
	}
	#main .recruit .linkList a:hover .en .over {
		display: block;
	}
	#main .recruit .linkList a:hover:after {
		background-image: url(../img/common/icon05_over.png);
	}
	#main .about .tabBox .btn a:hover {
		color: #fff;
		background-color: #000;
		background-image: url(../img/common/icon10_over.png);
	}
	#gFooter {
		padding: 7.8rem 2rem;
	}
}
@media all and (max-width: 896px) {
	#gHeader {
		margin-bottom: -4.3rem;
	}
	#main .mainVisual {
		height: calc(100svh - 5.2rem);
	}
	#main .mainVisual .foo img {
		height: calc(100svh - 5.2rem);
	}
	#main .mainVisual .lTxt {
		left: 1.8rem;
		top: 22.8rem;
		width: 2.22rem;
	}
	#main .mainVisual .txtList {
		right: 0.5rem;
		top: 5.6rem;
		gap: 0 3.5rem;
	}
	#main .mainVisual .txtList li {
		width: 5.9rem;
	}
	#main .mainVisual .txtList .wid01 {
		width: 6.8rem;
	}
	#main .mainVisual .txtList .wid02 {
		width: 6.6rem;
	}
	#main .mainVisual .txtList .wid03 {
		width: 6.6rem;
	}
	#main .mainVisual .notes {
		right: auto;
		left: 1.2rem;
		bottom: 0.8rem;
		font-size: 0.8rem;
		text-align: left;
	}
	#main .mainVisual .btn {
		left: auto;
		right: 2.7rem;
		width: 1rem;
		transform: none;
		bottom: 2.5rem;
	}
	#main .mainVisual .line01 {
		left: 1rem;
		top: -10.8rem;
		width: 24.8rem;
	}
	#main .mainVisual .line03 {
		margin-left: 0;
		left: auto;
		right: -5.7rem;
		transform: translateX(0);
		bottom: 14rem;
		width: 13.8rem;
	}
	#main .topBox {
		padding: 4rem 2.5rem 6rem;
	}
	#main .topBox .content {
		max-width: 32.5rem;
	}
	#main .topBox p {
		margin: 0 0 2.4rem;
		font-size: 1.5rem;
		line-height: 2.1;
	}
	#main .topBox .title {
		margin: 5rem -0.5rem 0 0;
		font-size: 2.3rem;
		line-height: 1.9;
	}
	#main .topBox .line01 {
		top: -9.5rem;
		left: 4.8rem;
		width: 12rem;
	}
	#main .topBox .line02 {
		top: auto;
		bottom: -5.6rem;
		left: 0.1rem;
		width: 13.8rem;
	}
	#main .topBox .line03 {
		top: 23.6rem;
		left: -10.4rem;
		width: 27.4rem;
	}
	#main .topBox .line04 {
		top: 23rem;
		right: -4.2rem;
		width: 10.4rem;
	}
	#main .topBox .line06 {
		top: 36rem;
		right: -20.2rem;
		width: 32.8rem;
	}
	#main .special {
		padding: 2.2rem 0 4.7rem;
	}
	#main .special h2 {
		right: 0;
		top: 1.3rem;
		width: 23.3rem;
	}
	#main .special .subBox {
		justify-content: flex-start;
	}
	#main .special .enTtl {
		margin-left: -0.6rem;
		width: 6.1rem;
	}
	#main .special .inner {
		margin: 15.4rem 0 0 4.1rem;
		display: block;
		flex: 1;
	}
	#main .special .listBox:not(:last-child) {
		margin-bottom: 2rem;
	}
	#main .special .listBox h3 {
		margin: 0 0.3rem 2rem;
	}
	#main .special .listBox h3 img {
		height: 3rem;
	}
	#main .special .listUl li {
		margin: 0 0 2.5rem !important;
		width: auto;
	}
	#main .special .listUl .pho {
		margin: 0 7.6rem 1.2rem 0;
		width: auto;
	}
	#main .special .listUl .pho .sub {
		border-radius: 0.6rem;
	}
	#main .special .listUl .pho:after {
		right: -2.8rem;
		width: 4rem;
		height: 4rem;
	}
	#main .special .listUl p {
		margin: 0 0.2rem 0.4rem;
		font-size: 0.95rem;
	}
	#main .special .listUl .ttl {
		font-size: 2.1rem;
		line-height: 1.36;
		letter-spacing: 0.018em;
	}
	#main .special .line01 {
		top: 68%;
		left: -7rem;
		width: 13.8rem;
	}
	#main .special .line02 {
		top: 1.8rem;
		left: auto;
		right: -18.8rem;
		width: 53rem;
	}
	#main .special .line03 {
		top: 39.2%;
		right: -6.6rem;
		width: 13.8rem;
	}
	#main .special .line04 {
		top: 39.7%;
		left: -11.1rem;
		width: 21.4rem;
	}
	#main .special .line05 {
		top: 52.8%;
		right: -15rem;
		width: 24.5rem;
	}
	#main .special .line06 {
		bottom: 7rem;
		left: -6.2rem;
		width: 27.4rem;
	}
	#main .interview {
		padding: 4.4rem 0 8.6rem;
	}
	#main .interview h2 {
		margin-bottom: 7.2rem;
		width: 24rem;
		transform: translateX(0);
	}
	#main .interview .staffList .slick-slide {
		margin: 0 1.5rem;
		width: 19.3rem;
	}
	#main .interview .staffList .pho {
		margin-bottom: 3.3rem;
	}
	#main .interview .staffList .pho .sub {
		border-radius: 0.6rem;
	}
	#main .interview .staffList .pho:before {
		border-radius: 0.6rem;
	}
	#main .interview .staffList .pho:after {
		right: 1rem;
		bottom: -1.7rem;
		width: 3.5rem;
		height: 3.5rem;
	}
	#main .interview .staffList .txtBox {
		margin: 0 -10rem;
	}
	#main .interview .staffList .ttl {
		margin-bottom: 2.8rem;
	}
	#main .interview .staffList .ttl img {
		height: 8.9rem;
		transform: translateX(0);
	}
	#main .interview .staffList .txt {
		font-size: 1.2rem;
	}
	#main .interview .slick-dots {
		margin-top: 2.8rem;
	}
	#main .interview .slick-dots li {
		margin: 0 0.55rem;
		width: 0.7rem;
		height: 0.7rem;
	}
	#main .interview .line01 {
		top: 3.5rem;
		left: -4rem;
		width: 9.2rem;
	}
	#main .interview .line02 {
		top: 10rem;
		right: -7rem;
		width: 13.8rem;
	}
	#main .interview .line03 {
		top: 42rem;
		left: -4.7rem;
		width: 10.5rem;
	}
	#main .interview .line04 {
		bottom: -5.8rem;
		right: -3.6rem;
		width: 24.9rem;
	}
	#main .about {
		padding: 2.9rem 0 2.8rem;
	}
	#main .about .enTtl {
		margin-bottom: 2.7rem;
	}
	#main .about .enTtl img {
		margin: 0 1.5rem;
		height: 5rem;
	}
	#main .about h2 {
		margin-bottom: 2.5rem;
		width: 28.6rem;
	}
	#main .about .tabPanel {
		display: block;
	}
	#main .about .tabNavi {
		margin: 0 1.3rem 0.5rem 0;
		width: auto;
	}
	#main .about .tabNavi li:not(:last-child) {
		margin-bottom: 0;
	}
	#main .about .tabNavi a {
		padding: 0 5rem 0 2.7rem;
		min-height: 5rem;
		font-size: 1.65rem;
		justify-content: flex-start;
	}
	#main .about .tabNavi a:after {
		right: 1rem;
		width: 3.1rem;
		height: 3.1rem;
	}
	#main .about .tabNavi .on a:after {
		background-image: url(../img/common/icon07.png);
	}
	#main .about .tabNavi .sub {
		min-width: inherit;
	}
	#main .about .tabInner {
		width: auto;
		min-height: inherit;
	}
	#main .about .tabInner:after {
		display: none;
	}
	#main .about .tabBox {
		padding: 1rem 1.8rem 2rem;
		display: none;
	}
	#main .about .tabBox:after {
		position: absolute;
		left: 50%;
		transform: translateX(-50%);
		top: -6.5rem;
		width: 59rem;
		height: 59rem;
		background-color: #fff;
		border-radius: 50%;
		z-index: -1;
		content: "";
	}
	#main .about .tabBox h3 {
		margin-bottom: 2rem;
		font-size: 1.85rem;
	}
	#main .about .tabBox h3 .en {
		margin-bottom: 1.3rem;
		font-size: 1.4rem;
	}
	#main .about .tabBox h3 .en .large {
		margin-left: 1rem;
		font-size: 6.4rem;
	}
	#main .about .tabBox p {
		margin-bottom: 2rem;
		font-size: 1.2rem;
		line-height: 1.7;
		letter-spacing: 0.02em;
		font-feature-settings: "palt";
	}
	#main .about .tabBox .btn {
		margin-top: 1rem;
	}
	#main .about .tabBox .btn a {
		width: 20rem;
		height: 4rem;
		font-size: 1.4rem;
		background-position: right 1.5rem center;
		background-size: 1.2rem;
	}
	#main .recruit {
		padding: 3.3rem 0 6.8rem;
	}
	#main .recruit h2 {
		margin-bottom: 2.2rem;
		width: 27.2rem;
	}
	#main .recruit .linkList {
		margin: 0 1.6rem;
		display: block;
	}
	#main .recruit .linkList li {
		width: auto;
	}
	#main .recruit .linkList li:not(:last-child) {
		margin-bottom: 1.5rem;
	}
	#main .recruit .linkList a {
		padding: 2.2rem 1.9rem;
		min-height: 8.5rem;
		border-radius: 1rem;
	}
	#main .recruit .linkList a:after {
		right: 1.3rem;
		bottom: 1rem;
		width: 2.2rem;
		height: 2.2rem;
	}
	#main .recruit .linkList .en {
		margin-bottom: 0.3rem;
		height: 1.3rem;
	}
	#main .recruit .linkList .en img {
		height: 0.65rem;
	}
	#main .recruit .linkList .ttl {
		font-size: 1.7rem;
	}
	#main .recruit .linkList .noLink:after {
		left: auto;
		right: 8rem;
		bottom: 2.8rem;
		font-size: 1.4rem;
	}
	#main .recruit .line01 {
		width: 27rem;
		left: -4rem;
		top: 1.4rem;
	}
	#main .recruit .line02 {
		width: 13.8rem;
		right: -2rem;
		bottom: 15rem;
	}
	#main .company {
		padding: 3rem 0 9rem;
	}
	#main .company h2 {
		margin-bottom: 3rem;
		position: relative;
		left: auto;
		top: auto;
		width: 21.2rem;
		z-index: 3;
	}
	#main .company .linkList {
		margin: 0 auto 5.3rem;
		width: 25.3rem;
	}
	#main .company .linkList a {
		padding: 1.4rem 5rem 1.5rem 1.2rem;
		font-size: 1.6rem;
		background-position: right 1.9rem center;
		background-size: 2.3rem;
	}
	#main .company .link {
		margin: 0 1.6rem;
		width: auto;
		transform: translateX(0);
	}
	#main .company .line01 {
		width: 15.3rem;
		left: 2.2rem;
		top: -4.2rem;
	}
	#gFooter {
		bottom: 5.4rem;
	}
}
/* fadeClip */
.fadeClip {
	clip-path: polygon(0 0, 0 0, 0 100%, 0 100%);
	transition: clip-path 2s cubic-bezier(0.23, 1, 0.32, 1);
}
.fadeClip.on {
	clip-path: polygon(0 0, 100% 0, 100% 100%, 0 100%);
}