@charset "utf-8";

/* -----------------------------------------------------------
	#header
		ヘッダー
----------------------------------------------------------- */

#header { height: 115px; background:#fff ; border-bottom: 8px solid #3366cc; border-top: 8px solid #3366cc; }

.headerInner{ width: 1200px; margin: 0 auto; }
.headerLogo img{ margin-top: 15px; }
.headerTel{ display: block; margin-bottom:-3px; }
.headerTel img{ width: 31px; height: 25px; margin-right: 10px; }
.headerTel a{ font-size: 3.2em; font-weight: bold; letter-spacing: 0.05em; line-height: normal; }
.headerTel a:link,.headerTel a:visited,.headerTel a:hover,.headerTel a:active{ color: #003a8f;}

.headerDayHours{ font-size: 1.4em; color: #fff; font-weight: bold; letter-spacing: 0.15em; line-height: normal;  text-align: center; display: block; background: #003a8f; border-radius:5px; padding: 0 0 2px 0; }

/* #gNav
----------------------------------------------------------- */
#header #gNav {
	overflow: hidden;
	margin-top: -95px; 
	float: right;
}

#header ul#gNav {
	display: flex;
	justify-content: flex-end;
}
#header ul#gNav li{
}
#header ul#gNav li a{
	display: block;
	padding: 50px 16px 0 16px;
	height: 40px;
	color: #000;
	font-size: 18px;
	font-weight: bold;
	font-family: "M PLUS 1p";
	border-left: 1px solid #ccc;
	text-align: center;
}

#header ul#gNav li:nth-child(1) a{ background: url("../img_re/share/gNav_1.png") center 10px no-repeat; }
#header ul#gNav li:nth-child(2) a{ background: url("../img_re/share/gNav_2.png") center 10px no-repeat; }
#header ul#gNav li:nth-child(3) a{ background: url("../img_re/share/gNav_3.png") center 10px no-repeat; }
#header ul#gNav li:nth-child(4) a{ background: url("../img_re/share/gNav_4.png") center 10px no-repeat; border-right: 1px solid #ccc;}


/*============
nav
=============*/
/*　ハンバーガーボタン　*/
.hamburger {
  display : block;
  position: fixed;
  z-index : 3;
  right : 15px;
  top   : 20px;
  width : 62px;
  height: 62px;
  cursor: pointer;
  text-align: center;
  background: rgba(0,58,143,0.9);
  border-radius: 6px; 
  color: #fff; 
}
.hamburger span {
  display : block;
  position: absolute;
  width   : 30px;
  height  : 2px ;
  left    : 15px;
  background : #fff;
  -webkit-transition: 0.5s ease-in-out;
  -moz-transition   : 0.5s ease-in-out;
  transition        : 0.5s ease-in-out;
}
.hamburger span:nth-child(1) {
  top: 10px;
}
.hamburger span:nth-child(2) {
  top: 20px;
}
.hamburger span:nth-child(3) {
  top: 30px;
}
.hamburger span:nth-child(4) {
  background : none;
  top: 35px; 
  left:10px;
}

/* ナビ開いてる時のボタン */
.hamburger.active{ 
  background: rgba(255,255,255,0.7);
}
.hamburger.active span:nth-child(1) {
  top : 22px;
  left: 16px;
  background : #333;
  -webkit-transform: rotate(315deg);
  -moz-transform   : rotate(315deg);
  transform        : rotate(315deg);
}

.hamburger.active span:nth-child(2),
.hamburger.active span:nth-child(3) {
  top : 22px;
  left: 16px;
  background : #333;
  -webkit-transform: rotate(-315deg);
  -moz-transform   : rotate(-315deg);
  transform        : rotate(-315deg);
}
.hamburger.active span:nth-child(4){
	color: #333; 
}

nav.gNavSpMenu {
  position: fixed;
  z-index : 2;
  top  : 0;
  left : 0;
  color: #fff;
  background: rgba(0,0,0,0.9);
  text-align: left;
  width: 100%;
  opacity: 0;
  transition: opacity .6s ease, visibility .6s ease;
  visibility: hidden;
}

nav.gNavSpMenu ul {
  margin: 0 auto;
  padding: 0;
  width: 100%;
}

nav.gNavSpMenu ul li {
  list-style-type: none;
  padding: 0;
  width: 100%;
  transition: .4s all;
  border-bottom: 1px solid #fff;
}
nav.gNavSpMenu ul li:last-child {
  padding-bottom: 0;
}
nav.gNavSpMenu ul li:hover{
  background :#0089e0;
}

