@charset "UTF-8";
@import url('https://fonts.googleapis.com/css2?family=Montserrat:wght@500;600;700&family=Noto+Sans+JP:wght@400;500;700&display=swap');

/*img
----------------------------------------*/
.saiyo img {
	max-width: 100%;
}

/*font
----------------------------------------*/
.en {
	font-family: 'Montserrat', 'Noto Sans JP', sans-serif;
}
.saiyo {
	font-family: 'Noto Sans JP', sans-serif;
}

/*header
----------------------------------------*/
header,
header .inner2 {
	z-index: 2000;
}
header .inner2 {
	position: relative;
}
.gnav-show header .nav {
	z-index: 1600;
}
@media screen and (min-width: 768px) {
	header {
		position: relative;
	}
}

/*saiyo
----------------------------------------*/
.saiyo.open::before {
	content: '';
	display: block;
	position: absolute;
	top: 60px;
	left: 0;
	right: 0;
	bottom: 0;
	background: rgba(236, 236, 236, .9);
	z-index: 1110;
}

/*recruit_nav
----------------------------------------*/
.recruit_nav {
	background: #E7380D;
	display: flex;
	border-top: 1px solid #D2D2D2;
	position: relative;
	z-index: 1200;
}
.recruit_nav h2 {
	width: 288px;
	padding-right: 13px;
	background: #fff;
	font-size: 2.6rem;
	font-weight: bold;
	color: #E01F06;
	text-align: center;
	letter-spacing: .1em;
	display: flex;
	justify-content: center;
	align-items: center;
}
.recruit_nav_box {
	flex: 1;
}
.recruit_nav_link {
	display: flex;
	justify-content: flex-end;
	text-align: center;
}
.recruit_nav_link li {
	width: 148.7px;
	font-size: 1.1rem;
	font-weight: 600;
	letter-spacing: .1em;
	position: relative;
}
.recruit_nav_link li a {
	display: block;
	background: #fff;
	color: #E7380D;
	padding: 8px 5px 6px;
}
.recruit_nav_link .recruit_nav_link_news a {
	background: #FFE9E4;
}
.recruit_nav_link .recruit_nav_link_login a {
	background: #333;
	color: #fff;
}
.recruit_nav_main {
	display: flex;
	justify-content: flex-end;
	padding: 13px 0 15px;
}
.recruit_nav_main > li {
	position: relative;
}
.recruit_nav_main > li + li::before {
	content: '';
	display: block;
	width: 1px;
	background: rgba(236, 236, 236, .2);
	position: absolute;
	top: 0;
	left: 0;
	bottom: 0;
}
.recruit_nav_main > li > a,
.recruit_nav_main > li > span {
	display: block;
	color: #fff;
	text-align: center;
	padding: 0 39.6px;
	line-height: 1.5;
	font-size: 1.3rem;
	letter-spacing: .1em;
	cursor: pointer;
}
.recruit_nav_main > li > a span,
.recruit_nav_main > li > span span {
	display: block;
	font-size: 1.4rem;
	font-weight: 600;
	letter-spacing: .05em;
}
.recruit_nav_btn {
	display: none;
}
@media screen and (max-width: 1280px) {
	.recruit_nav_main > li > a,
	.recruit_nav_main > li > span {
		padding: 0 3.0937vw;
		font-size: 1.0156vw;
	}
	.recruit_nav_main > li > a span,
	.recruit_nav_main > li > span span {
		font-size: 1.0937vw;
	}
	.recruit_nav h2 {
		width: 22.5%;
		padding-right: 1.0156vw;
		font-size: 2.0312vw;
	}
}
@media screen and (min-width: 768px) {
	.recruit_nav_main ul {
		position: absolute;
		top: 100%;
		left: 0;
		right: 0;
		padding-top: 15px;
		text-align: center;
		opacity: 0;
		pointer-events: none;
		transition: opacity .5s
	}
	.recruit_nav_main ul.works {
		left: -2rem;
		right: -2rem;
	}
	.recruit_nav_main > li:hover ul {
		opacity: 1;
		pointer-events: all;
	}
	.recruit_nav_main ul li {
		background: rgba(231,56,13,.7);
	}
	.recruit_nav_main ul li + li {
		border-top: 1px solid rgba(236, 236, 236, .2);
	}
	.recruit_nav_main ul li a {
		display: block;
		font-size: 1.3rem;
		padding: 13px 10px;
		color: #fff;
	}
	.recruit_nav_wrap {
		display: block !important;
	}
	.recruit_nav_link .recruit_nav_main_sub {
		position: absolute;
		top: 100%;
		left: 0;
		z-index: 100;
		opacity: 0;
		background: #E7380D;
		pointer-events: none;
		transition: opacity .5s;
	}
	.recruit_nav_link li:hover .recruit_nav_main_sub {
		opacity: 1;
		pointer-events: all;
	}
}
@media screen and (max-width: 767px) {
	.recruit_nav {
		position: relative;
	}
	.recruit_nav h2 {
		width: 38.8372%;
		height: 60px;
		padding-right: 0;
		font-size: 1.5rem;
	}
	.recruit_nav_box {
		width: 61.1628%;
		display: flex;
	}
	.recruit_nav_link {
		width: 74.1444%;
	}
	.recruit_nav_link li {
		display: flex;
		width: 33.3333%;
		line-height: 1.25;
	}
	.recruit_nav_link li a {
		width: 100%;
		height: 100%;
		display: flex;
		justify-content: center;
		align-items: center;
		padding: 17px 5px 15px;
	}
	.recruit_nav_btn {
		display: block;
		width: 25.8556%;
		height: 60px;
		background: #E7380D;
		position: relative;
	}
	.recruit_nav_btn::before,
	.recruit_nav_btn::after {
		content: '';
	}
	.recruit_nav_btn::before,
	.recruit_nav_btn::after,
	.recruit_nav_btn span {
		display: block;
		height: 2px;
		width: 20px;
		background: #fff;
		position: absolute;
		top: 17px;
		left: 0;
		right: 0;
		margin: 0 auto;
		transition: transform .5s, top .5s;
	}
	.recruit_nav_btn span {
		top: 24px;
	}
	.recruit_nav_btn::after {
		top: 31px;
	}
	.recruit_nav_btn span::before {
		content: 'MENU';
		position: absolute;
		left: -10px;
		right: -10px;
		bottom: -24px;
		text-align: center;
		font-size: .8rem;
		font-weight: 500;
		letter-spacing: .1em;
		color: #fff;
		font-family: 'Montserrat', 'Noto Sans JP', sans-serif;
	}
	.open .recruit_nav_btn::before {
		transform: rotate(45deg);
		top: 24px;
	}
	.open .recruit_nav_btn::after {
		transform: rotate(-45deg);
		top: 24px;
	}
	.open .recruit_nav_btn span {
		background: none;
	}
	.open .recruit_nav_btn span::before {
		content: 'CLOSE';
	}
	.recruit_nav_main {
		background: #E7380D;
		display: block;
		padding: 0 0 50px;
	}
	.recruit_nav_main > li {
		width: auto;
		padding-bottom: 0;
		margin-bottom: 0;
		border-bottom: 1px solid rgba(255, 255, 255, .2);
		position: relative;
	}
	.recruit_nav_main > li + li::before {
		display: none;
	}
	.recruit_nav_main > li:nth-child(2n)::before {
		content: '';
		display: block;
		width: 1px;
		background: rgba(255, 255, 255, .2);
		position: absolute;
		left: 0;
		top: 2px;
		bottom: 17px;
	}
	.recruit_nav_main > li > a,
	.recruit_nav_main > li > span {
		padding: 20.5px 0 18px;
		font-size: 1.3rem;
		line-height: 1.4;
		position: relative;
	}
	.recruit_nav_main > li > a span,
	.recruit_nav_main > li > span span {
		font-size: 1.6rem;
	}
	.recruit_nav_main .icon-plus {
		position: absolute;
		top: 50%;
		right: 3.6rem;
		margin-top: -.8rem;
		font-size: 1.7rem;
	}
	.recruit_nav_main > li ul {
		background: rgba(255, 255, 255, .2);
		display: none;
		padding: 0 6.9767%;
	}
	.recruit_nav_main > li ul li {
		border-top: 1px solid rgba(255, 255, 255, .2);
	}
	.recruit_nav_main > li ul li a {
		color: #fff;
		text-align: center;
		display: block;
		font-size: 1.3rem;
		letter-spacing: .1em;
		padding: 19px 10px 15px;
	}
	.recruit_nav_main > li a.open {
		background: rgba(255, 255, 255, .2);
	}
	.recruit_nav_main > li a.open .icon-plus::before {
		content: "\f068";
	}
	.recruit_nav_main .recruit_nav_main_btn {
		width: 86.0465%;
		margin: 5px auto 0;
		padding: 0;
		border: 0;
	}
	.recruit_nav_main_btn.login {
		margin-top: 4rem;
	}
	.recruit_nav_main .recruit_nav_main_btn::before {
		display: none;
	}
	.recruit_nav_main .recruit_nav_main_btn a {
		padding: 20px 10px 19px;
		background: #fff;
		color: #E7380D;
		font-size: 1.4rem;
		letter-spacing: .1em;
	}
	.recruit_nav_main .recruit_nav_main_btn.login a {
		background: #333;
		color: #fff;
	}
	.recruit_nav_main .recruit_nav_main_btn.news a {
		background: #FFE9E4;
	}
	.recruit_nav_wrap {
		display: none;
		position: absolute;
		top: 100%;
		left: 0;
		right: 0;
		z-index: 1500;
	}
	.recruit_nav_link .recruit_nav_main_sub {
		display: none;
	}
	.recruit_nav_main .recruit_nav_main_btn a.open {
		background: rgba(255, 255, 255, .8);
	}
	.recruit_nav_main .recruit_nav_main_btn ul {
		background: rgba(255, 255, 255, .8);
		padding-left: 5%;
		padding-right: 5%;
		padding-bottom: 1.5rem;
	}
	.recruit_nav_main .recruit_nav_main_btn .icon-plus {
		color: #E7380D;
		right: 1.8rem;
	}
}

