  @charset "utf-8";

/* ////////////////////////////////////////////////////////////
	File Name	index.css
*/
body {
	overflow-y: scroll;
}
.body {
	position: fixed;
	top: 0;
	left: 0;
	padding: 0;
	width: 100%;
	height: calc(var(--vh, 1vh) * 100);
}
.active-content .body {
	position: relative;
	height: auto;
}
/* CONTENT */
.content {
	position: relative;
	overflow: hidden;
}

/*============================================================
	HEADER
*/
#header {
	transform: translateY(-100px);
	transition: all 0.6s;
}
.animation-ready #header {
	transform: translateY(0px);
}

/*============================================================
	FIRSTVIEW
*/
.firstview {
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: calc(var(--vh, 1vh) * 100);
}

/*============================================================
	MOTIONPATH
*/
.motionpath {
	position: fixed;
	top: 0;
	left: 50%;
	visibility: hidden;
}
.animation-ready .motionpath {
	transition: all 0.6s;
	visibility: visible;
}
.change .motionpath {
	position: absolute;
	height: 0;
}
.motionpath div {
	position: absolute;
	top: 0;
	left: 0;
	opacity: 1;
}
.motionpath div img,
.motionpath div svg {
	display: block;
	transition: all 0.8s cubic-bezier(0.34, 1.56, 0.64, 1) 1.6s;
}
.motionpath .base {
	display: block;
	position: relative;
	height: 0;
	opacity: 0;
}
.motionpath .base img {
	position: absolute;
	top: 0;
	left: 0;
}
.motionpath img,
.motionpath svg {
	/*transform: scale(0) !important;*/
}
.change .motionpath .p-h {
	opacity: 0;
}
.motionpath .p-s {
	opacity: 0;
}

/* PC */
.motionpath-pc {
	width: 1800px;
	margin-left: -900px;
}
.motionpath-pc .base {
	padding-top: 1200px;
}
.motionpath-pc .p-pc-a01 svg { transform: scale(0) rotate(-40deg) !important; }
.motionpath-pc .p-pc-a02 svg { transform: scale(0) rotate(40deg) !important; }
.motionpath-pc .p-pc-a03 svg { transform: scale(0) rotate(-30deg) !important; }
.motionpath-pc .p-pc-a04 svg { transform: scale(0) rotate(30deg) !important; }
.motionpath-pc .p-pc-a05 svg { transform: scale(0) rotate(20deg) !important; }
.motionpath-pc .p-pc-a06 svg { transform: scale(0) rotate(-30deg) !important; }
.motionpath-pc .p-pc-a07 svg { transform: scale(0) rotate(10deg) !important; }
.motionpath-pc .p-pc-a08 svg { transform: scale(0) rotate(20deg) !important; }
.motionpath-pc .p-pc-a09 svg { transform: scale(0) rotate(-30deg) !important; }
.motionpath-pc .p-pc-a10 svg { transform: scale(0) rotate(40deg) !important; }
.motionpath-pc .p-pc-h01 img { transform: scale(0) rotate(50deg) !important; }
.motionpath-pc .p-pc-h02 img { transform: scale(0) rotate(30deg) !important; }
.motionpath-pc .p-pc-h03 img { transform: scale(0) rotate(-40deg) !important; }
.motionpath-pc .p-pc-h04 img { transform: scale(0) rotate(20deg) !important; }
.motionpath-pc .p-pc-h05 img { transform: scale(0) rotate(40deg) !important; }
.motionpath-pc .p-pc-h06 img { transform: scale(0) rotate(30deg) !important; }
.motionpath-pc .p-pc-h07 img { transform: scale(0) rotate(-40deg) !important; }

