@charset "utf-8";

/******************************************
各ページ共通のスタイルを定義
*******************************************/

/* ----------------------------------------

再定義

---------------------------------------- */
html {
	overflow-y: scroll;
}
body {
	line-height: 1.7143;
	background-color: #fff;
	font-family: Verdana,"Hiragino Kaku Gothic Pro","ヒラギノ角ゴ Pro W3","メイリオ","Meiryo","ＭＳ Ｐゴシック","Helvetica Neue","Helvetica","Arial",sans-serif;
	color: #000;
	word-wrap: break-word;
}
a {
	color: #0c5f93;
	text-decoration: none;
}
@media screen and (min-width:768px){
	a:hover,
	a:visited:hover {
		text-decoration: underline;
	}
}
img {
	vertical-align: bottom;
	max-width: 100%;
	height: auto;
}
table {
	table-layout: fixed;
}
input[type="button"],select{cursor: pointer;outline: none;}
:focus::-webkit-input-placeholder {color: transparent;}/* Webkit */
:focus:-moz-placeholder {color: transparent;}/* Firefox 18 以前 */
:focus::-moz-placeholder {color: transparent;}/* Firefox 19 以降 */
::-webkit-input-placeholder {color: #888; opacity: 1;}
:-moz-placeholder {color: #888; opacity: 1;}
::-moz-placeholder {color: #888; opacity: 1;}
input[type="submit"],
input[type="button"] {
	-webkit-appearance: button;
	appearance: button;
}
body ::-webkit-scrollbar { width: 12px;}
body ::-webkit-scrollbar-track { background: #f1f1f1;}
body ::-webkit-scrollbar-thumb,
body ::-webkit-scrollbar-thumb:window-inactive { background: #bcbcbc;}
@media screen and (max-width:769px){
	body ::-webkit-scrollbar { width: 8px;}
}

@media screen and (min-width:768px){
	a[href^="tel:"] {
		cursor: default;
		text-decoration: none;
		pointer-events: none;
	}
}
@media screen and (max-width:769px){
	body {
/*		line-height: 1.464;*/
	}
	input,select,textarea {
		font-size: 16px;
	}
}

a{
	color: #000;
}
@media screen and (min-width:768px){
	a:hover img{
		opacity: 0.6;
	}
}

/* ----------------------------------------

container

---------------------------------------- */
#container {
	margin: 0 auto;
	/*font-size: 100%;  fontsize 13px */
	font-size: 107.7%; /* fontsize 14px */
	min-width: 1000px;
	overflow: hidden;
}
@media screen and (max-width:769px){
	#container {
		padding-top: 80px;
		min-width: 320px;
	}
	.fix_anc{
		margin-top: -80px;
		padding-top: 80px;
	}
}

/*
**
子要素のフォントサイズ指定は以下を参照
http://bueltge.de/test/emchart.html
例)
基準フォントサイズが13pxで、
特定の要素を12pxにしたい時は92.4%と指定
**
*/

/* ----------------------------------------

header

---------------------------------------- */
.hdr {
	padding-top: 38px;
	padding-bottom: 28px;
}
.hdr .inner{
	background: #fff;
	box-sizing: border-box;
}
.hdr .logo{
	float: left;
	width: 324px;
}
.hdr .btn1{
	float: right;
	margin-left: 20px;
}
.hdr .btn2{
	float: right;
	padding-top: 10px;
}
.hdr .btn01_txt{
	padding-top: 10px;
	padding-bottom: 10px;
}
.hdr .menu{
	float: right;
	background: url(/recruit/files/img/common/btn_close.jpg) no-repeat left top;
	background-size: 100% 100%;
	cursor: pointer;
}
.hdr.open .menu img{
	opacity: 0;
}

@media screen and (min-width:768px){
	.hdr .nav{
		margin-top: 40px;
	}
	.hdr .nav_list{
		display: table;
		width: 100%;
		table-layout: auto;
		border-collapse: collapse;
	}
	.hdr .nav_item{
		display: table-cell;
		border-left: 1px solid #ddd;
		border-right: 1px solid #ddd;
		text-align: center;
	}
	.hdr .nav a{
		position: relative;
		display: block;
		padding: 10px;
	}
	.hdr .nav a:after{
		content: "";
		position: absolute;
		display: block;
		bottom: 0;
		right: 0;
		left: 0;
		width: 60px;
		height: 2px;
		margin: 0 auto;
	}
	.hdr .nav a:hover,
	body.page_market .hdr .nav_item:nth-child(1) a,
	body.page_message .hdr .nav_item:nth-child(2) a,
	body.page_vision .hdr .nav_item:nth-child(3) a,
	body.page_staff .hdr .nav_item:nth-child(4) a,
	body.page_environment .hdr .nav_item:nth-child(5) a,
	body.page_shoplist .hdr .nav_item:nth-child(6) a,
	body.page_talent .hdr .nav_item:nth-child(7) a,
	body.page_requirements .hdr .nav_item:nth-child(8) a{
		color: #0088ee;
		text-decoration: none;
	}
	.hdr .nav a:hover:after,
	body.page_market .hdr .nav_item:nth-child(1) a:after,
	body.page_message .hdr .nav_item:nth-child(2) a:after,
	body.page_vision .hdr .nav_item:nth-child(3) a:after,
	body.page_staff .hdr .nav_item:nth-child(4) a:after,
	body.page_environment .hdr .nav_item:nth-child(5) a:after,
	body.page_shoplist .hdr .nav_item:nth-child(6) a:after,
	body.page_talent .hdr .nav_item:nth-child(7) a:after,
	body.page_requirements .hdr .nav_item:nth-child(8) a:after{
		background: #0088ee;
	}
}

@media screen and (max-width:769px){
	.hdr{
		padding: 0;
	}
	.hdr .inner{
		position: fixed;
		top: 0;
		left: 0;
		width: 100%;
		min-width: 320px;
		min-height: 80px;
		padding-top: 16px;
		padding-bottom: 16px;
		border-bottom: 1px solid #ccc;
		z-index: 5000010;
	}
	.hdr .logo{
		width: 227px;
		max-width: 70%;
	}
	.hdr .nav{
		display: none;
		position: fixed;
		top: 80px;
		left: 0;
		width: 100%;
		min-width: 320px;
		height: 120%;
		text-align: center;
		background: #f1faff;
		z-index: -1;
	}
	.hdr.open .nav{
		display: block;
		z-index: 5000000;
	}
	.hdr .nav_list{
		margin-bottom: 15px;
	}
	.hdr .nav_list a{
		display: block;
		padding: 2% 10px;
		border-bottom: 1px solid #ccc;
		font-size: 16px;
		font-weight: bold;
	}
	.hdr .spbtn1{
		margin-bottom: 15px;
		font-weight: bold;
	}
}

/* noscript
------------------------------- */
#noscript {
	margin-bottom: 15px;
	padding: 0.5em 1em;
	border: 2px solid #ccc;
	color: #333;
	-webkit-box-sizing: border-box;
	-moz-box-sizing: border-box;
	box-sizing: border-box;
}

/* ----------------------------------------

content

---------------------------------------- */
#content {
	padding-bottom: 130px;
}

@media screen and (max-width:769px){
	#content {
		padding-bottom: 100px;
	}
}