/*recruit_recruit
----------------------------------------*/
.recruit_recruit {
	background: url(../assets/bg_recruit01.jpg) no-repeat center center / cover;
	text-align: center;
	padding: 77px 20px 90px;
}
.recruit_recruit h2 {
	width: 100%;
	color: #fff;
	font-size: 3.4rem;
	font-weight: bold;
	letter-spacing: .05em;
	line-height: 1.55;
	margin-bottom: 19px;
}
.recruit_recruit h2 span {
	display: block;
	letter-spacing: .1em;
	font-size: 1.9rem;
}
.recruit_recruit ul {
	max-width: 1000px;
	margin: 0 auto;
	display: flex;
}
.recruit_recruit ul li {
	width: 33.3333%;
}
.recruit_recruit ul li + li {
	border-left: 1px solid rgba(255, 255, 255, .2);
}
.recruit_recruit ul li a {
	display: block;
	color: #fff;
	padding: 87px 0 41px;
}
.recruit_recruit h3 {
	font-size: 2.4rem;
	line-height: 1.2;
	height: 63px;
	letter-spacing: .1em;
}
.recruit_recruit h3 span {
	font-size: 1.8rem;
	letter-spacing: .1em;
}
.recruit_recruit .btn_more {
	margin-top: 66px;
}
@media screen and (max-width: 767px) {
	.recruit_recruit {
		background-image: url(../assets/bg_recruit01_sp.jpg);
		padding: 55px 6.9767% 62px;
	}
	.recruit_recruit h2 {
		margin-bottom: 36px;
	}
	.recruit_recruit ul {
		display: block;
		border-bottom: 1px solid rgba(255, 255, 255, .2);
	}
	.recruit_recruit ul li {
		width: auto;
		border-top: 1px solid rgba(255, 255, 255, .2);
	}
	.recruit_recruit ul li + li {
		border-left: 0;
	}
	.recruit_recruit ul li a {
		padding: 35px 0 25px;
	}
	.recruit_recruit h3 {
		height: auto;
		letter-spacing: .1em;
	}
	.recruit_recruit .btn_more {
		margin-top: 16px;
	}
}

