@charset "utf-8";

/* ----------------------------------------------------
 全端末共通
---------------------------------------------------- */

/* common reset ==== */
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, ection, summary,time, mark, audio, video { margin: 0; padding : 0; border: 0; font-style : normal; font-weight: normal;font-size: 100%; vertical-align: baseline; }
article, aside, details, figcaption, figure,footer, header, hgroup, menu, nav, section { display: block; }
html { overflow-y: scroll; }
blockquote, q { quotes: none; }
blockquote:before, blockquote:after,q:before, q:after { content: ''; content: none; }
input, textarea{ margin: 0; padding: 0; vertical-align: middle; }
ol, ul { list-style: none; }
table { border-collapse: collapse; border-spacing: 0; }
caption, th{ text-align: left; }
a:focus { outline: none; }
a { -webkit-tap-highlight-color: transparent; }
main { display: block; }

*, *:before, *:after { -webkit-box-sizing: border-box; -moz-box-sizing: border-box; -o-box-sizing: border-box; -ms-box-sizing: border-box; box-sizing: border-box; }
/* common ==== */

html { -webkit-text-size-adjust: 100%; /* フォントサイズ自動調整OFF */ font-size: 62.5%;/* 10px */}
body{
	color: #333333;
	/* letter-spacing : 0.04em; */
	font-size: 14px; font-size: 1.4rem;/* 14px */
	position: relative;/* page top ボタン用 */
	font-family: -apple-system, BlinkMacSystemFont, "Helvetica Neue", "Noto Sans Japanese", "ヒラギノ角ゴ ProN W3", Hiragino Kaku Gothic ProN, Arial, Meiryo, sans-serif;
}
.wrapper { overflow-x: hidden;} /*calcとpage top ボタン用*/

