@charset "UTF-8";
/* stylelint-disable color-hex-case */
/**
 * 本文（通常）
 */
/**
 * リンク
 */
/**
 * 大見出し（h2）
 */
@media screen and (min-width: 768px) {
  .p-message-body {
    --message-body-x-base: 0;
    --message-body-x-expanded: 0;
    --message-body-x: var(--message-body-x-base);
    position: relative;
    display: flex;
    align-items: flex-end;
    padding-inline: 5.9375rem;
    margin-top: 2.875rem;
    margin-bottom: 12.5rem;
  }
}
@media screen and (min-width: 768px) and (max-width: 1079px) {
  .p-message-body {
    padding-inline: 0;
    gap: 2.5rem;
    margin-bottom: 12.5rem;
  }
}
@media screen and (max-width:767px) {
  .p-message-body {
    margin-bottom: 8.5714285714rem;
  }
}

@media screen and (min-width: 768px) {
  .p-message-body-left {
    padding-top: calc(100vh - 60px);
    flex: 0 0 min(36vw, 520px);
    width: min(36vw, 520px);
  }
}
@media screen and (max-width:767px) {
  .p-message-body-left {
    opacity: 1 !important;
  }
}

@media screen and (min-width: 768px) {
  .p-message-portrait {
    display: none;
  }
}
@media screen and (max-width:767px) {
  .p-message-portrait {
    height: 29.7142857143rem;
    margin: 8.5714285714rem 0 5.7142857143rem;
  }
  .p-message-portrait img {
    display: block;
    width: 100%;
    height: 100%;
    object-fit: contain;
    object-position: top;
    border-radius: 0.2857142857rem;
  }
}

@media screen and (min-width: 768px) {
  .p-message-lead {
    margin-bottom: 3.75rem;
  }
}
@media screen and (max-width:767px) {
  .p-message-lead {
    margin-bottom: 4.2857142857rem;
  }
}

.p-message-lead-sub {
  font-family: "Noto Sans JP", YuGothic, "游ゴシック", "Hiragino Kaku Gothic ProN", "Hiragino Sans", Meiryo, sans-serif;
  font-weight: 700;
  color: #242424;
  font-feature-settings: "palt";
  line-height: 1.2;
}
@media screen and (min-width: 768px) {
  .p-message-lead-sub {
    font-size: 1.5rem;
    margin-bottom: 0.9375rem;
  }
}
@media screen and (max-width:767px) {
  .p-message-lead-sub {
    font-size: 1.2857142857rem;
    margin-bottom: 1.0714285714rem;
  }
}

.p-message-lead-heading {
  font-family: "Roboto SemiBold", YuGothic, "游ゴシック", "Hiragino Kaku Gothic ProN", "Hiragino Sans", Meiryo, sans-serif;
  font-weight: 600;
  color: #242424;
  letter-spacing: -0.02em;
  line-height: 1.07;
}
@media screen and (min-width: 768px) {
  .p-message-lead-heading {
    font-size: 6.25rem;
  }
}
@media screen and (max-width:767px) {
  .p-message-lead-heading {
    font-size: 3.7142857143rem;
  }
}

.p-message-text {
  font-family: "Noto Sans JP", YuGothic, "游ゴシック", "Hiragino Kaku Gothic ProN", "Hiragino Sans", Meiryo, sans-serif;
  color: #242424;
  font-feature-settings: "palt";
  line-height: 1.8;
  font-weight: 500;
}
@media screen and (min-width: 768px) {
  .p-message-text {
    font-size: 1rem;
    margin-bottom: 3.75rem;
  }
}
@media screen and (max-width:767px) {
  .p-message-text {
    font-size: 1rem;
    margin-bottom: 4.2857142857rem;
  }
}
.p-message-text:lang(en) {
  font-family: "Roboto", YuGothic, "游ゴシック", "Hiragino Kaku Gothic ProN", "Hiragino Sans", Meiryo, sans-serif;
}

.p-message-name {
  display: flex;
  justify-content: space-between;
}
@media screen and (min-width: 768px) {
  .p-message-name:lang(en) {
    flex-direction: column;
  }
}
@media screen and (max-width:767px) {
  .p-message-name {
    flex-direction: column;
  }
}
.p-message-name .japan-logo {
  height: auto;
}
@media screen and (min-width: 768px) {
  .p-message-name .japan-logo {
    width: 18rem;
  }
}
@media screen and (max-width:767px) {
  .p-message-name .japan-logo {
    width: 100%;
  }
}

.p-message-sign {
  margin-left: auto;
}
@media screen and (max-width:767px) {
  .p-message-sign {
    width: 7.1428571429rem;
  }
}
.p-message-sign picture {
  display: block;
}
.p-message-sign img {
  display: block;
  object-fit: contain;
  width: 100%;
  height: 100%;
}

@media screen and (max-width:767px) {
  .p-message-name-info picture {
    display: block;
    width: 11.1428571429rem;
  }
}
.p-message-name-info picture img {
  width: 100%;
  height: 100%;
  object-fit: contain;
}

.p-message-name-position {
  font-family: "Noto Sans JP", YuGothic, "游ゴシック", "Hiragino Kaku Gothic ProN", "Hiragino Sans", Meiryo, sans-serif;
  font-weight: 700;
  color: #242424;
  font-feature-settings: "palt";
  line-height: 1.8;
}
@media screen and (min-width: 768px) {
  .p-message-name-position {
    font-size: 0.75rem;
  }
}
@media screen and (max-width:767px) {
  .p-message-name-position {
    font-size: 0.8571428571rem;
  }
}