/*btn_more
----------------------------------------*/
.btn_more {
	font-size: 1.4rem;
	font-weight: 600;
	letter-spacing: .05em;
	margin-top: 47px;
}
.btn_more a,
.btn_more span {
	color: #fff;
	display: inline-block;
	padding: 6px 52px 6px 0;
	position: relative;
}
.btn_more a::before,
.btn_more span::before {
	content: '';
	display: block;
	width: 29px;
	height: 29px;
	border: 1px solid #fff;
	border-radius: 50%;
	position: absolute;
	top: 1px;
	right: 0;
}
.btn_more a::after,
.btn_more span::after {
	content: '';
	display: block;
	width: 4px;
	height: 4px;
	background: #fff;
	border-radius: 50%;
	position: absolute;
	top: 15px;
	right: 13px;
}

/*recruit_footer
----------------------------------------*/
.recruit_footer {
	background: #1E1E1E;
	color: #fff;
	margin-bottom: -36px;
	padding: 72px 20px 116px;
}
.recruit_footer .inner {
	max-width: 1000px;
	margin: 0 auto;
	display: flex;
	flex-wrap: wrap;
}
.recruit_footer h2 {
	width: 100%;
	color: #fff;
	font-weight: bold;
	letter-spacing: .1em;
	font-size: 2.6rem;
	margin-bottom: 17px;
}
.recruit_footer a {
	color: #fff;
}
.recruit_footer dl + dl {
	border-left: 1px solid rgba(255, 255, 255, .2);
	margin-left: 3.8rem;
	padding-left: 3.8rem;
}
.recruit_footer dt {
	font-size: 1.6rem;
	letter-spacing: .1em;
	margin-bottom: 25px;
}
.recruit_footer dd ul {
	font-size: 1.3rem;
	letter-spacing: .1em;
}
.recruit_footer dd ul li + li {
	margin-top: 7px;
}
@media screen and (max-width: 767px) {
	.recruit_footer {
		margin-bottom: -42px;
		padding: 52px 6.9767% 60px;
	}
	.recruit_footer .inner {
		display: block;
	}
	.recruit_footer h2 {
		text-align: center;
		margin-bottom: 15px;
	}
	.recruit_footer dl {
		border-top: 1px solid rgba(255, 255, 255, .2);
		display: flex;
		padding: 17px 0;
	}
	.recruit_footer dl + dl {
		border-left: 0;
		margin-left: 0;
		padding-left: 0;
	}
	.recruit_footer dt {
		width: 116px;
		margin-bottom: 0;
	}
	.recruit_footer dd {
		flex: 1;
	}
}

