@charset "utf-8";
/* =======================================

	IndexElements

======================================= */
@charset "utf-8";
@import url('https://fonts.googleapis.com/css?family=Roboto:300,400,500,700|Noto+Sans+JP:300,400,500,700|Saira+Condensed:300,400,500,600,700&display=swap');
@font-face {
  font-family: 'recruiting_lp';
  src:
    url('/2027/css/entrance/fonts/recruiting_lp.ttf?kfdnk0') format('truetype'),
    url('/2027/css/entrance/fonts/recruiting_lp.woff?kfdnk0') format('woff'),
    url('/2027/css/entrance/fonts/recruiting_lp.svg?kfdnk0#recruiting_lp') format('svg');
  font-weight: normal;
  font-style: normal;
  font-display: block;
}

[class^="icon-"], [class*=" icon-"] {
  /* use !important to prevent issues with browser extensions that change fonts */
  font-family: 'recruiting_lp' !important;
  speak: none;
  font-style: normal;
  font-weight: normal;
  font-variant: normal;
  text-transform: none;
  line-height: 1;

  /* Better Font Rendering =========== */
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
}

.icon-plan:before {
  content: "\e900";
}
.icon-arrows:before {
  content: "\e901";
}
.icon-application:before {
  content: "\e902";
}
.icon-tel:before {
  content: "\e903";
}
.icon-position:before {
  content: "\e905";
}
.icon-link:before {
  content: "\e906";
}
.icon-T:before {
  content: "\e907";
}
.icon-F:before {
  content: "\e908";
}
.icon-check:before {
  content: "\e917";
}
.icon-batsu:before {
  content: "\e924";
}
.icon-circle:before {
  content: "\e926";
}
.icon-triangle:before {
  content: "\e929";
}
.icon-dbl_circle:before {
  content: "\e904";
}

/* =======================================

	CommonElements

======================================= */
html {
	font-size: 62.5% !important;
}
body {
	height: 100%;
	font-size: 1.6em;
	line-height: 1.8;
	text-align: left;
	color: #333333;
	font-family: 'Noto Sans JP', "メイリオ", sans-serif;
	font-weight: normal;
	word-wrap : break-word;
	overflow-wrap : break-word;
	position: relative;
	-webkit-text-size-adjust: 100%;
}
body.tab_view {
	overflow: hidden;
}
#container {
	width: 100%;
	min-width: 1300px;
}
a {
	text-decoration: none;
	color: #333333;
	transition: all 0.3s;
}
a:hover,
button:hover {
	opacity: 0.8;
}

/* ------------------------------------
	header
------------------------------------ */
#container {
	width: 100%;
	min-width: 1300px;
}
@media only screen and (max-width: 1300px) {
	#container {
		min-width: 1024px;
	}
}
@media only screen and (max-width: 768px) {
	#container {
		width: 100%;
		min-width: 100%;
	}
}

/* ------------------------------------
	header
------------------------------------ */
header {
	width: 100%;
	padding: 0 20px 0 45px;
	z-index: 2;
	position: relative;
	transition: .3s;
}
.sp_header {
	display: none;
}

@media only screen and (max-width: 768px) {
	header {
		display: none;
	}
	.sp_header {
		width: 100%;
		padding: 10px 5%;
		z-index: 20;
		transition: .3s;
		display: block;
		background-color: #fff;
	}
	.sp_header .logo a {
		width: 150px;
		z-index: 250;
		position: relative;
		display: block;
	}
}

/* ------------------------------------
	entrance
------------------------------------ */
#container.entrance {
	height: 100%;
	margin: 0 auto;
	position: relative;
	display: -webkit-box;
	display: flex;
	-webkit-box-orient: vertical;
	-webkit-box-direction: normal;
	flex-direction: column;
	-webkit-box-pack: justify;
	justify-content: space-between;
	-webkit-box-align: center;
	align-items: center;
}
.entrance header .logo {
	width: 155px;
	margin: 4vh 0 0 1vw;
}
#container.entrance > .entrance_contents_area {
		width: 90%;
		height: auto;
		margin: 0 auto;
		background-color: #FBFBFB;
}
#container.entrance > .entrance_contents_area:before {
	content: "";
	position: absolute;
	top: 5%;
	right: 5%;
	bottom: 5%;
	left: 5%;
	background-color: #FBFBFB;
}
.entrance_contents_area:after {
	content: "";
	width: 102vw;
	height: 100vh;
	left: 0;
	bottom: 0;
	position: fixed;
	z-index: 1;
	background: url(/img/entrance/content_bg.png) no-repeat;
	background-size: cover;
}
.entrance_contents_area .entrance_contents {
	width: 100%;
	z-index: 3;
	position: relative;
}
.entrance_contents_area .entrance_contents > p {
	padding: 0 0 40px;
	font-size: 1.6rem;
	font-weight: 500;
	text-align: center;
}
.entrance_contents_area a {
	width: 454px;
	margin: 0 auto 20px;
	padding: 35px 105px 35px 50px;
	border-radius: 25px;
	box-shadow: 0 3px 14px rgba(0,123,199,0.1);
	background-color: #fff;
	display: block;
	position: relative;
}
.entrance_contents_area a:last-child {
	margin: 0 auto;
}
.entrance_contents_area a:after {
	font-family: 'recruiting_lp';
	font-size: 1.5rem;
	content: "\e901";
	top: 50%;
	right: 25px;
	transform: translateY(-50%);
	color: #088EE8;
	position: absolute;
}
.entrance_contents_area .version_22:after {
	color: #00CBDD;
}
.entrance_contents_area a img {
	margin: 0 0 15px;
	display: block;
}
.entrance_contents_area a .period {
	font-size: 1.3rem;
	font-weight: 500;
}
.entrance_contents_area a .period span {
	padding: 0 20px 0 0;
	color: #666666;
	position: relative;
}
.entrance_contents_area a .period span:after {
	content: "";
	width: 1px;
	height: 12px;
	top: 52%;
	right: 10px;
	transform: translateY(-52%);
	background-color: #E2E2E2;
	position: absolute;
}
.entrance footer {
	margin: 0 0 1vh;
	bottom: 0;
	text-align: center;
	background-color: transparent;
	z-index: 2;
}
.entrance footer small {
	display: block;
	font-weight: 500;
	font-size: 1.2rem;
	color: #000000;
}

@media only screen and (max-width: 768px) {
	#container.entrance > .entrance_contents_area {
		width: 100%;
		height: auto;
		top: auto;
		left: auto;
		transform: none;
	}
	.entrance .sp_header .logo a img {
		width: 70%;
	}
	.entrance_contents_area:after {
		width: 100vw;
		top: auto;
		left: 0;
		bottom: 0;
		position: fixed;
	}
	.entrance_contents_area .entrance_contents {
		width: 90%;
		margin: 0 auto;
		padding: 5%;
		/* top: auto;
		left: auto;
		transform: none; */
		position: relative;
	}
	.entrance_contents_area a {
		width: 100%;
		padding: 20px 36px 20px 30px
	}
	.entrance_contents_area a img {
		width: 170px;
		margin: 0 0 15px;
	}
	.entrance_contents_area a .period span {
		padding: 0 20px 0 0;
		color: #666666;
		display: block;
	}
	.entrance_contents_area a .period span:after {
		display: none;
	}
	.entrance_contents_area a p {
		font-size: 1.6rem;
	}

	.entrance footer {
		margin: 0 0 0vh;
		position: relative;
	}
}

/* ------------------------------------
	footer
------------------------------------ */
footer {
	width: 100%;
	padding: 20px 0;
	color: #fff;
	background-color: #333333;
}