.p-message-name-fullname {
  font-family: "Noto Sans JP", YuGothic, "游ゴシック", "Hiragino Kaku Gothic ProN", "Hiragino Sans", Meiryo, sans-serif;
  font-weight: 700;
  color: #242424;
  font-feature-settings: "palt";
  line-height: 1.8;
}
@media screen and (min-width: 768px) {
  .p-message-name-fullname {
    font-size: 1.5rem;
    margin-bottom: 2.5625rem;
  }
}
@media screen and (max-width:767px) {
  .p-message-name-fullname {
    font-size: 1.4285714286rem;
    margin-bottom: 2.9285714286rem;
  }
}

@media screen and (min-width: 768px) {
  .p-message-profile {
    margin-top: 5rem;
    padding-top: 0.0625rem;
    border-top: 1px solid #d7d7d7;
  }
}
@media screen and (max-width:767px) {
  .p-message-profile {
    margin-top: 4.2857142857rem;
    padding-top: 0.0714285714rem;
    border-top: 1px solid #d7d7d7;
  }
}

.p-message-profile-label {
  font-family: "Roboto", YuGothic, "游ゴシック", "Hiragino Kaku Gothic ProN", "Hiragino Sans", Meiryo, sans-serif;
  font-weight: 500;
  color: #242424;
  letter-spacing: -0.02em;
  line-height: 0.9;
}
@media screen and (min-width: 768px) {
  .p-message-profile-label {
    font-size: 0.75rem;
    margin-top: 1.25rem;
    margin-bottom: 1.25rem;
  }
}
@media screen and (max-width:767px) {
  .p-message-profile-label {
    font-size: 0.8571428571rem;
    margin-top: 2.1428571429rem;
  }
}

@media screen and (min-width: 768px) {
  .p-message-profile-name {
    margin-bottom: 1.25rem;
  }
}
@media screen and (max-width:767px) {
  .p-message-profile-name {
    margin-bottom: 1.4285714286rem;
    font-size: 1.1428571429rem;
  }
}

.p-message-profile-text {
  font-family: "Noto Sans JP", YuGothic, "游ゴシック", "Hiragino Kaku Gothic ProN", "Hiragino Sans", Meiryo, sans-serif;
  color: #7B7B7B;
  font-feature-settings: "palt";
  line-height: 1.8;
}
@media screen and (min-width: 768px) {
  .p-message-profile-text {
    font-size: 0.875rem;
    margin-bottom: 1.9375rem;
  }
}
@media screen and (max-width:767px) {
  .p-message-profile-text {
    font-size: 0.8571428571rem;
    margin-bottom: 1.4285714286rem;
  }
}

.p-message-profile-name {
  font-family: "Noto Sans JP", YuGothic, "游ゴシック", "Hiragino Kaku Gothic ProN", "Hiragino Sans", Meiryo, sans-serif;
  color: #242424;
  font-feature-settings: "palt";
  line-height: 1.8;
}
@media screen and (min-width: 768px) {
  .p-message-profile-name span:first-child {
    font-size: 1rem;
  }
}
@media screen and (max-width:767px) {
  .p-message-profile-name span:first-child {
    font-size: 1.1428571429rem;
  }
}
@media screen and (min-width: 768px) {
  .p-message-profile-name span:last-child {
    font-size: 0.75rem;
  }
}
@media screen and (max-width:767px) {
  .p-message-profile-name span:last-child {
    font-size: 0.8571428571rem;
  }
}

.p-message-banner {
  width: 100%;
  height: auto;
  position: relative;
  aspect-ratio: 520/160;
  overflow: hidden;
  color: #FFF;
  transition: opacity 0.3s ease-out;
  border-radius: 0.25rem;
}
@media screen and (min-width: 768px) {
  .p-message-banner {
    margin-top: 5rem;
  }
}
@media screen and (max-width:767px) {
  .p-message-banner {
    margin-top: 5.7142857143rem;
  }
}
@media screen and (hover: hover) {
  .p-message-banner:hover {
    opacity: 0.8;
  }
  .p-message-banner:hover .banner-bg {
    transform: scale(1.05);
  }
}
.p-message-banner .banner-bg {
  width: 100%;
  height: auto;
  display: block;
  transition: transform 0.3s ease-out;
}
.p-message-banner .banner-text {
  width: 82.69%;
  height: auto;
  display: block;
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
}
.p-message-banner .banner-icon {
  position: absolute;
  bottom: 12.5%;
  right: 3.8%;
}

@media screen and (max-width:767px) {
  .p-message-body-right {
    display: none;
  }
}
@media screen and (min-width: 768px) {
  .p-message-body-right {
    flex: 0 0 min(36.3vw, 524px);
    width: min(36.3vw, 524px);
    align-self: stretch;
    margin-left: auto;
    margin-right: calc(var(--message-body-x) * -1);
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    justify-content: flex-start; /* sticky 子要素を上付きにする */
  }
}

@media screen and (min-width: 768px) {
  .p-message-portrait-img-wrapper {
    align-self: flex-start;
    width: 100%;
  }
}
@media screen and (min-width: 768px) {
  .p-message-portrait-img-wrapper.is-sticky {
    flex: 0 0 auto; /* 伸びず上付きのまま */
    align-self: flex-start;
    position: sticky;
    top: -695px;
    z-index: 1020;
  }
}

.p-message-portrait-img {
  display: block;
  width: 100%;
}
@media screen and (min-width: 768px) {
  .p-message-portrait-img {
    height: 41.6875rem;
    object-fit: cover;
    object-position: center;
    border-radius: 0.25rem;
  }
}
@media screen and (max-width:767px) {
  .p-message-portrait-img {
    display: none;
  }
}