@charset "utf-8";

@media only screen and (max-width:991px) {}
@media only screen and (max-width:767px) {}
@media only screen and (max-width:374px) {}


#container {
	margin-bottom: 180px;
}
.secTitle {
	margin-bottom: 60px;
	font-size: 32px;
	font-weight: 700;
	border-bottom: #E0E0E0 solid 1px;
}
.secTitle span {
	position: relative;
	display: inline-block;
	padding-bottom: 10px;
}
.secTitle span:before {
	position: absolute;
	bottom: 0;
	left: 0;
	display: block;
	content: '';
	width: 100%;
	height: 2px;
	background-color: #05569B;
	transform: translateY(80%);
}
@media only screen and (max-width:767px) {
	#container {
		margin-bottom: 90px;
	}
	.secTitle {
		margin-bottom: 40px;
		font-size: 20px;
	}
}



/*************************************************

 pageTitle

*************************************************/

.pageTitle {
	margin-bottom: 30px;
}
.pageTitle img {
	height: 40px;
}
@media only screen and (max-width:767px) {
	.pageTitle {
		margin-bottom: 25px;
	}
	.pageTitle img {
		height: 30px;
	}
}

/*************************************************

 keyVisual

*************************************************/
.keyVisual {
	overflow: hidden;
	position: relative;
	margin: 60px 0;
}
.keyVisual .pcView {
	position: relative;
	left: 50%;
	width: 100%;
	transform: translateX(-50%);
	max-width: none;
}
@media only screen and (max-width:1360px) {
	.keyVisual .pcView {
		width: 1360px;
	}
}
@media only screen and (max-width:767px) {
	.keyVisual {
		margin: 40px 0;
	}
}


/*************************************************

 recruitBtns

*************************************************/
.recruitBtns li + li {
	margin-top: 60px;
}
.recruitBtns li a {
	display: table;
	width: 100%;
	height: 240px;
	color: #fff;
	text-align: center;
	text-decoration: none;
	background-color: #05569B;
}
.recruitBtns li .cell {
	display: table-cell;
	vertical-align: middle;
}
.recruitBtns li .logo {
	margin-bottom: 20px;
	line-height: 0;
}
.recruitBtns li .ttl {
	margin-bottom: 15px;
	font-size: 32px;
	font-weight: 700;
	line-height: 1.4;
}
.recruitBtns li .btn {
	margin-top: 30px;
}
.recruitBtns li .btn span {
	position: relative;
	display: inline-block;
	padding-right: 20px;
}
.recruitBtns li .btn span:before {
	position: absolute;
	top: 50%;
	right: 0;
	display: block;
	content: '';
	width: 15px;
	height: 10px;
	background: url(../images/common/ico_blank.svg) no-repeat center center;
	background-size: cover;
	transform: translateY(-50%);
}
.recruitBtns li.intern a {
	background: url(../images/recruit/intern_bg.jpg) no-repeat center center;
	background-size: cover;
}
.recruitBtns li .site-btn {
    height: 180px;
	background: #9aba24;
	background: -moz-linear-gradient(left, #9aba24 0%, #159447 100%);
	background: -webkit-linear-gradient(left, #9aba24 0%,#159447 100%);
	background: linear-gradient(to right, #9aba24 0%,#159447 100%);
	filter: progid:DXImageTransform.Microsoft.gradient( startColorstr='#9aba24', endColorstr='#159447',GradientType=1 );
}
.recruitBtns li .site-btn .cell .logo {
	font-size: 34px;
	font-weight: 600;
	line-height: 1;
	margin-bottom: 0;
}
.recruitBtns li .site-btn .cell .btn {
	margin-top: 18px;
}
.recruitBtns li .site-btn .cell .btn span:before {
	background: url(../images/common/ico_blank_site.svg) no-repeat center center;
}

@media only screen and (max-width:767px) {
	.recruitBtns li + li {
		margin-top: 30px;
	}
	.recruitBtns li a {
		height: 200px;
		font-size: 12px;
	}
	.recruitBtns li .logo {
		margin-bottom: 15px;
	}
	.recruitBtns li .logo img {
		width: auto;
		height: 28px;
	}
	.recruitBtns li .ttl {
		margin-bottom: 15px;
		font-size: 19px;
	}
	.recruitBtns li .btn {
		margin-top: 25px;
	}
	.recruitBtns li.intern a {
		background-image: url(../images/recruit/intern_bg_sp.jpg);
	}
	.recruitBtns li .site-btn .cell .logo {
	    font-size: 24px;
	    line-height: 1.3;
    }
}
.newRecruit {
	max-width: 1000px;
}



/*************************************************

 career

*************************************************/
#career {
	margin: 110px 0;
	padding: 90px 0 120px;
	background-color: #F7F7F7;
}
#career .secTitle {
	margin-bottom: 40px;
}
#career .lead {
	margin-bottom: 50px;
	color: #767676;
	line-height: 2;
}
@media only screen and (max-width:767px) {
	#career {
		margin: 50px 0;
		padding: 60px 0;
	}
	#career .secTitle {
		margin-bottom: 20px;
	}
}