/* topicPath
------------------------------- */
#topicPath {
}
#topicPath li {
	display: inline;
	padding-right: 4px;
}
#topicPath li:before {
	content: '＞';
	margin-right: 5px;
	font-size: 69.2%;
	vertical-align: middle;
}
#topicPath li#topPage {
	padding-left: 0;
	background: none;
}
#topicPath li#topPage:before {
	content: none;
}
@media screen and (max-width:769px){
	#topicPath ol {
		padding-right: 10px;
		padding-left: 10px;
	}
}


/* ----------------------------------------

content - main

---------------------------------------- */
#main {
}


/* ----------------------------------------

content - sub

---------------------------------------- */
#sub {
}


/* ----------------------------------------

footer

---------------------------------------- */
#footer {
	position: relative;
}
.ftr .inquiry{
	padding: 35px 0;
	color: #fff;
	background: #0069b8;
}
.ftr .inquiry_title{
	margin-bottom: 10px;
	padding-bottom: 10px;
	border-bottom: 1px solid;
	font-size: 26px;
}
.ftr .inquiry_bnr{
	position: absolute;
	top: 0;
	right: 0;
	background: #0069b8;
}
.ftr .navi{
	padding-top: 35px;
	padding-bottom: 35px;
}
.ftr .navi:after{
	content: " ";
	display: block;
	clear: both;
}
.ftr .navi li{
	float: left;
	margin-left: 32px;
	box-sizing: border-box;
}
.ftr .navi li:first-child{
	margin-left: 0;
}
.ftr .btm{
	border-top: 1px solid #ccc;
}
.ftr .link{
	position: relative;
	float: right;
}
.ftr .link_bg{
	padding: 20px 0 20px 80px;
	background: url(/recruit/files/img/common/bg_foot_btm.png) no-repeat left top;
	background-size: auto 100%;
	z-index: 1;
}
.ftr .link:after{
	content: "";
	position: absolute;
	top: 0;
	left: 0;
	width: 10000px;
	height: 100%;
	background: #f3f3f3;
	z-index: -1;
}
.ftr .btm .btn02_arrow{
	padding-left: 20px;
}
.ftr .copyright{
	padding-top: 20px;
}