.motionpath-pc .p-pc-a01 { width: calc((694 / 1800) * 100%); }
.motionpath-pc .p-pc-a02 { width: calc((738 / 1800) * 100%); }
.motionpath-pc .p-pc-a03 { width: calc((498 / 1800) * 100%); }
.motionpath-pc .p-pc-a04 { width: calc((612 / 1800) * 100%); }
.motionpath-pc .p-pc-a05 { width: calc((208 / 1800) * 100%); }
.motionpath-pc .p-pc-a06 { width: calc((176 / 1800) * 100%); }
.motionpath-pc .p-pc-a07 { width: calc((234 / 1800) * 100%); }
.motionpath-pc .p-pc-a08 { width: calc((154 / 1800) * 100%); }
.motionpath-pc .p-pc-a09 { width: calc((270 / 1800) * 100%); }
.motionpath-pc .p-pc-a10 { width: calc((288 / 1800) * 100%); }
.motionpath-pc .p-pc-h01 { width: calc((272 / 1800) * 100%); }
.motionpath-pc .p-pc-h02 { width: calc((156 / 1800) * 100%); }
.motionpath-pc .p-pc-h03 { width: calc((172 / 1800) * 100%); }
.motionpath-pc .p-pc-h04 { width: calc((352 / 1800) * 100%); }
.motionpath-pc .p-pc-h05 { width: calc((96 / 1800) * 100%); }
.motionpath-pc .p-pc-h06 { width: calc((226 / 1800) * 100%); }
.motionpath-pc .p-pc-h07 { width: calc((246 / 1800) * 100%); }
.motionpath-pc .p-pc-s01 { width: calc((78 / 1800) * 100%); }
.motionpath-pc .p-pc-s02 { width: calc((288 / 1800) * 100%); }
.motionpath-pc .p-pc-s03 { width: calc((88 / 1800) * 100%); }
.motionpath-pc .p-pc-s04 { width: calc((82 / 1800) * 100%); }
.motionpath-pc .p-pc-s05 { width: calc((248 / 1800) * 100%); }
.motionpath-pc .p-pc-s06 { width: calc((94p / 1800) * 100%); }

/* SP */
.motionpath-sp {
	display: none;
}
.motionpath-sp .base {
	padding-top: 117.86vw;
}

.motionpath-sp .p-sp-a01 svg { transform: scale(0) rotate(-40deg) !important; }
.motionpath-sp .p-sp-a02 svg { transform: scale(0) rotate(40deg) !important; }
.motionpath-sp .p-sp-a03 svg { transform: scale(0) rotate(-30deg) !important; }
.motionpath-sp .p-sp-a04 svg { transform: scale(0) rotate(30deg) !important; }
.motionpath-sp .p-sp-a05 svg { transform: scale(0) rotate(30deg) !important; }
.motionpath-sp .p-sp-a06 svg { transform: scale(0) rotate(-40deg) !important; }
.motionpath-sp .p-sp-a07 svg { transform: scale(0) rotate(40deg) !important; }
.motionpath-sp .p-sp-h01 img { transform: scale(0) rotate(-30deg) !important; }
.motionpath-sp .p-sp-h02 img { transform: scale(0) rotate(-40deg) !important; }
.motionpath-sp .p-sp-h03 img { transform: scale(0) rotate(40deg) !important; }
.motionpath-sp .p-sp-h04 img { transform: scale(0) rotate(-30deg) !important; }
.motionpath-sp .p-sp-h05 img { transform: scale(0) rotate(40deg) !important; }
.motionpath-sp .p-sp-h06 img { transform: scale(0) rotate(30deg) !important; }
.motionpath-sp .p-sp-h07 img { transform: scale(0) rotate(-40deg) !important; }
.motionpath-sp .p-sp-h08 img { transform: scale(0) rotate(-30deg) !important; }
.motionpath-sp .p-sp-h09 img { transform: scale(0) rotate(40deg) !important; }
.motionpath-sp .p-sp-h10 img { transform: scale(0) rotate(-40deg) !important; }
.motionpath-sp .p-sp-h11 img { transform: scale(0) rotate(30deg) !important; }
.motionpath-sp .p-sp-h12 img { transform: scale(0) rotate(-40deg) !important; }
.motionpath-sp .p-sp-h13 img { transform: scale(0) rotate(40deg) !important; }
.motionpath-sp .p-sp-h14 img { transform: scale(0) rotate(40deg) !important; }
.motionpath-sp .p-sp-h15 img { transform: scale(0) rotate(-30deg) !important; }
.motionpath-sp .p-sp-h16 img { transform: scale(0) rotate(30deg) !important; }
.motionpath-sp .p-sp-h17 img { transform: scale(0) rotate(-40deg) !important; }

