/*reset.css*/
body, html{ margin:0; padding:0; width:100%; height:100%; }
body, html, input, textarea, select, button, table{ 
	font-family: 'TNR', 'noto', sans-serif;
	-webkit-font-smoothing:antialiased
 }
form, fieldset, h1, h2, h3, h4, h5, h6, p{ margin:0; padding:0; }
form, fieldset, button{ border:none; }
ol, ul, li{ list-style:none; padding:0; margin:0; }
img{ max-width:100%; }
a{ color:inherit; }
a, a:hover{ text-decoration:none; }

.d-lg-none{ display:none; }
.d-lg-block{ display:block; }

/*header*/
header{ position:fixed; z-index:9999; top:0; left:0; width:100%; transition:all .5s; border-bottom:1px solid rgba(255,255,255,.4); }
header, header *{ box-sizing:border-box; }
.hd_con{ width:100%; margin:0 auto; display:flex; justify-content:space-between; align-items:center; padding:0 2rem; position: relative;}

.hd_tp{ padding:7px 0; }
.hd_zm > a:not(:last-child){ margin-right:10px; }

.lg > a{ display:block; font-size:20px; line-height:1em; white-space:nowrap;}
.lg > a > img{ display:block; width:200px; transform: scale(1); transition: .5s;}
.mn{ display:flex; align-items:center; }

.hd-wrap{ display:flex; align-items:center; }

/*gnb*/
.hd_bt{ position:relative; z-index:5; }
#gnb{ position:relative; z-index:5; margin-left: 2rem;}
/* #gnb:after{ content:''; position:absolute; z-index:-1; top:100%; left:-5000px; right:-5000px; height:0; background-color:#fff; transition:0.4s height; border-bottom:1px solid #e2e2e2;} */
#gnb.on{ border-bottom:1px solid #ddd;}
#gnb.on:after{ height:324px; border-top:1px solid #ddd;}
#gnb > ul{ display:flex; flex-flow:row wrap; padding-left: 0; margin-bottom: 0;}
#gnb > ul > li{ position:relative; z-index:1; }
#gnb > ul > li > a{ display:block; padding:30px 25px; font-size:16px; font-weight:500; transition: all .5s; color: #1d1d1d;}
#gnb > ul > li > ul{ position:absolute; z-index:1; top:100%; left:50%; transform: translateX(-50%); display:none; width: 100%; box-sizing: border-box; background-color: #fff; padding:25px 5px 25px; text-align: center; border-radius: 16px; border: 1px solid #ddd;}
#gnb > ul > li > ul > li{ position:relative; z-index:1; text-align: center;}
#gnb > ul > li > ul > li > a{ display:block; padding:8px 0; font-size:16px; white-space:nowrap; position: relative;}
#gnb > ul > li > ul > li > a::before{content: ""; transition: .3s; width: 0; height: 1px; background-color: #fff; position: absolute; left: 0; bottom: 0;}
#gnb > ul > li > ul > li:hover > a::before{width: 100%;}
#gnb > ul > li > ul > li > ul{ position:absolute; z-index:1; top:0; left:100%; display:none; min-width:120px; box-shadow:2px 2px 4px 0 rgba(0,0,0,.3); }
#gnb > ul > li > ul > li > ul > li > a{ display:block; padding:7px 15px; font-size:15px; }

/* menu */
.menu-toggler {
  position: absolute;
  top: 35px;
  right: 2rem;
  width: 30px;
  height: 20px;
  display: flex;
  flex-direction: column;
  justify-content: space-between;
  cursor: pointer;
  z-index: 99999;
  transition: all 500ms ease-out;
}
.menu-toggler.open {
  transform: rotate(-45deg);
}
nav.fullscreenNav.open .menu-toggler {
  position: absolute;
  right: 3rem;top: 2rem;
}
nav.fullscreenNav.open .menu-toggler {
  transform: rotate(-45deg);
}
.bar {
  background-color: #fff;
  width: 100%;
  height: 2px;
  border-radius: 0.8rem;
  transition: background .5s ease;
}

.bar.half {
  width: 50%;
}
.bar.top {
  transform-origin: right;
  transition: transform 500ms cubic-bezier(0.54, -0.81, 0.57, 0.57), background .5s ease;
}
.open .bar{
  background-color: #1d1d1d;
}
.open .bar.top {
  transform: rotate(-90deg) translateX(0.4rem);
  background-color: #1d1d1d;
}
.bar.bottom {
  align-self: flex-end;
  transform-origin: left;
  transition: transform 500ms cubic-bezier(0.54, -0.81, 0.57, 0.57), background .5s ease;
}
.open .bar.bottom {
  transform: rotate(-90deg) translateX(-0.4rem);
  background-color: #1d1d1d;
}

