@charset "utf-8";

@import "font-awesome.css";


/* ----------------------------------------

- RESET BROWSER EFFECT

---------------------------------------- */

abbr,address,article,aside,audio,b,blockquote,body,canvas,caption,cite,code,dd,del,details,dfn,div,dl,dt,em,fieldset,figcaption,figure,footer,form,h1,h2,h3,h4,h5,h6,header,hgroup,html,i,iframe,img,ins,kbd,label,legend,li,mark,menu,nav,object,ol,p,pre,q,samp,section,small,span,strong,sub,summary,sup,table,tbody,td,tfoot,th,thead,time,tr,ul,var,video{margin:0;padding:0;line-height:1}article,main,aside,details,figcaption,figure,footer,header,hgroup,menu,nav,section{display:block}table{border-collapse:collapse;border-spacing:0}fieldset,img{border:0}address,caption,cite,code,dfn,em,th,var{font-style:normal;}ol,ul{list-style:none}caption,th{text-align:left}h1,h2,h3,h4,h5,h6{font-size:100%; font-weight:normal;}q:after,q:before{content:''}abbr,acronym{border:0}img{vertical-align:top}

/* ----------------------------------------

- MODULE

---------------------------------------- */

/* CLEAR
----------------------------------------------------- */
.clear{clear:both;}

/* CLEAR FIX
----------------------------------------------------- */
*:first-child+html .clearfix{display:inline-block;} /* for IE7 */
.clearfix:after {content:" ";
    display:block;
    visibility:hidden;
    clear:both;
    height:0.1px;
    font-size:0.1em;
    line-height:0;}
* html .clearfix {display:inline-block;}
/* no ie mac \*/
* html .clearfix {height:1%;}
.clearfix {display:block; clear:both;}
/* */

/* tel
----------------------------------------------------- */
a.tel,
.pc a.tel{text-decoration:none!important;}
.sd a.tel{text-decoration:underline!important;}


/* ----------------------------------------

- FORMAT

---------------------------------------- */

html{font-size:62.5%; height:100%; overflow-y:scroll;}
body{color:#000; font-family:"Yu Mincho", YuMincho, "游明朝体", "Sawarabi Mincho", serif; height:100%; position:relative; -webkit-text-size-adjust:100%;}
*{letter-spacing:0.05em;}

a{text-decoration:underline; outline:none; color:#000;}
a:hover{text-decoration:none;}
a img{box-shadow:#000 0 0 0;}

.spNone{display:block!important;}
.pcNone{display:none!important;}
@media only screen and (max-width:783px) {
	.spNone{display:none!important;}
	.pcNone{display:block!important;}
}

#wrapper{background-color:#fff; /*overflow-x:hidden;*/ position:relative; z-index:2;}



/* header
----------------------------------------------------- */
#wrapper > header{position:fixed; z-index:2; left:0px; top:0px; width:100px; height:100%;
    /*-webkit-backface-visibility:hidden;
    backface-visibility:hidden;
    overflow: hidden;*/
}
#wrapper > header .headerWrapper{width:100%; height:100%; position:relative;}
#wrapper > header .headerInner{background-color:#fff; width:100%; height:100%; position:relative; z-index:2;}
#wrapper > header .headerInner h1{text-align:center; position:absolute; top:0; right:0; bottom:0; left:0; margin:auto; height:213px;}
#wrapper > header .headerInner h1 img.sp{display:none;}
#wrapper > header .headerInner #btnGnav{width:40px; text-align:center; margin:0 auto; padding-top:28px;}
#wrapper > header .headerInner #btnGnav a{color:#3c0020; font-size:11px; text-decoration:none; letter-spacing:0.1em; font-weight:bold;}
#wrapper > header .headerInner #btnGnav .ico{width:100%; height:24px; padding-top:11px; position:relative;}
#wrapper > header .headerInner #btnGnav .ico span,
#wrapper > header .headerInner #btnGnav .ico span:before,
#wrapper > header .headerInner #btnGnav .ico span:after{width:100%; height:2px; position:absolute; background:#3c0020; display:block; transition:all 0.4s cubic-bezier(0.19, 1, 0.22, 1) 0s;}
#wrapper > header .headerInner #btnGnav .ico span:before,
#wrapper > header .headerInner #btnGnav .ico span:after{content:""; left:0; top:-12px;}
#wrapper > header .headerInner #btnGnav .ico span:after{top:12px;}
#wrapper > header .headerInner #btnGnav a.active .ico span{background:rgba(0, 0, 0, 0) none repeat scroll 0 center;}
#wrapper > header .headerInner #btnGnav a.active .ico span::before{top:0; height:2px; transform:rotate(45deg); -webkit-transform:rotate(45deg);}
#wrapper > header .headerInner #btnGnav a.active .ico span::after{top:0; height:2px; transform:rotate(-45deg); -webkit-transform:rotate(-45deg);}


#wrapper > header .headerInner #btnGnav {
    width: 100%;
    text-align: center;
    margin: 0 auto;
    padding-top: 28px;
    background-color: #3a001e;
    padding-bottom: 22px;
}

#wrapper > header .headerInner #btnGnav a {
    color: #ffffff;
    font-size: 11px;
    text-decoration: none;
    letter-spacing: 0.1em;
    font-weight: bold;
    width: 40px;
}

