.needpopup-opened,.needpopup-opened body{overflow:hidden}
.needpopup-opened.needpopup-scrolled,.needpopup-opened.needpopup-scrolled body{height:auto} 


.needpopup_wrapper{position:fixed;z-index:999999999999999;top:0;left:0;visibility:hidden;overflow:auto;-webkit-box-sizing:border-box;box-sizing:border-box;width:100%;height:100%;padding:0;-webkit-transition:opacity .3s ease;transition:opacity .3s ease;opacity:0;background:#000;background:rgba(0,0,0,.8)}


.needpopup-opened .needpopup_wrapper{visibility:visible;opacity:1}
 

.needpopup {position:relative;z-index:9999; top:50%;left:50%; display:none;-webkit-box-sizing:border-box;box-sizing:border-box; width:90%; max-width:1200px; border-radius:10px; padding:35px; opacity:0;background:#fff; max-height:90vh; overflow-y:auto}
.needpopup.wide { max-width:1200px;   }

.needpopup.opened{opacity:1; top:50%; left:50%; transform:translate(-50%, 0);}

.needpopup.stacked{top:0!important;margin-top:0!important}
.needpopup-overflow .needpopup{left:0;width:auto;margin-left:0}

.needpopup .needpopup_remover{top:30px; right:30px; position:absolute; font-size:30px; font-weight:200; color:#111; width:25px; height:25px; display:flex; align-items:center; justify-content:center; border-radius:5px  }
.needpopup .needpopup_remover:hover{color:#ccc}
.needpopup_remover:before{content:'\f00d';    font-family:"Font Awesome 5 Free";   font-weight:600;  margin-bottom:4px}

.needpopup .scroll_div {max-height:60vh; width:100%; overflow-y:auto; box-sizing:border-box; padding-right:30px; font-size:.89em; color:#424242; line-height:1.3}
.needpopup {font-size:1em; line-height:1.5}
.needpopup h3 {font-size:1.11em; margin-bottom:30px }
 


  
 
.sitemap { top:0;left:0; width:100vw; max-width:none; border-radius:0; padding:0; min-height:100vh;  }
.sitemap.opened{ top:0; left:0; transform:translate(0, 0);}


.sitemap .flex {height:100vh; align-items:center; gap:60px}
.sitemap .left_info {width:575px; box-sizing:border-box; background:url('/common/img/sitemap_bg.png') no-repeat; background-size:cover;  color:#fff; position:relative}
.sitemap .left_info:after {content:''; width:100%; height:100%; background:rgba(0,0,0,.7); left:0; top:0; position:absolute}
.sitemap .left_info div img {width:314px}
.sitemap .left_info div {font-weight:300; font-size:20px; position:relative; z-index:9; box-sizing:border-box; padding:30px 30px 100px 150px; display:flex; flex-direction:column; height:100vh }
.sitemap .left_info div b {font-size:24px; width:100%; display:inline-block; margin-top:auto}
.sitemap .left_info div hr.line {margin:150px 0 30px 0; border-top:1px solid #fff}

 
.sitemap dl {display:flex; border-bottom:1px solid rgba(242, 103, 41, 0.16);; align-items:center; padding:45px 0  }
.sitemap dl dt {font-size:40px; width:300px; flex-shrink:0;   font-weight:700; font-family: "Nunito Sans", sans-serif;}
.sitemap dl dd ul {display:flex; margin-top:5px}
.sitemap dl dd ul li { font-size:1.11em;}
.sitemap dl dd ul li:after {content:'/'; margin:0 20px}
.sitemap dl dd ul li:last-child:after {display:none}
.sitemap dl dd ul li  a {color:#424242;   }
.sitemap dl dd ul li div {margin-top:15px; }
.sitemap dl dd ul li div p {font-size:1rem;  }
.sitemap dl dd ul li div p a {color:#868686;   }
.sitemap dl dd ul li div p + p {margin-top:5px}
.sitemap dl dd ul li a:hover {text-decoration:underline}


.privacy_t_pop {color:#383838; font-weight:300}


.mnavi { top:0;left:0;  width:100vw; max-width:100vw; border-radius:0; padding:20px 35px; min-height:100vh;   }
.mnavi.opened {width:100vw; height:100vh; margin-top:0 !important;  top:0 !important; left:0; transform:translate(0, 0) !important;}
.mnavi ul li span {position:relative; width:100%; display:flex;  align-items:center; font-size:18px; font-weight:400; padding:10px 0; color:#868686;   border-bottom:1px solid #ddd }
.mnavi ul li span:hover {color:var(--main_c); border-bottom:1px solid var(--main_c) }

.mnavi ul li span:after   { 
    content: '';
    width: 10px;  
    height: 10px;  margin-top:-5px; margin-left:auto; margin-right:5px;
    border-top: 1px solid #868686; 
    border-right: 1px solid #868686; 
    transform: rotate(135deg); 
}
 .mnavi ul li span:hover:after { border-top: 1px solid var(--main_c);  border-right: 1px solid var(--main_c); margin-top:10px;    transform: rotate(-45deg);   }
.mnavi ul li.dep2_none span:after  {display:none}

  
.mnavi ul li ul {display:none}
.mnavi ul li:hover ul {display:block; margin-top:20px; margin-bottom:10px;  box-sizing:border-box; width:100%}
.mnavi ul li:hover ul li {padding:3px 0; font-size:15px;  }
.mnavi ul li:hover ul li a {color:var(--main_c)} 

.mnavi .lang {gap:10px; margin-top:20px}
.mnavi .lang a {font-size:19px; font-weight:700;  color:#ddd; }
.mnavi .lang a:first-child {color:var(--main_c) }

@media screen and (max-width:900px) {
		.needpopup {padding:30px 20px 20px 20px} 
		.needpopup h3 {font-size:1em; margin-top:5px; margin-bottom:20px }
		.needpopup .needpopup_remover  {  right:20px;  top:32px }
 
}










 