/*Logo*/

.logmark {
    position: fixed;
    top: 1%;
    z-index: 4;
    width: 5.5rem;
    height: 5rem;
    overflow-y: hidden;
}

.logmark svg {
    filter: drop-shadow(2px 2px 2px rgba(255, 255, 255, 0.356));
}


/*Logo media queries*/


/*  VIDEO */

.videochanger {
    margin-top: -211%;
    width: 100%;
    height: auto;
}

.vid420 {
    display: none;
}

.vid500 {
    display: none;
}

.vid768 {
    display: none;
}

.vid1024 {
    display: none;
}

.vid1280 {
    display: none;
}

.vid1440 {
    display: none;
}

.vid1920 {
    display: none;
}

.mainvideo {
    display: block;
    position: absolute;
    width: 1182px;
    height: 1070px;
    overflow: hidden;
    top: 0%;
    margin: auto;
    margin-right: 0;
    margin-left: -130%;
}

video {
    position: absolute;
    width: 100%;
    left: 0%;
    height: auto;
    z-index: 1;
}


/* video media queries*/

@media only screen and (min-width:360px) {
    .mainvideo {
        width: 967px;
        height: 553px;
        left: -87%;
    }
    .vid500 {
        display: none;
    }
    .vid768 {
        display: none;
    }
    .vid1024 {
        display: none;
    }
    .vid1280 {
        display: none;
    }
}

@media only screen and (min-width:375px) {
    .mainvideo {
        width: 1307px;
        height: 729px;
        left: 7%;
    }
}

@media only screen and (min-width:390px) {
    .mainvideo {
        width: 1096px;
        height: 724px;
        left: -90%;
    }
}

@media only screen and (min-width:414px) {
    .mainvideo {
        width: 1199px;
        height: 764px;
        left: 0;
        margin-left: -90%;
    }
}

@media screen and (min-width:425px) {
    .mainvideo {
        width: 1199px;
        height: 764px;
        left: 0;
        margin-left: -90%;
    }
    .vid320 {
        display: none;
    }
    .vid420 {
        display: block;
    }
    .videochanger {
        margin-top: -164%;
    }
}

@media only screen and (min-width:428px) {
    .mainvideo {
        width: 1245px;
        height: 728px;
        left: -95%;
    }
}

@media only screen and (min-width:500px) {
    .mainvideo {
        width: 1245px;
        height: 728px;
        left: 0%;
        margin-left: -93%;
    }
    .vid420 {
        display: none;
    }
    .vid500 {
        display: block;
    }
    .videochanger {
        margin-top: -152%;
    }
}

@media only screen and (min-width:768px) {
    .mainvideo {
        width: 1393px;
        height: 908px;
        left: 54%;
    }
    .videochanger {
        margin-top: -117%;
    }
    .vid500 {
        display: none;
    }
    .vid768 {
        display: block;
    }
}

@media only screen and (min-width:800px) {
    .mainvideo {
        width: 1365px;
        height: 804px;
        left: 59%;
    }
}

@media only screen and (min-width:820px) {
    .mainvideo {
        width: 1396px;
        height: 1062px;
        left: 59%;
    }
}

@media only screen and (min-width:884px) {
    .mainvideo {
        width: 1396px;
        height: 1062px;
        left: 66%;
    }
}

@media only screen and (min-width:1024px) {
    .mainvideo {
        width: 1301px;
        height: 1070px;
        left: 80%;
    }
    .videochanger {
        margin-top: -100%;
    }
    .vid768 {
        display: none;
    }
    .vid1024 {
        display: block;
    }
}

@media only scren and (min-width:1104px) {
    .mainvideo {
        width: 1352px;
        height: 756px;
        left: 0%;
    }
}

@media only screen and (min-width:1280px) {
    .newstext {
        padding-top: 0%;
    }
    .mainvideo {
        width: 1395px;
        height: 1097px;
        left: 90%;
    }
    .videochanger {
        margin-top: -55%;
    }
    .vid1024 {
        display: none;
    }
    .vid1280 {
        display: block;
    }
}

