/* basic css */
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, font, 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, details, figcaption, figure, dialog,
footer, header, hgroup, menu, nav, section {margin: 0; padding: 0; border: 0;}
article, aside, details, figcaption, figure, dialog,
footer, header, hgroup, menu, nav, section {display: block;}
html, body { height:auto;}
body { color:#4c4c4c; line-height:1.6; letter-spacing: -0.5px; -webkit-text-size-adjust:none; }
h1, h2, h3, h4, h5, h6 {font-size: 100%;font-weight: normal;}
a:link { color: inherit; text-decoration: none; }
a:visited { color: inherit; text-decoration: none; }
a:hover { color: inherit; text-decoration: none; }
a:active { color: inherit; text-decoration: none; }
a:focus { color: inherit; text-decoration: none; }
select, input, textarea {font-size: 100%;vertical-align: middle; }
input {margin: 0;padding: 0;}
ol, ul {list-style: none;}
label {cursor: pointer;}
legend, caption {width: 0;height: 0; visibility: hidden; font-size: 0;line-height: 0;}
button {cursor: pointer;}
button:focus {outline: 1px dotted;}
img {vertical-align: top;}
/* table {} */

/*.hidden {position: absolute;width: 0;height: 0;visibility: hidden;font-size: 0;line-height: 0; top:-9999px}*/


input[type="text"] {box-sizing:border-box; -webkit-appearance:none;appearance:none;}
input:-ms-input-placeholder {color:#808080}
input::-webkit-input-placeholder {color:#808080}
input::-moz-placeholder {color:#808080}
input::-moz-placeholder {color:#808080}
/* textarea {} */

html, body {height:auto; -ms-overflow-style: none;}

::-webkit-scrollbar {

display:none;

}



/* layout*/


header { position: fixed; width: 100%; z-index:99999; top: 0; left: 0; }

.navi { position: absolute;  width: 100%; height: 125px; right: 0px; top: 0px; z-index: 9999; border: none; background: none; transition: height 0.3s, background 0.3s, border 0.3s; background: none; border: none; display: none;}

#logo { width: 66px; height: 81px; transform: translateY(0px); position: absolute; top: 0; bottom: 0; margin: auto; left: 5%; z-index: 99999999; transition: 0.3s; transform-origin: left center; }
#logo a { display: inline-block; width: 100%; height: 100%;  left:0px; background: url(../../images/head_logo1.png?3) center no-repeat; background-size: cover; text-indent:-9999px; transition: 0.3s; }

body.main #logo a { background: url(../../images/head_logo1.png?3) center no-repeat; background-size: cover; }

.navi.active { background-color: #fff; }

.navi.white #logo a { background: url(../../images/head_logo2.png?3) center no-repeat; background-size: cover; }

.navi.over {background:transparent;border:0;}
.navi.over #logo a { background: url(../../images/head_logo2.png?3) center no-repeat; background-size: cover; }

.navi.active #logo a- { background: url(../../images/head_logo1.png?3) center no-repeat; background-size: cover; }

@keyframes navi {
	from { opacity: 0; }
	to {  }
}

.gnb { position:absolute; left: 50%; transform: translate(-55%); z-index: 2; overflow:hidden; min-width:1030px; height: 100%; letter-spacing:0; z-index: 99; transition: 0.3s; }
.gnb>ul>li { position:relative; float:left; text-align:center; }

.navi .depth1 { position:relative; display:block; font-size:14px; color:#000; font-weight: 300; line-height: 124px; margin: 0px 35px; transition: 0.3s; text-transform: uppercase; }
.gnb>ul>li:hover>a { color: #3a1c19 !important; font-weight:bold; }
.gnb>ul>li>ul { display: block; margin-top: 10px; opacity: 0; transform: translateY(20px); }
.gnb>ul>li>ul>li { float: none; width: auto; }
.gnb>ul>li>ul>li>a { font-size: 14px; color: #000; line-height:25px; font-weight: 300; letter-spacing: -0.7px; }
.gnb>ul>li>ul>li>a:hover { color: #3a1c19; font-weight:500; }
.gnb .line { position: absolute; display: block; bottom: 40px; height: 1px; width: 0%; background: #000; left: 0; right: 0; margin: auto; z-index:-99; transition: 0.35s; }
.navi-bg { position: absolute; display: block; width: 100%; height: 0px; left: 0; top: 0; z-index:1; overflow: hidden; transition: 0.3s; }
.navi-bg .white-bg { width:100%; height: 295px; background:#fff; /*border-bottom:1px solid #dedede;*/ position:relative;}
.navi-bg .white-bg:after {content:'';position:absolute;top:124px;left:0;width:100%;height:1px;background:#dedede;}

body.main .navi .depth1 { color: #231815; }
/*body.main .gnb>ul>li:hover>a { color: #004e71 !important; }
body.main .gnb .line { background: #004e71; }*/

.navi.white .gnb .depth1 { color: #fff; }
.navi.white .gnb>ul>li:hover>a { color:#fff !important; font-weight:bold; }
.navi.white .gnb .line { background: #fff; }

.navi.active .navi-bg {}
.navi.active .gnb .depth1 {}
.navi.active .gnb .line {}

.navi.over .gnb .depth1 { color: #fff; }
.navi.over .gnb .line {}
.navi.over .gnb>ul>li:hover>a { color:#fff !important; font-weight:bold; }

/**/

.top_fixed_wrap { position: absolute; height: 41px; top: 0; bottom: 0; margin: auto; right: 8.5rem; z-index: 999; display: flex; justify-content: flex-end; }

.tel_wrap {}
.tel_wrap .tel { height: 41px; display: flex; justify-content: flex-end; }
.tel_wrap .tel a { width: 100%; height: 100%; display: flex; justify-content: flex-end; align-items: center; }
.tel_wrap .tel a p { border:1px solid #000;border-radius:21px;background:url(../../images/head_tel1.png) no-repeat right 17px center; font-size:18px;color:#000;line-height:39px;font-weight:bold; padding:0 40px 0 20px; transition: 0.3s; }

.navi.white .tel_wrap a p { border:1px solid #fff; color: #fff; background:url(../../images/head_tel2.png) no-repeat right 17px center;}

.navi.over .tel_wrap a p { border:1px solid #fff; color: #fff; background:url(../../images/head_tel2.png) no-repeat right 17px center;}

.navi.active .tel_wrap a p {}

.navi.white.wh #logo a {background: url(../../images/head_logo1.png?3) center no-repeat; background-size: cover;}
.navi.white.wh .depth1 {color:#000 ;}
.navi.white.wh .gnb>ul>li:hover>a { color: #3a1c19 !important; }
.navi.white.wh .gnb .line { background: #3a1c19; }
.navi.white.wh .tel_wrap .tel a p {border: 1px solid #000; border-radius: 21px; background: url(../../images/head_tel1.png) no-repeat right 17px center; color: #000;}

.reserve { position: relative; width: 10.25rem; height: 2.5rem; display: flex; justify-content: flex-start; z-index: 999; color: #000; cursor: pointer; }
.reserve:after { content:''; width: 100%; height: 2.5rem; position: absolute; right: 0; top: 0; border-radius: 2.5rem; border: 1px solid #000; box-sizing: border-box; z-index: -1; transition: 0.3s; }
.reserve h2 { font-size: 1.125rem; line-height: 2.45rem; position: absolute; left: 3.438rem; opacity: 0; transition: 0.3s; font-weight: 500; letter-spacing: 0.063rem; }
.reserve p { font-size: 0.875rem; line-height: 2.5rem; text-transform: revert; text-align: left; padding-left: 1.625rem; letter-spacing: 0px; font-weight: 500; position: relative; z-index: 3; transition: 0.3s; }
.reserve .call { position: absolute; width: 2.5rem; height: 2.5rem; position: absolute; right: 0.325rem; top: 0; bottom: 0; margin: auto; transition: 0.3s; z-index: 9; }
.reserve .call:after { content:''; width: 13%; height: 13%; border-bottom: 1px solid #000; border-right: 1px solid #000; transform: rotate(45deg); position: absolute; left: 0; right: 0; top: -5%; bottom: 0; margin: auto; transition: 0.3s; }

.reserve.pc { display: flex; }
.reserve.mo { width: 2.5rem; display: none; }

.reserve.active:after { background-color: transparent; width: 100%; }
.reserve.active h2 { opacity: 1; left: 1.563rem; }
/*.reserve.active p { opacity: 0; }*/
/* .reserve.active .reserve .call { background: url(../img/common/reserve.png) center no-repeat; } */
/*
body.main .reserve { color: #fff; }
body.main .reserve:after { border: 1px solid #fff; background-color: #fff; }
body.main .reserve .call { background: url(../img/common/reserve2.png) center no-repeat; }
body.main .reserve.active:after { background-color: transparent; }
body.main .reserve.active .reserve .call { background: url(../img/common/reserve.png) center no-repeat; }
*/
.navi.white .reserve { color: #fff; }
.navi.white .reserve:after { border: 1px solid #fff; background: none; }
.navi.white .reserve .call:after { border-bottom: 1px solid #fff; border-right: 1px solid #fff; }
.navi.white .reserve.active:after { background-color: transparent; }
/*.navi.white .reserve.active .reserve .call { background: url(../img/common/reserve2.png) center no-repeat; }*/

.navi.over .reserve { color: #000; }
.navi.over .reserve:after { border: 1px solid #000; }
.navi.over .reserve .call:after { border-bottom: 1px solid #000; border-right: 1px solid #000; }
.navi.over .reserve.active:after { background-color: transparent; }

.navi.active .reserve { color: #000; }
.navi.active .reserve:after { border: 1px solid #000; }
.navi.active .reserve .call:after { border-bottom: 1px solid #000; border-right: 1px solid #000; }
.navi.active .reserve.active:after { background-color: transparent; }

.bgm_fixed_wrap { position: relative; height: 2.5rem; z-index: 999; cursor: pointer; }


.bgm_wrap { width: 7.5rem; height: 2.5rem; border-radius: 2.5rem; box-sizing: border-box; margin-left: 0rem; position: relative; transition: 0s; }
.bgm_wrap p { font-size: 0.75rem; line-height: 100%; color: #fff; margin-right: 0.5rem; font-weight: 500; }
.bgm_wrap a { width: 100%; height: 100%; display: block; border-radius: 2.5rem; display: flex; justify-content: flex-start; align-items: center; position: relative; z-index: 9; }

/* #audio { } */
audio { outline: none; }
.bgm_line { text-align: center; height: 30px; width: 30px; position: relative; left: 0; top: -3px; }
.bgm_line ul { width: 14px; height: 23px; position: absolute; left: 5px; top: 0; bottom: 0; margin: auto; }
.bgm_line ul li { width: 2px; height: 2px; background-color: #fff; display: inline-block; margin-left: 1px; transition: background 0.3s; }
.bgm_line ul li:nth-child(1) { margin-left: 0; }

.bgm_box { position: relative; width: 100%; height: 96px; }
.bgm_box img { position: absolute; left: 0; top: 0; cursor: pointer; }

/* .bgm_img01 { } */
.bgm_img02 { display: none; }


.navi.white .bgm_fixed_wrap>p { color: #fff; font-weight: 600; }
.navi.white .bgm_wrap p { color: #fff; }
.navi.white .bgm_line ul li { background-color: #fff; }

.bgm_fixed_wrap.white>p { color: #000; font-weight: 600; }
.bgm_fixed_wrap.white .bgm_wrap { border: 1px solid #000; }
.bgm_fixed_wrap.white .bgm_line ul li { background-color: #000; }



.sns_wrap { height: 100%; z-index: 90; margin-left: 2.725rem; }
.sns_wrap ul { height: 100%; display: flex; justify-content: flex-end; align-items: center; }
.sns_wrap ul li { float: left; width: 2rem; height: 2rem; overflow: hidden; position: relative; margin-left: 0.625rem; }
.sns_wrap ul li img { position: absolute; left: 0; right: 0; top: 0; bottom: 0; margin: auto; transition: 0.3s; }
.sns_box { width: 100%; height: 100%; position: relative; }
.sns_box a { width: 100%; height: 100%; display: block; }
.sns_txt { transform: translateX(2rem); }
.sns_txt.white { opacity: 1; }
.sns_txt.color { opacity: 0; }
.sns_img.white { opacity: 1; }
.sns_img.color { opacity: 0; position: absolute; left: 0; top: 0; bottom: 0; right: 0; margin: auto; }
.sns_wrap ul li:after { content:''; position: absolute; right: 0; bottom: 0; width: 0; height: 1px; background-color: #fff; transition: 0.5s; z-index: -1; }

.sns_wrap ul li:hover .sns_img { transform: translateX(-2rem); }
.sns_wrap ul li:hover .sns_txt { transform: translateX(0); }
.sns_wrap ul li:hover:after { width: 100%; }

.navi.active .sns_txt.white { opacity: 0; }
.navi.active .sns_txt.color { opacity: 1; }
.navi.active .sns_img.white { opacity: 0; }
.navi.active .sns_img.color { opacity: 1; }
.navi.active .sns_wrap ul li:after { background-color: #222; }

.navi.white .sns_txt.white { opacity: 0; }
.navi.white .sns_txt.color { opacity: 1; }
.navi.white .sns_img.white { opacity: 0; }
.navi.white .sns_img.color { opacity: 1; }
.navi.white .sns_wrap ul li:after { background-color: #222; }


/**/

/**/

.ham { z-index: 9999999; position: fixed; right: 5.25rem; top: 42px; width: 40px; height: 40px; cursor: pointer; opacity: 1; border-radius: 100%; transition: right 0.5s, top 0.3s; box-sizing: border-box; display: none;
/*display: flex; justify-content: center; align-items: center; flex-direction: column; */
}
/*body.main .ham { animation: ham 1.6s 2.3s both; }
body.sub .ham { animation: ham 1.6s 0.3s both; }

@keyframes ham {
	from { opacity: 0; }
	to {  }
}*/

.ham:after { content: ''; width: 100%; height: 100%; position: absolute; left: 0; top: 0; margin: auto; border-radius: 100%; border: 1px solid transparent; box-sizing: border-box; z-index: -1; transition: 0.3s; }
.ham span { display: block; background: #000; margin: 5px auto; width: 20px; height: 1px;  transition: 0.3s; }
.ham .bar1 { margin-top: 15px; }

.ham.active { transition: 0.5s, top 0.4s, right 0.5s 0.2s; right: 5rem; }
/* .ham.active:after { } */
.ham.active span { background-color: #fff !important; }

.ham.active .bar1 { transform: rotate(45deg); width: 100%; height: 1px; border-radius: 0; margin-top: 20px; }
.ham.active .bar2 { opacity: 0; }
.ham.active .bar3 { transform: rotate(-45deg); width: 100%; height: 1px; border-radius: 0; margin-top: -11px; }

.ham.active2 {}
.ham.active2:after { background-color: none !important; border: 1px solid transparent !important; }
.ham.active2 span { background-color: #000; }
.ham.active3 { top: 35px; }
.ham.pop { top: 35px; }
.ham.active2.pop { top: 25px; }
.ham.active3.active2 { top: 25px; }

.ham.white:after { border: 1px solid transparent; }
.ham.white span { background: #fff; }

/**/


/*  */


.site_wrap { width: 100%; height: 100%; position: fixed; left: 0; top: 0; z-index: -1; display: flex; justify-content: flex-end; align-items: center; transition: z-index 0s 1.2s; }
.site_bg { width: 100%; height: 100%; position: fixed; left: 0; top: 0; z-index: -1; background-color: #000; opacity: 0; transition: z-index 0s 1.2s, opacity 1.33s cubic-bezier(.26,1,.48,1); }

.site_map { width: 100%; height: 100%; display: flex; justify-content: center; align-items: flex-start; padding-left: 5.75rem; padding-left: 0; box-sizing: border-box; position: relative; }
.site_map:after { content:''; position: absolute; width: 0%; height: 100%; background-color: #3a1c19; right: 0; top: 0; z-index: -1; transition: 1.0s cubic-bezier(.641,.005,.095,1.05); }
.site_map>div { width: 100%; height: 100%; opacity: 0; transform: translateY(-3.125rem); position: relative; transition: 0.8s 0s; transform: translate(0); text-align: left; display: flex; justify-content: center; align-items: flex-start; flex-wrap: wrap; display: block; }
.site_map>div:after {content:'';position:absolute;top:0;bottom:0;left:0;width:25%;background:url(../../images/head_menu_bg.jpg) no-repeat center;background-size:cover;}
.site_logo { position: absolute; left: 0%; right: 0; margin: auto; bottom: 13%; }
.site_list { width: 100%;height:100%; display: flex; flex-direction: column; justify-content: center; align-items: flex-start; box-sizing:border-box;padding-left:25%; }
.site_list>li {}
.site_list>li {width:100%;margin-top:40px;}
.site_list>li a {display:block;font-size:14px;color:#939598;line-height:24px;font-weight:300;border-bottom:1px solid #939598;margin-bottom:1px;}
.site_list>li span {display:block;font-family:'Marcellus';font-size:35px;line-height:24px;font-weight:400;margin-top:15px;}
.site_list>li a:hover {color:#fff;border-bottom:2px solid #fff;margin-bottom:0;}
.site_list>li:nth-child(1) a {padding-left:70px;}
.site_list>li:nth-child(2) a {padding-left:160px;}
.site_list>li:nth-child(3) a {padding-left:250px;}
.site_list>li:nth-child(4) a {padding-left:340px;}
.site_list>li:nth-child(5) a {padding-left:430px;}
.site_list>li:nth-child(6) a {padding-left:520px;}
.site_list>li:nth-child(7) a {padding-left:610px;}
.site_list>li:nth-child(8) a {padding-left:700px;}
.site_list>li:nth-child(9) a {padding-left:790px;}

.site_wrap.active { opacity: 1; z-index: 1000; transition: 0s; }
.site_bg.active { opacity: 0.85; z-index: 980; transition: 0s, opacity 1.33s cubic-bezier(.26,1,.48,1); }
.site_wrap.active .site_map:after { width: 100%; transition: 1.0s cubic-bezier(.41,.005,.095,0.95); }
.site_wrap.active .site_map>div { opacity: 1; transform: translate(0); transition: 0.8s 0.4s; }


/**/




header.hide { opacity: 0; z-index: -100; transition: 0.6s; }
#logo.hide { opacity: 0; z-index: -100; transition: 0.6s; }
.ham.hide { opacity: 0; z-index: -100; transition: 0.6s; }




@media screen and (-webkit-min-device-pixel-ratio:0){ 

}

@media all and (max-width: 1600px) { 

	/* #logo { width: 250px; height: 25px; } */

}

@media all and (max-width: 1400px) { }	

@media (max-width: 1000px) {}

@media all and (max-width: 767px) { }	