/*reset.css*/
body, html{ margin:0; padding:0; width:100%; height:100%; }
body, html, input, textarea, select, button, table{ 
	font-family:'Book Antiqua', '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:99999999; 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; }

.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:250px; }
.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:3rem; }
#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:365px; border-top:1px solid #e2e2e2; }
#gnb > ul{ display:flex; flex-flow:row wrap; }
#gnb > ul > li{ position:relative; z-index:1; }
#gnb > ul > li::after{ content:""; width:3px; height:3px; border-radius:50%; background-color:#fff; position:absolute; top:50%; right:0; transform:translateY(-50%); }
#gnb > ul > li:last-child:after{ display:none; }
#gnb > ul > li > a{ display:block; padding:50px 45px; font-size:16px; font-weight:500; min-width:130px; text-align:center; transition:all .5s; }
#gnb > ul > li > ul{ position:absolute; z-index:1; top:100%; left:0; width:100%; height:0; padding:10px 0; text-align:center; transition:0.4s height; overflow:hidden; }
#gnb.on > ul > li > ul{ height:365px; }
#gnb > ul > li > ul > li{ position:relative; z-index:1; }
#gnb > ul > li > ul > li > a{ display:block; padding:10px 24px; font-size:15px; line-height:18px; /*white-space:nowrap;*/ color:#000; }
#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; }

/*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:16px; opacity:0; }
.mo_btn.mo_mn.act > .mo_ic{ height:24px; border-radius:100%; 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:24px; }
.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); }
.mo_mn_mn > li > ul > li > a{ display:block; padding:7px 25px; font-size:15px; font-weight:300; text-align:center; }

/* allmenu */
.allmenu-wrap{ display:flex; align-items:center; position:relative; }
.allmenu{ width:25px; height:25px; margin-left:1rem; position:relative; cursor:pointer; }
.allmenu > .bar{ display:block; width:60%; height:1px; background-color:#fff; position:absolute; top:50%; right:0; transform:translateY(-50%); z-index:2; border-radius:20px; transition:all .3s; }
.allmenu::before{ content:""; width:100%; height:2px; background-color:#fff; position:absolute; top:0; right:0; border-radius:20px; }
.allmenu::after{ content:""; width:100%; height:2px; background-color:#fff; position:absolute; bottom:0; right:0; border-radius:20px; }
.allmenu:hover > .bar{ width:100%; }

.fr-link{ margin-left:1.5rem; }
.fr-link > a{ display:block; color:#fff; border:1.5px solid #fff; padding:8px 15px; font-size:15px; transition:.5s; }
.fr-link > a:hover{ background-color:#fff; color:#171c61; }

.sns.language{ display:flex; align-items:center; position:relative; }
.lang-ul{ position:absolute; z-index:50; top:100%; left:0; padding:1rem 1.3rem 1rem 1rem; background-color:#fff; display:none; box-shadow:2px 2px 4px 0 rgba(0,0,0,.3); }
.lang-ul > li{ margin-bottom:5px; }
.lang-ul > li:last-child{ margin-bottom:0; }
.lang-ul > li > a:hover{ color:#ffd900; }
.lang-ul > li > a > img{ max-width:30px; }
.l-arr{ margin-left:10px; color:#fff; transition:all .5s; }

/* .scr */
header.scr{ background-color:#fff; border-bottom:none; }
/* header.scr .hd_bt{ box-shadow:0 0 10px 0 rgba(0, 0, 0, 0.25); } */
header.scr #gnb > ul > li > a{ color:#1d1d1d; padding:30px 45px; }
header.scr #gnb > ul > li::after{ background-color:#1d1d1d; }
header.scr .l-arr{ color:#1d1d1d; }
header.scr .mem_btn > li > a{ color:#1d1d1d; padding:20px 0; }
header.scr .fr-link > a{ border:1.5px solid #1d1d1d; color:#1d1d1d; }
header.scr .fr-link > a:hover{ border:1.5px solid #171c61; color:#fff; background-color:#171c61; }
header.scr .allmenu > .bar, header.scr .allmenu::before, header.scr .allmenu::after{ background-color:#000; }

/* on  */
header.on{ background-color:#fff; border-bottom:none;}
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 .fr-link > a{ border:1.5px solid #1d1d1d; color:#1d1d1d; }
header.on .fr-link > a:hover{ border:1.5px solid #171c61; color:#fff; background-color:#171c61; }
header.on .allmenu > .bar, header.on .allmenu::before, header.on .allmenu::after{ background-color:#000; }

/* 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:200px; max-height:40px; }
  .mn{ display:none; }
  .mem_btn > li > a{ padding:10px 0; }

  .mo_btn{ display:block; }

  .d-none{ display:none; }
  .d-block{ display:block; }
  .mo_btn{ 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; justify-content:space-between; -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){ 
  #gnb{ margin-left:1rem; }
  .ft_pt:nth-child(2){ width:60%; }
  .ft_pt:nth-child(3){ width:20%; }
  #gnb > ul > li > a{ padding:50px 15px; }
  header.scr #gnb > ul > li > a{ padding:30px 15px; }
}
@media(max-width:991px){ 
  .ft_txt{ display:none; }
  .ft_txt_m{ display:block; }
  .fixed-wrap{ display:none; }
  .allmenu-wrap{ display:none; }
  .d-none{ display:none; }
  .d-block{ display:block; }

  .mo-fixed{ 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; background-color:#f7b52c; 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%; right:60px; transform:translateY(-50%); }

  .booking{ 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:1.5rem; }
  .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:10px; margin-left:0; }
  #fnb > ul > li > a{ font-size:13px; }

  .ft_txt_m{ font-size:12px; margin-bottom:.5rem; 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; }
}