.motionpath-sp .p-sp-a01 { width: calc((550 / 560) * 100%); }
.motionpath-sp .p-sp-a02 { width: calc((294 / 560) * 100%); }
.motionpath-sp .p-sp-a03 { width: calc((262 / 560) * 100%); }
.motionpath-sp .p-sp-a04 { width: calc((212 / 560) * 100%); }
.motionpath-sp .p-sp-a05 { width: calc((120 / 560) * 100%); }
.motionpath-sp .p-sp-a06 { width: calc((112 / 560) * 100%); }
.motionpath-sp .p-sp-a07 { width: calc((100 / 560) * 100%); }
.motionpath-sp .p-sp-h01 { width: calc((70 / 560) * 100%); }
.motionpath-sp .p-sp-h02 { width: calc((122 / 560) * 100%); }
.motionpath-sp .p-sp-h03 { width: calc((100 / 560) * 100%); }
.motionpath-sp .p-sp-h04 { width: calc((64 / 560) * 100%); }
.motionpath-sp .p-sp-h05 { width: calc((88 / 560) * 100%); }
.motionpath-sp .p-sp-h06 { width: calc((150 / 560) * 100%); }
.motionpath-sp .p-sp-h07 { width: calc((66 / 560) * 100%); }
.motionpath-sp .p-sp-h08 { width: calc((46 / 560) * 100%); }
.motionpath-sp .p-sp-h09 { width: calc((74 / 560) * 100%); }
.motionpath-sp .p-sp-h10 { width: calc((44 / 560) * 100%); }
.motionpath-sp .p-sp-h11 { width: calc((56 / 560) * 100%); }
.motionpath-sp .p-sp-h12 { width: calc((44 / 560) * 100%); }
.motionpath-sp .p-sp-h13 { width: calc((116 / 560) * 100%); }
.motionpath-sp .p-sp-h14 { width: calc((88 / 560) * 100%); }
.motionpath-sp .p-sp-h15 { width: calc((52 / 560) * 100%); }
.motionpath-sp .p-sp-s01 { width: calc((62 / 560) * 100%); }
.motionpath-sp .p-sp-s02 { width: calc((128 / 560) * 100%); }

/* TB */
@media screen and (max-width: 979px) {
	.motionpath-pc {
		display: none;
	}
	.motionpath-sp {
		display: block;
		width: 149.4vw;
		margin-left: -74.7vw;
	}
}

.animation-ready .motionpath img,
.animation-ready .motionpath svg {
	transform: scale(1) rotate(0deg) !important;
}

/*============================================================
	MAIN
*/
.main {
	position: fixed;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
}
.main .title {
	position: absolute;
	top: 50%;
	left: 50%;
	margin: -30px 0 0 0;
	width: 800px;
	transform: translate(-50%, -50%);
}
.main .title span {
	display: block;
}
.main .title > span {
	position: relative;
	margin: 0 0 40px 0;
	padding-top: calc(84 / 800 * 100%);
}
.main .title span span {
	overflow: hidden;
	position: absolute;
	left: 0;
	bottom: 0;
	width: 100%;
	height: 0;
	transition: all 1s cubic-bezier(0.77, 0, 0.175, 1) 0.6s;
}
.main .title img {
	position: absolute;
	left: 0;
	bottom: 0;
	width: 100%;
}
/**/
.animation-ready .main .title span span {
	height: 100%;
}
.main {
	transition: all 0.6s;
}
.change-main .main {
	opacity: 0;
}
.active-content .main {
	display: none;
}
/* TB */
@media screen and (max-width: 979px) {
	.main .title {
		top: 50%;
		margin: 0;
		width: 88%;
	}
	.main .title > span {
		margin: 0 0 5vw 0;
	}
}

