@charset "utf-8";
/* CSS Document */
/* ===================================================
Style Common
=================================================== */

/* ------------------------------
Reset
------------------------------ */
html, body, div, span, object, iframe,
h1, h2, h3, h4, h5, h6, p, blockquote, pre,
abbr, address, cite, code,
del, dfn, em, img, ins, kbd, q, samp,
small, strong, sub, sup, var,
b, i,
dl, dt, dd, ol, ul, li,
fieldset, form, label, legend,
table, caption, tbody, tfoot, thead, tr, th, td,
article, aside, canvas, details, figcaption, figure, 
footer, header, hgroup, menu, nav, section, summary,
time, mark, audio, video {
  margin: 0;
  padding: 0;
  border: 0;
  outline: 0;
  font-size: 100%;
  vertical-align: baseline;
  background: transparent;
  word-break: break-all;
  box-sizing: border-box;
}
 
 /* ------------------------------
Layout
------------------------------ */
/* Base */
body{
	width:100%; 
	word-wrap:break-word;
	overflow-wrap:break-word;
	font-size: 14px;
	width: 100%;
	font-family: 'メイリオ', 'Meiryo' , 'ヒラギノ角ゴシック Pro', 'Noto Sans JP' , 'Roboto' , 'Hiragino Kaku Gothic Pro', Osaka, 'ＭＳ Ｐゴシック', 'MS PGothic', sans-serif;
	font-weight: normal;
	line-height: 18px;
	color: #1e1e1e;
}

ul, ol {list-style:none;}
img {vertical-align: bottom; max-width: 100%; height: auto;}
a { text-decoration: none;}
section { float:left; width:100%; margin-bottom:20px; }
section#newsWrap { float:left; width:100%; background:url('../../../images/main/news_bg.jpg'); padding:10px 0; }
section#accessWrap { float:left; width:100%; background:#f4f4f4; padding:40px 0; }
section.paddingTop30{ float:left; width:100%; padding-top:30px; margin-bottom:20px; }

input, select { vertical-align: middle;}
li {list-style:none; }

/* ------------------------------
Clearfix
------------------------------ */
.clearfix:before,
.clearfix:after {
	content: " ";
	display: table;
}

.clearfix:after{clear: both;}
.clearfix{*zoom: 1;}


/* Header */
#head_in { padding: 10px; background:#fff; }
#seo { width:100%; padding:5px; color:#fff; text-align:center; background:#c31b28; }
#logo {position:relative; margin:auto; width:60%;float:left; top:0; left:0; }
#head-mail {position:relative;width: 50%;float: left;top:5px; left:0; text-align:center; }

/* head_menu */
#head_menu {float: right;margin: 0 0 3px 0;height: 50px;width: 50px;}
#head_menu #showMenu {position: relative; margin: 0; display: block; height: 50px;}

#head_menu #showMenu:hover { background: #fafafa;}

#head_menu #panel-btn-icon {
  display: block;
  position: absolute;
  top: 0;
  left: 17px;
  width: 40px;
  height: 7px;
  margin: -1px 0 0 -7px;
  background: #7e100f;
  transition: .2s;
}

#head_menu #panel-btn-icon:before, #panel-btn-icon:after {
  display: block;
  content: '';
  position: absolute;
  top: 50%;
  left: 0;
  width: 40px;
  height: 7px;
  background: #7e100f;
  transition: .3s;
}

#head_menu #panel-btn-icon:before {
  margin-top: -17px;
}

#head_menu #panel-btn-icon:after {
  margin-top: 9px;
}

#head_menu #panel-btn .close {
  background: transparent;
}

#head_menu #panel-btn .close:before, #panel-btn .close:after {
  margin-top: 0;
}

#head_menu #panel-btn .close:before {
  transform: rotate(-45deg);
  -webkit-transform: rotate(-45deg);
}

#head_menu #panel-btn .close:after {
  transform: rotate(-135deg);
  -webkit-transform: rotate(-135deg);
}


header {
	top: 0;
	z-index: 2;
	width: 100%;
}

#header-bg { float:left; width:100%; }
#header-bg img { width:100%; }


/* h1 h2*/
h1 { font-size: 10px; font-weight: normal; line-height:14px; }
h2 { font-size:16px;  }

.titleWrap { display: flex; justify-content:center; }
.titleWrap .title { display: block; text-align:center; font-size:20px; letter-spacing:1.4px; margin:20px 0 15px; }
.titleWrap .title span { display: block; box-sizing: border-box; text-align:center; font-size:14px; font-weight:normal; letter-spacing:1.2px; }

