@charset "utf-8";
/* ===================================================================
CSS information

 file name  :  header.css
 style info :  スタイル指定
=================================================================== */
header { background: #fff; border-bottom: 1px solid #51070e;}
header .inner { max-width: 960px; margin: 16px auto 8px;}
header .inner:after {
    content: "."; 
    display: block; 
    height: 0; 
    font-size:0;    
    clear: both; 
    visibility:hidden;
}
header .inner h1 { padding: 0 0 10px 0px; text-align: left;}

@media only screen and (max-width: 679px) {
header .inner { padding: 0 30px 5px;}
    header .inner h1 { display: none;}
}

/* brandWrap
--------------------------------------------------*/
header .inner .brandWrap {position: relative;padding-bottom: 6px;float: left;width: 35%;}
header .inner .brandWrap h2 { width: 280px;}
header .inner .brandWrap > div { width: 198px; position: absolute; top: 0; right: 0;}

@media only screen and (max-width: 991px) {
header .inner .brandWrap > div { display: none;}
    header .inner { margin: 0; padding: 15px;}
}
@media only screen and (max-width: 679px) {
header .inner .brandWrap { padding: 10px 0 5px; width: 100%; float: none;}
header .inner .brandWrap h2 { width: 100%; max-width: 384px; margin: 0 auto;}
}

/* btnWrap
--------------------------------------------------*/
header .inner .btnWrap {text-align: right;float: right;width: 65%;padding-top: 8px;}
header .inner .btnWrap li { display: inline-block;}
header .inner .btnWrap li:not(:first-child) { margin-left: 10px;}
header .inner .btnWrap li a { position: relative; padding: 4px 6px 3px; font-size: 1.2em; color: #000; letter-spacing: .1em;}
header .inner .btnWrap li a:before{
    position: absolute;
    display: block;
    content: "";
    left: -7px;
    top: 50%;
    margin-top: -3px;
    width: 5px;
    height: 5px;
    border-top: 1px solid #000;
    border-right: 1px solid #000;
    -webkit-transform: rotate(45deg);
    transform: rotate(45deg);
}
/*header .inner .btnWrap li.resBtn { display: none; }*/
header .inner .btnWrap li.reqBtn a {padding: 4px 30px 3px;font-size: 1.4em;color: #fff;background: rgb(84,84,84);background: -moz-linear-gradient(left, rgba(84,84,84,1) 0%, rgba(117,117,117,1) 50%, rgba(84,84,84,1) 100%);background: -webkit-linear-gradient(left, rgba(84,84,84,1) 0%,rgba(117,117,117,1) 50%,rgba(84,84,84,1) 100%);background: linear-gradient(to right, rgba(84,84,84,1) 0%,rgba(117,117,117,1) 50%,rgba(84,84,84,1) 100%);filter: progid:DXImageTransform.Microsoft.gradient( startColorstr='#545454', endColorstr='#545454',GradientType=1 );}
header .inner .btnWrap li.reqBtn a:before { display: none;}
header .inner .btnWrap li.resBtn a {padding: 4px 30px 3px;font-size: 1.4em;color: #fff;background: rgb(0,62,26);background: -moz-linear-gradient(left, rgba(0,62,26,1) 0%, rgba(0,119,45,1) 50%, rgba(0,62,26,1) 100%);background: -webkit-linear-gradient(left, rgba(0,62,26,1) 0%,rgba(0,119,45,1) 50%,rgba(0,62,26,1) 100%);background: linear-gradient(to right, rgba(0,62,26,1) 0%,rgba(0,119,45,1) 50%,rgba(0,62,26,1) 100%);filter: progid:DXImageTransform.Microsoft.gradient( startColorstr='#003e1a', endColorstr='#003e1a',GradientType=1 );}
header .inner .btnWrap li.resBtn a:before { display: none;}
/*header .inner .btnWrap li.resBtnOnline { display: none; }*/
header .inner .btnWrap li.resBtnOnline a {letter-spacing: 0; padding: 4px 30px 3px;font-size: 1.4em;color: #fff;background: rgb(73,0,2); background: -moz-linear-gradient(left, rgba(73,0,2,1) 0%, rgba(130,28,37,1) 50%, rgba(73,0,2,1) 100%); background: -webkit-linear-gradient(left, rgba(73,0,2,1) 0%,rgba(130,28,37,1) 50%,rgba(73,0,2,1) 100%); background: linear-gradient(to right, rgba(73,0,2,1) 0%,rgba(130,28,37,1) 50%,rgba(73,0,2,1) 100%);filter: progid:DXImageTransform.Microsoft.gradient( startColorstr='#490002', endColorstr='#490002',GradientType=1 );}
header .inner .btnWrap li.resBtnOnline a:before { display: none;}
    
@media only screen and (max-width: 991px) {
header .inner .btnWrap { display: none;}
/* fix要素の調整 */
/*body { margin-top: 58px;}*/
}

/* pcCVbtnWrap
--------------------------------------------------*/
.pcCVbtnWrap { position: fixed; bottom: 0; right: 0; z-index: 1000; -webkit-transform: translateX(100%); transform: translateX(100%); -webkit-transition: all .5s ease-out; transition: all .5s ease-out;}
.pcCVbtnWrap.active { -webkit-transform: translateX(0); transform: translateX(0);
/* box-shadow */
/*box-shadow:0px 0px 10px 2px #aaa;
-moz-box-shadow:0px 0px 10px 2px #aaa;
-webkit-box-shadow:0px 0px 10px 2px #aaa;*/}
.pcCVbtnWrap .reqBtn {display: block;padding: 14px 20px;/* background: #928611; */color: #fff;border: #c7bead 1px solid;-webkit-transition: all .5s ease-out;transition: all .5s ease-out;/* Permalink - use to edit and share this gradient: http://colorzilla.com/gradient-editor/#776646+0,e2c479+50,776646+100 */ /* Old browsers */ /* FF3.6-15 */ /* Chrome10-25,Safari5.1-6 */ /* W3C, IE10+, FF16+, Chrome26+, Opera12+, Safari7+ */ /* IE6-9 */background: rgb(84,84,84);background: -moz-linear-gradient(left, rgba(84,84,84,1) 0%, rgba(117,117,117,1) 50%, rgba(84,84,84,1) 100%);background: -webkit-linear-gradient(left, rgba(84,84,84,1) 0%,rgba(117,117,117,1) 50%,rgba(84,84,84,1) 100%);background: linear-gradient(to right, rgba(84,84,84,1) 0%,rgba(117,117,117,1) 50%,rgba(84,84,84,1) 100%);filter: progid:DXImageTransform.Microsoft.gradient( startColorstr='#545454', endColorstr='#545454',GradientType=1 );}
.pcCVbtnWrap .reqBtn:hover {/* background: #FFF; *//* color: #4a0002; */opacity: 0.8;}
.pcCVbtnWrap .reqBtn span.en { display: block; font-size: 2.4em; font-weight: bold; letter-spacing: .05em; margin-bottom: 5px;}
.pcCVbtnWrap .reqBtn span.jp { display: block; font-size: 1.6em; letter-spacing: .05em;}
.pcCVbtnWrap .resBtn {display: block;padding: 14px 20px;color: #fff;border: #a5f3c4 1px solid;-webkit-transition: all .5s ease-out;transition: all .5s ease-out;margin-bottom: 1px;background: rgb(0,62,26);background: -moz-linear-gradient(left, rgba(0,62,26,1) 0%, rgba(0,119,45,1) 50%, rgba(0,62,26,1) 100%);background: -webkit-linear-gradient(left, rgba(0,62,26,1) 0%,rgba(0,119,45,1) 50%,rgba(0,62,26,1) 100%);background: linear-gradient(to right, rgba(0,62,26,1) 0%,rgba(0,119,45,1) 50%,rgba(0,62,26,1) 100%);filter: progid:DXImageTransform.Microsoft.gradient( startColorstr='#003e1a', endColorstr='#003e1a',GradientType=1 ); /*display: none;*/}
.pcCVbtnWrap .resBtn:hover {/* background: #FFF; *//* color: #4a0002; */opacity: 0.8;}
.pcCVbtnWrap .resBtn span.en { display: block; font-size: 2.4em; font-weight: bold; letter-spacing: .05em; margin-bottom: 5px;}
.pcCVbtnWrap .resBtn span.jp { display: block; font-size: 1.6em; letter-spacing: .05em;}
.pcCVbtnWrap .resBtnOnline {display: block;padding: 14px 20px;color: #fff;border: #9b3740 1px solid;-webkit-transition: all .5s ease-out;transition: all .5s ease-out;margin-bottom: 1px;background: rgb(73,0,2); background: -moz-linear-gradient(left, rgba(73,0,2,1) 0%, rgba(130,28,37,1) 50%, rgba(73,0,2,1) 100%); background: -webkit-linear-gradient(left, rgba(73,0,2,1) 0%,rgba(130,28,37,1) 50%,rgba(73,0,2,1) 100%); background: linear-gradient(to right, rgba(73,0,2,1) 0%,rgba(130,28,37,1) 50%,rgba(73,0,2,1) 100%);filter: progid:DXImageTransform.Microsoft.gradient( startColorstr='#490002', endColorstr='#490002',GradientType=1 ); /*display: none;*/}
.pcCVbtnWrap .resBtnOnline:hover {/* background: #FFF; *//* color: #4a0002; */opacity: 0.8;}
.pcCVbtnWrap .resBtnOnline span.en { display: block; font-size: 2.4em; font-weight: bold; letter-spacing: .05em; margin-bottom: 5px;}
.pcCVbtnWrap .resBtnOnline span.jp { display: block; font-size: 1.6em; letter-spacing: .05em;}

@media only screen and (max-width: 991px) {
.pcCVbtnWrap { display: none;}
}

/* mobileBtnWrap
--------------------------------------------------*/
body .mobileBtnWrap { position: fixed; top: 0; left: 0; right: 0; background: #4a0002; letter-spacing: -0.4em; border-bottom: rgba(255,255,255,.3) 1px solid; z-index: 1000; display: none;}
body .mobileBtnWrap li {display: inline-block;vertical-align: middle;width: 20%;letter-spacing: normal;}
body .mobileBtnWrap li a { display: block; padding: 8px 0;}
/* 来場予約追加時は消す */
/*body .mobileBtnWrap li:first-child+*+*+* { display: none;}*/
body .mobileBtnWrap li:first-child+*+*+*+* { display: none;}

@media only screen and (max-width: 991px) {
body .mobileBtnWrap { display: block;}
}

/* nav
--------------------------------------------------*/
header nav > ul { max-width: 960px; margin: 0 auto; display: table; width: 100%; table-layout: fixed;}
header nav > ul > li {font-weight: bold;display: table-cell;text-align: center;line-height: 1.4;position: relative;padding: 10px 0 5px;vertical-align: middle;}
header nav > ul > li a { color: #000; display: block; padding: 10px 0; font-size: 1.3em; letter-spacing: -0.05em; position: relative;}
header nav > ul > li:first-child a:before { display: block; content: ""; background: #f2f2f2; width: 1px; height: 30px; position: absolute; left: -1px; top: 0;}
header nav > ul > li a:after { display: block; content: ""; background: #f2f2f2; width: 1px; height: 30px; position: absolute; right: -1px; top: 0;}
header nav > ul > li a.parent { pointer-events: none; cursor: default;}
header nav > ul > li.current {
    background: #85121c;
    background: -moz-linear-gradient(top,  #85121c 0%, #5e0d14 100%);
    background: -webkit-linear-gradient(top,  #85121c 0%,#5e0d14 100%);
    background: linear-gradient(to bottom,  #85121c 0%,#5e0d14 100%);
    filter: progid:DXImageTransform.Microsoft.gradient( startColorstr='#85121c', endColorstr='#5e0d14',GradientType=0 );
}
header nav > ul > li.current a { color: #fff;}
header nav .snav { display: none; text-align: left; position: absolute; top: 100%; left: -50px; right: -50px; background: #fff; padding: 0 10px; z-index: 100;
/* box-shadow */
box-shadow:0px 0px 10px 2px #ccc;
-moz-box-shadow:0px 0px 10px 2px #ccc;
-webkit-box-shadow:0px 0px 10px 2px #ccc;}
header nav .snav li a { padding: 10px 5px;}
header nav .snav li a:hover { opacity: .6;}
header nav .snav li:not(:last-child) a { border-bottom: #ddd 1px solid;}
header nav .snav img { display: inline-block; vertical-align: middle;}
header nav .snav span { display: inline-block; vertical-align: middle; margin-left: 10px;}
header nav .snav span small { display: block; color: #adaa86; margin-bottom: 5px;}

header nav .mobileOnly { display: none;}

@media only screen and (max-width: 991px) {
header nav {position: fixed;top: 0;bottom: 0;left: 100%;right: -100%;padding-top: 60px;background: #fff;overflow-y: scroll;-webkit-transition: all .5s ease-in-out;transition: all .5s ease-in-out;z-index: 100;}
header nav.active { left: 0; right: 0; z-index: 100;}
    header nav > ul { max-width: 100%; display: block;}
header nav > ul > li { display: block; width: 100%; padding: 0; text-align: left; border-bottom: #ddd 1px solid;}
header nav > ul > li:hover::after{ content: none;}
header nav > ul > li a {padding: 20px 15px;}
    header nav > ul > li a:after  { display: none;}
header nav > ul > li a.parent::after { right: auto; left: 80px;}
header nav .snav { position: static; background: #efefef; box-shadow:none;}
header nav .snav li a { padding: 12px 5px 6px;}
header nav .snav li a img { display: none;}
header nav .snav span br { display: none;}
header nav .snav span small { display: inline-block; margin-right: 10px;}

header nav .mobileOnly { display: block;}
header nav span.mobileOnly { display: inline-block; margin-left: 10px;}
}

header nav > ul > li.residence:before {
    content: "NEW";
    position: absolute;
    top: 1px;
    left: 1px;
    padding: 1px 5px;
    font-size: 10px;
    line-height: 1;
    margin: auto;
    color: #7b111a;
    background: #FFF;
    z-index: 10;
    box-sizing: border-box;
    /* border: solid 1px #7c111a; */
}




/* mobileNavBtn
--------------------------------------------------*/
.mobileNavBtn { position: relative; height: 57px; color: #fff;}
.mobileNavBtn > div { position: absolute; top: 50%; left: 0; right: 0; margin: 0 auto; transform: translateY(-50%); width: 30px;}
.mobileNavBtn > div div.line span { display: block; height: 3px; background: #fff; margin-bottom: 5px; -webkit-transition: all .3s ease-in; transition: all .3s ease-in;}
.mobileNavBtn.active > div div.line { margin: 14px 0;}
.mobileNavBtn.active > div div.line span:first-child  { transform: rotate(45deg);}
.mobileNavBtn.active > div div.line span:first-child + * { opacity: 0;}
.mobileNavBtn.active > div div.line span:first-child + * + *  { transform: rotate(-45deg); margin-top: -16px;}

.mobileNavBtn .on { display: none;}
.mobileNavBtn.active .off { display: none;}
.mobileNavBtn.active .on { display: block;}

@media only screen and (min-width: 992px) {
    header nav > ul > li.outline { display: none;}
}


@media only screen and (max-width: 991px) {
}
@media only screen and (max-width: 768px) {
}
@media only screen and (max-width: 679px) {
}
@media only screen and (max-width: 479px) {
}