/*============================================================
	MAIN SCROLL
*/
.main-scroll {
	position: fixed;
	z-index: 101;
	left: 50%;
	bottom: 34px;
	font-size: 18px;
	line-height: 1;
	opacity: 0;
	transform: translateX(-50%);
	cursor: pointer;
}
.main-scroll span {
	display: block;
	margin: 0 0 5px 0;
}
.main-scroll::after {
	content: '';
	display: block;
	margin: 0 auto;
	width: 14px;
	height: 14px;
	background-repeat: no-repeat;
	background-position: 50% 50%;
	background-image: url('/recruit/fresh/assets/img/index/arrow-scroll.svg');
	background-size: contain;
}
/**/
.active-content .main-scroll {
	overflow: hidden;
	height: 0;
}
/* SP */
@media screen and (max-width: 767px) {
	.main-scroll {
		bottom: 25px;
	}
}

/*============================================================
	MAIN BANNER
*/
.main-banner {
	position: fixed;
	z-index: 900;
	bottom: 20px;
	right: 20px;
	opacity: 0;
}
.main-banner a {
	position: relative;
	z-index: 900;
	display: block;
	width: 185px;
	overflow: hidden;
	border-radius: 14px;
	background-color: #fff;
}
.main-banner a:first-child {
	margin-bottom: 15px;
}
.main-banner a span {
	transition: opacity 0.3s;
}
.os-pc .main-banner a:hover span {
	opacity: 0.7;
}
/**/
.active-content .main-banner {
	display: none;
}
/* SP */
@media screen and (max-width: 767px) {
	.main-banner {
		bottom: 15px;
		right: 10px;
	}
	.main-banner a {
		width: 134px;
		border-radius: 10px;
	}
	.main-banner a:first-child {
		margin-bottom: 10px;
	}
}

/*============================================================
	MAIN NEWS
*/
.main-news {
	display: flex;
	flex-wrap: wrap;
	position: fixed;
	z-index: 100;
	left: 35px;
	right: 50%;
	bottom: 30px;
	padding: 0 40px 0 0;
	opacity: 0;
}
.main-news h3 {
	flex-basis: 100%;
	margin: 0 0 10px 0;
	font-size: 26px;
	line-height: 1;
}
.main-news dl {
	display: flex;
	font-family: "Noto Sans JP", sans-serif;
	font-weight: 500;
	font-size: 13px;
	line-height: 1.3;
}
.main-news dl dt {
	margin: 0 15px 0 0;
}
.main-news dl dd a {
	text-decoration: underline;
}
.main-news .slider {
	width: 100%;
}
.main-news .slider .slick-dots {
	display: table;
	margin: 10px 0 0 -5px;
}
.main-news .slider .slick-dots li {
	display: table-cell;
	vertical-align: top;
}
.main-news .slider .slick-dots li button {
	display: flex;
	justify-content: center;
	align-items: center;
	overflow: hidden;
	background-color: transparent;
	border: 0;
	border-radius: 0;
	outline: 0;
	color: transparent;
	font-size: 0;
	line-height: 0;
	width: 20px;
	height: 20px;
}
.main-news .slider .slick-dots li button::before {
	content: '';
	display: block;
	width: 6px;
	height: 6px;
	border-radius: 50%;
	background-color: #cbcbcb;
}
.main-news .slider .slick-dots li.slick-active button::before {
	width: 9px;
	height: 9px;
	background-color: #000;
}
.main-news .slider .slick-track .slick-slide {
	transition: opacity 0.4s ease !important;
	opacity: 0 !important;
}
.main-news .slider .slick-track .slick-slide.block-current {
	opacity: 1 !important;
}
/**/
.animation-ready .main-news {
	opacity: 1;
}
/**/
.main-news {
	transition: all 0.6s;
}
.change-main .main-news {
	opacity: 0;
}
.active-content .main-news {
	overflow: hidden;
	height: 0;
}
/* HOVER */
.os-pc .main-news .ctr a {
	transition: opacity 0.3s ease;
}
.os-pc .main-news .ctr a:hover {
	opacity: 0.5;
}
@media screen and (max-width: 1100px) {
	.main-news dl {
		display: block;
	}
}
@media screen and (min-width: 768px) {
	.main-news dl dd {
		overflow: hidden;
		text-overflow: ellipsis;
		white-space: nowrap;
	}
}
/* SP */
@media screen and (max-width: 767px) {
	.main-news {
		display: none;
	}
}

