@charset "UTF-8";

/*------------------------------------------------------------------------
.main
------------------------------------------------------------------------*/
.main {
  overflow: visible;
}



/*------------------------------------------------------------------------
.topmessage
------------------------------------------------------------------------*/
.topmessage {
  margin: auto;
}

.topmessage__bg {
  display: block;
  position: sticky;
  top: 0;
  left: 0;
  width: 100%;
  height: 100vh;
  background-image: url(/static/img/message/bg.webp);
  background-position: center top;
  background-repeat: no-repeat;
  background-size: cover;
  z-index: -1;
  @media screen and (max-width: 736px) {
    position: absolute;
    background-image: url(/static/img/message/sp/bg.jpg);
  }
}

.topmessage__profile {
  display: flex;
  align-items: flex-end;
  justify-content: flex-end;
  width: 100%;
  max-width: var(--site-width);
  height: 100vh;
  margin: auto;
  padding-bottom: 50px;
  opacity: .75;
  text-align: right;
  @media screen and (max-width: 736px) {
    padding: 24px;
  }
}

.topmessage__profile__inner {}

.topmessage__profile-meta {
  margin-bottom: 6px;
  color: #fff;
  line-height: 1.5;
  font-size: 2rem;
  @media screen and (max-width: 736px) {
    font-size: clamp(1.4rem, var(--vw, 1vw) * 20/768 * 100, 2rem);
  }
}

.topmessage__profile-name {
  color: #fff;
  line-height: 1.8;
  font-size: 2rem;
  @media screen and (max-width: 736px) {
    font-size: clamp(1.4rem, var(--vw, 1vw) * 20/768 * 100, 2rem);;
  }
}

.topmessage__inner {
  max-width: var(--site-width);
  margin: -100vh auto 0;
  padding: 180px 0 120px;
  @media screen and (max-width: 736px) {
    margin-top: 0;
    padding-top: 0;
    padding-bottom: 0;
  }
}

.topmessage__midashi {
  margin-bottom: 50px;
  @media screen and (max-width: 736px) {
    min-height: 100vh;
    margin-bottom: 0;
    padding: 45% 24px 0;
  }
}

.topmessage__title {
  margin-bottom: 20px;
  color: #fff;
  font-size: 8rem;
  font-weight: bold;
  line-height: 1.1;
  @media screen and (max-width: 736px) {
    margin-bottom: 24px;
    font-size: min(var(--vw, 1vw) * 80/768 * 100, 8rem);
    line-height: 1.2;
  }
}

.topmessage__subtitle {
  color: #fff;
  font-size: 4rem;
  font-weight: bold;
  line-height: 1.5;
  @media screen and (max-width: 736px) {
    font-size: clamp(1.8rem, var(--vw, 1vw) * 40/768 * 100, 4rem);
  }
}

.topmessage__txt {
  max-width: 540px;
  color: #fff;
  padding-bottom: 24px;
  padding-left: 36px;
  line-height: 2;
  letter-spacing: 2px;
  @media screen and (max-width: 736px) {
    max-width: 100%;
    padding: 16px 24px 16px;
    color: #000;
    letter-spacing: 1px;
    background-color: #DBDBDB;
  }
  &:last-child {
    margin-bottom: 0;
  }
}

.topmessage__txt-bold {
  color: #fff;
  font-style: italic;
  line-height: 2;
  letter-spacing: 2px;
  @media screen and (max-width: 736px) {
    color: #000;
    letter-spacing: 1px;
  }
}

.topmessage__txt-link {
  color: #fff;
  line-height: 2;
  letter-spacing: 2px;
  text-decoration: underline;
  text-underline-offset: 3px;
  @media screen and (max-width: 736px) {
    color: #000;
    letter-spacing: 1px;
  }
}

