.needpopup-opened,.needpopup-opened body{overflow:hidden}.needpopup-opened.needpopup-scrolled,.needpopup-opened.needpopup-scrolled body{height:auto}.needpopup-opened.needpopup-scrolled body{position:fixed;width:100%}


.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:700px; 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; border:1px solid #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:'×'; }

.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 }
.needpopup p + p {margin-top:20px}

 

.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 h1 {line-height:0;  height:25px; display:flex; align-items:center}
.mnavi h1 img {width:165px}
.mnavi ul {margin-top:60px}
.mnavi ul li span {position:relative; width:100%; display:flex;  align-items:center; font-size:22px; font-weight:600; padding:10px 0; color:#868686;   }
.mnavi ul li span:hover {color: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.right:after { transform: rotate(45deg); margin-right:10px}
.mnavi ul li span:hover:after { border-top: 1px solid var(--main_c);  border-right: 1px solid var(--main_c);   transform: rotate(-45deg);   }
.mnavi ul li span.right:hover:after { transform: rotate(45deg) }

.mnavi ul li ul {display:none; margin-top:0}
.mnavi ul li:hover ul {display:block;   padding:12px 0; box-sizing:border-box; width:100%}
.mnavi ul li:hover ul li {padding:3px 0; font-size:16px; }
.mnavi ul li:hover ul li a { width:100%; display:inline-block}
 

@media screen and (max-width:900px) {
		.needpopup {padding:30px 30px 30px 30px} 
		.needpopup h3 {font-size:1em; margin-top:5px; margin-bottom:20px }
		.needpopup .needpopup_remover{  right:30px;   }
 
 
}










 