/* jobs
-------------------------------------------*/
#career .jobs {
	margin-bottom: 0;
}
#career .jobs .accordionBox + .accordionBox {
	margin-top: 45px;
}
#career .jobs .accordionBtn {
	position: relative;
	padding: 35px 50px 35px 25px;
	color: #fff;
	font-size: 22px;
	font-weight: 700;
	background-color: #05569B;
	cursor: pointer;
	transition: 0.3s;
}
#career .jobs .accordionBtn > * {
	display: inline-block;
}
#career .jobs .accordionBtn .arw {
	box-sizing: border-box;
	position: absolute;
	top: 50%;
	right: 25px;
	display: block;
	width: 25px;
	height: 25px;
	transform: translateY(-50%);
	border: #fff solid 1px;
	border-radius: 50%;
	cursor: pointer;
}
#career .jobs .accordionBtn .arw:before,
#career .jobs .accordionBtn .arw:after {
	position: absolute;
	top: 50%;
	left: 50%;
	display: block;
	content: '';
	background-color: #fff;
	transform: translate(-50%,-50%);
}
#career .jobs .accordionBtn .arw:before {
	width: 13px;
	height: 1px;
}
#career .jobs .accordionBtn .arw:after {
	width: 1px;
	height: 13px;
}
#career .jobs .accordionBtn.on .arw:after {
	opacity: 0;
	}
.noT #career .jobs .accordionBtn:hover {
	opacity: 0.7;
}
#career .jobs .accordionBody {
	display: none;
	padding: 30px 40px 40px;
	border: #05569B solid 10px;
	background-color: #fff;
}
#career .jobs .jobDetail .block {
	overflow: hidden;
}
#career .jobs .jobDetail .block + .block {
	margin-top: 80px;
	padding-top: 30px;
	border-top: #E0E0E0 solid 1px;
}
#career .jobs .jobDetail .inLead {
	margin-bottom: 50px;
	color: #05569B;
	line-height: 2;
}
#career .jobs .jobDetail .ttl {
	float: left;
	color: #0F65AF;
	font-size: 18px;
	font-weight: 700;
}
#career .jobs .jobDetail .texts {
	padding-left: 200px;
	color: #767676;
	line-height: 1.9;
}
#career .jobs .jobDetail .inGroup {
    .box-hara {
        background-color: #f7f7f7;
        margin-top: 25px;
        padding: 32px 25px;
        font-size: 14px;

        .ttl-hara {
            font-size: 14px;
            font-weight: 600;
            color: #333;
            margin-bottom: 15px;
        }

        p {
            a {
                text-decoration: none;
                color: #666;
            }
        }

        a {
            max-width: 400px;
            font-size: 12px;
            margin-top: 25px;
        }
    }
    @media only screen and (max-width:767px) {
        .box-hara {
            padding: 20px 15px;
            font-size: 13px;
        }
    }
}
#career .jobs .jobDetail .inGroup + .inGroup {
	margin-top: 30px;
}
#career .jobs .jobDetail dt {
	color: #333;
	font-weight: 700;
}
#career .jobs .jobDetail .dotsList > li {
	position: relative;
	padding-left: 1em;
}
#career .jobs .jobDetail .dotsList > li:before {
	position: absolute;
	top: 0;
	left: 0;
	display: block;
	content: '・';
}
#career .jobs .jobDetail .bdrList > li {
	position: relative;
	padding-left: 1em;
}
#career .jobs .jobDetail .bdrList > li:before {
	position: absolute;
	top: 15px;
	left: 0;
	display: block;
	content: '';
	width: 0.5em;
	height: 1px;
	background-color: #767676;
}
#career .jobs .jobDetail .btn {
	margin-top: 80px;
}

