@charset "UTF-8";


/* ----------------------------------- common ----------------------------------- */
.wrapper3 { width: 85.94%; margin: 0 auto; max-width: 1600px; }

.recruit h1,.recruit h2,.recruit h3,.recruit h4 { color: #111; }
.recruit h2 { border: none; margin-bottom: 0; padding-bottom: 60px; }
.recruit h2.h2_line { box-sizing: border-box; padding-bottom: 20px; border-bottom: 2px solid #ee3b0e; margin-bottom: 50px; font-size: 3.6rem; line-height: 1.6; }
.recruit .h3_common { border-color: #ee3b0e; margin-bottom: 40px; }
.recruit .orange { color: #ee3b0e; }
.recruit .gray { background-color: #f2f2f2; }



/* ----------------------------------- top ----------------------------------- */
/* ----------------- header ----------------- */
.recruit header {
	background-color: #333;
}

.recruit.top_page header {
	background-color: transparent;
}

.recruit .header a {
	color: #fff;
}

.recruit .header a.logo {
	padding-right: 110px;
	position: relative;
}

.recruit .header a.logo span {
	position: absolute;
	top: 50%;
	right: 0;
	transform: translateY(-50%);
	font-size: 1.3rem;
	font-weight: bold;
}

.recruit .header div.flex {
	display: flex;
	align-items: center;
}

.recruit .header nav ul li.link.toMain {
	padding: 0 35px 0 30px;
}

.recruit .header nav ul li.link.toMain a {
	box-sizing: border-box;
	padding: 7px 16px;
	border: 2px solid #fff;
	border-radius: 16px;
	font-size: 1.4rem;
}

.recruit .header nav ul li.link a.current::before {
	background: #fff;
}

.recruit .header nav ul li.link a.none_sub {
	line-height: 1;
}

.recruit .header nav ul li.link a.none_sub:hover {
	color: #fff;
	opacity: 0.5;
}

.recruit .header nav ul li.link a.none_sub.current::before:hover {
	background: #fff;
}

.recruit div.header_wrap a.requirement {
	display: block;
	width: 120px;
	height: auto;
	line-height: 110px;
	font-weight: bold;
	text-align: center;
	background-color: #55504c; 
	transition:  0.4s ease;
}

.recruit div.header_wrap a.requirement:hover {
	opacity: 0.5;
}

.recruit div.header_wrap a.application {
	display: block;
	width: 120px;
	height: auto;
	line-height: 110px;
	font-weight: bold;
	text-align: center;
	background-color: #ee3b0e;
	transition: all 0.4s ease;
}

.recruit div.header_wrap a.application:hover {
	opacity: 0.5;
}

#top.recruit header.on .header {
	background-color: #333;
}

.recruit header.on .header div.header_wrap a.requirement,
.recruit header.on .header div.header_wrap a.application {
	line-height: 70px;
	width: 130px;
}


/* ----------------- hamburger ----------------- */
.recruit .header div.spHum button div.line_wrap span.line {
	background-color: #fff;
}

.recruit .header div.spHum button span.txt {
	color: #fff;
}


/* ----------------- sp menu ----------------- */
.recruit div.spMenu {
	height: calc(100% - 70px);
	padding-top: 70px;
}

.recruit div.spMenu div.recruit_site {
	width: 100%;
	font-size: 1.4rem;
	line-height: 50px;
	text-align: center;
	font-weight: bold;
	color: #fff;
	background: #464646;
}

.recruit div.spMenu div.inner {
	position: relative;
	height: calc(100% - 60px);
	overflow-x: hidden;
	overflow-y: auto;
	background: linear-gradient(to right, rgba(40,40,40,1) 0%,rgba(40,40,40,0.9) 100%);
}

.recruit div.spMenu nav {
	position: absolute;
	top: 42%;
	left: 50%;
	transform: translate(-50%,-50%);
}

.recruit div.spMenu nav ul {
	padding-bottom: 0;
}

.recruit div.spMenu nav ul li {
	border-top: none;
	padding-bottom: 50px;
	text-align: center;
}

.recruit div.spMenu nav ul li:last-child { 
	border-bottom: none;
}

.recruit div.spMenu nav ul li a {
	position: relative;
	color: #fff;
	font-weight: bold;
	font-size: 1.7rem;
	transition: all 0.2s ease;
	line-height: 1;
}

.recruit div.spMenu nav ul li a:hover {
	opacity: 0.5;
}

.recruit div.spMenu nav ul li a.current::before {
	content: '';
	display: block;
	position: absolute;
	bottom: -6px;
	left: 0;
	width: 100%;
	height: 2px;
	background: #fff;
}

.recruit div.spMenu nav ul li.toMain {
	padding: 10px 0 0 0;
}

.recruit div.spMenu nav ul li.toMain a {
	box-sizing: border-box;
	padding: 7px 16px;
	margin-top: 10px;
	border: 2px solid #fff;
	border-radius: 16px;
	font-size: 1.4rem;
}


/* ----------------- kv ----------------- */
.recruit.top_page main {
	margin-top: 0;
}

.recruit #kv {
	height: 100vh;
	background: url(/img/recruit/top/kv.jpg);
	background-size: cover;
}


.recruit #kv div.kv_copy {
    left: 7.5%;
	bottom: 16.25%;
	transform: none;
}

.recruit #kv div.kv_copy div {
	width: 54.53vw;
	max-width: 1100px;
	padding-bottom: 0;
}

.recruit #kv a.scroll {
	left: calc(94% - 90px);
}


