/* CSS Document */

@charset "UTF-8";

@import url('reset.css');
@import url('font.css');
@import url('g-navi.css');

/*----------------------------------------------------------------------
全体
-----------------------------------------------------------------------*/
body {
	background-color: #FFF;
}

a:hover.ro {
	opacity: 0.82;
	filter : alpha(opacity=82);
}

div.inner {
	width: 1100px;
	margin: 0 auto;
}

/*----------------------------------------------------------------------
ヘッダー
-----------------------------------------------------------------------*/
header.pc {
	position: fixed;
	top: 0;
	width: 100%;
	height: 126px;
	background-image: url(../images/com_img/header/bg.png);
	background-repeat: repeat-x;
	z-index: 1000;
}

header div.inner {
	position: relative;
	height: 126px;
}

header a.logo {
	position: absolute;
	top: 8px;
	left: 15px;
	width: 167px;
	height: 72px;
}

header a.recruit {
	position: absolute;
	top: 8px;
	right: 15px;
	width: 300px;
	height: 72px;
}

header a.logo img, header a.recruit img {
	width: 100%;
}

/*----------------------------------------------------------------------
グローバルナビ
-----------------------------------------------------------------------*/
nav {
	position: absolute;
	bottom: 6px;
	width: 100%;
	height: 34px;
}

nav ul {
	display: table;
	margin: auto;
}

nav ul li {
	float: left;
	margin: 0px 24px;
}

nav a {
	display: block;
	position: relative;
	height: 24px;
	padding: 6px 0px 4px;
	background-image: url(../images/com_img/header/fletche.png);
	background-position: center bottom 1px;
	color: #FFF !important;
	font-size: 116%;
	text-decoration: none;
}
nav a:hover {
	text-decoration: none !important;
}

nav a:after {
	content: "";
    position: absolute;
	left: 0;
	right: 0;
    bottom: 7px;
	border-bottom: 1px solid #CC0813;
}

header#container {
	position: relative;
}

header#container a.logo {
	position: fixed;
	width: 31.5vw;
	top: 1.7vw !important;
	left: 1.7vw !important;
}

header#container a.recruit {
	position: fixed;
	width: 42vw;
	top: 4vw !important;
	right: 19.8vw !important;
}

header#container a.logo img {
	width: 100%;
}

/*----------------------------------------------------------------------
spナビ
-----------------------------------------------------------------------*/
#navi {
  position: relative;
  margin: 0;
}
#menu {
  display: block;
  height: auto;
  margin: 0;
  padding: 0;
}
#menu li {
  float: left;
  width: 20%;
  text-align: center;
  position: relative;  /*z-indexの指定や子要素の基準とするために指定*/
  z-index: 1;  /*ドロップダウンしたメニューが隠れないように*/
}
#menu li a {
  padding: 0 20px 10px;
  border-top: none;
  border-right: none;
  background: none;
  color: #555555;
  display: inline-block;
  margin: auto;
  text-shadow: -1px 1px rgba(255, 255, 255, 0.8);
}
#menu li a:hover {
  background: none;
  color: #97C1F3;
}
#menu li a:active {
  color: #5687F8;
}
#menu li ul.sub-menu {
  display: none;  /*サブメニューは最初は非表示にしておく*/
  position: absolute;  /*絶対配置にしておかないとうまくいかない*/
  top: 2em;
  left: 30%;
}
#menu li:hover ul.sub-menu {
  display: block;    /*マウスオーバー時にサブメニューを表示する*/
}
#menu li ul.sub-menu li {
  float: none;  /*サブメニューはフロートさせないので解除*/
}
 
/*背景色などのカスタマイズ*/
.slicknav_nav li {
  border-top: 1px solid #FFF;
}
.slicknav_nav li:first-of-type {
  border-top: none;
}
.slicknav_menu .slicknav_icon-bar {
  background-color: #FFF !important;
}
.slicknav_menu a:hover {
  color: #FFF !important;
}
.slicknav_btn {
  background-color: #CECECE !important;
}
.slicknav_nav .slicknav_row:hover {
  background: #5C5656 !important;
}
.slicknav_nav a:hover {
  background: #5C5656 !important;
}
i.fa {
  font-size: 18px;
}
i.fa.fa-caret-right {
  display: none;
}
#menu {
  display: none;
}
@media screen and (min-width : 1800px) {
  body {
    margin: 0;
  }
  #content {
    margin: 0;
  }
  #menu {
    display: block;
  }
  .slicknav_menu {
    display: none;
  }
  i.fa.fa-caret-right {
    font-size: 14px;
    display: inline-block;
  }
}

div.slicknav_menu {
	width: 100%;
	position: fixed;
	background: none;
	padding-top: 18.6vw;
}

ul.slicknav_nav {
	height: 72.7vh;
	overflow-y: scroll;
}

header.sp {
	position: fixed !important;
	width: 100%;
	height: 17.3vw;
	background: #CECECE;
	z-index: 1000;
}

a.slicknav_btn {
	position: fixed !important;
	right: 0.9vw;
	top: 0vw;
}
/*----------------------------------------------------------------------
さらに追加
-----------------------------------------------------------------------*/
.slickmenuTop {
    display: block;
    position: fixed;
    width: 100%;
    top: 0;
    z-index: 100;
}
 
