@import url("https://p.typekit.net/p.css?s=1&k=obc0khh&ht=tk&f=10881.10882.10884.10885.15357.15358.15361.15362.32874.32875&a=3016251&app=typekit&e=css");

@font-face {
font-family: "futura-pt", sans-serif;
font-weight: 300;
font-style: normal;
}
@font-face {
    font-family: "KozGoPr6N-Regular";
    src:url(../fonts/KozGoPr6N-Regular.otf)
}


:target {
    scroll-margin-top: 100px;
}
body {
    margin: 0;
    padding: 0;
    font-family: "futura-pt", sans-serif;
    font-style: normal;
}
img {
    vertical-align: middle;
}
a {
    text-decoration: none;
    color: inherit;
    cursor: pointer;
}
button:hover {
    cursor: pointer;
    opacity: .5;
}
html {
    scroll-behavior: smooth;
}
body::-webkit-scrollbar {
    display: none;
}
.preloader video {
    position: absolute;
    z-index: 0;
    object-fit: cover;
    top: 0px;
    height: 100vh !important;
    width: 100%;
    /* z-index: 9999; */
}
#preVideo {
    opacity: 1;
    transition: 1s ease;
}
body {
    background-image: url(../images/back.png);
    background-repeat: no-repeat;
    background-size: cover;
}
.main {
    width: 100vw;
    margin: auto;
    display: none;
    opacity: 0;
    transition: 2s linear;
}
img {
    border: none;
}

.header-head {
    position: fixed;
    display: flex;
    justify-content: space-between;
    padding-top: 65px;
    
    padding-left: 115px;
   
    padding-right: 133px;

    align-items: center;
    width: 1050px;
    z-index: 10;
}
.btn-lang-container {
    width: 130px;
    height: 60px;
    border: solid 1px black;
    display: flex;
    justify-content: center;
    align-items: center;
    /* display: none; */
    opacity: 0;
}
.btn-lang-container button {
    background-color: transparent;
    border: none;
    font-size: 22px;
    color: white;
    font-family: futura-pt-bold;
    font-style: oblique;
}
.btn-lang-container button:hover{
   color: white;
}
.btn-lang-container span {
    width: 20px;
    font-size: 25px;
    text-align: center;
    color: white;
}
.banner {
    padding-top: 220px;
    width: 100%;
    text-align: center;
}
.banner img {
    width: 460px;
    height: 300px
}
.menu {
    background-size: cover;
    background-repeat: no-repeat;
    width: 98px;
    height: 98px;
    background: transparent;
    border: none;
    /* border: 1px solid black; */
    background-image: url(../images/menu-1.png);
    background-size: cover;
}

.menu-open {
    background-image: url(../images/menu-2.png) !important;
}
header {
    display: flex;
    justify-content: center;
}
.header-nav {
    width: 100vw;
    position: fixed;
    padding-top: 260px;
    height: 100vh;
    background-image: url(../images/menu-back.png);
    background-size: cover;
    z-index: 2;
    /* opacity: 0; */
    /* display: none; */
    transform: translateY(-200vh);
    transition: .5s ease;
}
.header-nav div {
    width: 100%;
    text-align: center;
    margin-bottom: 70px;
}
.header-nav div a {
    font-size: 38px;
    color: white;
}
.banner-text {
    font-size: 40px;
    text-align: center;
    margin-bottom: 335px;
    margin-top: 55px;
    color: white;
}
.main-title {
    font-size: 30px;
    text-align: center;
    margin-bottom: 70px;
    color: white;
}
.main-title span {
    border-bottom: 2px solid white;
    padding-bottom: 2px;
    display: inline;
    margin:auto;
}
.description {
    text-align: center;
    font-size: 16px;
    margin-bottom: 60px;
    line-height: 2;
    font-family: KozGoPr6N-Regular;
    font-style: normal;
	letter-spacing: 0.05em;
    color: white;
}
.section-margin {
    margin-bottom: 150px;
}
.footer-logo {
    width: 135px;
    height: 90px;
    text-align: center;
    padding-bottom: 30px;
    margin: auto;
}
.footer-text {
    font-size: 12px;
    text-align:center;
    padding-bottom: 20px;
    color: white;
    font-family: KozGoPr6N-Regular;
    font-style: normal;
	letter-spacing: 0.05em;
}