nav.gNavSpMenu ul li a {
  display: block;
  color: #fff;
  padding: 10px 20px 10px 40px;
  font-size: 1.0em;
  text-decoration :none;
}
nav.gNavSpMenu ul li:first-child a { background: #3366cc; color: #fff; font-weight: bold; font-size: 12pt; padding: 10px 20px;}
nav.gNavSpMenu ul li.line { height: 5px; background: #fff;}

/* このクラスを、jQueryで付与・削除する */
nav.gNavSpMenu.active {
  opacity: 100;
  visibility: visible;
}

/* -- ふわっと表示 -- */
.sf 		{ opacity: 0; transition: all 1s	/*処理にかかる時間*/;}
.sf.done	{ opacity : 1; transform : translate(0, 0);}
.lf  		{ opacity: 0; transition: all 1s	/*処理にかかる時間*/;}
.lf.done	{ opacity : 1; transform : translate(0, 0);}

/* -----------------------------------------------------------
	#footer
		フッター
----------------------------------------------------------- */

#footerBnr { clear: both; background: #3366cc; }
.footerBnrInner{ display: block; width:1200px; margin:0 auto; padding: 35px 0; }

/* バナー */
ul.fBnr { margin: 0 auto; display:flex; }
ul.fBnr li{ display: block; margin: 0 25px 0 0 ; }
ul.fBnr li img{ max-width: 280px; max-height: 100px; }
ul.fBnr li:last-child{ margin: 0; }

#footer { clear: both; background: #000; }
.footerInner{ width:1200px; margin:0 auto; padding: 60px 0 100px 0; }

.footerName{ text-align:center; color: #fff; font-size: 26px; font-weight: bold; margin-bottom: 60px; }
.footerName img{ max-width: 240px; max-height: 40px;}
.copyright{ text-align:center; color: #fff; font-size: 14px;}

/* ナビ */
ul.fNav { display: flex; justify-content:center; flex-wrap: wrap; text-align: center; margin-bottom: 20px; }
ul.fNav li { display: inline-block; }
ul.fNav li:first-child a{ border-left: 2px solid #fff;}
ul.fNav li a{ display:block; padding: 0 30px ; color: #fff; font-size: 14px; border-right: 2px solid #fff; line-height: 1.2em; }

/* -----------------------------------------------------------
	#faq
		アコーディオン
----------------------------------------------------------- */

.faqBox{
    display: none;
	border-top: 2px solid #ccc;
}
.faqLabel{
    background: #fff;
    color: #333;
	font-size: 16pt;
	font-weight: 600; 
    display: block;
    margin-bottom: 0;
    padding: 23px 20px;
    position: relative;
	border-top: 2px solid #ccc;
	line-height: 1.5em; 
}
.faqLabel span{ font-size: 18pt; font-weight: 900; color: #3366cc; padding-right: 20px; }
.faqLabel:after{
    box-sizing: border-box;	
    padding: 10px 20px;
    position: absolute;
    right: 0;
    top: 10px;
	transition:all 0.5s ease; 
	
	content: '';/*何も入れない*/
	display: inline-block;/*忘れずに！*/
	width: 60px;/*画像の幅*/
	height: 60px;/*画像の高さ*/
	background: url("../img_re/page/icon_faqBox_off.png") 0 0 no-repeat;
	background-size: contain;
	vertical-align: middle;
	
}
.faqContent{
	background: #eee;
    display: block;
    height: 0;
    opacity: 0;
    padding: 0 10px;
    transition: .5s;
    visibility: hidden;
}
.faqBox:checked + .faqLabel:after{
	content: '';/*何も入れない*/
	display: inline-block;/*忘れずに！*/
	width: 60px;/*画像の幅*/
	height: 60px;/*画像の高さ*/
	background: url("../img_re/page/icon_faqBox_on.png") 0 0 no-repeat;
	background-size: contain;
	vertical-align: middle;
}
.faqBox:checked + .faqLabel + .faqContent{
    height: auto;
    opacity: 1;
    padding: 10px;
    visibility: visible;
}

/* -----------------------------------------------------------
	.pegetop
		ページトップ 
----------------------------------------------------------- */
.pageTop{
	display: none; /*通常は非表示に*/ }
.pageTop a{ 
	animation: move1 3s linear infinite;
	display:block;
	cursor:pointer;
    position: fixed; /*固定表示*/
    bottom: 20em;
    right: 2em;
	text-align:center;
	line-height: 1em;
	width: 100px; 
	height: 40px;
	padding-top: 70px; 
  	border-radius: 6px; 
	font-size: 12px;
	color: #fff; 
	background:rgba(51,102,204,0.8) url("../img_re/share/pagetop.png") 50% 10px no-repeat;
}
.pageTop a			{ color: #fff; }
.pageTop a:link 	{ color: #fff; background: #efd000; transition:all 0.5s ease; }
.pageTop a:visited	{ color: #fff; background: #efd000; }
.pageTop a:hover	{ color: #fff; background: #efd000 url("../img_re/share/pagetop.png") 50% 10px no-repeat; opacity: 0.6; filter: alpha(opacity=60); -moz-opacity:0.6; }

@media screen and (max-width: 1200px) {
	
	.pageTop a{ 
	animation: move1 3s linear infinite;
	display:block;
	cursor:pointer;
    position: fixed; /*固定表示*/
    bottom: 10px;
    right: 10px;
	line-height: 1em;
	width: 50px; 
	height: 20px;
	padding-top: 30px; 
  	border-radius: 6px; 
	font-size: 0;
	text-indent: -1000000px;
	color: #fff; 
	background:rgba(51,102,204,0.8) url("../img_re/share/pagetop.png") 50% 10px no-repeat; background-size:25px; 
}
.pageTop a:link,
.pageTop a:visited,
.pageTop a:hover	{ 
	background:rgba(51,102,204,0.8) url("../img_re/share/pagetop.png") 50% 10px no-repeat; background-size:25px; }
	
}