@media screen and (min-width : 1800px) {
  #navi {
    z-index: 100;
  }
  .menuTop {
    background: #fff;
    border-bottom: 1px solid #ccc;
    -webkit-box-shadow: 0 2px 4px rgba(0, 0, 0, 0.3);
    -moz-box-shadow: 0 2px 4px rgba(0, 0, 0, 0.3);
    box-shadow: 0 2px 4px rgba(0, 0, 0, 0.3);
    width: 100%;
    max-width: 960px;
    opacity: .90;    
  }
}

/*----------------------------------------------------------------------
さらに追加
-----------------------------------------------------------------------*/
.slicknav_nav a {
    color: #FFF !important;
}
.slicknav_menu .slicknav_icon {
    float: left;
    width: 1.125em;
    height: 0.875em;
    margin: 0.188em;
}
.slicknav_menu .slicknav_icon a {
    color: #CCC; }
	
.slicknav_menutxt {
	display: none !important;
}
.slicknav_nav {
	background: none !important;
}

.slicknav_nav ul {
	margin: 0px 8px 0px 14px;
}

.slicknav_nav li {
	background-color: #5C5656 !important;
	margin: 0 !important;
}

#menu {
	display: none;
}

/*----------------------------------------------------------------------
メイン
-----------------------------------------------------------------------*/
div#main {
    position: relative;
	width: 1060px;
	margin: 0 auto;
	padding: 126px 0px 90px;
	font-size: 116%;
	flex: 1;
}

div#main h1 {
	margin-top: 50px;
}
div#main h1._290 {
	width: 290px;
}
div#main h1._340 {
	width: 340px;
}
div#main h1._250 {
	width: 250px;
	margin-bottom: 40px;
}
div#main h1._280 {
	width: 280px;
}

div#main h1 img {
	width: 100%;
}

div#main p {
	width: 900px;
	margin: 15px 90px 20px;
	line-height: 1.75em;
	text-align: justify;
}

div#main h2 {
	display: inline-block;
	margin: 40px 0px 0px 73px;
	font-size: 1.9em !important;
	line-height: 1.4em;
}

div#main h3._02 {
	margin: 40px 0px 0px 73px;
	font-size: 1.5em !important;
	line-height: 1.4em;
}

/*----------------------------------------------------------------------
pagetop
-----------------------------------------------------------------------*/
#page-top {
	z-index: 200;
	position: fixed;
	bottom: 50px;
	right: 50px;
	width: 63.5px;
	height: 63.5px;
}
#page-top:hover {
	opacity: 0.8;
	-moz-opacity: 0.8;
	filter:alpha(opacity=80);
}

#page-top a {
	display: block;
	width: 63.5px;
	height: 63.5px;
}

#page-top a img {
	width: 100%;
}

/*----------------------------------------------------------------------
スタッフ募集バナー
-----------------------------------------------------------------------*/
a.bnr {
	z-index: 200;
	position: fixed;
	top: 220px;
	width: 81px;
	height: 408.5px;
	margin-left: 1100px;
}
a.bnr:hover {
	opacity: 0.8;
	-moz-opacity: 0.8;
	filter:alpha(opacity=80);
}

a.bnr img {
	width: 100%;
}

/*----------------------------------------------------------------------
フッター
-----------------------------------------------------------------------*/
footer {
	clear: both;
	width: 100%;
	height: 200px;
	margin-top: 13px;
	border-top: 26px solid #FFF;
	-moz-box-sizing: border-box;
	-webkit-box-sizing: border-box;
	-o-box-sizing: border-box;
	-ms-box-sizing: border-box;
	box-sizing: border-box;
	background-color: #0B0B0B;
}

footer div.inner {
	position: relative;
	width: 1100px;
	height: 186px;
	margin: 0 auto;
	color: #FFF;
	font-size: 116%;
	text-align: center;
}

footer img {
	width: 318px;
	margin: -14px 0px 6px;
}

footer address {
	display: inline-block;
}

footer span {
	margin-right: 1.5em;
	font-weight: bold;
	font-size: 18px;
}

p.copyright {
	margin-top: 4px;
	font-size: 13px;
}

/*----------------------------------------------------------------------
2019_0308レスポンシブ化
-----------------------------------------------------------------------*/
@media screen and (max-width: 736px) {
	header.pc, footer.pc, section.pc, br.pc {
		display: none;
	}

	header a.logo, header a.recruit  {
		height: auto !important;
	}
	
	div#main {
		width: 90%;
		padding: 17.3vw 5vw 5vw;
	}

	div#main h1 {
		margin-top: 40px;
}
	div#main h1._290 {
		width: 58vw;
	}
	div#main h1._340 {
		width: 68vw;
	}
	div#main h1._250 {
		width: 50vw;
		margin-bottom: 16px;
	}
	div#main h1._280 {
		width: 56vw;
	}

	div#main h2 {
		margin: 16px 0px;
		font-size: 20px !important;
	}

	div#main p {
		width: 100%;
		margin: 0 0 1.8em;
	}

	#page-top {
		bottom: 10vw;
		right: 7.5vw;
		width: 50px;
		height: 50px;
	}

	footer.sp {
		width: 100%;
		height: auto;
		padding: 22px 0px;
	}
	
	footer.sp img {
		width: 100%;
		margin: 0;
	}

	footer.sp div {
		text-align: center;
		color: #FFF;
	}
	
	footer.sp span {
		margin: 0;
	}
	
	footer address {
		display: table;
		margin: 0px auto 12px;
	}
}

@media screen and (min-width: 736px) {
	header.sp, footer.sp, section.sp, br.sp {
		display: none;
	}
}