a {color: #000;-webkit-tap-highlight-color: rgba(00,33,99,0.3); /* タップ時の背景色 */}


/* common link ==== */
a { outline: none; /* fireFox boder */}
a:link { color: #07B5AB; text-decoration:underline;}
a:visited { color: #07B5AB; text-decoration:underline;}
a:hover { color: #e7762f; text-decoration:underline;}
a:active { color: #e7762f; text-decoration:underline;}


/* clearFix ==== */
.cf::after {
	content: "";
	display: table;
	clear: both;
}

/* particular case ==== */
.fl { float: left;}
.fr { float: right;}
.cl { clear: both;}

.tc { text-align: center; }
.tl { text-align: left; }
.tr { text-align: right; }
.vt { vertical-align : top; }

.mt-1 { margin-top: -1px !important; }
.mt-15 { margin-top: -15px !important; }
.mt-30 { margin-top: -30px !important; }
.mt10 { margin-top: 10px !important; }
.mt15 { margin-top: 15px !important; }
.mt20 { margin-top: 20px !important; }
.mt30 { margin-top: 30px !important; }
.mb0 { margin-bottom: 0 !important; }
.mb5 { margin-bottom: 5px !important; }
.mb10 { margin-bottom: 10px !important; }
.mb15 { margin-bottom: 15px !important; }
.mb20 { margin-bottom: 20px !important; }
.mb30 { margin-bottom: 30px !important; }
.mb50 { margin-bottom: 50px !important; }
.mr0 { margin-right: 0 !important; }
.mr5 { margin-right: 5px !important; }
.mr10 { margin-right: 10px !important; }
.mr15 { margin-right: 15px !important; }
.mr20 { margin-right: 20px !important; }
.mr30 { margin-right: 30px !important; }
.mr50 { margin-right: 50px !important; }
.ml0 { margin-left: 0 !important; }
.ml10 { margin-left: 10px !important; }
.ml15 { margin-left: 15px !important; }
.ml20 { margin-left: 20px !important; }
.ml40 { margin-left: 40px !important; }
.ml-20 { margin-left: -20px !important; }
.pr40 { padding-right: 40px !important; }
.pt0 { padding-top: 0 !important; }
.pt15 { padding-top: 15px !important; }
.pl0 { padding-left: 0 !important; }
.pl30 { padding-left: 30px !important; }
.pr0 { padding-right: 0 !important; }
.pb0 { padding-bottom: 0 !important; }
.pb15 { padding-bottom: 15px !important; }

.spacing01 { letter-spacing:1em;}
.imgL { float: left; margin: 0 28px 5px 0; }
.imgR { float: right; margin: 0 0 5px 28px; }

.outerBox { overflow: hidden; }
.outerBox .l-set{float:left; }
.outerBox .r-set{float:right; }


/* Fluid Image ==== */
.fluid1 { max-width: 100%;height: auto;vertical-align: middle; border:0; }
.fluid2 { width: 100%; height: auto; vertical-align: middle; border:0; }

/* ----------------------------------------------------
メディアクエリ設定 All
---------------------------------------------------- */
/* common */
main {
  max-width: 1100px;
  margin: 0 auto 70px;
}
/* header */
header {
  width: 100%;
  max-width: 1400px;
  margin: 0 auto 0 auto;
  position: relative;
}
header ul {
  display: flex;
  justify-content: flex-end;
  margin: 15px 0 0 0;
}
header ol {
  display: flex;
  justify-content: flex-end;
}
header ul li a {
  display: block;
  padding: 15px 20px 15px 20px;
  font-size: 12px; font-size: 1.2rem;
  transition: all .3s;
}
header ol a {
  display: block;
  padding: 15px 8px 15px 8px;
  font-size: 12px; font-size: 1.2rem;
  transition: all .3s;
}

header ul a:link { color: #515151; text-decoration: none;}
header ul a:visited { color: #515151; text-decoration: none;}
header ul a:hover { color: #515151; text-decoration: underline; background: #F6F6F6;}
header ul ol a:link { color: #acacac; text-decoration: none;}
header ul ol a:visited { color: #acacac; text-decoration: none;}
header ul ol a:hover { color: #acacac; text-decoration: underline; background: #F6F6F6;}
header ol li:nth-child(1) a { font-weight: bold; color: #333333;}

/* footer */
footer {
  clear: both;
  max-width: 1100px;
  margin: 0 auto;
  text-align: center;
  padding: 0 0 20px 0;
}
footer ul {
  border-top: 1px solid #e9e9e9;
  border-bottom: 1px solid #e9e9e9;
  margin: 0 0 20px 0;
  padding: 0 0 0 0;
  margin-right: calc(50% - 50vw);
  margin-left: calc(50% - 50vw);
  padding-right: calc(50vw - 50%);
  padding-left: calc(50vw - 50%);
  display: flex;
}
footer li.social { margin-left: auto;}
footer ol {
  display: flex;
  justify-content: flex-end;
}
footer ul a {
  display: block;
  padding: 20px 25px 20px 25px;
  font-size: 13px; font-size: 1.3rem;
  transition: all .3s;
}
footer ol a {
  padding: 0;
}
footer ol li {
  margin: 0 0 0 8px;
  padding: 10px 0 0 0;
  display: flex;
  align-items: center;
}
footer a:link { color: #515151; text-decoration: none;}
footer a:visited { color: #515151; text-decoration: none;}
footer a:hover { color: #515151; text-decoration: underline; background: #F6F6F6;}

footer small { font-size: 12px; font-size: 1.2rem;}
#pageTop{
	/* jsで定義 */
	/*position: fixed;
	bottom: 0px;*/
	right: 20px;
}

/* sp NAVI */
.drawer-hamburger{
	padding: 17px 26px 27px 21px !important;
	background-color:rgba(150,0,12,1.0) !important;
}
.drawer-open .drawer-hamburger{ margin-right:98px !important;} 
.drawer-hamburger-icon{
	background: #FFFFFF;
	background-size: 25px 2px !important;
	width: 25px !important;height: 2px !important;
}
.drawer-hamburger-icon:before{ background: #FFFFFF !important;}
.drawer-hamburger-icon:after{ background: #FFFFFF !important;}
.drawer-open .drawer-nav{
	width: 260px !important;
	background: #560001;
}
ul.drawer-menu{
	margin: 20px 8px 0 8px;
	text-align: left;
}
.drawer-menu li{
	border-bottom: 1px solid #560001;
	white-space: nowrap;
  background: #98000c;  
}
.drawer-menu li{
	text-decoration: none;
  font-size: 14px !important; font-size: 1.4rem !important;
  position: relative;
}
.drawer-menu li a{
  padding: 18px 10px 18px 10px !important;
  font-size: 14px !important; font-size: 1.4rem !important;
}
.drawer-menu li ul { margin: 0 !important;}
.drawer-menu li li { background: #7f010c;}
.drawer-menu li li a { padding: 15px 10px 15px 20px !important;}
.drawer-menu li:after {
  position: absolute;content: "";
  top: 40%;right: 10px;
  margin: 0 0 0 0;
  background:url(../img/arrow_white.png) no-repeat;
  width:11px;height: 10px;
  background-size: 11px 10px;
}
.drawer-menu li.drawer-dropdown:after {
  position: absolute;content: "";
  top: 23px;right: 10px;
  margin: 0 0 0 0;
  background:url(../img/arrow_bow.png) no-repeat;
  width:11px;height: 10px;
  background-size: 11px 10px;
}
.drawer-menu li.inq {
  margin: 10px 0 0 0;
  padding: 0 0 0 0;
  background: #FFFFFF !important;  
}
.drawer-menu li.inq:after {
  position: absolute;content: "";
  top: 40%;right: 10px;
  margin: 0 0 0 0;
  background:url(../img/arrow_red.png) no-repeat;
  width:11px;height: 10px;
  background-size: 11px 10px;
}
.drawer-menu li.inq a{
  padding: 30px 10px 30px 10px !important;
}
.drawer-menu li a:link { color: #FFFFFF; text-decoration: none;}
.drawer-menu li a:visited { color: #FFFFFF; text-decoration: none;}
.drawer-menu li a:hover { color: #FFFFFF; text-decoration: none;}
.drawer-menu li.inq a:link { color: #333333; text-decoration: none;}
.drawer-menu li.inq a:visited { color: #333333; text-decoration: none;}
.drawer-menu li.inq a:hover { color: #333333; text-decoration: none;}

/* All END */


/* ----------------------------------------------------
メディアクエリ設定 (PC) 961px～ 
---------------------------------------------------- */
@media screen and (min-width: 961px) {
	


/* PC END */
}

 /* ----------------------------------------------------
メディアクエリ設定 (tablet and PC) 769px～ 
---------------------------------------------------- */
@media only screen and (min-width: 769px){
	
	.sp-only { display: none; }
  .logo { width: 158px; height: auto; position: absolute; top:20px; left: 40px;}
  .logo img { width: 100%;}
  .drawer-toggle { display: none !important;}
	
/* tablet PC END */
}

 /* ----------------------------------------------------
メディアクエリ設定 (tablet　only)  769～960px
---------------------------------------------------- */
@media only screen and (min-width: 769px) and (max-width: 960px) {

	
}

 /* ----------------------------------------------------
メディアクエリ設定 (smartPhone only)   0～768px
---------------------------------------------------- */
@media screen and (max-width: 768px) {
	
	.pc-only { display: none; }
  a.logo { width: 104px; position: relative; padding: 15px 0 0 15px; display: block;}
  .logo img { width: 100%; height: auto;}
  header ul { display: none;}
  
  /* footer */
  footer {
    margin: 0 auto;
    padding: 100px 0 0 0;   
    text-align: center;
    background: url(../img/wingarc_white.png) no-repeat center 30px #8d0010;
    background-size: 158px 41px;
  }
  footer ul {
    display: none;
  }
  footer small {
    display: block;
    width: 100%;
    padding: 35px 0 35px 0;
    color: #FFFFFF;
    background: #6f010e;
    font-size: 1.2rem;
  }
	

/* smartPhone END */
}