@media only screen and (min-width:1366px) {
    .mainvideo {
        width: 1382px;
        height: 1092px;
        left: 93%;
    }
}

@media only screen and (min-width:1440px) {
    .mainvideo {
        width: 1440px;
        height: 782px;
        left: 93%;
    }
    .videochanger {
        margin-top: -60%;
    }
    .vid1280 {
        display: none;
    }
    .vid1440 {
        display: block;
    }
}

@media only screen and (min-width:1728px) {
    .mainvideo {
        width: 1695px;
        height: 853px;
        left: 94%;
    }
}

@media only screen and (min-width:1800px) {
    .mainvideo {
        width: 1600px;
        height: 848px;
        left: 9%;
    }
}

@media only screen and (min-width:1920px) {
    .mainvideo {
        width: 1920px;
        height: 1080px;
        left: 0%;
    }
    .vid1440 {
        display: none;
    }
    .vid1920 {
        display: block;
    }
}

@media only screen and (min-width:2048px) {
    .mainvideo {
        width: 2009px;
        height: 1080px;
        left: 11px;
    }
}

@media only screen and (min-width:2560px) {
    .mainvideo {
        width: 2287px;
        height: 1157px;
        left: 186px;
    }
}


/*////////////////  Normal menu (1024px~) //////////////// */

#normalnav {
    display: none;
    margin: 27px auto 0;
    position: fixed;
    top: 2%;
    left: 40%;
    width: 700px;
    height: 50px;
    background-color: rgba(17, 17, 17, 0.5);
    border-radius: 8px;
    font-size: 0;
    z-index: 6;
}

#normalnav a {
    line-height: 50px;
    height: 100%;
    font-size: 15px;
    display: inline-block;
    position: relative;
    z-index: 4;
    text-decoration: none;
    font-family: 'Montserrat', sans-serif;
    text-align: center;
    color: whitesmoke;
    cursor: pointer;
    float: left;
}

nav .navanimation {
    position: absolute;
    height: 100%;
    top: 0;
    z-index: 0;
    transition: all .5s ease 0s;
    border-radius: 8px;
}

a:nth-child(1) {
    width: 100px;
}

a:nth-child(2) {
    width: 100px;
}

a:nth-child(3) {
    width: 100px;
}

a:nth-child(4) {
    width: 100px;
}

a:nth-child(5) {
    width: 100px;
}

nav .start-home,
a:nth-child(1):hover~.navanimation {
    width: 100px;
    left: 0;
    background-color: #161f3850;
}

nav .start-company,
a:nth-child(2):hover~.navanimation {
    width: 100px;
    left: 100px;
    background-color: #1080aa50;
}

nav .start-projects,
a:nth-child(3):hover~.navanimation {
    width: 100px;
    left: 200px;
    background-color: #161f3850;
}

nav .start-news,
a:nth-child(4):hover~.navanimation {
    width: 100px;
    left: 300px;
    background-color: #1080aa50;
}

nav .start-contact,
a:nth-child(5):hover~.navanimation {
    width: 100px;
    left: 400px;
    background-color: #161f3850;
}


/*////////////// Hamburguer Menu  /////////////////////////////////////////   */

.menumoji {
    position: fixed;
    top: 31rem;
    left: 109.5rem;
    z-index: 6;
    color: #ff9445;
    -webkit-backface-visibility: hidden;
}

.menumoji p {
    font-weight: 900;
}

.hamburger-menu {
    position: fixed;
    top: 2%;
    padding-right: 5%;
    padding: 3% 7%;
    z-index: 6;
    margin-left: 73vw;
}

#menu__toggle {
    opacity: 0;
    width: auto;
    height: auto;
}

#menu__toggle:checked+.menu__btn>span {
    transform: rotate(45deg);
}

#menu__toggle:checked+.menu__btn>span::before {
    top: 0;
    transform: rotate(0deg);
}

#menu__toggle:checked+.menu__btn>span::after {
    top: 0;
    transform: rotate(90deg);
}