/* ----------------- intro ----------------- */
.recruit #intro_r {
	padding: 100px 0 110px 0;
}

.recruit #intro_r h2 {
	line-height: 1.8;
	padding-bottom: 75px;
}

.recruit h2 span.bg {
	padding: 4px 0 4px 10px;
	color: #fff;
	background: #ee3b0e;
}

.recruit #intro_r p {
	font-size: 1.7rem;
	line-height: 2;
}

.recruit #intro_r p.br {
	padding-bottom: 34px;
}

.recruit div.slide_img {
	position: relative;
	height: 400px;
	overflow: hidden;
}

.recruit div.slide_img span {
    position: absolute;
    top: 0;
    left: 0;
    width: 14000px;
    _zoom: 1;
    overflow: hidden;
    display: block;
}

.recruit div.slide_img img {
    display: block;
	float: left;
    width: 3008px;
    margin-right: 2px;
}


/* ----------------- img_link ----------------- */
.recruit #top_recruit {
	padding-bottom: 0;
}

.recruit div.recruit_link {
	padding: 100px 0 115px 0;
}

.recruit.top_page div.recruit_link {
	padding-top: 75px;
}

.recruit div.recruit_link a.square_link {
	margin-top: 0;
	width: 350px;
	line-height: 90px;
	font-size: 2.0rem;
	color: #fff;
}

.recruit div.recruit_link a.square_link:first-child {
	background-color: #55504c;
}

.recruit div.recruit_link a.square_link:last-child {
	background-color: #ee3b0e;
}


/* ----------------- footer ----------------- */
.recruit footer div.footer {
	background: url(/img/common/footer_r.jpg) no-repeat;
	background-size: cover;
}

.recruit footer a.toTop {
	background-color: #635e5a;
}

.recruit footer a.toTop span {
	color: #fff;
}

.recruit footer div.copyright {
	background-color: #4d4844;
}


/* ----------------------------------- message ----------------------------------- */
#message div.h1_bg {
	background: url(/img/recruit/message/h1_bg.jpg);
	background-size: cover;
	background-position: center bottom;
}

.recruit section.common {
	padding-bottom: 0;
}

#message div.message_2nd {
	position: relative;
	display: flex;
	align-items: flex-start;
	padding-top: 90px;
}

#message div.img_wrap {
	position: relative;
	left: -9.375vw;
	width: 52%;
}

#message div.img_wrap div:first-child {
	margin-bottom: 40px;
}

#message div.message_2nd div.cnt_wrap {
	width: 52%;
}

#message div.message_3rd {
	padding: 120px 0 100px 0;
}

#message div.profile {
	display: flex;
}

#message div.profile div.txt {
	box-sizing: border-box;
	padding: 60px 50px;
	width: 54%;
}

#message div.profile div.txt p.bold {
	padding-bottom: 30px;
	font-size: 1.8rem;
}

#message div.profile div.img {
	width: 46%;
}