@media only screen and (max-width:767px) {
	#career .jobs .accordionBox {
		margin: 0 -20px;
	}
	#career .jobs .accordionBox + .accordionBox {
		margin-top: 25px;
	}
	#career .jobs .accordionBtn {
		padding: 25px 50px 25px 20px;
		font-size: 15px;
	}
	#career .jobs .accordionBtn .arw {
		right: 15px;
	}
	#career .jobs .jobDetail {
		padding: 30px 25px;
		border-width: 5px;
	}
	#career .jobs .jobDetail .block + .block {
		margin-top: 70px;
	}
	#career .jobs .jobDetail .ttl {
		float: none;
		margin-bottom: 15px;
		font-size: 16px;
	}
	#career .jobs .jobDetail .texts {
		padding-left: 0;
		line-height: 1.8;
	}
	#career .jobs .jobDetail .bdrList > li:before {
		top: 12px;
	}
	#career .jobs .jobDetail .btn {
		margin-top: 50px;
	}
}


/* commonjob
-------------------------------------------*/
#career .jobs .commonjob {
	margin-top: 100px;
	padding: 60px 45px 100px;
	background-color: #fff;
}
#career .jobs .commonjob .inTtl {
	margin-bottom: 80px;
	font-size: 30px;
	font-weight: 700;
}
@media only screen and (max-width:767px) {
	#career .jobs .commonjob {
		margin: 60px -20px 0;
		padding: 30px 20px 50px;
		background-color: #fff;
	}
	#career .jobs .commonjob .inTtl {
		margin-bottom: 40px;
		font-size: 20px;
	}
}










/*************************************************

 contact

*************************************************/
#contact {
	max-width: 1000px;
	margin: 0 auto;
	padding: 0 20px;
}
#contact .secTitle {
	margin-bottom: 35px;
}
#contact .lead {
	margin-bottom: 100px;
	line-height: 2;
}
#contact .lead span {
	color: #E50000;
}
.formAreaWrap {
	position: relative;
	padding: 20px 0 0 185px;
}
@media only screen and (max-width:767px) {
	#contact .secTitle {
		margin-bottom: 20px;
	}
	#contact .lead {
		margin-bottom: 50px;
	}
	.formAreaWrap {
		padding: 0;
	}
}


/* fixedFlow
-------------------------------------------*/
.formAreaWrap .fixedFlow {
	position: absolute;
	top: 20px;
	left: 0;
	padding: 12px;
	background-color: rgba(255,255,255,0.5);
	z-index: 50;
}
.formAreaWrap .fixedFlow ul {
	border-left: #E0E0E0 solid 2px;
}
.formAreaWrap .fixedFlow li + li {
	margin-top: 23px;
}
.formAreaWrap .fixedFlow span {
	position: relative;
	display: block;
	padding-left: 20px;
	color: #B3B3B3;
	font-size: 12px;
	text-decoration: none;
}
.formAreaWrap .fixedFlow span:before {
	position: absolute;
	top: 0;
	left: -2px;
	display: block;
	content: '';
	width: 2px;
	height: 0;
	background-color: #05569B;
	transition: 0.3s;
	z-index: 2;
}

