* {
  margin: 0;
  padding: 0;
  box-sizing: border-box;
  line-height: 1; }

.fv {
  position: relative;
  width: 100%;
  height: calc(var(--vh, 1vh) * 100);
  overflow: hidden;
  display: flex;
  align-items: center;
  justify-content: center;
  background-color: white;
  transition: background-color 1s ease-in-out; }

.main {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  z-index: 20; }

.logo {
  display: block;
  width: 75vw;
  height: 44.085vw;
  margin-top: 5vw;
  margin-bottom: 10.5vw; }
  @media screen and (min-width: 768px) {
    .logo {
      width: clamp(0px, 49.5vw, 495px);
      height: clamp(0px, 29.1vw, 291px);
      margin-top: 0;
      margin-bottom: clamp(0px, 6vw, 60px); } }

.under {
  width: 46.5vw;
  height: 2.1915vw;
  margin-bottom: 4.5vw; }
  @media screen and (min-width: 768px) {
    .under {
      width: clamp(0px, 29vw, 290px);
      margin-bottom: clamp(0px, 2vw, 20px); } }

.contact {
  width: 32.25vw; }
  @media screen and (min-width: 768px) {
    .contact {
      width: 20.2vw;
      max-width: 202px; } }

.bg {
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  width: 100%;
  height: 100%;
  display: flex;
  align-items: center;
  justify-content: center; }
  .bg img {
    width: 100%; }
  @media screen and (min-width: 768px) {
    .bg {
      width: clamp(0px, 450vw, 4500px); } }

.under, .logo, .contact {
  position: relative; }

.bg-img,
.logo-img,
.under-img,
.contact-img {
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  width: 100%;
  opacity: 0;
  transition: opacity 1s ease-in-out;
  z-index: 0; }

.show {
  opacity: 1;
  z-index: 1; }

/*# sourceMappingURL=style.css.map */
