@charset "utf-8";
:root{
  --calcWidth:calc((100vw - 320px)/1120);
  --calcTabletWidth:calc((100vw - 600px)/424);
  --calcPCWidth:calc((100vw - 1025px)/1225);
  --mainColor:rgba(250,237,0,1);
  --whiteColor:rgba(255,255,255,1);
}
/* -------- -------- --------
            CSS Reset
-------- -------- -------- */
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,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,canvas,details,embed,
figure,figcaption,footer,header,hgroup,
menu,nav,output,ruby,section,summary,
time,mark,audio,video{
  margin:0;
  padding:0;
  border:0;
  font-size:100%;
  font:inherit;
  vertical-align:baseline;
}
article,aside,details,figcaption,figure,
footer,header,hgroup,menu,nav,section{
  display:block;
}
ol,ul{
  list-style:none;
}
blockquote,q{
  quotes:none;
}
blockquote::before,blockquote::after,
q::before,q::after{
  content:'';
  content:none;
}
table{
  border-collapse:collapse;
  border-spacing:0;
}
/* -------- -------- --------
        Initial Settings
-------- -------- -------- */
*{
  -moz-box-sizing:border-box;
  -webkit-box-sizing:border-box;
  box-sizing:border-box;
}
html{
  font-family:'NSJPConvert',sans-serif;
  font-size:calc(12px + 4*var(--calcWidth));
}
body{
  background-color:var(--whiteColor);
  font-size:1rem;
  line-height:2;
  color:rgba(0,0,0,1);
  overflow-y:scroll;
  overflow-x:hidden;
}
body::after{
 width:100%;
 height:100%;
 z-index:99999;
}
/* -------- -------- --------
        humberger menu
-------- -------- -------- */
header{
  position:fixed;
  top:0;
  left:0;
  width:142px;
  margin:0 auto;
  z-index:9999;
}
header .nv-logo{
  height:6.4vw;
  max-height:44px;
  margin:6vw 0 0 6vw;
}
header .nv-logo img{
  width:calc(68px + 136*var(--calcWidth));
  height:calc(20px + 40*var(--calcWidth));
}
.nv-menu nav{
  position:fixed;
  top:0;
  right:0;
  width:100%;
  height:100vh;
  overflow-y:scroll;
  background-color:rgba(0,0,0,.32);
  display:inline-block!important;
  z-index:99998;
}
#nrml-menu{
  font-size:0;
}
.nv-menu nav ul{
  width:calc(320px + 640*var(--calcWidth));
  height:calc(720px + 720*var(--calcWidth));
  min-height:120vh;
  position:absolute;
  right:0;
  border-left:rgba(240,244,248,1);
  background-color:var(--whiteColor);
  filter:drop-shadow(-1px 0 2px rgba(213,213,213,1));
}
.nv-menu li.menu-link{
  display:block;
  position:absolute;
  width:25%;
  height:48vh;
  top:-15%;
  right:0;
  bottom:0;
  left:0;
  margin:auto;

  display:-webkit-box;
  display:-ms-flexbox;
  display:flex;

  -ms-flex-wrap:wrap;
  flex-wrap:wrap;

  -webkit-box-align:center;
  -ms-flex-align:center;
  align-items:center;

  -webkit-box-pack:center;
  -ms-flex-pack:center;
  justify-content:center;
}
.nv-menu li.menu-link a{
  position:relative;
  width:100%;
  font-size:2rem;
  font-weight:400;
  margin:0 auto 1vw auto;
}
.nv-menu li.menu-link a::after{
  position:absolute;
  bottom:-4px;
  left:0;
  content:'';
  width:100%;
  height:2px;
  background:#333;
  -webkit-transform:scale(0,1);
          transform:scale(0,1);
  transform-origin:right top;
  -webkit-transition:-webkit-transform 300ms;
          transition:transform 300ms;
}
.nv-menu li.menu-link a:hover::after{
  transform-origin:left top;
  -webkit-transform:scale(1,1);
          transform:scale(1,1);
}
.nv-menu li.nv-footer{
  width:100%;
  height:7.2vh;
  overflow:hidden;
  position:absolute;
  right:0;
  left:0;
  bottom:0;
  background-image:url('../img/nv_menu_footer.svg');
  background-repeat:repeat-x;
  background-position:center bottom;
  background-size:cover;
}
.nv-menu li address{
  width:72%;
  padding:0 1vw;
  position:absolute;
  right:0;
  bottom:0;
  left:0;
  margin:0 auto calc(96px + 96*var(--calcWidth)) auto;
}
.nv-menu li address p:nth-child(1){
  font-size:1rem;
  font-weight:700;
  margin:0 0 1vw 0;
}
.nv-menu li address p:nth-child(2),
.nv-menu li address span{
  font-size:1rem;
  font-weight:400;
  line-height:normal;
  letter-spacing:0;
  font-feature-settings:'palt';
}
.nv-menu li address a{
  font-size:1rem;
  font-family:'NSJPConvert',sans-serif;
  font-weight:500;
  color:rgba(88,108,128,1);
  text-decoration:underline;
  margin:0 0 0 8px;
}
#hmbgr-menu{
  font-size:0;
  display:block;
  position:fixed;
  top:8vw;
  right:6vw;
  margin:auto;
  width:24px;
  height:16px;
  cursor:pointer;
  z-index:99999;
}
#hmbgr-line1{
  top:0;
}
#hmbgr-line2{
  top:calc(50% - .8px);
}
#hmbgr-line3{
  bottom:0;
}
.inner-line{
  font-size:0;
  border-radius:3.2px;
  display:inline-block;
  position:absolute;
  right:0;
  width:24px;
  height:2px;
  -webkit-transform:rotate(0);
          transform:rotate(0);
  -webkit-transition:-webkit-transform 400ms;
          transition:transform 400ms;
  background-color:rgba(86,86,86,1);
}
.inner-line:nth-child(1){
  top:0;
  margin-top:0;
}
.inner-line:nth-child(2){
  top:0;
  bottom:0;
}
.inner-line:nth-child(3){
  width:16px;
  bottom:0;
}
.out{
  -webkit-transform:translateX(100%);
          transform:translateX(100%);
  -webkit-transition:-webkit-transform 400ms;
          transition:transform 400ms;
}
.in{
  -webkit-transform:translateX(0);
          transform:translateX(0);
  -webkit-transition:-webkit-transform 400ms;
          transition:transform 400ms;
}
.open-line1,.open-line2,.open-line3{
  background-color:rgba(127,127,127,1);
}
.open-line1{
  width:24px;
  top:calc(50% - 1.2px)!important;
  -webkit-transform:rotate(-45deg);
          transform:rotate(-45deg);
  -webkit-transition:-webkit-transform 400ms;
          transition:transform 400ms;
}
.open-line2{
  width:24px;
  bottom:calc(50% - 1.2px)!important;
  -webkit-transform:rotate(45deg);
          transform:rotate(45deg);
  -webkit-transition:-webkit-transform 400ms;
          transition:transform 400ms;
}
.open-line3{
  opacity:0;
}