/* mt-menu */
.mt-menu{width: 100%; height: 100vh; position: fixed; top: -100%; left: 0; background-color: #fff; z-index: 99998; transition: .8s ease-in-out;}
.mt-menu.mt-open{top: 0;}
.mt-menu > ul{width: 100%; max-width: 1240px; margin: 0 auto; position: absolute; top: 50%; left: 50%; transform: translate(-50%,-50%); display: flex; justify-content: space-between;}
.mt-menu > ul > li{text-align: center; flex: 1 1 auto; padding: 0 15px;}
.mt-menu > ul > li > a{font-size: 26px; font-weight: 500; transition: .5s; position: relative;}
.mt-menu > ul > li > a::before{content: ""; width: 8px; height: 8px; background-color: #004ea7; border-radius: 50%; position: absolute; top: 2px; left: -20px;}
.mtm-logo{position: absolute; bottom: 6rem; left: 50%; transform: translateX(-50%);}
.mtm-logo > img{width: 250px;}


/*mem*/
.mem_btn > li{ position:relative; z-index:1; }
.mem_btn > li > a{ display:block; padding:30px 0; font-size:28px; font-weight:400; color:#fff; transition:all .5s; }
.mem_btn > li > ul{ position:absolute; z-index:1; padding:5px 0; top:100%; right:0; display:none; min-width:140px; background-color:#fff; }
.mem_btn > li > ul > li{ text-align:right; }
.mem_btn > li > ul > li > a{ display:block; padding:5px 15px; font-size:14px; white-space:nowrap; }

/*mo_btn*/
.mo_btn{ position:relative; z-index:10; padding:30px 12px; display:none; cursor:pointer; }

.mo_btn.mo_mem > .mo_ic{ position:absolute; top:50%; left:50%; transform:translate(-50%, -50%); font-size:30px; }
.mo_btn.mo_mem > .mo_ic > i{ display:block; line-height:1em; }

.mo_btn.mo_mn > .mo_ic{ position:absolute; z-index:1; top:50%; left:50%; width:24px; height:2px; margin:-1px 0 0 -12px; border-radius:0; transition:0.3s height 0s,0.3s margin 0s,0s border-radius 0.3s,0s border 0.3s; }
.mo_btn.mo_mn > .mo_ic:before{ content:''; position:absolute; z-index:1; top:0; left:0; width:24px; height:2px; margin:-8px 0 0 -1px; opacity:1; transition:0.3s margin 0.3s,0s opacity 0.3s; }
.mo_btn.mo_mn > .mo_ic:after{ content:''; position:absolute; z-index:1; top:0; left:0; width:24px; height:2px; margin:6px 0 0 -1px; opacity:1; transition:0.3s margin 0.3s,0s opacity 0.3s; text-align:center; }
.mo_btn.mo_mn > .mo_ic > span{ font-size:14px; opacity:0; }
.mo_btn.mo_mn.act > .mo_ic{ height:24px; margin:-12px 0 0 -12px; background-color:transparent; transition:0.3s height 0.3s,0.3s margin 0.3s,0s border 0.3s,0s border-radius 0.3s; text-align:center; line-height:27px; }
.mo_btn.mo_mn.act > .mo_ic:before{ opacity:0; margin:1px 0 0 -1px; transition:0.3s margin,0s opacity 0.3s; }
.mo_btn.mo_mn.act > .mo_ic:after{ opacity:0; margin:-1px 0 0 -1px; transition:0.3s margin,0s opacity 0.3s; }
.mo_btn.mo_mn.act > .mo_ic > span{ opacity:1; }

.mo_mem_mn{ position:absolute; z-index:1; top:100%; left:0; width:100%; display:none; box-shadow:inset 0px 12px 10px -10px rgba(0,0,0,.35), 0 5px 5px 0 rgba(0,0,0,.1); }
/*.mo_mem_mn > li{ border-top:1px solid rgba(200,200,200,.65); border-bottom:1px solid rgba(100,100,100,.85); }*/
.mo_mem_mn > li > a{ display:block; padding:7px 15px; font-size:15px; font-weight:300; }

.mo_mn_mn{ position:fixed; z-index:9; top:0; left:0; width:100%; display:none; box-shadow:0 5px 5px 0 rgba(0,0,0,.1); padding:60px 0; background-color:#fff; }
/*.mo_mn_mn > li{ border-top:1px solid rgba(200,200,200,.65); border-bottom:1px solid rgba(100,100,100,.85); }*/
.mo_mn_mn > li > a{ display:block; padding:15px 0; font-size:18px; font-weight:500; text-align:center; }
.mo_mn_mn > li > ul{ display:none; background-color:rgba(150,150,150,.2); padding: 1rem 0;}
.mo_mn_mn > li > ul > li > a{ display:block; padding:10px 25px; font-size:15px; font-weight:400; text-align:center; }

/* allmenu */
.allmenu{padding-right: 2rem; margin-right: 4rem; height: 85px; line-height: 90px; border-right: 1px solid rgba(255,255,255,1);}
.allmenu > .down{font-size: 16px; color: #fff; transition: .5s;}

/* .scr */
header.scr{ background-color:#fff; border-bottom:1px solid #ddd; }
header.scr #gnb > ul > li > a{ color:#1d1d1d; padding:30px 25px; }
header.scr .l-arr{ color:#1d1d1d; }
header.scr .mem_btn > li > a{ color:#1d1d1d; padding:20px 0; }
header.scr .allmenu > .down{color: #1d1d1d;}
header.scr .bar{background-color: #1d1d1d;}
header.scr .allmenu{border-right: 1px solid #ddd;}

/* on  */
header.on{ background-color:#fff; border-bottom: 1px solid #ddd;}
header.on #gnb > ul > li > a{ color:#1d1d1d; }
header.on #gnb > ul > li::after{ background-color:#1d1d1d; }
header.on .l-arr{ color:#1d1d1d; }
header.on .mem_btn > li > a{ color:#1d1d1d; }
header.on .allmenu > .bar, header.on .allmenu::before, header.on .allmenu::after{ background-color:#000; }
header.on .fr-link > a{ border:1.5px solid #1d1d1d; color:#1d1d1d; }
header.on .fr-link > a:hover{ border:1.5px solid #F7B52C; color:#fff; background-color:#F7B52C; }

/* fixed */
.fixed-wrap{ z-index:999; background-color:#1d1d1d; border-radius:10px; position:fixed; right:1.5rem; top:50%; transform:translateY(-50%); padding:10px .5rem; }
.fixed-wrap > a{ display:block; padding:20px 10px; text-align:center; color:#fff; position:relative; transition:all .3s; }
.fixed-wrap > a::after{ content:""; width:80%; height:1px; background-color:#f5f5f5; bottom:0; left:50%; transform:translateX(-50%); position:absolute; }
.fixed-wrap > a:last-child:after{ display:none; }
.fixed-wrap > a > h2{ font-size:30px; margin-bottom:.5rem; }
.fixed-wrap > a > h5{ font-size:14px; font-weight:400; }

@media(max-width:991px){ 
  .hd_con{ padding:0 15px; }
  .hd_tp{ display:none; }
  .lg > a{ padding:10px 0; }
  .lg > a > img{ max-width:150px;}
  .mn{ display:none; }
  .mem_btn > li > a{ padding:10px 0; }

  .mo_btn{ display:block; }

  .d-none{ display:none; }
  .d-block{ display:block; }
}


/*wrapper*/
.article_mover{ position:absolute; z-index:-1; bottom:100%; }


/*footer*/
footer{ padding:100px 0; }
footer.light{ background-color:#f5f5f5; }
footer.dark{ background-color:#444; }
footer, footer *{ box-sizing:border-box; }
.ft_con{ width:100%; margin:0 auto; padding:0 4rem; }
.ft_pw{ margin:0 -15px; display:-webkit-box; display:-ms-flexbox; display:flex; -webkit-box-orient:horizontal; -ms-flex-direction:row; flex-direction:row; -webkit-box-lines:multiple; -ms-flex-wrap:wrap; flex-wrap:wrap; -webkit-box-pack:justify; -ms-flex-pack:justify; -webkit-box-align:end; -webkit-flex-align:end; align-items:flex-start; }
.ft_pt{ padding:0 15px; }
.ft_pt:nth-child(1){ width:20%; }
.ft_pt:nth-child(2){ width:50%; }
.ft_pt:nth-child(3){ width:30%; }

.ft_lg{ display:inline-block; }
.ft_lg{ font-size:20px; font-weight:700; }
.ft_lg > img{ display:block; width:250px; }
.ft_txt{ font-size:15px; font-weight:400; word-break:keep-all; margin-bottom:1rem; }
.ft_cp{ font-size:15px; font-weight:300; margin-top:3px; }

#fnb > ul{ overflow:hidden; text-align:left; margin-bottom:1rem; }
#fnb > ul > li{ display:inline-block; margin-left:20px; padding:2px; }
#fnb > ul > li:first-child{ margin-left:0; }
#fnb > ul > li > a{ display:block; font-size:16px; font-weight:400; }

.ft_sns{ overflow:hidden; text-align:left; }
.ft_sns > li{ display:inline-block; margin-right:10px; }
.ft_sns > li > a{ font-size:30px; transition:.5s; }
.ft_sns_tit{ font-size:16px; color:#fff; margin-bottom:1rem; }

/*footer_colorset*/
footer.light{ background-color:#f5f5f5; }
footer.light .ft_lg{ color:#333; }
footer.light .ft_txt{ color:#666; }
footer.light .ft_cp{ color:#999; }
footer.light #fnb > ul > li > a{ color:#333; }
footer.light .ft_sns > li > a{ background-color:#777; color:#fff; }


footer.dark{ background-color:#101010; }
footer.dark .ft_lg{ color:#fff; }
footer.dark .ft_txt{ color:#a6a6a6; }
footer.dark .ft_cp{ color:#a6a6a6; }
footer.dark #fnb > ul > li > a{ color:#a6a6a6; }
footer.dark .ft_sns > li > a{ color:#fff; }


/* mediaquery */

@media(min-width:992px){ 
  .d-lg-none{ display:none; }
  .d-lg-block{ display:block; }

  .mo-fixed{ display:none; }

  .mo-lang{ display:none; }
  .ft_txt{ display:block; }
  .ft_txt_m{ display:none; }

  .booking{ display:flex; justify-content:center; font-size:14px; opacity:0; transition:.8s; flex-direction:column; align-items:center; width:100px; height:100px; border-radius:50%; box-shadow:4px 4px 18px rgba(0, 0, 0, 0.17); position:fixed; bottom:0; right:2rem; background-color:#f7b52c; color:#fff; text-align:center; z-index:99999; }
  .booking > span{ font-size:28px; margin-bottom:3px; }
  .booking.visible{ opacity:1; bottom:2rem; }
  .booking:hover{ color:#1d1d1d; }
}
@media(max-width:1680px){ 
  .ft_pt:nth-child(2){ width:60%; }
  .ft_pt:nth-child(3){ width:20%; }
  #gnb > ul > li > a{padding: 50px 10px;}
  header.scr #gnb > ul > li > a{ padding:30px 10px; }
}
@media(max-width:991px){ 
  .fixed-wrap{ display:none; }
  .allmenu-wrap{ display:none; }
  .d-none{ display:none; }
  .d-block{ display:block; }

  .mo-fixed{background-color:#f7b52c;  width:100%; position:fixed; bottom:0; left:0; z-index:999; display:flex; justify-content:space-between; transition:.5s; }
  .mo-fixed > a{ padding:1.2rem 0; text-align:center; color:#1d1d1d; font-size:16px; font-weight:500; display:block; flex:1 1 auto; }
  .mo-fixed > a > span{ margin-right:5px; }

  .mo-lang{ display:block; position:absolute; top:50%; left: 15px; transform:translateY(-50%); }
  .mo-lang .g-icon{margin-right: 0;}
  .mo-lang .lang-ul{min-width: 100px; top: 100%;}
  .mo-lang .sns.language{line-height: 1;}

  .booking{ display:none; }

  .ft_lg{margin-bottom: 0;}

  .allmenu{display: none;}
  .menu-toggler{display: none;}
}
@media(max-width:850px){ 
  footer{ padding:40px 15px 80px; }
  .ft_tp{ margin-bottom:20px; }
  .ft_pt{ width:100%; text-align:center; margin-bottom:1rem; }
  .ft_pt:last-child{ margin-bottom:0; }
  .ft_pt.lf{ margin-bottom:20px; }
  
  #fnb > ul{ text-align:center; margin-bottom:1.5rem; }
  #fnb > ul > li{ padding:5px 10px; margin-left:0; }
  #fnb > ul > li > a{ font-size:14px; }

  .ft_txt{ font-size:12px; margin-bottom:1rem; color:#a6a6a6; }
  .ft_cp{ font-size:12px; }
  
  .ft_sns{ text-align:center; }
  .ft_sns > li{ padding:0 3px; margin-right:0; }
  .ft_sns > li > a{ width:30px; padding:6px; }

  .ft_con{ padding:0; }

  .main-footer{ padding:0 15px; bottom:5rem; }

  .ft_pw{ flex-direction:column; }
  .ft_pt:nth-child(1){ width:100%; }
  .ft_pt:nth-child(2){ width:100%; }
  .ft_pt:nth-child(3){ width:100%; }
  .ft_sns_tit{ margin-bottom:.5rem; }

  .ft_lg > img{width: 150px;}
}