/* ----------------------------------- introduction ----------------------------------- */
#introduction div.h1_bg {
	background: url(/img/recruit/introduction/h1_bg.jpg);
	background-size: cover;
}

#introduction div.img_wrap {
	padding: 100px 0 60px 0;
}

#introduction div.img_wrap div {
	margin: 0 auto;
	max-width: 1100px;
}


/* ----------------------------------- human ----------------------------------- */
#human div.h1_bg {
	background: url(/img/recruit/human/h1_bg.jpg);
	background-size: cover;
	background-position: center top;
}

#human h2 span.bg {
	padding: 4px 2px;
}

div.human_all {
	padding-top: 100px;
}

div.human_all a {
	display: flex;
	align-items: center;
	justify-content: space-between;
	box-sizing: border-box;
	padding: 30px;
	border: 2px solid #111;
	margin-bottom: -2px;
	font-weight: bold;
	transition: all 0.2s ease;
}

div.human_all a:nth-child(2),
div.human_all a:nth-child(4) {
	flex-flow: row-reverse;
}

div.human_all a:hover {
	opacity: 0.5;
}

div.human_all a div.img {
	width: 49%;
}

div.human_all a div.txt {
	width: 49%;
	box-sizing: border-box;
	padding: 0 30px;
	background: url(/img/common/arrow.svg) no-repeat right 5px center;
	background-size: 9px 15px;
}

div.human_all a div.txt p.number {
	vertical-align: middle;
}

div.human_all a div.txt p.number span {
	display: inline-block;
	margin-left: 10px;
	width: 26px;
	line-height: 26px;
	border-radius: 50%;
	border: 2px solid #ee3b0e;
	text-align: center;
}

div.human_all a div.txt h3 {
	font-size: 2.8rem;
	line-height: 1.5;
	padding: 25px 0 40px 0;
}

/* ----------------------------------- human single ----------------------------------- */
#human_single div.h1_wrap {
	padding-top: 40px;
}

#human_single div.human_h1 {
	display: flex;
	align-items: center;
	justify-content: space-between;
	width: calc(100% - 60px);
	margin: 30px auto 0 auto;
	box-sizing: border-box;
	padding: 30px;
	border: 2px solid #111;
}

#human_single div.human_h1 div.img {
	width: 52%;
}

#human_single div.human_h1 div.txt {
	width: 43%;
	box-sizing: border-box;
	padding-right: 30px;
}

#human_single div.human_h1 div.txt p.number span {
	display: inline-block;
	margin-left: 10px;
	width: 26px;
	line-height: 26px;
	border-radius: 50%;
	border: 2px solid #ee3b0e;
	text-align: center;
}

#human_single div.human_h1 div.txt h1 {
	font-size: 4.0rem;
	padding: 25px 0 45px 0;
}

#human_single div.human_h1 div.txt p.name {
	font-weight: bold;
	padding-bottom: 30px;
}

#human_single h3.h3_common.margin {
	margin-top: 90px;
}

#human_single div.human_img {
	width: 72%;
	padding-top: 90px;
	margin: 0 auto;
}

/* ----------------------------------- welfare ----------------------------------- */
#welfare div.h1_bg {
	background: url(/img/recruit/welfare/h1_bg.jpg);
	background-size: cover;
}

#welfare h3.h3_common {
	margin-bottom: 30px;
}

#welfare div.img_wrap {
	display: flex;
	justify-content: space-between;
}

#welfare div.img_wrap div {
	width: 31%;
}


/* ----------------------------------- requirement ----------------------------------- */
#requirement p.p_intro {
	padding-bottom: 60px;
}

#requirement a.mynavi {
	display: inline-block;
	box-sizing: border-box;
	width: 230px;
	padding: 6px;
	border: 1px solid #eee;
	margin: 15px 0 20px 0;
}


/* ----------------------------------- application ----------------------------------- */
form table tr th span {
	font-size: 1.2rem;
}

form table tr td.radio {
	padding: 15px 0 17px 0;
}


form input[type^='radio'] {
	display: none;
}

form input[type^='radio'] + label {
	display: inline-block;
	position: relative;
	padding-left: 25px;
	margin-right: 60px;
	cursor: pointer;
}

form input[type^='radio'] + label::before {
	content: '';
	display: block;
	position: absolute;
	top: 50%;
	left: 0;
	transform: translateY(-50%);
	box-sizing: border-box;
	width: 16px;
	height: 16px;
	border: 2px solid #111;
	border-radius: 50%;
}

