@charset "utf-8";
@font-face{
  font-family:'NSJPConvert';
  font-style:normal;
  font-weight:400;
  font-display:swap;
  src:url('../fonts/NSJPConvert-Regular.woff2') format('woff2');
}
@font-face{
  font-family:'NSJPConvert';
  font-style:normal;
  font-weight:500;
  font-display:swap;
  src:url('../fonts/NSJPConvert-Medium.woff2') format('woff2');
}
@font-face{
  font-family:'NSJPConvert';
  font-style:normal;
  font-weight:700;
  font-display:swap;
  src:url('../fonts/NSJPConvert-Bold.woff2') format('woff2');
}
@font-face{
  font-family:'NSJPConvert';
  font-style:normal;
  font-weight:900;
  font-display:swap;
  src:url('../fonts/NSJPConvert-Black.woff2') format('woff2');
}
@font-face{
  font-family:'Oswald';
  font-style:normal;
  font-weight:400;
  font-display:swap;
  src:url('../fonts/Oswald-Regular.woff2') format('woff2');
}
@font-face{
  font-family:'Oswald';
  font-style:normal;
  font-weight:500;
  font-display:swap;
  src:url('../fonts/Oswald-Medium.woff2') format('woff2');
}
@font-face{
  font-family:'Oswald';
  font-style:normal;
  font-weight:700;
  font-display:swap;
  src:url('../fonts/Oswald-Bold.woff2') format('woff2');
}
h2{
  font-size:calc(18px + 10*var(--calcWidth));
  font-weight:700;
}
h3{
  font-size:calc(16px + 28*var(--calcWidth));
  font-weight:700;
}
main,section{
  position:relative;
	width:100%;
  margin:0 auto;
  z-index:9990;
}
.scroll,a,address{
	color:rgba(0,0,0,1);
	font-family:'Oswald',sans-serif;
	font-weight:700;
  text-decoration:none;
}
button{
  font-family:'Oswald',sans-serif;
  font-size:1.17rem;
	font-weight:700;
  font-feature-settings:'palt';
  letter-spacing:0;
	border:0;
	background-color:rgba(0,0,0,0);
	letter-spacing:0;
  outline:none;

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

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

	-webkit-box-pack:center;
	-ms-flex-pack:center;
	justify-content:center;
}
.letter-space{
  letter-spacing:.05rem;
}
/* -------- -------- --------
        button
-------- -------- -------- */
.ct-btn-tp{
  color:rgba(0,0,0,1);
  text-transform:uppercase;
  width:16vw;
  height:8.8vh;
  position:relative;
  display:block;
  overflow:hidden;
  margin:0 auto;
  border:4px solid rgba(0,0,0,1);
  border-radius:10vw;
  background-color:var(--whiteColor);
}
.sec-btn{
  width:calc(128px + 24*var(--calcWidth));
  height:calc(40px + 40*var(--calcWidth));
  margin:4vw auto 0 auto;
}
.ct-btn-tp span:last-child{
  position:absolute;
  display:block;
  width:30px;
  height:30px;
  border-radius:50%;
  background-color:rgba(0,0,0,1);
  -webkit-transition:width .4s ease-in-out,height .4s ease-in-out;
          transition:width .4s ease-in-out,height .4s ease-in-out;
  transform:translate(-50%,-50%);
  z-index:-1;
}
.ct-btn-tp span:first-child{
  font-size:1.25rem;
  display:-webkit-box;
  display:-ms-flexbox;
  display:flex;

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

  -webkit-box-pack:center;
  -ms-flex-pack:center;
  justify-content:center;
}
.ct-btn-tp:hover span:first-child{
  color:var(--whiteColor);
  width:100%;
  height:24px;
  position:absolute;
  content:'';
  top:0;
  right:0;
  bottom:0;
  left:0;
  margin:auto;
  z-index:1;
}
.ct-btn-tp:hover span{
  width:225%;
  height:562.5px;
  z-index:0;
}
.ct-btn-tp:active{
  background-color:var(--whiteColor);
}
/* -------- -------- --------
           404
-------- -------- -------- */
.error-container{
  position:relative;
  width:100%;
  height:100vh;
  min-height:488px;
  margin:0 auto;
  background-color:var(--mainColor);
  overflow:hidden;
}
.error-container h1{
  font-family:Oswald;
  font-weight:900;
  font-size:calc(24px + 24*var(--calcWidth));
  text-align:center;
  width:100%;
  height:64px;
  position:absolute;
  top:25%;
  right:0;
  left:0;
  margin:auto;
}
.error-container p{
  font-size:calc(12px + 12*var(--calcWidth));
  font-weight:700;
  text-align:center;
  width:100%;
  height:80px;
  position:absolute;
  top:calc(50% - 20px);
  right:0;
  left:0;
  margin:auto;
}
/* -------- -------- --------
           footer
-------- -------- -------- */
footer{
  position:relative;
  width:100%;
  height:52vmax;
  text-align:center;
  text-align:-webkit-center;
}
footer nav li img{
  width:calc(102px + 51*var(--calcWidth));
  height:calc(32px + 16*var(--calcWidth));
  position:absolute;
  top:20%;
  right:0;
  left:0;
  margin:0 auto;
}
footer nav li.menu-link{
  width:100%;
  height:64px;
  position:absolute;
  top:0;
  bottom:0;
  margin:auto;
  padding:0 2%;

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

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

  -webkit-box-pack:center;
  -ms-flex-pack:center;
  justify-content:center;
}
footer nav li.menu-link a{
  position:relative;
  width:calc(48px + 48*var(--calcWidth));
  margin:auto;
  font-size:.83rem;
  font-weight:900;
  letter-spacing:.05em;
}
footer nav li.menu-link a::after{
  position:absolute;
  border:1px solid #000;
  width:calc(48px + 48*var(--calcWidth));
  margin:auto;
  bottom:-4px;
  left:0;
  right:0;
  content:'';
  height:1px;
  background:#333;
  transform:scale(0,1);
  transform-origin:center top;
  -webkit-transition:transform .3s;
          transition:transform .3s;
}
footer nav li.menu-link a:hover::after{
  transform:scale(1,1);
}
footer nav li:last-child div{
  position:absolute;
  left:0;
  right:0;
  margin:auto;
  bottom:calc(24% + 16px);

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

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

  -webkit-box-pack:center;
  -ms-flex-pack:center;
  justify-content:center;
}
footer nav li:last-child div a{
  font-family:'NSJPConvert',sans-serif;
  font-size:.71rem;
  font-weight:400;
  margin:0 calc(8px + 24*var(--calcWidth));
}
footer nav li p{
  font-size:.83rem;
  font-weight:400;
  letter-spacing:.072em;
  width:100%;
  position:absolute;
  right:0;
  bottom:24%;
  left:0;
  margin:0 auto;
}
footer span{
  position:absolute;
  right:0;
  bottom:0;
  left:0;
  height:12vw;
  margin:auto;
  background-image:url('../img/footer_icon_decoration.svg');
  background-repeat:repeat-x;
  background-position:center bottom;
  background-size:cover;
}
.ft-line{
  border-top:1px solid rgba(213,213,213,1);
}
/* -------- -------- --------
            page top
-------- -------- -------- */
#page-top{
  width:40px;
  height:40px;
  position:fixed;
  right:6vw;
  bottom:10vw;
  -webkit-transition:all 320ms 0s ease;
          transition:all 320ms 0s ease;
  z-index:9998;
}
#page-top img{
  width:100%;
  height:100%;
  padding:8px;
  border-radius:32px;
  background-color:rgba(0,0,0,1);
}
.show-out{
  opacity:0;
  -webkit-transition:all 800ms 0s ease;
          transition:all 800ms 0s ease;
}
@media screen and (min-width:600px){
  /* -------- -------- --------
            header - 600
  -------- -------- -------- */
  header .nv-logo{
    height:5vw;
  }
  header .nv-logo img{
    width:calc(88px + 44*var(--calcTabletWidth));
    height:calc(40px + 20*var(--calcTabletWidth));
  }
  .nv-menu nav ul{
    width:calc(384px + 192*var(--calcTabletWidth));
    height:calc(944px + 56*var(--calcTabletWidth));
  }
  .nv-menu li address p:nth-child(1){
    font-size:calc(16px + 3*var(--calcTabletWidth));
  }
  .nv-menu li address a,
  .nv-menu li address p:nth-child(2),
  .nv-menu li address span{
    font-size:calc(14px + 3*var(--calcTabletWidth));
  }
  .nv-menu li.menu-link a{
    font-size:calc(24px + 3*var(--calcTabletWidth));
  }
  .nv-menu li address{
    width:80%;
    margin:0 auto calc(144px + 64*var(--calcTabletWidth)) auto;
  }
  .nv-menu li.nv-footer{
    height:calc(64px + 8*var(--calcTabletWidth));
  }
  .inner-line{
    width:40px;
  }
  .inner-line:nth-child(3){
    width:24px;
  }
  .open-line1{
    width:40px;
  }
  .open-line2{
    width:40px;
  }
  /* -------- -------- --------
      button - 600
  -------- -------- -------- */
  button{
    font-size:calc(14px + 4*var(--calcTabletWidth));
  }
  .sec-btn{
    width:calc(128px + 64*var(--calcTabletWidth));
    height:calc(48px + 16*var(--calcTabletWidth));
    margin:2vw auto 0 auto;
  }
  /* -------- -------- --------
          footer - 600
  -------- -------- -------- */
  footer{
    height:calc(240px + 152*var(--calcTabletWidth));
  }
  footer nav li img{
    width:calc(96px + 54*var(--calcTabletWidth));
    height:calc(24px + 16*var(--calcTabletWidth));
    min-height:auto;
    top:24%;
  }
  footer nav li:last-child div{
    bottom:calc(21.5% + 16px + 8*var(--calcTabletWidth));
  }
  footer nav li:last-child div a{
    font-size:calc(10.5px + .5*var(--calcTabletWidth));
    margin:0 calc(16px + 16*var(--calcTabletWidth));
  }
  footer nav li.menu-link a{
    font-size:calc(10.5px + 3.5*var(--calcTabletWidth));
  }
  footer span{
    height:calc(32px + 32*var(--calcTabletWidth));
  }
  footer nav li p{
    font-size:calc(10px + 2.5*var(--calcTabletWidth));
  }
}
@media screen and (min-width:1025px){
  /* -------- -------- --------
          header - 1025
  -------- -------- -------- */
  .nv-menu nav ul{
    width:40%;
  }
  header .nv-logo img{
    width:calc(102px + 51*var(--calcPCWidth));
    height:calc(56px + 28*var(--calcPCWidth));
  }
  .nv-menu li.menu-link{
    width:10vw;
    height:25vw;
  }
  .nv-menu li.menu-link a{
    font-size:calc(22px + 22*var(--calcPCWidth));
  }
  .nv-menu li.nv-footer{
    height:calc(56px + 56*var(--calcPCWidth));
  }
  .nv-menu li address{
    width:80%;
    margin:0 auto 12vw auto;
  }
  .nv-menu nav ul{
    height:calc(952px + 420*var(--calcPCWidth));
  }
  .nv-menu li address p:nth-child(1){
    font-size:calc(14px + 14*var(--calcPCWidth));
  }
  .nv-menu li address p:nth-child(2),
  .nv-menu li address span{
    font-size:calc(12px + 12*var(--calcPCWidth));
  }
  .nv-menu li address a{
    font-size:calc(12px + 12*var(--calcPCWidth));
  }
  #hmbgr-menu{
    top:0;
    bottom:0;
  }
  .inner-line{
    width:48px;
  }
  .inner-line:nth-child(3){
    width:32px;
  }
  .open-line1{
    width:40px;
  }
  .open-line2{
    width:40px;
  }
  /* -------- -------- --------
      button - 1025
  -------- -------- -------- */
  button{
    font-size:calc(15px + 11*var(--calcPCWidth));
  }
  .sec-btn{
    width:calc(144px + 140*var(--calcPCWidth));
    height:calc(48px + 56*var(--calcPCWidth));
    margin:1vw auto 0 auto;
  }
  .sec-btn span:first-child{
    font-size:.8rem;
    font-weight:500;
  }
  .ct-btn-tp{
    border:4px solid rgba(0,0,0,1);
  }
  /* -------- -------- --------
          footer - 1025
  -------- -------- -------- */
  footer{
    height:calc(380px + 472*var(--calcPCWidth));
  }
  footer nav li:last-child p{
    font-size:calc(10px + 4*var(--calcPCWidth));
  }
  footer nav li:last-child div{
    width:calc(500px + 250*var(--calcPCWidth));
    bottom:calc(26.5% + 1*var(--calcPCWidth));
  }
  footer nav li:last-child div a{
    font-size:calc(10px + 4*var(--calcPCWidth));
    margin:0 calc(16px + 16*var(--calcPCWidth));
  }
  footer nav li.menu-link{
    padding:0 20%;
  }
  footer nav li.menu-link a{
    font-size:calc(12px + 12*var(--calcPCWidth));
    width:5vw;
    margin:0 3.5vw;
  }
  footer nav li.menu-link a::after{
    width:5vw;
  }
  footer nav li img{
    width:calc(142px + 71*var(--calcPCWidth));
    height:calc(32px + 16*var(--calcPCWidth));
    top:25%;
  }
  footer span{
    height:6vw;
  }
  /* -------- -------- --------
        page top - 1025
  -------- -------- -------- */
  #page-top{
    width:40px;
    height:70px;
    margin:0 6vw 6vw 0;
  }
}