/*============================================================
	BEGINNING
*/
.beginning {
	position: relative;
	padding: 60px 0 120px 0;
	color: #fff;
	opacity: 0;
	transition: all 0.6s;
}
.change-content .beginning {
	opacity: 1;
}
.beginning .wrapper {
	margin: 0 auto;
	max-width: 880px;
}
.beginning h2 {
	padding: 10% 0 120px 0;
	font-size: 65px;
	line-height: 1.48;
}
.beginning .lead {
	padding: 0 0 0 38%;
	font-size: 20px;
	line-height: 2.2;
}
/* TB */
@media screen and (max-width: 979px) {
	.beginning {
		padding: 22vw 0 28vw 0;
	}
	.beginning .wrapper {
		padding: 0 0 0 8%;
		max-width: 100%;
	}
	.beginning h2 {
		padding: 0 0 9.2vw 0;
		font-size: 7.68vw;
		line-height: 1.48;
	}
	.beginning .lead {
		padding: 0 0 0 3%;
		font-size: 3.8vw;
		line-height: 2.3;
	}
}
/* SP */
@media screen and (max-width: 767px) {
	.beginning {
		padding: 22vw 0 13vw 0;
	}
}

/*============================================================
	SECTION
*/
.sections {
	transition: all 0.6s;
	opacity: 0;
}
.active-content .sections {
	opacity: 1;
}
.section {
	position: relative;
}
.section .section-container {
	position: relative;
	margin: 0 auto;
}
.section .parts {
	position: absolute;
}
.section .parts-sp {
	display: none;
}
.section .section-header {
	position: relative;
}
.section .section-header h2 {
	font-size: 60px;
	line-height: 1.14;
}
.section .section-header h3 {
	margin: 10px 0 30px 0;
	font-size: 20px;
	line-height: 1.2;
}
.section .section-header .lead {
	font-size: 17px;
	line-height: 1.88;
}
.section .ctr {
	display: flex;
}
.section .ctr > div {
	padding: 0 10px;
}
.section .ctr a {
	display: flex;
	justify-content: center;
	align-items: center;
	width: 50px;
	height: 50px;
	border: 1px solid #000;
	border-radius: 50%;
	background-color: #fff;
	font-size: 18px;
}
.section .ctr-pc {
	margin: 15px 0 0 0;
}
.section .ctr-sp {
	display: none;
	justify-content: center;
}
.section .section-menu {
	text-align: left;
}
.section .section-menu .block .box {
	display: block;
	outline: 0;
}
.section .section-menu .thumb {
	position: relative;
	z-index: 1;
	border-radius: 40px;
	overflow: hidden;
}
.section .section-menu .thumb span {
	position: relative;
	display: block;
}
.section .section-menu .thumb i {
	display: block;
	position: absolute;
	bottom: 0;
	right: 0;
	padding: 20px;
	font-size: 12px;
	line-height: 1.2;
	color: #fff;
}
.section .section-menu .title {
	margin: 15px 0 0 0;
	font-size: 21px;
	line-height: 1.2;
}
.section .section-menu .title i {
	padding: 0 0 0 0.5em;
	font-size: 82%;
}
.section .section-menu-slider-sp {
	overflow: hidden;
	height: 0;
}
.section-welcome .parts-pc.parts01 {
	width: 408px;
}
.section-welcome .parts-pc.parts02 {
	width: 194px;
}
.section-welcome .parts-pc.parts03 {
	width: 224px;
}
.section-business .parts-pc.parts01 {
	width: 456px;
}
.section-business .parts-pc.parts02 {
	width: 184px;
}
.section-meet .parts-pc.parts01 {
	width: 390px;
}
.section-meet .parts-pc.parts02 {
	width: 260px;
}
/* HOVER */
.os-pc .section .ctr a {
	transition: all 0.3s ease;
}
.os-pc .section .ctr a:hover {
	background-color: #000;
	color: #fff;
}
.os-pc .section .section-menu a .thumb span {
	transition: all 0.5s cubic-bezier(0.215, 0.61, 0.355, 1);
}
.os-pc .section .section-menu a:hover .thumb span {
	transform: scale(1.1);
}
/* PC */
@media screen and (min-width: 980px) {
	.sections .section .section-container {
		display: flex;
		align-items: center;
		padding: 0 50px;
		min-height: 620px;
		max-width: 1220px;
	}
	.sections .section:nth-child(even) .section-header {
		left: 50%;
		padding-left: 140px;
	}
	.sections .section .section-menu-wrap {
		position: absolute;
		top: 50%;
		transform: translateY(-50%);
	}
	.sections .section .section-menu-slider-pc {
		width: 1320px;
	}
	.sections .section:nth-child(odd) .section-menu-wrap {
		left: 50%;
		margin-left: -60px;
	}
	.sections .section:nth-child(odd) .ctr-pc {

	}
	.sections .section:nth-child(even) .section-menu-wrap {
		right: 50%;
		margin-right: -60px;
	}
	.sections .section:nth-child(even) .ctr-pc {
		justify-content: flex-end;
	}
	.sections .section .section-menu-slider-pc .block {
		width: 440px;
	}
	.sections .section .section-menu-slider-pc .block .box {
		margin: 0 10px;
		transition: all 0.3s ease;
		transform: scale(0.9);
	}
	.sections .section .section-menu-slider-pc .block.block-current .box {
		transform: scale(1);
	}
	.section-welcome .parts-pc.parts01 {
		bottom: 60px;
		left: -20px;
	}
	.section-welcome .parts-pc.parts02 {
		top: 10px;
		left: 520px;
	}
	.section-welcome .parts-pc.parts03 {
		bottom: 0;
		right: 70px;
	}
	.section-business .parts-pc.parts01 {
		bottom: -40px;
		right: -40px;
	}
	.section-business .parts-pc.parts02 {
		bottom: 0;
		left: 0;
	}
	.section-meet .parts-pc.parts01 {
		bottom: 40px;
		left: -30px;
	}
	.section-meet .parts-pc.parts02 {
		bottom: 0;
		right: 60px;
	}
}
/* TB */
@media screen and (max-width: 979px) {
	.section .section-menu-slider-pc {
		overflow: hidden;
		height: 0;
	}
	.section .ctr-pc {
		display: none;
	}
	.section .section-menu-slider-sp {
		overflow: visible;
		height: auto;
	}
	.sections .section-menu-slider-sp .slick-list {
		overflow: visible;
	}
	.section .ctr-sp {
		display: flex;
	}
}
@media screen and (min-width: 768px) and (max-width: 979px) {
	.section {
		margin: 80px 0 0 0;
	}
	.section .section-header {
		margin: 0 0 40px 0;
		text-align: center;
	}
	.section .section-header h2 br {
		display: none;
	}
	.sections .section-menu-slider-sp {
		margin: 0 auto;
		width: 740px;
	}
	.section .section-menu-slider-sp .block {
		padding: 0 25px;
	}
	.section .ctr-sp {
		margin: 40px 0 0 0;
	}
	.section-welcome .parts-pc.parts01 {
		top: 60px;
		left: 50%;
		margin: 0 0 0 40px;
	}
	.section-welcome .parts-pc.parts02 {
		top: -70px;
		right: 50%;
		margin: 0 300px 0 0;
	}
	.section-welcome .parts-pc.parts03 {
		bottom: -600px;
		left: 50%;
		margin: 0 0 0 200px;
	}
	.section-business .parts-pc.parts01 {
		top: -70px;
		right: 50%;
		margin: 0 100px 0 0;
	}
	.section-business .parts-pc.parts02 {
		bottom: -160px;
		left: 50%;
		margin: 0 0 0 160px;
	}
	.section-meet .parts-pc.parts01 {
		top: -40px;
		left: 50%;
		margin: 0 0 0 100px;
	}
	.section-meet .parts-pc.parts02 {
		bottom: -100px;
		right: 50%;
		margin: 0 140px 0 0;
	}
}
/* SP */
@media screen and (max-width: 767px) {
	.section {
		margin: 26vw 0 0 0;
	}
	.sections .section .section-container {
		padding: 0 25px;
	}
	.section .parts-pc {
		display: none;
	}
	.section .parts-sp {
		display: block;
	}
	.section-welcome .section-header,
	.section-meet .section-header {
		text-align: left;
	}
	.section-business .section-header {
		text-align: right;
	}
	.section-business .section-header .lead {
		margin: 0 -0.5em 0 0;
	}
	.section .section-header h2 {
		font-size: 11.2vw;
	}
	.section .section-header h3 {
		margin: 2.6vw 0 3.2vw 0;
		font-size: 5.4vw;
	}
	.section .section-header .lead {
		font-size: 4vw;
		line-height: 1.7;
	}
	.section .section-menu .thumb {
		border-radius: 6.4vw;
	}
	.section .section-menu .thumb i {
		padding: 3vw;
	}
	.section .section-menu .title {
		margin: 3vw -3vw 0 0;
		font-size: 4.4vw;
	}
	.section .section-menu-slider-sp {
		margin: 7.8vw 0 0 0;
	}
	.section .section-menu-slider-sp .block {
		padding: 0 3.333vw;
	}
	.section .ctr-sp {
		margin: 3.6vw 0 0 0;
	}
	.section-welcome .parts-sp.parts01 {
		top: 13vw;
		right: 3vw;
		width: 65vw;
	}
	.section-welcome .parts-sp.parts02 {
		top: -16vw;
		left: -10vw;
		width: 35vw;
	}
	.section-welcome .parts-sp.parts03 {
		bottom: 0;
		right: -14vw;
		width: 41vw;
	}
	.section-business .parts-sp.parts01 {
		top: -7vw;
		left: -2vw;
		width: 51vw;
	}
	.section-business .parts-sp.parts02 {
		bottom: 0;
		left: -10vw;
		width: 34vw;
	}
	.section-meet .parts-sp.parts01 {
		top: -11vw;
		right: 4vw;
		width: 58vw;
	}
	.section-meet .parts-sp.parts02 {
		bottom: -4vw;
		right: -10vw;
		width: 48vw;
	}
}