form input[type^='radio']:checked + label {
	font-weight: bold;
	color: #ee3b0e;
}

form input[type^='radio']:checked + label::before {
	border-color: #ee3b0e;
}

form input[type^='radio']:checked + label::after {
	content: '';
	display: block;
	position: absolute;
	top: 50%;
	left: 5px;
	transform: translateY(-50%);
	width: 6px;
	height: 6px;
	border-radius: 50%;
	background: #ee3b0e;
}

#application form input.privacy + label {
	color: #ee3b0e;
}


#application form input.privacy + label::before {
	border-color: #ee3b0e;
}

#application form input.privacy + label::after {
	border-color: #ee3b0e;
}

#application form button.square_link {
	background-color: #ee3b0e;
}

#application div.hr {
	margin-top: 65px;
	width: 100%;
	height: 1px;
	background: #ccc;
}

#application div.contact_wrap div.errWrap p {
    color: #ee3b0e;
}

#application div.contact_wrap button.square_link,
#application div.contact_wrap a.square_link{
    background: #ee3b0e;
}

#application div.contact_wrap button.square_link.back {
    background: #999;
}


/* -------------------------------------------- responsive -------------------------------------------- */

/* ----------------------------------- 1700 ---------------------------------- */
@media screen and (min-width: 1700px) {
	.recruit .header nav ul li.link { font-size: 1.7rem; }
	.recruit .header div.header_wrap a.requirement { font-size: 1.7rem; }
	.recruit .header div.header_wrap a.application { font-size: 1.7rem; }
}

/* ----------------------------------- 1400 ---------------------------------- */
@media screen and (max-width: 1400px) {
	.recruit .header { height: 90px; font-size: 1.5rem; }
	.recruit .header a.logo { width: 200px; height: 41px; }
	.recruit .header nav ul li.link { padding-left: 12px; padding-right: 12px; }
	.recruit .header div.header_wrap a.requirement { line-height: 90px; }
	.recruit .header div.header_wrap a.application { line-height: 90px; }
	.recruit .header nav ul li.link.toMain { padding: 0 25px 0 20px; }

	#human_single div.h1_wrap { padding-top: 1px; }
	#human_single div.human_h1 { padding: 20px; }
	#human_single div.human_h1 div.img { width: 48%; }
	#human_single div.human_h1 div.txt { width: 47%; }
	#human_single div.human_h1 div.txt h1 { font-size: 3.4rem; padding: 20px 0 35px 0; }


}