#wrapper > header .headerInner #btnGnav .ico {
    width: 40px;
    height: 24px;
    padding-top: 11px;
    position: relative;
    display: block;
    margin-left: auto;
    color: white;
    margin-right: auto;
}

#wrapper > header .headerInner #btnGnav .ico span, #wrapper > header .headerInner #btnGnav .ico span:before, #wrapper > header .headerInner #btnGnav .ico span:after {
    width: 100%;
    height: 2px;
    position: absolute;
    background: #ffffff;
    display: block;
    transition: all 0.4s cubic-bezier(0.19, 1, 0.22, 1) 0s;
}


#wrapper > header nav{position:absolute; /*left:100px;*/ left:-200px; top:0; width:300px; height:100%; background-color:#fff; box-sizing:border-box; border-left:1px solid #e6e6e6; padding-left:35px; box-sizing:border-box; overflow:auto;}
#wrapper > header nav #gNavWrapper{position:relative; height:100%;}
#wrapper > header nav #gNavInner{position:absolute; top:50%; left:0; webkit-transform:translate(0, -50%); transform:translate(0, -50%);}
#wrapper > header nav a{text-decoration:none;}
#wrapper > header nav ul.nav01{margin-bottom:35px;}
#wrapper > header nav ul.nav01 li{margin-bottom:25px;}
#wrapper > header nav ul.nav01 li a{font-size:17px;}
#wrapper > header nav ul.nav01 li a i{font-size:11px; vertical-align:1px; margin-left:3px;}
#wrapper > header nav ul.nav02{margin-bottom:20px;}
#wrapper > header nav ul.nav02 li{margin-bottom:15px;}
#wrapper > header nav ul.nav02 li a{font-size:15px; color:#912756;}

#wrapper > header nav ul.nav02 li a span {
	display: inline-block;
    font-size: 10px;
	line-height:10px;
    border: 1px solid #912756;
    box-sizing: border-box;
    padding: 2px 2px 1px 2px;
    vertical-align: 2px;
    margin-left: 6px;
    letter-spacing: 0;
	color:#912756;
}

#wrapper > header nav ul.nav02 li a i{font-size:10px; vertical-align:1px; margin-left:3px;}
#wrapper > header nav ul.nav03{margin-bottom:25px;}
#wrapper > header nav ul.nav03 li{display:inline-block; margin-right:16px;}
#wrapper > header nav ul.nav03 li a{font-size:21px; color:#912756;}
#wrapper > header nav dl.nav04{position:absolute; margin-bottom:20px;}
#wrapper > header nav dl.nav04 a{color:#912756; height:37px; padding-left:15px; width:210px; line-height:37px; font-size:14px; border:1px solid #912756; display:block; position:relative;}
#wrapper > header nav dl.nav04 a span{width:100%; height:100%;}
#wrapper > header nav dl.nav04 dd{position:relative; display:none;}
#wrapper > header nav dl.nav04 dd a{border-top:none;}
#wrapper > header nav dl.nav04 dt a span:after,
#wrapper > header nav dl.nav04 dd a span:after{position:absolute; font-family:FontAwesome; font-size:16px; right:12px; top:10px;}
#wrapper > header nav dl.nav04 dt a span:after{content:"\f107";}
#wrapper > header nav dl.nav04 dt a.active span:after{content:"\f106";}
#wrapper > header nav dl.nav04 dd a span:after{content:"\f105";}

@media only screen and (max-height:800px) {
	#wrapper > header nav #gNavInner{top:30px; webkit-transform:translate(0, 0%); transform:translate(0, 0%);}
	#wrapper > header nav dl.nav04{position:relative;}
}