/*============================================================
	CULTURE
*/
.section-culture {
	margin: 120px 0 0 0;
	text-align: center;
}
.section-culture .parts-pc {
	top: 50px;
	left: 50%;
	margin: 0 0 0 -700px;
	width: 1400px;
}
.section-culture .parts-sp {
	display: none;
}
.section-culture .section-menu-pc {
	display: flex;
	flex-wrap: wrap;
	justify-content: center;
	margin: 60px 0 0 0;
	padding: 0 30px;
}
.section-culture .section-menu-pc .block {
	margin: 0 0 50px 0;
	padding: 0 20px;
	width: 360px;
}
/* TB */
@media screen and (max-width: 979px) {
	.section-culture .section-menu-pc {
		display: none;
	}
}
@media screen and (min-width: 768px) and (max-width: 979px) {
	.section-culture .parts-pc {
		top: -40px;
	}
	.section-culture .section-menu-slider-sp {
		margin: 0 auto;
		width: 740px;
	}
	.section-culture .section-menu-slider-sp .slick-list {
		overflow: visible;
	}
}
/* SP */
@media screen and (max-width: 767px) {
	.section-culture {
		margin: 26vw 0 0 0;
	}
	.section-culture .parts-pc {
		display: none;
	}
	.section-culture .parts-sp {
		display: block;
		top: -14vw;
		left: 0;
		width: 100vw;
	}
	.section-culture .section-container {
		padding: 0 25px 0 0;
	}
	.section-culture .section-header {
		text-align: right;
	}
	.section-culture .section-header .lead {
		margin: 0 -0.5em 0 0;
	}
}