/*common_mv
----------------------------------------*/
.common_mv .inner {
	width: calc(50% + 50rem);
	position: relative;
	left: 50%;
	margin-left: -50rem;
	z-index: 10;
}
.common_mv .sub_title {
	color: #fff;
	position: absolute;
	left: 60px;
	top: 0;
	bottom: 5px;
	display: flex;
	justify-content: center;
	align-items: flex-start;
	align-content: flex-start;
	flex-direction: column;
}
.common_mv .sub_title h1 {
	font-size: 4.6rem;
	letter-spacing: .05em;
	margin: 0 0 8px;
}
.common_mv .sub_title p {
	font-size: 2rem;
	letter-spacing: .05em;
	font-weight: bold;
}
@media screen and (max-width: 1040px) {
	.common_mv .inner {
		width: calc(100% - 20px);
		left: auto;
		margin-left: auto;
	}
}
@media screen and (max-width: 767px) {
	.common_mv .inner {
		width: auto;
		left: auto;
		margin-left: 0;
	}
	.common_mv .sub_title {
		text-align: center;
		left: 0;
		right: 0;
		bottom: 0;
		align-items: center;
		align-content: center;
	}
	.common_mv .sub_title h1 {
		font-size: 3rem;
		margin: 0;
	}
	.common_mv .sub_title p {
		font-size: 1.5rem;
	}
}

/*btn_entry
----------------------------------------*/
.btn_entry {
	text-align: center;
	width: 68.4rem;
	margin: 7rem auto 0;
}
.btn_entry a,
.btn_entry button {
	appearance: none;
	width: 100%;
	background: none;
	font-family: inherit;
	display: block;
	border: 5px solid #E7380D;
	text-align: center;
	color: #E7380D;
	font-size: 2.4rem;
	padding: 2.7rem 1rem;
	letter-spacing: .1em;
	position: relative;
	cursor: pointer;
}
.btn_entry button {
	font-weight: 700;
	transition: opacity .3s;
}
.btn_entry a::before,
.btn_entry button::before {
	content: '';
	display: block;
	width: 4.7rem;
	height: 4.7rem;
	border-radius: 50%;
	border: 1px solid #E7380D;
	position: absolute;
	top: 0;
	bottom: 0;
	right: 3.4rem;
	margin: auto 0;
}
.btn_entry a::after,
.btn_entry button::after {
	content: '';
	display: block;
	width: .6rem;
	height: .6rem;
	border-radius: 50%;
	background: #E7380D;
	position: absolute;
	top: 0;
	bottom: 0;
	right: 5.5rem;
	margin: auto 0;
}
@media screen and (min-width: 768px) {
	.btn_entry button:hover {
		opacity: .6;
	}
}
@media screen and (max-width: 767px) {
	.btn_entry {
		width: auto;
		margin-top: 4rem;
	}
	.btn_entry a,
	.btn_entry button {
		border-width: 3px;
		font-size: 2rem;
		padding: 2rem 1rem;
	}
	.btn_entry a::before {
		width: 3.5rem;
		height: 3.5rem;
	}
	.btn_entry a::after {
		right: 4.9rem;
	}
	.btn_entry button::before {
		width: 3.5rem;
		height: 3.5rem;
		right: 1.4rem;
	}
	.btn_entry button::after {
		right: 2.9rem;
	}
}