#menu__toggle:checked~.menu__box {
    left: 25vw !important;
}

.menu__btn {
    width: 40px;
    height: 40px;
    cursor: pointer;
    z-index: 3;
    color: whitesmoke;
}

.menu__btn>span,
.menu__btn>span::before,
.menu__btn>span::after {
    display: block;
    position: absolute;
    width: 2rem;
    height: 0.25rem;
    background-color: #ffffff;
    transition-duration: .25s;
    z-index: 4;
}

.menu__btn>span::before {
    content: '';
    top: -8px;
}

.menu__btn>span::after {
    content: '';
    top: 8px;
}

.menu__box {
    display: block;
    position: fixed;
    border-radius: 0px 0px 0px 80px;
    -moz-border-radius: 0px 0px 0px 80px;
    -webkit-border-radius: 0px 0px 0px 80px;
    top: 0;
    left: 120rem;
    width: 16rem;
    /*resp*/
    height: 100%;
    margin: 0;
    padding: 80px 0;
    list-style: none;
    background-color: #1080aa;
    transition-duration: .25s;
    text-align: center;
    z-index: 3;
}

.menu__item {
    display: inline-block;
    position: relative;
    padding: 20px 0px;
    margin-top: 0rem;
    color: whitesmoke;
    font-family: 'Montserrat', sans-serif;
    font-size: 20px;
    font-weight: 400;
    text-decoration: none;
    transition-duration: .25s;
    z-index: 1;
}

.menu__item::after {
    content: '';
    position: absolute;
    width: 100%;
    transform: scaleX(0);
    height: 2px;
    bottom: 0;
    left: 0;
    background-color: #ff9445;
    transform-origin: bottom right;
    transition: transform 0.25s ease-out;
}

.menu__item:hover::after {
    transform: scaleX(1);
    transform-origin: bottom left;
}

.hambmenuind {
    display: grid;
    width: 100%;
    justify-content: center;
    padding-top: 50%;
    font-family: 'Montserrat', sans-serif;
}


/* ホーバー　アニメーション */

.hover-underline-animation {
    display: inline-block;
    position: relative;
    color: #ff9445;
}

.hover-underline-animation::after {
    content: '';
    position: absolute;
    width: 100%;
    transform: scaleX(0);
    height: 2px;
    bottom: 0;
    left: 0;
    background-color: #ff9445;
    transform-origin: bottom right;
    transition: transform 0.25s ease-out;
}

.hover-underline-animation:hover::after {
    transform: scaleX(1);
    transform-origin: bottom left;
}


/*///////////  Hamb Menu CSS /////   END ////////   */


/* //// Hamb  Menu CSS Media queries */

@media only screen and (min-width:375px) {
    #menu__toggle:checked~.menu__box {
        left: 32vw !important;
    }
}

@media only screen and (min-width:400px) {
    #menu__toggle:checked~.menu__box {
        left: 40vw !important;
    }
}

@media screen and (min-width:450px) {
    #menu__toggle:checked~.menu__box {
        left: 43vw !important;
    }
}

@media only screen and (min-width:500px) {
    #menu__toggle:checked~.menu__box {
        left: 50vw !important;
    }
}

@media only screen and (min-width:550px) {
    #menu__toggle:checked~.menu__box {
        left: 54vw !important;
    }
}

@media only screen and (min-width:600px) {
    #menu__toggle:checked~.menu__box {
        left: 58vw !important;
    }
}

@media only screen and (min-width:768px) {
    #menu__toggle:checked~.menu__box {
        left: 70vw !important;
        padding-top: 10%;
    }
    .hamburger-menu {
        top: 2%;
        right: 5%;
        padding: 2% 6%;
        width: 40px;
        right: 2.5rem;
    }
    .hambmenuind {
        display: grid;
        width: 100%;
        top: 12px;
        justify-content: start;
        font-family: 'Montserrat', sans-serif;
        align-items: center;
        justify-items: end;
        align-content: space-around;
        position: relative;
    }
}

@media only screen and (min-width:834px) {
    .hamburger-menu {
        top: 2%;
    }
}