.mw_wp_form_input .formAreaWrap .fixedFlow li:nth-child(1) span,
.mw_wp_form_confirm .formAreaWrap .fixedFlow li:nth-child(2) span {
	color: #05569B;
}
.mw_wp_form_confirm .formArea .formTypeArea {
	padding: 0;
}
.mw_wp_form_input .formAreaWrap .fixedFlow li:nth-child(1) span:before,
.mw_wp_form_confirm .formAreaWrap .fixedFlow li:nth-child(2) span:before {
	height: 100%;
}

@media only screen and (min-width:768px) {
	.formAreaWrap .fixedFlow.fixed {
		position: fixed;
		top: 100px;
		left: 50%;
		margin-left: -500px;
	}
	.formAreaWrap .fixedFlow.fixed.fixedOut {
		position: absolute;
		top: auto;
		bottom: -20px;
	}
}
@media only screen and (max-width:767px) {
	.formAreaWrap .fixedFlow {
		position: static;
		margin-bottom: 90px;
		padding: 0;
	}
	.formAreaWrap .fixedFlow ul {
		display: flex;
		justify-content: space-between;
		border-left: none;
	}
	.formAreaWrap .fixedFlow li {
		overflow: hidden;
		position: relative;
		text-align: center;
		width: 33.3333%;
	}
	.formAreaWrap .fixedFlow li:before {
		position: absolute;
		top: 9px;
		left: 0;
		display: block;
		content: '';
		height: 1px;
		width: 100%;
		background-color: #E0E0E0;
		z-index: 1;
	}
	.formAreaWrap .fixedFlow li + li {
		margin-top: 0;
	}
	.formAreaWrap .fixedFlow span {
		position: relative;
		display: inline-block;
		text-align: center;
		padding: 28px 0 0;
		font-size: 15px;
		z-index: 2;
	}
	.formAreaWrap .fixedFlow li:nth-child(1) {
		text-align: left;
	}
	.formAreaWrap .fixedFlow li:nth-child(3) {
		text-align: right;
	}
	.formAreaWrap .fixedFlow span:before,
	.mw_wp_form_input .formAreaWrap .fixedFlow li:nth-child(1) span:before,
	.mw_wp_form_confirm .formAreaWrap .fixedFlow li:nth-child(2) span:before {
		top: 3px;
		left: 50%;
		width: 14px;
		height: 14px;
		background-color: #B3B3B3;
		border-radius: 50%;
		transform: translateX(-50%);
		z-index: 2;
	}
	.formAreaWrap .fixedFlow span.active:before,
	.mw_wp_form_input .formAreaWrap .fixedFlow li:nth-child(1) span:before,
	.mw_wp_form_confirm .formAreaWrap .fixedFlow li:nth-child(2) span:before {
		top: 0;
		border: #5d91be solid 3px;
		background-color: #05569B;
	}
	.formAreaWrap .fixedFlow span:after {
		position: absolute;
		top: 9px;
		display: block;
		content: '';
		height: 1px;
		width: 100%;
		background-color: #fff;
		z-index: 1;
	}
	.formAreaWrap .fixedFlow li:nth-child(1) span:after {
		right: 50%;
	}
	.formAreaWrap .fixedFlow li:nth-child(2) span:after {
		display: none;
	}
	.formAreaWrap .fixedFlow li:nth-child(3) span:after {
		left: 50%;
	}
	.formAreaWrap .fixedFlow span.active,
	.mw_wp_form_input .formAreaWrap .fixedFlow li:nth-child(1) span {
		color: #05569B;
	}

}