/*============================================================
	RECRUIT
*/
.section-recruit {
	margin: 100px 0 0 0;
	padding: 0 0 140px 0;
	text-align: center;
}
.section-recruit .section-container {
	max-width: 1220px;
}
.section-recruit .parts-pc {
	top: -40px;
	left: 50%;
	margin: 0 0 0 -700px;
	width: 1400px;
}
.section-recruit .parts-sp {
	display: none;
}
.section-recruit .section-menu {
	display: flex;
	flex-wrap: wrap;
	justify-content: center;
	margin: 80px -25px 0 -25px;
}
.section-recruit .section-menu .block {
	margin: 0 0 50px 0;
	padding: 0 25px;
	width: 390px;
	text-align: center;
	font-size: 21px;
	line-height: 1.2;
}
.section-recruit .section-menu .block .box {
	display: flex;
	justify-content: center;
	align-items: center;
	flex-direction: column;
	height: 150px;
	border-radius: 40px;
	background-color: #fff;
	color: #c8c8c8;
}
.section-recruit .section-menu .block .box span {
	display: block;
	margin: 15px 0 -5px 0;
	font-size: 15px;
	color: #000;
}
.section-recruit .section-menu .block a.box {
	color: #000;
}
/* HOVER */
.os-pc .section-recruit .section-menu .block a.box {
	transition: all 0.3s ease;
}
.os-pc .section-recruit .section-menu .block a.box:hover {
	background-color: #000;
	color: #fff;
}
/* SP */
@media screen and (max-width: 767px) {
	.section-recruit {
		margin: 24vw 0 0 0;
		padding: 0 0 10vw 0;
	}
	.section-recruit .parts-pc {
		display: none;
	}
	.section-recruit .parts-sp {
		display: block;
		top: -20vw;
		left: 0;
		width: 100vw;
	}
	.section-recruit .section-container {
		padding: 0 25px;
	}
	.section-recruit .section-header {
		text-align: left;
	}
	.section-recruit .section-menu {
		display: block;
		margin: 5vw 0 0 0;
	}
	.section-recruit .section-menu .block {
		margin: 0 0 3vw 0;
		padding: 0;
		width: 100%;
		font-size: 5.6vw;
	}
	.section-recruit .section-menu .block .box {
		height: 26vw;
		border-radius: 6.4vw;
	}
	.section-recruit .section-menu .block .box span {
		margin: 2.4vw 0 -0.6vw 0;
		font-size: 3.8vw;
	}
}