/*float_btn
----------------------------------------*/
.float_btn {
	position: fixed;
	right: 0;
	top: calc(50% - 15.1rem);
	width: 5rem;
	word-break: break-all;
	display: flex;
	flex-direction: column;
	gap: .1rem 0;
	height: 30.2rem;
	z-index: 2000;
}
.float_btn li {
	height: 100%;
	text-align: center;
	line-height: 1.0909;
	font-size: 1.1rem;
	font-weight: 600;
}
.float_btn li a {
	display: flex;
	justify-content: center;
	align-items: center;
	width: 100%;
	height: 100%;
	background: #fff;
	padding: 1rem 2rem;
}
.float_btn li:first-child a {
	background: #333;
	color: #fff;
}
@media screen and (max-width: 767px) {
	.float_btn {
		top: auto;
		bottom: 0;
		left: 0;
		width: auto;
		flex-direction: row;
		gap: 0 .1rem;
		height: 6rem;
	}
	.float_btn li {
		width: 100%;
		font-size: 1.5rem;
		letter-spacing: .1em;
	}
	footer {
		padding-bottom: 7rem;
	}
}

/*scroll animation
----------------------------------------*/
.inview.movetop {
	opacity: 0;
	transform: translateY(10rem);
	transition: transform .5s, opacity .5s;
}
.inview.show.movetop {
	opacity: 1;
	transform: none;
}

/*colorbox
----------------------------------------*/
#colorbox,
#cboxOverlay,
#cboxWrapper {
	position: absolute;
	top: 0;
	left: 0;
	z-index: 19999;
	-webkit-transform: translate3d(0,0,0);
	transform: translate3d(0,0,0);
}
#cboxWrapper {
	max-width: none;
}
#cboxOverlay {
	position: fixed;
	width: 100%;
	height:100%;
}
#cboxMiddleLeft,
#cboxBottomLeft{
	clear:left;
}
#cboxLoadedContent {
	overflow: auto;
	-webkit-overflow-scrolling: touch;
}
#cboxTitle{
	margin: 0;
}
#cboxLoadingOverlay,
#cboxLoadingGraphic {
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
}
#cboxPrevious,
#cboxNext,
#cboxClose,
#cboxSlideshow {
	cursor: pointer;
}
.cboxPhoto {
	float: left;
	margin: auto;
	border: 0;
	display: block;
	max-width: none;
	-ms-interpolation-mode: bicubic;
}
.cboxIframe {
	width: 100%;
	height: 100%;
	display: block;
	border: 0;
	padding: 0;
	margin: 0;
}
#colorbox,
#cboxContent,
#cboxLoadedContent {
	box-sizing: content-box;
	-moz-box-sizing: content-box;
	-webkit-box-sizing: content-box;
}
#cboxLoadedContent {
	overflow: visible !important;
	text-align: center;
	display: inline-block;
}
#cboxOverlay {
	background: #000;
	opacity: .6;
	filter: alpha(opacity = 60);
}
#colorbox,
#cboxPrevious:active,
#cboxNext:active,
#cboxSlideshow:active,
#cboxClose:active {
	outline: 0;
}
#cboxContent {
	overflow: visible;
	margin: 0;
	height: auto !important;
}
#cboxContent iframe {
	width: 100% !important;
	height: 100%;
}
#cboxError {
	padding: 50px;
	border: 1px solid #ccc;
}
#cboxTitle {
	position: absolute;
	top: -22px;
	left: 0;
	color: #000;
}
#cboxCurrent {
	position: absolute;
	top: -22px;
	right: 205px;
	text-indent: -9999px;
}
#cboxPrevious,
#cboxNext,
#cboxSlideshow,
#cboxClose {
	border: 0;
	padding: 0;
	margin: 0;
	overflow: visible;
	text-indent: -9999px;
	width: 20px;
	height: 20px;
	position: absolute;
	top: -20px;
}
#cboxClose {
	background: none;
	top: -33px;
	right: 0;
	z-index: 1100;
	width: 33px;
	height: 33px;
	position: absolute;
	opacity: 0;
}
#cboxClose::before,
#cboxClose::after {
	background: #fff;
	content: "";
	display: block;
	top: 17px;
	left: 7.5px;
	padding-top: 2px;
	width: 20px;
	position: absolute;
}
#cboxClose::before {
	transform: rotate(-135deg);
}
#cboxClose::after {
	transform: rotate(135deg);
}