.hover-underline-animation {
    display: inline-block;
    position: relative;
    color: #0087ca;
  }
  
  .hover-underline-animation:after {
    content: '';
    position: absolute;
    width: 100%;
    transform: scaleX(0);
    height: 4px;
    bottom: -4px;
    left: 0;
    background-color: white;
    transform-origin: bottom right;
    transition: transform 0.25s linear;
  }
  
  .hover-underline-animation:hover:after {
    transform: scaleX(1);
    transform-origin: bottom left;
  }
  @media(max-width: 1300px) {
      .main {
          width: 100vw;
      }
      .header-head {
          width: 80vw;
          padding-top: calc(6500vw / 1300);
          padding-left: calc(1150vw / 1300);
          padding-left: calc(13300vw / 1300);
      }
      .header-nav {
          width: 100vw;
      }
  }
  @media(max-width: 750px) {
        .header-nav {
            padding-top: calc(26000vw / 750);
        }
        .btn-lang-container span {
            font-size: calc(2500vw / 750) ;
        }
        .banner img {
            width: calc(46000vw / 750);
            height: calc(30000vw / 750);
        }
        .btn-lang-container {
            width: 167px;
            height: 56px;
            width: calc(16700vw / 750);
            height: calc(5600vw / 750);
            justify-content: space-between;
            padding: 0 15px;
            padding: 0 calc(1500vw / 750)
        }
        .header-head {
            padding-left: 65px;
            padding-top: 47px;
            padding-right: 50px;
            padding-left: calc(6500vw / 750);
            padding-top: calc(4700vw / 750);
            padding-right: calc(5000vw / 750);
        }
        .btn-lang-container button {
            font-size: 29px;
            font-size: calc(2900vw / 750);
        }
        .menu {
            width: 68px;
            height: 68px;
            width: calc(6800vw / 750);
            height: calc(6800vw / 750);
        }
        .banner-text {
            font-size: 40px;
            font-size: calc(3400vw / 750);
            text-align: center;
            margin-bottom: 300px;
            margin-bottom: calc(33000vw / 750);
            margin-top: 60px;
            margin-top: calc(6000vw / 750);
            color: white;
        }
        .main-title {
            font-size: 30px;
            font-size: calc(3000vw / 750);
            text-align: center;
            margin-bottom: 100px;
            margin-bottom: calc(10000vw / 750);
            color: white;
        }
        .section-margin {
            margin-bottom: 230px;
            margin-bottom: calc(23000vw / 750);
        }
        .description {
            text-align: center;
            font-size: 18px;
            font-size: calc(2300vw / 750);
            margin-bottom: 70px;
            margin-bottom: calc(7000vw / 750);
            line-height: 2;
            font-family: 游ゴシック体,YuGothic;
            font-style: normal;
            color: white;
        }
        .main-title span {
            border-bottom: 4px solid white;
            border-bottom: calc(400vw / 750) solid white;
            padding-bottom: 0 !important;
            /* padding-bottom: 4px; */
            /* padding-bottom: calc(400vw / 750); */
            display: inline;
            margin:auto;
        }
        .footer-logo {
            width: 135px;
            width: calc(13500vw / 750);
            height: 90px;
            height: calc(9000vw / 750);
            text-align: center;
            padding-bottom: 45px;
            padding-bottom: calc(4500vw / 750);
            margin: auto;
        }
        .footer-text {
            font-size: 16px;
            font-size: calc(1600vw / 750);
        }
  }
  @media(max-width: 500px) {
      .menu {
          width: 60px;
          height: 60px;
      }
  }