/* formArea
-------------------------------------------*/
.formArea dl + dl {
	margin-top: 40px;
}
.formArea dt {
	margin-bottom: 10px;
	font-weight: 700;
}
.formArea dt span {
	display: inline-block;
	margin-left: 3px;
	color: #E50000;
}
.mw_wp_form_confirm .formArea dt span {
	display: none;
}
.formArea .textform {
	box-sizing: border-box;
	display: block;
	width: 100%;
	margin: 0;
	padding: 20px;
	font-size: 16px;
	background: #F7F7F7;
	border: none;
	border-radius: 0;
	outline: none;
	-webkit-appearance: none;
	-moz-appearance: none;
	appearance: none;
}
.formArea p + .textform {
	margin-top: 5px;
}
.formArea .textform + p {
	margin-top: 25px;
}
.formArea textarea.textform {
	height: 230px;
	resize: vertical;
}
.formArea .checkArea a {
	color: #333;
}
.mw_wp_form_confirm .checkArea p {
	display: none;
}
.formArea .formTypeArea {
	padding: 5px 0 0 20px;
}
.formArea .formTypeArea label {
	display: block;
}
.formArea .filebox + .filebox {
	margin-top: 20px;
}
.formArea .filebox .ttl {
	margin-bottom: 5px;
}
.formArea .filebox .ttl span {
	color: #E50000;
}
.formArea .filebox .inFile {
	padding: 10px;
	background-color: #F7F7F7;
	border: #EBEBEB solid 1px;
}
.formArea .filebox .inFile input {
	cursor: pointer;
}

@media only screen and (max-width:767px) {
	.formArea dt {
		margin-bottom: 10px;
		font-size: 17px;
	}
	.formArea .textform {
		box-sizing: border-box;
		display: block;
		width: 100%;
		margin: 0;
		padding: 20px;
		font-size: 16px;
		background: #F7F7F7;
		border: none;
		border-radius: 0;
		outline: none;
		-webkit-appearance: none;
		-moz-appearance: none;
		appearance: none;
	}
	.formArea p + .textform {
		margin-top: 5px;
	}
	.formArea .textform + p {
		margin-top: 25px;
	}
	.formArea textarea.textform {
		height: 230px;
		resize: vertical;
	}
	.formArea .checkArea p {
		margin-top: 20px;
	}
	.formArea .formTypeArea {
		padding-left: 0;
	}
}



/* submitBtns
-------------------------------------------*/
.submitBtns {
	margin-top: 70px;
}
.submitBtns button {
	width: 100%;
	max-width: 400px;
	border: none;
	font-family: 'Noto Sans JP', 'ヒラギノ角ゴ Pro W3', 'Hiragino Kaku Gothic Pro', 'メイリオ', Meiryo, '游ゴシック', 'Yu Gothic', '游ゴシック体', 'YuGothic', 'ＭＳ Ｐゴシック', sans-serif;
	cursor: pointer;
}
.submitBtns button + button {
	margin-top: 15px;
}


/*************************************************

 confirm page

*************************************************/
.confirm .pageTitle,
.confirm .keyVisual,
.confirm .newRecruit,
.confirm #career,
.confirm .lead {
	display: none !important;
}

/*************************************************

 error page

*************************************************/
.errorpage .pageTitle,
.errorpage .keyVisual,
.errorpage .newRecruit,
.errorpage #career,
.errorpage .lead {
	display: none !important;
}




/*************************************************

 thanks page

*************************************************/
.complete .pageTitle,
.complete .keyVisual,
.complete .newRecruit,
.complete #career,
.complete .lead {
	display: none !important;
}

.thanksTxt {
	color: #767676;
	line-height: 2;
}
.thanksTxt p + p {
	margin-top: 2em;
}
.thanks .btn {
	margin-top: 80px;
}
.thanks .btn a {
	max-width: 320px;
}
@media only screen and (max-width:767px) {
	.thanks .btn {
		margin-top: 40px;
	}
}


.mw_wp_form .horizontal-item + .horizontal-item {
	margin: 0 !important;
}