@media screen and (max-width:769px){
	.ftr .inquiry_txt{
		margin-bottom: 35px;
	}
	.ftr .inquiry_bnr{
		position: static;
		text-align: center;
	}
	.ftr .inquiry_bnr img{
		width: 340px;
	}
	.ftr .navi{
		padding: 0;
	}
	.ftr .navi li{
		width: 50%;
		margin: 0;
		border-bottom: 1px solid #ccc;
	}
	.ftr .navi li:nth-child(2n+1){
		clear: both;
		border-right: 1px solid #ccc;
	}
	.ftr .navi a{
		display: block;
		padding: 15px 0 15px 5%;
	}
	.ftr .link{
		float: none;
	}
	.ftr .link_bg{
		padding: 15px 5px 15px 2.5%;
		background: #f3f3f3;
	}
	.ftr .copyright{
		padding: 15px 0 15px 2.5%;
		font-size: 12px;
	}
}

/* pagetop
------------------------------- */
.pagetop{
	position: absolute;
	top: -50px;
	right: 0;
}

@media screen and (max-width:769px){
	.pagetop{
		right: 5%;
		top: -48px;
	}
}

/*
#pagetop {
	z-index: 100;
	position: absolute;
	right: 10px;
}
#pagetop a {
	display: block;
	position: relative;
	width: 50px;
	height: 50px;
	background-color: #333;
	color: #fff;
	text-decoration: none;
	border-radius: 100%;
}
#pagetop span { display: none; }
#pagetop .fa {
	position: absolute;
	font-size: 110%;
	left: 50%;
	top: 50%;
	margin-top: -.5em;
	margin-left: -.5em;
}
@media screen and (max-width:769px){
	#pagetop a {
		width: 40px;
		height: 40px;
	}
	#pagetop .fa {
		font-size: 85.7%;
	}
}
*/


/* ----------------------------------------

clearfix

---------------------------------------- */

/* Modern Browsers
------------------------------- */
.clearfix:after {
	display: block;
	visibility: hidden;
	clear: both;
	height: 0;
	content: ".";
	line-height: 0;
}

/* Legacy IE
------------------------------- */
.clearfix {
	*zoom: 1;
}