@media only screen and (max-width:1215px) {
	#wrapper > header{width:100%; height:55px;}
	#wrapper > header .headerInner h1{position:relative; top:10px; height:auto;}
	#wrapper > header .headerInner h1 img.pc{display:none;}
	#wrapper > header .headerInner h1 img.sp{display:inline;}
	#wrapper > header .headerInner #btnGnav{width:34px; margin:0; padding-top:0; position:absolute; right:15px; top:7px;}

#wrapper > header .headerInner #btnGnav {
    width: 62px;
    margin: 0;
    padding-top: 8px;
    position: absolute;
    right: 0px;
    top: 0px;
    padding-bottom: 7px;
}

#wrapper > header .headerInner #btnGnav .ico {
    width: 40px;
    height: 18px;
    /* padding-top: 11px; */
    position: relative;
}

	#wrapper > header .headerInner #btnGnav .ico span:before,
	#wrapper > header .headerInner #btnGnav .ico span:after{top:-9px;}
	#wrapper > header .headerInner #btnGnav .ico span:after{top:9px;}
	#wrapper > header nav{left:0!important; width:100%; background-color:#fff; border-left:none; padding:65px 20px 0; position:fixed; top:0; right:0; bottom:0; left:0; overflow-y:auto; text-align:center;}
	#wrapper > header nav #gNavWrapper{height:auto;}
	#wrapper > header nav #gNavInner{position:static; webkit-transform:translate(0, 0); transform:translate(0, 0);}
	#wrapper > header nav dl.nav04{position:relative;}
	#wrapper > header nav dl.nav04 a {
		padding-left: 0;
		width: 60%;
		min-width:210px;
		margin: 0 auto;
	}
}

#contents{position:relative; width:100%; padding-left:100px; box-sizing:border-box; z-index:1;}
@media only screen and (max-width:1215px) {
	#contents{padding-left:0;}
}

main{}

/* footer
----------------------------------------------------- */
footer{background-color:#2f0010; height:220px; position:relative; color:#fff; margin-top:80px;}
footer a{color:#fff; text-decoration:none;}
footer .pagetop{position:absolute; top:50%; right:40px; webkit-transform:translate(0, -50%); transform:translate(0, -50%); text-align:center;}
footer .pagetop a{display:block;}
footer .pagetop i{display:block; font-size:42px;}

footer .colC{position:absolute; top:50%; left:50%; webkit-transform:translate(-50%, -50%); transform:translate(-50%, -50%); text-align:center;}
footer .colC h2{margin-bottom:15px;}
footer .colC small{font-size:10px; font-size:1.0rem;}
footer .colL{position:absolute; top:50%; left:40px; webkit-transform:translate(0, -50%); transform:translate(0, -50%);}

footer .colL img{
    width: 170px;
    height: auto;
    margin-top: 10px;
    margin-bottom: 0px;
}

footer .colL ul{margin-bottom:10px;}
footer .colL ul li{display:inline-block; margin-right:10px;}
footer .colL ul li a{font-size:20px;}
footer .colL address{font-size:14px; font-size:1.4rem; line-height:1.4;}
footer .colL small{display:none;}
@media only screen and (max-width:1215px) {
	footer{height:auto;}
	footer .pagetop{position:static; webkit-transform:translate(0, 0); transform:translate(0, 0);}
	footer .pagetop a{display:block; height:40px; background-color:#5d0322; text-align:center; line-height:40px; font-size:12px;}
	footer .pagetop i{display:inline; font-size:26px; margin-right:5px; vertical-align:-2px;}
	footer .colC{position:static; webkit-transform:translate(0, 0); transform:translate(0, 0); padding:20px 15px 0;}
	footer .colC h2{margin-bottom:10px;}
	footer .colC h2 img{width:150px; height:auto;}

    footer .colL img{
        width: 170px;
        height: auto;
        margin-bottom: 30px;
        margin-top: 20px;
        margin-left: auto;
        margin-right: auto;
        display: block;
    }
	footer .colC small{display:none;}
	footer .colL{position:static; webkit-transform:translate(0, 0); transform:translate(0, 0); padding:0 15px 20px;}
	footer .colL ul{display:none;}
	footer .colL address{font-size:12px; font-size:1.2rem; text-align:center; margin-bottom:10px;}
	footer .colL small{font-size:10px; display:block; text-align:center; opacity:0.4;}
}
@media only screen and (max-width:583px) {
	footer{margin-top:60px;}
}