
.header.color {
  background: #fff;
}

.header.color {
  background: #fff;
}

.logo-hidden {
    display: none;
}
.header.color img:not(.logo-hidden){
    display: none;
}
.header.color .logo-hidden{
    display: block;
}

.header.open.header-nofixed {
  position: fixed;
}

.main-message__ttl {
    color: #fff;
    font-size: 140px;
    text-align: center;
}
.main-message__txt {
    text-align: center;
}
.main-message__line {
  position: relative;
  padding-top: 40px;
}
.main-message__line:before {
  content: "";
  width: 160px;
  height: 1px;
  background-color: #707070;
  position: absolute;
  top: 0;
  left: 50%;
  transform: translateX(-50%);
  opacity: 0.1;
  transition: opacity 0.5s ease-in-out;
}
.main-message__line.visible::before {
    opacity: 1;
}

.js-fadein {
    opacity: 0;
    transition: opacity 1s ease-out;
}

.js-fadein.fadein {
    opacity: 1;
}