/* CSS Document */
/**********************************/
body:before {
  content: "";
  position: absolute;
  inset: -40px;
  background: url("../images/common/bg.svg") center top no-repeat;
  background-size: 100% auto;
  transform: translate3d(var(--bg-x), var(--bg-y), 0);
  z-index: 0;
  pointer-events: none;
  aspect-ratio: 2055/707;
  width: 105%;
  max-width: 2055px;
  left: -2%;
  top: -0.5%;
  height: auto;
  z-index: -1; }

@media (min-width: 1980px) {
  body:before {
    background-size: 2055px auto;
    width: 100%;
    max-width: 100%;
    left: 0;
    top: 0; } }
@media (max-width: 1280px) {
  body:before {
    left: 0; } }
@media (max-width: 768px) {
  body:before {
    background: url("../images/common/bg_sp.svg") center top no-repeat;
    background-size: 100% auto;
    aspect-ratio: 885/379;
    left: 0;
    top: 50px;
    width: 100% !important; } }
/*max-width:768px*/
/*max-width:480px*/
/**********************************/
.mv_message {
  width: 100%; }
  .mv_message div {
    max-width: 1800px;
    width: calc(100% - 100px);
    height: auto;
    border-radius: 25px;
    margin: 0 auto;
    background: linear-gradient(#B78DBF, #906A93);
    aspect-ratio: 1800/640;
    padding: 0 0 0 10%;
    position: relative; }
    .mv_message div img {
      object-fit: cover;
      width: auto;
      height: 100%;
      display: block;
      margin: 0 auto;
      line-height: 0; }

/*min-width:1980px*/
@media (max-width: 1280px) {
  .mv_message div {
    aspect-ratio: auto;
    height: 415px; } }
/*max-width:1280px*/
@media (max-width: 1024px) {
  .mv_message div {
    width: calc(100% - 80px);
    min-height: 300px; } }
/*max-width:1024px*/
@media (max-width: 768px) {
  .mv_message div {
    width: calc(100% - 60px);
    aspect-ratio: 1800/640;
    height: auto;
    min-height: 250px; } }
/*max-width:768px*/
@media (max-width: 480px) {
  .mv_message div {
    width: calc(100% - 40px);
    aspect-ratio: 1800/640;
    height: auto;
    min-height: 220px; } }
/*max-width:480px*/
/*********************************/
.message_txt {
  max-width: 1280px;
  width: calc(100% - 100px);
  margin: 0 auto;
  padding: 55px 0 0; }
  .message_txt h2 {
    font-feature-settings: "palt";
    font: 6.8rem/1.7em "Noto Sans JP", sans-serif;
    font-weight: 700;
    letter-spacing: 0.03em;
    margin: 0 0 65px; }
  .message_txt p {
    margin-bottom: 50px;
    font: 1.9rem/2.4em "Noto Sans JP", sans-serif;
    font-weight: 700;
    letter-spacing: 0.03em;
    text-align: justify;
    text-justify: inter-ideograph; }
  .message_txt .name {
    padding: 15px 0 0;
    font: 2.8rem/1em "Noto Sans JP", sans-serif;
    font-weight: 700;
    letter-spacing: 0.2em;
    margin: 0; }
    .message_txt .name small {
      display: block;
      margin: 0 0 15px;
      font: 1.7rem/1em "Noto Sans JP", sans-serif;
      font-weight: 700;
      letter-spacing: 0.04em; }

@media (max-width: 1280px) {
  .message_txt h2 {
    font-feature-settings: "palt";
    font: 6rem/1.7em "Noto Sans JP", sans-serif;
    font-weight: 700;
    letter-spacing: 0.03em;
    margin: 0 0 65px; } }
/*max-width:1280px*/
@media (max-width: 1024px) {
  .message_txt {
    width: calc(100% - 80px); }
    .message_txt h2 {
      font-feature-settings: "palt";
      font: 4.8rem/1.7em "Noto Sans JP", sans-serif;
      font-weight: 700; }
    .message_txt p {
      font: 1.7rem/2.4em "Noto Sans JP", sans-serif;
      font-weight: 700; } }
/*max-width:1024px*/
@media (max-width: 768px) {
  .message_txt {
    width: calc(100% - 60px); }
    .message_txt h2 {
      font-feature-settings: "palt";
      font: clamp(2.6rem, 6vw, 5rem)/1.7em "Noto Sans JP", sans-serif;
      margin-bottom: 40px;
      font-weight: 700; }
    .message_txt p {
      font: 1.6rem/2.4em "Noto Sans JP", sans-serif;
      font-weight: 700;
      margin-bottom: 35px; }
    .message_txt .name {
      padding: 20px 0 0;
      font: 2.6rem/1em "Noto Sans JP", sans-serif;
      font-weight: 700; }
      .message_txt .name small {
        font: 1.5rem/1em "Noto Sans JP", sans-serif;
        font-weight: 700; } }
/*max-width:768px*/
@media (max-width: 480px) {
  .message_txt {
    padding: 30px 0 0;
    max-width: 330px;
    width: calc(100% - 40px); }
    .message_txt h2 {
      font-feature-settings: "palt";
      font: clamp(2.4rem, 6vw, 5rem)/1.7em "Noto Sans JP", sans-serif;
      margin-bottom: 30px;
      font-weight: 700; }
    .message_txt p {
      font: 1.6rem/2.4em "Noto Sans JP", sans-serif;
      font-weight: 700;
      margin-bottom: 25px; }
    .message_txt .name {
      padding: 20px 0 0;
      font: 2.4rem/1em "Noto Sans JP", sans-serif;
      font-weight: 700; }
      .message_txt .name small {
        font: 1.4rem/1em "Noto Sans JP", sans-serif;
        font-weight: 700; } }
/*max-width:480px*/
