@charset "UTF-8";

/* Common Style
==================================================================================== */
html, body, div, span, applet, object, iframe, h1, h2, h3, h4, h5, h6, p, blockquote, pre, a, abbr, acronym, address, big, cite, code, del, dfn, em, img, ins, kbd, q, s, samp, small, strike, strong, sub, sup, tt, var, b, u, i, center, dl, dt, dd, ol, ul, li, fieldset, form, label, legend, table, caption, tbody, tfoot, thead, tr, th, td, article, aside, canvas, details, embed, figure, figcaption, footer, header, hgroup, menu, nav, output, ruby, section, summary, time, mark, audio, video {
  margin: 0;
  padding: 0;
  border: 0;
  font: inherit;
  vertical-align: baseline;
  font-family: "游ゴシック Medium", "Yu Gothic Medium", "游ゴシック体", YuGothic, Hiragino Sans, 'ヒラギノ角ゴ ProN W3', Hiragino Kaku Gothic ProN,  sans-serif;
}
html { font-size:62.5%; } /* 10px */
section{font-size: 1.6rem}
.all_wrapper{
  overflow: hidden;  
}

.all_wrapper img {
  width: 100%;
  height: auto;
}

.clearfix:before,
.clearfix:after {
  display: table;
  content: " ";
}
.clearfix:after {
  clear: both;
}

a:link {
	text-decoration: none;
}
a:visited {
	text-decoration: none;
}
a:hover {
    -webkit-transition: all 0.3s ease;
    -moz-transition: all 0.3s ease;
    -o-transition: all 0.3s ease;
    transition: all  0.3s ease;
	opacity: 0.7;
}
a:active {
}
.text-center {
  text-align: center;
}

.block_center {
  margin-left:auto;
  margin-right:auto;
}
.relative {
  position: relative;
}
.absolute {
  position: absolute;
}

li {list-style: none;}

@media screen and (min-width: 769px)  {
	.pcOnly {display: block;}
	.spOnly {display: none;}
	.container  {
		width: 90%;
		max-width: 1000px;
		margin: auto;
	}
}
@media screen and (max-width: 768px)  {
	.spOnly {display: block;}
	.pcOnly {display: none;}
	.container  {width: 95%;margin: auto;}
}



/* ***** header下層ページ用 ********** */
/*----PC/Tablet----*/
.sub-header{
    background: #000;
    display: flex;
    position: fixed;
    justify-content: center;
    width: 100%;
    top: 0;
	z-index: 9999;
}
h1{
  margin: 5px 200px 0 0px;
}
h1 a,h1 a:visited{
	color: #fff;
}
h1 a:hover {
	color: #f8d40c;
	opacity: inherit;
}

h1.logo {
	width: 100px;
	height: 50px;
	/*margin: 10px 20px 10px 0;*/
	margin: 2px 0 0 0;
}
nav.gnav {
}
ul.gnav__menu {
	display: flex;
	justify-content: space-between;
	/*margin: 10px 0 10px 0;*/
}
ul.gnav__menu li {
	margin: 10px 40px 10px 0;
	font-size: 16px;
	line-height: 1.4;
	color: #000;
}
ul.gnav__menu li:nth-child(6) {
	/*padding-left: 22px;*/
	/*background: url(../images/icon_cart_w.png) top left no-repeat;*/
	/*background-size: 17px auto;*/
}
ul.gnav__menu li:last-child {
	margin: 6px 0 0 0;
}
.gnav__menu li a, .gnav__menu li a:visited {
	color: #fff;
}
h1.logo a:hover, .gnav__menu li a:hover {
	color: #f8d40c;
	opacity: inherit;
}
.gnav__menu li:last-child a:hover {
	opacity: 0.7;
}