/* ----------------------------------- 1280 ---------------------------------- */
@media screen and (max-width: 1280px) {
	/* ----------- recruit ----------- */
	.pc1_r { display: none!important; }
	.sp1_r { display: block!important; }

	.recruit .header { background-color: #333; height: 70px; }
	.recruit .header a.logo { position: absolute; top: 50%; left: 50%; transform: translate(-50%,-50%); width: 200px; margin-left: 0; padding-right: 0; height: auto;　}
	.recruit　.header a.logo img { height: 100%; }
	div.header_wrap { transition: all 0.2s ease; }
	.recruit div.header_wrap.sp1_r { position: fixed; display: flex!important; left: 0; bottom: 0; z-index: 2999; width: 100%; height: 60px; transition: all 0.2s ease; }
	.recruit div.header_wrap.sp1_r.on { bottom: -60px; }
	.recruit div.header_wrap a.requirement { width: 50%; line-height: 60px; height: 100%; color: #fff; }
	.recruit div.header_wrap a.application { width: 50%; line-height: 60px; height: 100%; color: #fff; }
	.recruit header.on .header { height: 70px; }
	.recruit header.on .header a.logo { height: auto; padding-bottom: 0; }

	.recruit main { margin-top: 70px; }
	.recruit.top_page main { margin-top: 70px; }
	.recruit #kv { height: calc(100vh - 70px - 60px); }
	.recruit #kv div.kv_copy { bottom: 50%; transform: translateY(50%); }

	.recruit div.h1_bg { padding-top: 0; }
	.recruit div.h1_mono { padding-top: 145px; }

}


/* ----------------------------------- 1100 ---------------------------------- */
@media screen and (max-width: 1100px) {
	.wrapper3 { width: 90%; }

	/* ----------- top ----------- */
	.recruit h2.h2_line { padding-bottom: 22px; font-size: 3.0rem; }

	.recruit #kv div.kv_copy div { width: 72vw; max-width: 750px; }

	.recruit #intro_r { padding: 80px 0 85px 0; }
	.recruit #intro_r h2 { font-size: 3.0rem; padding-bottom: 60px; margin-bottom: 0; }
	.recruit #intro_r p { font-size: 1.6rem; line-height: 30px; }
	.recruit #intro_r p.br { padding-bottom: 30px; }
	.recruit div.slide_img { height: 332px; }
	.recruit div.slide_img img { width: 2500px; }

	.recruit div.recruit_link { padding: 90px 0 85px 0; }
	.recruit.top_page div.recruit_link { padding-top: 60px; }
	.recruit div.recruit_link a.square_link { margin-top: 0; width: 280px; line-height: 75px; font-size: 1.7rem; }

	.recruit div.h1_mono { padding-top: 165px; }


	/* ----------- message ----------- */
	#message div.message_2nd { padding-top: 60px; display: block; }
	#message div.img_wrap { display: flex; left: 0; width: 100%; padding-top: 75px; }
	#message div.img_wrap div { width: calc(50% - 1px); }
	#message div.img_wrap div:first-child { margin-bottom: 0; margin-right: 2px; }
	#message div.message_2nd div.cnt_wrap { width: 100%; }
	#message div.message_3rd { padding: 70px 0 90px 0; }
	#message div.profile div.txt { padding: 40px; width: 62%; }
	#message div.profile div.img { width: 38%; }
	#message div.profile div.img img { object-position: right center; }


	/* ----------- human ----------- */
	div.human_all { padding-top: 75px; }
	div.human_all a { padding: 15px; }
	div.human_all a div.img { width: 48%; }
	div.human_all a div.txt { width: 48%; padding: 0 30px 0 0; }
	div.human_all a div.txt h3 { font-size: 2.0rem; padding: 14px 0 22px 0; }


	/* ----------- human single ----------- */
	#human_single div.human_h1 { display: block; padding: 40px 30px 65px 30px; }
	#human_single div.human_h1 div.img { width: 80%; margin: 0 auto; }
	#human_single div.human_h1 div.txt { width: 100%; padding-top: 50px; padding-right: 0; }
	#human_single div.human_h1 div.txt h1 { font-size: 2.8rem; }
	#human_single h3.h3_common.margin { margin-top: 70px; }
	#human_single div.human_img { width: 86%; padding-top: 70px; }
	#human_single div.human_all h2 { padding-bottom: 30px; }


	/* ----------- message ----------- */
	#welfare div.img_wrap { flex-wrap: wrap; }
	#welfare div.img_wrap div { width: 100%; padding-bottom: 15px; }
	#welfare div.img_wrap div:last-child { padding-bottom: 0; }

}


/* ----------------------------------- 700 ---------------------------------- */
@media screen and (max-width: 700px) {
	.wrapper3 { width: calc(100% - 14px); }

	/* ----------- top ----------- */
	.recruit h2 { padding-bottom: 45px; }
	.recruit h2.h2_line { padding-bottom: 13px; margin-bottom: 40px; font-size: 2.5rem; }
	.recruit .h3_common { margin-bottom: 30px; }

	.recruit .header { height: 60px; }
	.recruit .header a.logo { width: 180px; padding-right: 26px; }
	.recruit header.on .header { height: 60px; }
	.recruit header.on .header a.logo { width: 180px; }

	.recruit .header div.spHum button div.line_wrap { width: 20px; height: 12px; }
	.recruit .header div.spHum.on button div.line_wrap { width: 16px; }
	.recruit div.header_wrap { transition: all 0.2s ease; }
	.recruit div.header_wrap.on { bottom: -60px; }

	.recruit div.spMenu { height: calc(100% - 60px); padding-top: 60px; }
	/*.recruit div.spMenu nav { top: 46%; }*/
	.recruit div.spMenu nav ul li { padding-bottom: 35px; }
	.recruit div.spMenu nav ul li a { font-size: 1.5rem; }
	.recruit div.spMenu nav ul li.toMain { padding-top: 15px; }

	.recruit main { margin-top: 60px; }
	.recruit.top_page main { margin-top: 60px; }
	.recruit #kv { height: calc(100vh - 120px); background: url(/img/recruit/top/kv_sp.jpg); background-size: cover; }
	.recruit #kv div.kv_copy { bottom: 52%; }
	.recruit #kv div.kv_copy div { width: calc(100% - 40px); max-width: 420px; }
	.recruit #kv a.scroll { left: -75px; }

	.recruit #intro_r { padding: 60px 0 65px 0; }
	.recruit #intro_r h2 { font-size: 2.1rem; padding-bottom: 45px; margin-bottom: 0; }
	.recruit #intro_r p { font-size: 1.5rem; }
	.recruit h2 span.bg { padding: 3px 0 3px 3px; }
	.recruit div.slide_img { height: 300px; }
	.recruit div.slide_img img { width: 1508px; }

	.recruit div.recruit_link { padding: 55px 0 70px 0; }
	.recruit.top_page div.recruit_link { padding-top: 40px; }
	.recruit div.recruit_link a.square_link { width: 100%; line-height: 60px; font-size: 1.6rem; }
	.recruit div.recruit_link a.square_link:last-child { margin-top: 20px; }

	/* ----------- message ----------- */
	#message div.h1_bg { background: url(/img/recruit/message/h1_bg_sp.jpg); background-size: cover; }
	.recruit div.h1_mono { padding-top: 95px; }
	#message div.message_2nd {  padding-top: 50px; }
	#message div.img_wrap { display: block; padding-top: 50px; }
	#message div.img_wrap div { width: 100%; }
	#message div.img_wrap div:first-child { margin-bottom: 2px; margin-right: 0; }
	#message div.message_3rd { padding: 50px 0; }
	#message div.profile { flex-wrap: wrap-reverse; }
	#message div.profile div.txt { padding: 40px 20px; width: 100%; }
	#message div.profile div.txt p.bold { padding-bottom: 15px; font-size: 1.6rem; }
	#message div.profile div.img { width: 100%; }


	/* ----------- message ----------- */
	#introduction div.h1_bg { background: url(/img/recruit/introduction/h1_bg_sp.jpg); background-size: cover; }
	#introduction div.img_wrap { padding: 65px 0 70px 0; }


	/* ----------- human ----------- */
	#human div.h1_bg { background: url(/img/recruit/human/h1_bg_sp.jpg); background-size: cover; }
	div.human_all { padding-top: 50px; }
	div.human_all a { display: block; padding-bottom: 40px; }
	div.human_all a div.img { width: 100%; }
	div.human_all a div.txt { width: 100%; padding-top: 25px; }
	div.human_all a div.txt p.number span { font-size: 1.4rem; width: 23px; line-height: 23px; margin-left: 8px; }


	/* ----------- human single ----------- */
	#human_single div.human_h1 { width: calc(100% - 14px); padding: 20px 16px 50px 16px; margin-top: 20px; }
	#human_single div.human_h1 div.img { width: 100%; }
	#human_single div.human_h1 div.txt { padding-top: 40px; }
	#human_single div.human_h1 div.txt p.number span { font-size: 1.4rem; width: 23px; line-height: 23px; margin-left: 8px; }
	#human_single div.human_h1 div.txt h1 { font-size: 2.5rem; line-height: 42px; padding: 15px 0 25px 0; }
	#human_single h3.h3_common.margin { margin-top: 50px; }
	#human_single div.human_img { width: 100%; padding-top: 50px; }


	/* ----------- message ----------- */
	#welfare div.h1_bg { background: url(/img/recruit/welfare/h1_bg_sp.jpg); background-size: cover; }


	/* ----------- requirement ----------- */
	#requirement p.p_intro { padding-bottom: 50px; }
	#requirement a.mynavi { width: 190px; }


	/* ----------- requirement ----------- */
	form table tr td.radio { padding: 0; }
	form input[type^='radio'] + label { margin-right: 40px; }



/* ----------------------------------- ie ---------------------------------- */
@media screen and (min-width: 0\0) and (min-resolution: +72dpi) {
    .selector {
        property: value;
    }
	/* IE向けのCSS～START */


	/* IE向けのCSS～END */
}