/* footer */

#footer_info {
	text-align: center;
	border-top: 2px dotted #898d98;
	padding-top: 30px;
}

#footer_info dt {
	font-size: 20px;
	position: relative;
	margin: 0 0 10px;
}

#footer_info dt:before {
	content: "";
	position: absolute;
	left: 32.5%;
	bottom: 0;
	display: inline-block;
	width: 130px;
	height: 1px;
	background-color: #666161;
}

#footer_info dd {
	font-size:20px;
	margin: 0 0 20px;
}

#footer_btns li {
	padding: 15px;
}


/* pagetop */
#pagetop {
	width: 15%;
	position: fixed;
	bottom: 10px;
	right: 5%;
  cursor: pointer;
  z-index:1001; 
}

#pagetop a {
  display: block;
}

#pagetop img {
	width: 100%;
}


/* copyright */
#copyright {
	float:left; 
	width:100%; 
	font-size: 10px;
	text-align: center;
	padding: 10px;
	color:#fff;
	background: #28282d;
}

#copyright a {
	color: #fff;
}


/* nav menu */
nav#menu h2 {
    font-weight: 900;
    line-height: 1.5;
    margin: 0 0 2em 0;
    text-transform: uppercase;
    font-size: 18px;
    color: #fff;
    text-align: left;
	font-family: "メイリオ","ヒラギノ角ゴ Pro W3","Hiragino Kaku Gothic Pro",Meiryo,Osaka,"ＭＳ Ｐゴシック","MS PGothic",sans-serif;
}

#menu {
		-moz-transform: translateX(22em);
		-webkit-transform: translateX(22em);
		-ms-transform: translateX(22em);
		transform: translateX(22em);
		-moz-transition: -moz-transform 0.45s ease, visibility 0.45s;
		-webkit-transition: -webkit-transform 0.45s ease, visibility 0.45s;
		-ms-transition: -ms-transform 0.45s ease, visibility 0.45s;
		transition: transform 0.45s ease, visibility 0.45s;
		position: fixed;
		top: 0;
		right: 0;
		width: 22em;
		max-width: 80%;
		height: 100%;
		-webkit-overflow-scrolling: touch;
		background: #c31b28;
		color: #000;
		cursor: default;
		visibility: hidden;
		z-index: 10002;
}

#menu > .inner {
  -moz-transition: opacity 0.45s ease;
  -webkit-transition: opacity 0.45s ease;
  -ms-transition: opacity 0.45s ease;
  transition: opacity 0.45s ease;
  -webkit-overflow-scrolling: touch;
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  padding: 2.75em;
  opacity: 0;
  overflow-y: auto;
}

#menu > .inner > ul {
  list-style: none;
  margin: 0 0 1em 0;
  padding: 0;
}

#menu > .inner > ul > li {
  padding: 0;
  border-top: solid 1px rgba(0, 0, 0, 0.15);
}

#menu > .inner > ul > li a {
  display: block;
  padding: 1em 0;
  line-height: 1.5;
  border: 0;
  color: inherit;
  color: #fff;
  font-size:1.2em; 
}

#menu > .inner > ul > li a span {
  font-size:8px; 
  color: #fff;
}

#menu > .inner > ul > li a i {
	color: #fff;
	margin-right: 10px;
}

#menu > .inner > ul > li:first-child {
  border-top: 0;
  margin-top: -1em;
}

#menu > .close {
  -moz-transition: opacity 0.45s ease, -moz-transform 0.45s ease;
  -webkit-transition: opacity 0.45s ease, -webkit-transform 0.45s ease;
  -ms-transition: opacity 0.45s ease, -ms-transform 0.45s ease;
  transition: opacity 0.45s ease, transform 0.45s ease;
  -moz-transform: scale(0.25) rotate(180deg);
  -webkit-transform: scale(0.25) rotate(180deg);
  -ms-transform: scale(0.25) rotate(180deg);
  transform: scale(0.25) rotate(180deg);
  -webkit-tap-highlight-color: transparent;
  display: block;
  position: absolute;
  top: 2em;
  left: -6em;
  width: 6em;
  text-indent: 6em;
  height: 3em;
  border: 0;
  font-size: 1em;
  opacity: 0;
  overflow: hidden;
  padding: 0;
  white-space: nowrap;
}