/* social icon */
.social-nav {
  display: table;
}
.social-nav li {
  display: table-cell;
	vertical-align: top;
	width: 50%;
	padding: 0 5px;
}
.social-nav .icon-facebook {
  display: inline-block;
  width: 28px;
  height: 28px;
  *display: inline;
  *zoom: 1;
	background: url("../images/icon_facebook.png") top left no-repeat;
	background-size: 28px auto;
}
.social-nav .icon-twitter {
  display: inline-block;
  width: 28px;
  height: 28px;
  *display: inline;
  *zoom: 1;
	background: url(../images/icon_twitter.png) top left no-repeat;
	background-size: 28px auto;
}
.social-nav .icon-instergram {
  display: inline-block;
  width: 28px;
  height: 28px;
  *display: inline;
  *zoom: 1;
	background: url(../images/icon_instagram.png) top left no-repeat;
	background-size: 28px auto;
}
	@media screen and (max-width: 1040px)  {
    h1{
      margin: 5px 100px 0 0px;
    }
		h1.logo {
			width: 100px;
			height: 50px;
			/*margin: 10px 10px 0 0;*/
		}
		nav.gnav {
			backgrond: #000;
		}		
		ul.gnav__menu li {
    	margin: 10px 40px 10px 0;
		}
	}
	@media screen and (max-width: 920px)  {
    h1{
      margin: 5px 50px 0 0px;
    }
		h1.logo {
			/*margin: 10px 10px 0 0;*/
		}
		ul.gnav__menu {
			display: flex;
			justify-content: left;
			flex-wrap: wrap;
		}
		ul.gnav__menu li {
    	margin: 10px 20px 10px 0;
			/*width: 20% !important;*/
		}
	}

/*----SP----*/
#spHeader {
	background: #333;
    /*background-image: url(../images/black-alpha-bg.png);
    background-color:rgba(255,255,255,0.2);*/
	width: 100%;
	height: 42px;
	position: fixed;
	z-index: 9999;
}	
	
#nav-drawer {
  position: relative;
	float: left;
	width: 20%;
	max-width: 30px;
	margin: 8px 0 0 15px;
}

/*チェックボックス等は非表示に*/
.nav-unshown {
  display:none;
}

/*アイコンのスペース*/
#nav-open {
  display: inline-block;
  width: 30px;
  height: 20px;
  vertical-align: middle;
}

/*ハンバーガーアイコンをCSSだけで表現*/
#nav-open span, #nav-open span:before, #nav-open span:after {
  position: absolute;
  height: 2px;/*線の太さ*/
  width: 20px;/*長さ*/
  border-radius: 3px;
  background: #fff;
  display: block;
  content: '';
  cursor: pointer;
}
#nav-open span:before {
  bottom: -8px;
}
#nav-open span:after {
  bottom: -16px;
}

/*閉じる用の薄黒カバー*/
#nav-close {
  display: none;/*はじめは隠しておく*/
  position: fixed;
  z-index: 99;
  top: 0;/*全体に広がるように*/
  left: 0;
  width: 100%;
  height: 100%;
  background: black;
  opacity: 0;
  transition: .3s ease-in-out;
}

/*中身*/
#nav-content {
  overflow: auto;
  position: fixed;
  top: 0;
  left: 0;
  z-index: 10000;/*最前面に*/
  width: 70%;/*右側に隙間を作る（閉じるカバーを表示）*/
  max-width: 250px;/*最大幅（調整してください）*/
  height: 100%;
  background: #333;/*背景色*/
	color: #fff;
  transition: .3s ease-in-out;/*滑らかに表示*/
  -webkit-transform: translateX(-105%);
  transform: translateX(-105%);/*左に隠しておく*/
}

#nav-content .dropmenu_lineup {
	font-size: 15px;
	line-height: 1;
	color: #fff !important;
	text-align: left;

}
#nav-content .dropmenu_lineup li {
	list-style: none;
	border-bottom: solid 1px #ccc;
	padding: 15px 0 15px 25px;
}
	
/*チェックが入ったらもろもろ表示*/
#nav-input:checked ~ #nav-close {
  display: block;/*カバーを表示*/
  opacity: .5;
}

#nav-input:checked ~ #nav-content {
  -webkit-transform: translateX(0%);
  transform: translateX(0%);/*中身を表示（右へスライド）*/
  box-shadow: 6px 0 25px rgba(0,0,0,.15);
}
.spHeader {
	float: left;
	width: 80%;
	margin: 0 0 0 10px;
}
.header_Left {
	float: left;
}
.header_Left img {
	height: 30px;
	width: auto;
}
.header_Right {
	float: right;
	height: 30px;
	padding-top: 7px;
	vertical-align: top;
}
.dropmenu_lineup a, .dropmenu_lineup a:visited {
	color: #fff;
}
.dropmenu_lineup a:hover {
	color: #f8d40c;
}



/* ***** 全ページ共通フッター ********** */

/*----PC/Tablet----*/
footer {
	background: #333;
	padding: 5px 0;
}

footer .container {
	display: table;
}
.footer_left {
	display: table-cell;
	width: 65%;
	max-width: 650px;
	vertical-align: top;
}