@media only screen and (min-width:1024px) {
    .hamburger-menu {
        display: none;
    }
    #normalnav {
        display: block;
        left: 30%;
    }
}

@media only screen and (min-width:1280px) {}

@media only screen and (min-width:1920px) {
    #normalnav {
        display: block;
        left: 38%;
        bottom: 10%;
        margin-bottom: 12%;
        margin-top: 1%;
    }
}


/*//// Hamb menu media queries ///  */


/*GLOW BUTTON*/

.glow-on {
    width: 120px;
    height: 50px;
    border: none;
    outline: none;
    color: #fff;
    background: #111;
    cursor: pointer;
    position: relative;
    z-index: 3;
    border-radius: 10px;
}

.glow-on:before {
    content: '';
    background: linear-gradient(45deg, #163963, #1080aa, #ff9445, #0c7b93, #1ab2d3, #b6f2ec, #1080aa, #163963);
    position: absolute;
    top: -2px;
    left: -2px;
    background-size: 400%;
    z-index: -1;
    filter: blur(5px);
    width: calc(100% + 4px);
    height: calc(100% + 4px);
    animation: glowing 20s linear infinite;
    opacity: 0;
    transition: opacity .3s ease-in-out;
    border-radius: 10px;
}

.glow-on:active {
    color: rgb(255, 255, 255)
}

.glow-on:active:after {
    background: transparent;
}

.glow-on:before {
    opacity: 1;
}

.glow-on:after {
    z-index: -1;
    content: '';
    position: absolute;
    width: 100%;
    height: 100%;
    background: #000000;
    left: 0;
    top: 0;
    border-radius: 10px;
}

@keyframes glowing {
    0% {
        background-position: 0 0;
    }
    50% {
        background-position: 400% 0;
    }
    100% {
        background-position: 0 0;
    }
}


/*GLOW BUTTON END*/

.buttonpos {
    padding-top: 10%;
    z-index: 3;
    position: relative;
    width: 50%;
    margin: auto;
    text-align: center;
}

.ztop {
    position: absolute;
    z-index: 3;
}


/*   /////  top and bottom bars   /////   */


/* menus and color hidden function  */

.hidblmenu {
    position: fixed;
    background-attachment: fixed;
    top: 0rem;
    height: 8rem;
    width: 100%;
    z-index: 4;
}

.blackbkg {
    background-color: #0d1113d3;
}

.transpblack {
    background-color: #0d11138c;
}

.transluc {
    background-color: #0d1113c4;
}


/*general media queries*/

@media only screen and (min-width:375px) {}

@media only screen and (min-width:768px) {
    .logmark {
        width: 8rem;
        height: 8rem;
        left: 1rem;
    }
}

@media only screen and (min-width:1024px) {
    .logmark {
        width: 8.2rem;
        height: 8.2rem;
    }
}

@media screen and (min-width:1280px) {}

@media only screen and (min-width:1440px) {
    .logmark {
        width: 9rem;
        height: 9rem;
    }
}

@media only screen and (min-width:1920px) {}

@media only screen and (min-width:2000px) {}

@media only screen and (min-width:2560px) {}

/* The navigation menu */
.subnav {
  float: left;
  overflow: hidden;
}

.subnav .subnavbtn {
  font-size: 16px;
  border: none;
  outline: none;
  color: white;
  /*padding: 14px 16px;*/
  background-color: inherit;
  font-family: inherit;
  margin: 0;
}

.subnav-content {
    display: none;
    position: absolute;
    left: 240px;
    width: 100%;
    z-index: 1;
    top: 50px;
}

.subnav-content a {
  float: left;
  color: white;
  text-decoration: none;
}

.subnav:hover .subnav-content {
  display: block;
}

.sub-hd:hover .sub-nv {
  display: block;
}

.sub-nv{
    list-style: none;
    display: none;
}

.sub-nv li a{
    /*padding: 10px 0;*/
    color: whitesmoke;
    font-size: 15px;
}

.set-pd{
    padding: 0px 25px;
}