@charset "UTF-8";
/* ==========================================================================//
//
// メッセージ
//
// ========================================================================== */
@media all and (max-width: 750px) {
  .page_body .inner {
    display: contents;
  }
}

.container {
  border-bottom: var(--border_width) solid #222222;
}
@media all and (min-width: 751px) {
  .container {
    border: var(--border_width) solid #222222;
    margin-top: 90px;
  }
}
@media all and (min-width: 751px) {
  .container .head_area {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: justify;
        -ms-flex-pack: justify;
            justify-content: space-between;
    background-color: #8ee0ff;
    border-bottom: var(--border_width) solid #222222;
  }
}
.container .head_area .ttl {
  text-align: center;
  font-family: "Roboto", serif;
  font-optical-sizing: auto;
  font-weight: bold;
  font-style: normal;
  font-variation-settings: "wdth" 100;
  letter-spacing: 0.02em;
  font-weight: 900;
  letter-spacing: 0.02em;
  font-size: 7.7vw;
  padding: 22px 0;
}
@media all and (max-width: 750px) {
  .container .head_area .ttl {
    border-bottom: var(--border_width) solid #222222;
  }
}
@media all and (min-width: 751px) {
  .container .head_area .ttl {
    text-align: left;
    font-size: 34px;
    line-height: 1;
    padding: 30px 40px;
    border-right: var(--border_width) solid #222222;
  }
}
@media screen and (min-width: 751px) and (max-width: 999px) {
  .container .head_area .ttl {
    font-size: 2.8vw;
  }
}
.container .head_area .copy {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  gap: 6px;
  color: #fff;
  font-size: 6.1vw;
}
@media all and (max-width: 750px) {
  .container .head_area .copy {
    margin-top: 30px;
  }
}
@media all and (min-width: 751px) {
  .container .head_area .copy {
    -webkit-box-align: start;
        -ms-flex-align: start;
            align-items: flex-start;
    -webkit-box-pack: center;
        -ms-flex-pack: center;
            justify-content: center;
    font-size: 28px;
  }
}
@media screen and (min-width: 751px) and (max-width: 999px) {
  .container .head_area .copy {
    font-size: 2.8vw;
  }
}
.container .head_area .copy span {
  text-align: center;
  background-color: #222222;
  padding: 0 10px;
}
@media all and (min-width: 751px) {
  .container .head_area .logo {
    border-left: var(--border_width) solid #222222;
    display: -ms-grid;
    display: grid;
    place-items: center;
    padding: 4%;
  }
  .container .head_area .logo img {
    width: 114px;
  }
}
@media screen and (min-width: 751px) and (min-width: 751px) and (max-width: 999px) {
  .container .head_area .logo img {
    width: 90px;
  }
}
.container .content {
  padding: 30px 0;
}
@media all and (min-width: 751px) {
  .container .content {
    padding: 60px 0 80px;
  }
}
.container .content .text {
  text-align: center;
  line-height: 2;
}
@media all and (min-width: 751px) {
  .container .content .text {
    font-size: 18px;
    line-height: 1.88;
  }
}
@media screen and (min-width: 751px) and (max-width: 999px) {
  .container .content .text {
    font-size: 16px;
  }
}
.container .content .text p:not(:last-child) {
  margin-bottom: 2em;
}
.container .content .image {
  border-top: var(--border_width) solid #222222;
  border-bottom: var(--border_width) solid #222222;
  margin: 40px 0;
  position: relative;
  overflow: hidden;
}
@media all and (min-width: 751px) {
  .container .content .image {
    margin: 70px 0 60px;
  }
}
.container .content .image::before {
  position: absolute;
  z-index: 1;
  content: "";
  background-color: #222222;
  inset: 0;
  -webkit-transform: scaleX(1);
          transform: scaleX(1);
  -webkit-transition: -webkit-transform 0.75s cubic-bezier(0.76, 0.09, 0.215, 1) 0.2s;
  transition: -webkit-transform 0.75s cubic-bezier(0.76, 0.09, 0.215, 1) 0.2s;
  transition: transform 0.75s cubic-bezier(0.76, 0.09, 0.215, 1) 0.2s;
  transition: transform 0.75s cubic-bezier(0.76, 0.09, 0.215, 1) 0.2s, -webkit-transform 0.75s cubic-bezier(0.76, 0.09, 0.215, 1) 0.2s;
  -webkit-transform-origin: right;
          transform-origin: right;
}
.container .content .image::after {
  position: absolute;
  z-index: 2;
  content: "";
  background-color: #fff;
  inset: 0;
  -webkit-transform: scaleX(1);
          transform: scaleX(1);
  -webkit-transition: -webkit-transform 0.75s cubic-bezier(0.76, 0.09, 0.215, 1);
  transition: -webkit-transform 0.75s cubic-bezier(0.76, 0.09, 0.215, 1);
  transition: transform 0.75s cubic-bezier(0.76, 0.09, 0.215, 1);
  transition: transform 0.75s cubic-bezier(0.76, 0.09, 0.215, 1), -webkit-transform 0.75s cubic-bezier(0.76, 0.09, 0.215, 1);
  -webkit-transform-origin: right;
          transform-origin: right;
}
.container .content .image img {
  -webkit-transform: scale(1.3);
          transform: scale(1.3);
  -webkit-transition: -webkit-transform 1.4s cubic-bezier(0.02, 0.78, 0.22, 1);
  transition: -webkit-transform 1.4s cubic-bezier(0.02, 0.78, 0.22, 1);
  transition: transform 1.4s cubic-bezier(0.02, 0.78, 0.22, 1);
  transition: transform 1.4s cubic-bezier(0.02, 0.78, 0.22, 1), -webkit-transform 1.4s cubic-bezier(0.02, 0.78, 0.22, 1);
}
.container .content .image.animated::before, .container .content .image.animated::after {
  -webkit-transform: scaleX(0);
          transform: scaleX(0);
}
.container .content .image.animated img {
  -webkit-transform: scale(1);
          transform: scale(1);
}
.container .foot {
  background-color: #8ee0ff;
  border-top: var(--border_width) solid #222222;
  text-align: center;
  letter-spacing: 0.08em;
  padding: 20px 0;
}
@media all and (min-width: 751px) {
  .container .foot {
    font-size: 18px;
    padding: 50px 0;
  }
}
.container .foot .name {
  font-weight: bold;
  font-size: 15px;
}
@media all and (min-width: 751px) {
  .container .foot .name {
    font-size: 23px;
  }
}