/**/
.section .parts {
	opacity: 0;
	transition: opacity 0.8s linear 0s;
}
.section.active .parts {
	opacity: 1;
}
.section .section-header,
.section .section-menu-outer {
	opacity: 0;
	transform: translateY(30px);
	transition: transform 0.8s cubic-bezier(0, 0.55, 0.45, 1) 0s, opacity 0.8s linear 0s;
}
.section.active .section-header,
.section.active .section-menu-outer {
	opacity: 1;
	transform: translateY(0px);
}

/*============================================================
	BANNER
*/
.section-banner {
	position: relative;
	z-index: 10;
	display: flex;
	justify-content: center;
	gap: 60px;
	padding: 60px 40px 80px 40px;
}
.section-banner a {
	overflow: hidden;
	display: block;
	border-radius: 30px;
	max-width: 453px;
	background-color: #fff;
}
.section-banner img {
	transition: opacity 0.3s;
}
.os-pc .section-banner a:hover img {
	opacity: 0.7;
}
@media screen and (max-width: 980px) {
	.section-banner {
		display: block;
		padding: 18vw 25px 8vw 25px;
	}
	.section-banner > div {
		margin-bottom: 40px;
	}
	.section-banner > div:last-child {
		margin-bottom: 0;
	}
	.section-banner a {
		margin: 0 auto;
	}
}
@media screen and (max-width: 767px) {
	.section-banner > div {
		margin-bottom: 10vw;
	}
	.section-banner a {
		border-radius: 6.4vw;
	}
}