@charset "UTF-8";

/*-------------------------
	basic elements
--------------------------*/
html {
  font-family: "メイリオ", Meiryo, Verdana, sans-serif;
  scroll-behavior: smooth;
  background-color: #000000;
}

img {
  width: 100%;
}

#header {
  width: 100%;
  height: 65px;
  background-color: #000000;
  display: flex;
  align-items: center;
}

h1 {
  font-size: 36px;
  font-weight: bold;
  font-style: italic;
  line-height: 1;
  letter-spacing: 5px;
  color: #ffffff;
}

body::before {
  background: url("../images/mv_bg.jpg") no-repeat;
  background-size: cover;
  background-position: center center;
  content: "";
  display: block;
  position: fixed;
  z-index: -1;
  width: 100%;
  height: 100vh;
}

#page,
#header div {
  width: 1000px;
  margin: auto;
}

@media screen and (max-width:1000px) {

  #header {
    height: 60px;
  }

  h1 {
    font-size: 28px;
    letter-spacing: 5px;
  }

  #page,
  #header div {
    width: 768px;
  }

}

@media screen and (max-width:768px) {

  #header {
    height: 60px;
  }

  h1 {
    font-size: 24px;
    letter-spacing: 2.5px;
  }

  body::before {
    background-position: 65% 75%;
  }

  #page,
  #header div {
    width: 500px;
  }

}

@media screen and (max-width:500px) {

  #header {
    height: 50px;
  }

  h1 {
    font-size: 20px;
    letter-spacing: 2px;
  }

  body::before {
    background: url("../images/mv_bg_sp.jpg") no-repeat;
    background-position: center center;
  }

  #page,
  #header div {
    width: 92.5%;
  }

}

@media screen and (max-width:400px) {

  h1 {
    font-size: 18px;
    letter-spacing: 2px;
  }

  body::before {
    background-size: cover;
    background-position: top;
  }

}


/*-------------------------
	mainvisual
--------------------------*/
#mainvisual {
  height: 950px;
  position: relative;
  margin-bottom: 35px;
}

#logo {
  position: absolute;
  z-index: 1;
}

#logo {
  width: 650px;
  top: 450px;
  right: calc(50% - 480px);
}

#mainvisual div {
  margin-top: 50px;
  display: flex;
  flex-direction: column;
}

#machine {
  width: 340px;
}

#copyright {
  width: 400px;
}

@media screen and (max-width:1000px) {

  #mainvisual {
    height: 800px;
    margin-bottom: 0;
  }

  #logo {
    width: 450px;
    right: calc(50% - 345px);
  }

  #mainvisual div {
    margin-top: 50px;

  }

  #machine {
    width: 275px;
  }

  #copyright {
    width: 350px;
  }
}

@media screen and (max-width:768px) {
  #mainvisual {
    height: 650px;
  }

  #logo {
    width: 275px;
    right: calc(50% - 240px);
  }

  #machine {
    width: 225px;
  }

  #copyright {
    width: 250px;
  }

}

@media screen and (max-width:500px) {

  #mainvisual {
    height: 500px;
  }

  #mainvisual div {
    margin-top: 25px;
  }

  #logo {
    width: 350px;
    top: 418px;
    right: calc(50% - 175px);
  }

  #machine {
    width: 155px;
  }

  #copyright {
    width: 250px;
  }

}

/*-------------------------
  menubtngroup
--------------------------*/
#menubtngroup {
  margin-bottom: 125px;
  display: flex;
  flex-wrap: wrap;
}

#menubtngroup a {
  width: calc(100%/3);
}

@media screen and (max-width:1000px) {
  #menubtngroup {
    margin-bottom: 100px;
  }

  #menubtngroup a {
    width: calc(100%/2);
  }

}

/*-------------------------
	machinedetail
--------------------------*/
#machinedetail {
  width: 750px;
  margin: auto;
  background-color: #2E2E2E;
  box-shadow: 0px 0px 2.5px 1px #7a7a7a;
  padding-bottom: 75px;
}

#achinedetail img {
  width: 100%;
}

#section1 {
  padding: 75px 0;
}

#section1 img:nth-child(1) {
  margin-bottom: 25px;
}

#section1 a img {
  width: 625px;
  display: block;
  margin: auto;
}

.othermachines a {
  width: 625px;
  display: block;
  margin: 35px auto;
}

@media screen and (max-width:1000px) {
  #machinedetail {
    width: 650px;
    padding-bottom: 65px;
  }

  #section1 a img {
    width: 545px;
  }

  .othermachines a {
    width: 545px;
    margin: 35px auto;
  }

  #section1 {
    padding: 65px 0;
  }
}