#menu > .close:before, #menu > .close:after {
  -moz-transition: opacity 0.2s ease;
  -webkit-transition: opacity 0.2s ease;
  -ms-transition: opacity 0.2s ease;
  transition: opacity 0.2s ease;
  content: '';
  display: block;
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background-position: center;
  background-repeat: no-repeat;
  background-size: 2em 2em;
}

#menu > .close:before {
  background-image: url('../../images/close_menu.png');
  opacity: 0;
}

#menu > .close:after {
  background-image: url('../../images/close_menu.png');
  opacity: 1;
}

#menu > .close:hover:before {
  opacity: 1;
}

#menu > .close:hover:after {
  opacity: 0;

}


#menu {
  -moz-transform: translateX(16.5em);
  -webkit-transform: translateX(16.5em);
  -ms-transform: translateX(16.5em);
  transform: translateX(16.5em);
  width: 16.5em;
}

#menu > .inner {
  padding: 2.75em 1.5em;
}

#menu > .close {
  top: 2.2em;
  left: 11em;
  width: 3.2em;
  text-indent: 3.2em;
}

#menu > .close:before, #menu > .close:after {
  background-size: 1.5em 1.5em;
  color: #fff;
}


body.is-menu-visible #wrapper {
  -moz-pointer-events: none;
  -webkit-pointer-events: none;
  -ms-pointer-events: none;
  pointer-events: none;
  cursor: default;
  opacity: 0.25;
}

body.is-menu-visible #menu {
  -moz-transform: translateX(0);
  -webkit-transform: translateX(0);
  -ms-transform: translateX(0);
  transform: translateX(0);
  visibility: visible;
}

body.is-menu-visible #menu > * {
  opacity: 1;
}

body.is-menu-visible #menu .close {
  -moz-transform: scale(1.0) rotate(0deg);
  -webkit-transform: scale(1.0) rotate(0deg);
  -ms-transform: scale(1.0) rotate(0deg);
  transform: scale(1.0) rotate(0deg);
  opacity: 1;
  border: 1px solid #fff;
}


/* secret_nav */
#secret_nav {
	position: fixed;
	bottom: 0px;
	width: 100%;
	z-index: 9999;
}

#secret_nav a {
	color: #fff;
	text-align: center;
	display: block;
	width: 100%;
	margin: 0 auto;
	height: 50px;
	line-height: 50px;
	font-size: 16px;
	background: #cd201f;
}

#secret_nav a i {
	padding: 0 5px 0 0;
}


/* tel_menu */
#tel_menu {
	text-align: center;
	position: relative;
}

#tel_menu .close_btn {
	display: block;
	margin: 20px auto 30px;
	width: 35px;
	height: 35px;
	border: solid 1px #ffffff;
	color: #fff;
	line-height: 35px;
}

#tel_menu .close_btn2 {
	width: 100px;
	margin: 30px auto 95px;
	border: solid 1px #fff;
}
#tel_menu .close_btn2 a {
	display: block;
	padding: 5px 0;
	color: #fff;
	text-decoration: none;
}

select{
    -moz-border-radius: 5px;
    -webkit-border-radius: 5px;
    border-radius: 5px;
    color: #333;
    font-size: 14px;
    padding: 5px 0 3px 7px;
    border: solid 1px #c8b59f;
    outline: none;
}

input{
    -moz-border-radius: 5px;
    -webkit-border-radius: 5px;
    border-radius: 5px;
    color: #333;
    font-size: 14px;
    padding: 5px 0 3px 7px;
    border: solid 1px #c8b59f;
    outline: none;
}

.rest01 {
    border: none;
	padding:5px 10px;
    font-size: 14px;
    color: #FFF;
    background: #bfbfbf;
    margin-left: 4px;
    margin-right: 4px;
}

.sbts {
	border: none;
	padding:5px 10px;
    font-size: 14px;
    color: #FFF;
    background: #ff9900;
    margin-left: 4px;
    margin-right: 4px;
}

/*=== margin				=================================*/
.marginTop40 { margin-top:40px; }
.marginBottom20 { margin-bottom:20px; }

/*=== padding				=================================*/
.paddingLeft20 { padding-left:20px; }

/*=== color				=================================*/
.fc-white { color:#fff; }
.fc-yellow { color:yellow; }
.fc-red { color:red; }
.fc-blue { color:blue; }

/*=== font-size				=================================*/
.fs12 { font-size:12px; }