.footer_logo {
	display: inline-block;
	width: 210px;
	vertical-align: top;
	margin-right: 45px;
}
.footer_onlinestore {
	display: inline-block;
	width: 140px;
	vertical-align: top;
	margin-right: 35px;
	padding-top: 5px;
}
.footer_sns {
	display: inline-block;
	width: 90px;
	vertical-align: top;
}

footer .icon-facebook, footer .icon-twitter, footer .icon-instergram {
	width: 38px !important;
	height: 38px !important;
	background-size: 38px auto !important;
}
footer .page_links {
	margin-top: 20px;
	font-size: 14px;
	line-height: 1.6;
	color: #fff;
}
footer .page_links p {
	margin-top: 10px;
	font-size: 14px;
	line-height: 1.6;
	color: #fff;
}

.footer_right {
	display: table-cell;
	width: 35%;
	max-width: 350px;
	vertical-align: top;
}
.footer_right p {
	font-size: 15px;
	line-height: 1.7;
	color: #fff;
	margin-bottom: 15px;
}
.footer_contact_link {
	background: #fff;
	padding: 10px 40px;
	font-size: 17px;
	color: #000 !important;
}
.footer_contact_link:hover {
	background: #f8d40c;
	color: #000;
	opacity: inherit;
}

.copyright {
	display: block;
	font-size: 1.4rem;
	color: #fff;
	letter-spacing: 0.03em;
	text-align: center;
}

footer a, footer a:visited {
	color: #fff;
}
footer a:hover {
	color: #f8d40c;
}
footer .page_links a:hover, footer .footer_right a:hover {
	opacity: inherit;
}

/*----SP----*/
	@media screen and (max-width: 768px)  {
		.footer_left {
			display: block;
			width: 100%;
			margin-left: 10px;
		}
		.footer_right {
			display: block;
			width: 100%;
			max-width: 100%;
			margin-top: 30px;
			margin-left: 10px;
		}
	}
/*
	@media screen and (max-width: 480px)  {
		footer {
			padding: 30px 0;
		}
		.footer_logo {
			display: block;
		}
		.copyright {
			margin-top: 15px;
			font-size: 12px;
		}
	}
*/
/*レックフィッシュ用追加*/
section{
  margin-bottom: 200px;
}
#company table{
  width: 100%;
}
.top_menu{
  margin-top: 100px;
}
.top_menu .container div{
  float: left;
  margin-bottom: 20px;
}
.top_menu .container div:nth-child(odd){
  margin-right: 20px;
}
.companydata th,.companydata td{
  vertical-align: middle;
  padding: 3px 0;
}
.floatbox{
  float: left;
  width: 50%;
  margin-bottom: 30px;
  box-sizing: border-box;
}
.floatbox img{
  max-width: 400px;
}
.floatbox2{
  float: left;
  width: 18%;
}
.floatbox3{
  float: left;
  width: 2.5%;
}
@media screen and (max-width: 1024px)  {
.floatbox img{
  max-width: 330px;
}  
}
@media screen and (max-width: 768px)  {
  section{
    margin-bottom: 150px;
  }
  .floatbox{
    width: 100%;
  }
}

#page-top {
	position: fixed;
	z-index: 9999;
	bottom: 10px;
	right: 10px;
	font-size: 30px;
  line-height: 30px;
  font-weight: bold;
}
#page-top a {
	background: #665e53;
	text-decoration: none;
	color: #fff;
	padding:3px 10px;
	text-align: center;
	display: block;
	-moz-opacity: 0.3;
	opacity: 0.3;
  border-radius: 5px; 
  transform: rotate( 90deg );
}
#page-top a:after {
    content: "\0ab";
}
#page-top a:hover {
	text-decoration: none;
	background: #999;
	color: #fff;
}
@media screen and (max-width: 768px)  {
  section{
    margin-bottom: 150px;
  }
  .floatbox{
    width: 100%;
  }
  #page-top a {
  	font-size: 25px
  }
}
#recruit p{
  text-align: center;
  margin-bottom: 20px;
}
.btn-push {
  display: inline-block;
  width: 300px;
  max-width: 300px;
  text-align: center;
  background-color: #03C2FF;
  font-size: 16px;
  color: #FFF;
  text-decoration: none;
  font-weight: bold;
  padding: 10px 24px;
  border-radius: 4px;
  border-bottom: 4px solid #0080FF;
}
#recruit p.recruitdata{
  max-width: 640px;
  margin: 0 auto 20px auto;
  text-align: left;
}
#recruit h2{
  padding-top: 35px;
}