@media screen and (max-width:768px) {
  #machinedetail {
    width: 450px;
    padding-bottom: 45px;
  }

  #section1 a img {
    width: 375px;
  }

  .othermachines a {
    width: 375px;
    margin: 25px auto;
  }

  #section1 {
    padding: 45px 0 25px 0;
  }

  #section1 img:nth-child(1) {
    margin-bottom: 15px;
  }

}

@media screen and (max-width:500px) {

  #machinedetail {
    width: 85%;
    padding-bottom: 35px;
  }

  #section1 a img {
    width: 84%;
  }

  .othermachines a {
    width: 84%;
  }

  #section1 {
    padding: 25px 0 15px 0;
  }

}

/*-------------------------
	top-btn
--------------------------*/
.top-btn {
  width: 175px;
  position: fixed;
  bottom: 20px;
  right: calc(50% - 555px);
  z-index: 999;
  display: none;
}


@media screen and (max-width:1000px) {
  .top-btn {
    width: 150px;
    right: calc(50% - 390px);
  }

}

@media screen and (max-width:768px) {
  .top-btn {
    width: 125px;
    right: calc(50% - 295px);
  }

}


@media screen and (max-width:500px) {
  .top-btn {
    width: 100px;
    right: 0;
    }

}


/*-------------------------
	footer
--------------------------*/
footer {
  background-color: black;
  z-index: 99;
  position: relative;
}

.footer-logo {
  width: 1000px;
  padding: 35px 0;
  margin: auto;
  display: flex;
  justify-content: space-evenly;
  align-items: center;
}

.footer-logo a {
  width: 200px;
}

.copyright {
  font-family: Arial, Helvetica, sans-serif;
  margin: auto;
  width: fit-content;
  font-size: 10px;
  line-height: 1.8;
  padding-bottom: 1.5%;
  letter-spacing: 0;
  color: #fff;
  text-align: center;
}

.sp {
  display: none;
}

@media screen and (max-width:1000px) {
  .footer-logo {
    width: 768px;
    padding: 25px 0;
  }

  .footer-logo a {
    width: 150px;
  }

}

@media screen and (max-width:768px) {
  .footer-logo {
    width: 500px;
    padding: 20px 0;
  }

  .footer-logo a {
    width: 150px;
  }

}

@media screen and (max-width:500px) {

  .footer-logo {
    width: 92.5%;
    padding: 20px 0;
  }

  .footer-logo a {
    width: calc(100% / 3.333);
  }


  .copyright {
    font-size: 8px;
  }

  .sp {
    display: block;
  }

}


/*-------------------------
	animation
--------------------------*/

@keyframes mainvisual-1 {
  from {
    opacity: 0;
    transform: translateY(5%);
  }

  to {
    opacity: 1;
    transform: translateY(0);
  }
}

#logo {
  -webkit-animation: mainvisual-1 1.75s alternate ease-in;
  animation: mainvisual-1 1.75s alternate ease-in;
}

@keyframes mainvisua1-2 {
  from {
    opacity: 0;
    transform: translateX(50%);
  }

  to {
    opacity: 1;
    transform: translateX(0);
  }
}

#machine {
  -webkit-animation: mainvisua1-2 1.5s alternate ease;
  animation: mainvisua1-2 1.5s alternate ease;
}


@keyframes menubtn {
  from {
    opacity: 0;
    transform: translateY(50%);
  }

  to {
    opacity: 1;
    transform: translateY(0);
  }
}

#menubtngroup {
  animation-name: menubtn;
  animation-duration: 0.7s;
  animation-fill-mode: forwards;
}

.deray-1 {
  opacity: 0;
  animation: menubtn 0.7s linear 0.16s 1 normal forwards;
}

.deray-2 {
  opacity: 0;
  animation: menubtn 0.7s linear 0.32s 1 normal forwards;
}

.deray-3 {
  opacity: 0;
  animation: menubtn 0.7s linear 0.48s 1 normal forwards;
}

.deray-4 {
  opacity: 0;
  animation: menubtn 0.7s linear 0.64s 1 normal forwards;
}

.deray-5 {
  opacity: 0;
  animation: menubtn 0.7s linear 0.8s 1 normal forwards;
}

@keyframes detail {
  0% {
    opacity: 0;
  }

  30% {
    opacity: 0;
  }

  100% {
    opacity: 1;
  }
}

#machinedetail {
  animation: detail 2.7s ease;
}