@charset "UTF-8";
* {
  margin: 0;
  padding: 0;
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
}

ul {
  list-style-type: none;
}

a {
  color: inherit;
  text-decoration: none;
}

ul,
ol,
div {
  margin: 0;
  padding: 0;
}

button {
  font-family: inherit;
  border: none;
}

@font-face {
  font-family: "A1 Mincho";
  src: url("../public/fonts/A1-MinchoStdBold.woff2") format("woff2");
  font-weight: 700;
  font-style: normal;
}
@font-face {
  font-family: "Century Old Style";
  src: url("../public/fonts/CenturyOldStyleStd-Regular.woff2") format("woff2");
  font-weight: normal;
  font-style: normal;
}
@font-face {
  font-family: "Source Han Sans JP";
  src: url("../public/fonts/SourceHanSansJP-Bold.woff2") format("woff2");
  font-weight: 700;
  font-style: normal;
}
@font-face {
  font-family: "Source Han Sans JP";
  src: url("../public/fonts/SourceHanSansJP-Medium.woff2") format("woff2");
  font-weight: 500;
  font-style: normal;
}
@font-face {
  font-family: "Source Han Sans JP";
  src: url("../public/fonts/SourceHanSansJP-Regular.woff2") format("woff2");
  font-weight: 400;
  font-style: normal;
}
@font-face {
  font-family: "Ten Mincho Text";
  src: url("../public/fonts/TenMinchoText-Regular.woff2") format("woff2");
  font-weight: 400;
  font-style: normal;
}
@font-face {
  font-family: "Baskerville Old Face";
  src: url("../public/fonts/BASKVILL.woff2") format("woff2");
  font-weight: 400;
  font-style: normal;
}
@font-face {
  font-family: "BIZ UDGothic";
  src: url("../public/fonts/BIZUDGothic-Bold.woff2") format("woff2");
  font-weight: 700;
  font-style: normal;
}
@font-face {
  font-family: "BIZ UDGothic";
  src: url("../public/fonts/BIZUDGothic-Regular.woff2") format("woff2");
  font-weight: 400;
  font-style: normal;
}
html {
  font-family: "Source Han Sans JP", "源ノ角ゴシック JP Normal*", sans-serif;
  font-size: 10px;
  color: #38444f;
  scroll-behavior: smooth;
  -webkit-text-size-adjust: none;
     -moz-text-size-adjust: none;
      -ms-text-size-adjust: none;
          text-size-adjust: none;
}

main {
  opacity: 0;
  -webkit-transition: opacity 0.2s ease 0.1s;
  transition: opacity 0.2s ease 0.1s;
}
main.show {
  opacity: 1 !important;
}

body {
  position: relative;
  background: #fff;
}
body::before {
  content: "";
  z-index: 101;
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  -webkit-backdrop-filter: blur(10px);
          backdrop-filter: blur(10px);
  background-color: rgba(94, 134, 156, 0.1019607843);
  opacity: 0;
  pointer-events: none;
  -webkit-transition: opacity 0.4s cubic-bezier(0.65, 0, 0.35, 1);
  transition: opacity 0.4s cubic-bezier(0.65, 0, 0.35, 1);
}
body.blur::before {
  opacity: 1;
  z-index: 9999;
}

.image {
  width: 100%;
  height: auto;
  -o-object-fit: cover;
     object-fit: cover;
  -o-object-position: center;
     object-position: center;
}
.image--100 {
  height: 100%;
}
.image--auto {
  width: auto;
}
.image--contain {
  -o-object-fit: contain;
     object-fit: contain;
}

.button {
  border: 1px solid var(--btn-color);
  background: var(--btn-color);
  position: relative;
  overflow: hidden;
  text-align: center;
  display: block;
  color: #fff;
  text-transform: uppercase;
}
.button:hover .button__overlay {
  width: 400px;
  height: 400px;
}
.button:hover .button__text {
  color: var(--btn-color);
}
.button__overlay {
  position: absolute;
  aspect-ratio: 1;
  border-radius: 50%;
  background: #fff;
  -webkit-transform: translate(-50%, -50%);
          transform: translate(-50%, -50%);
  pointer-events: none;
  width: 0;
  height: 0;
  -webkit-transition: height 0.5s ease-in-out, width 0.5s ease-in-out;
  transition: height 0.5s ease-in-out, width 0.5s ease-in-out;
}
.button__text {
  -webkit-transition: 0.5s ease;
  transition: 0.5s ease;
  position: relative;
  z-index: 1;
}

.preloader {
  --preloader-duration: 1s;
  position: fixed;
  inset: 0;
  height: 100vh;
  width: 100vw;
  background: #fff;
  z-index: 999999;
  -webkit-clip-path: inset(0 0 0 0);
          clip-path: inset(0 0 0 0);
  -webkit-transition: -webkit-clip-path var(--preloader-duration) cubic-bezier(0.22, 0.68, 0, 1.71);
  transition: -webkit-clip-path var(--preloader-duration) cubic-bezier(0.22, 0.68, 0, 1.71);
  transition: clip-path var(--preloader-duration) cubic-bezier(0.22, 0.68, 0, 1.71);
  transition: clip-path var(--preloader-duration) cubic-bezier(0.22, 0.68, 0, 1.71), -webkit-clip-path var(--preloader-duration) cubic-bezier(0.22, 0.68, 0, 1.71);
}
.preloader.animate .preloader__text-wrap {
  -webkit-animation: site-logo-text 1s ease-out forwards;
          animation: site-logo-text 1s ease-out forwards;
}
@media screen and (max-width: 767px) {
  .preloader.animate .preloader__text-wrap {
    -webkit-animation-name: site-logo-text-sp;
            animation-name: site-logo-text-sp;
  }
}
.preloader.hidden {
  -webkit-clip-path: inset(0 0 100% 0);
          clip-path: inset(0 0 100% 0);
}
.preloader__container {
  position: relative;
  height: 100%;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
}
.preloader__text-wrap {
  overflow: hidden;
  width: 0;
}
.preloader__text {
  width: 334px;
}
@media screen and (max-width: 767px) {
  .preloader__text {
    width: 220px;
  }
}

.footer {
  position: relative;
  z-index: 999;
  background: #fff;
}
.footer__bg {
  position: absolute;
  inset: 0;
  z-index: -1;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
}
.footer__bg-image {
  -o-object-position: bottom;
     object-position: bottom;
}
.footer__recruit {
  display: block;
  height: 480px;
  background: linear-gradient(129deg, #00ab9f 0%, #910782 100%);
  position: relative;
  color: #fff;
}
@media screen and (max-width: 767px) {
  .footer__recruit {
    height: 200px;
  }
}
.footer__recruit::after {
  content: "";
  position: absolute;
  inset: 0;
  background: linear-gradient(170deg, #00ab9f 0%, #910782 100%);
  background: #000;
  opacity: 0;
  -webkit-transition: 0.3s ease;
  transition: 0.3s ease;
}
.footer__recruit:hover::after {
  opacity: 0.15;
}
.footer__recruit:hover .footer__recruit-btn {
  border-color: transparent;
}
.footer__recruit:hover .footer__recruit-btn::before {
  -webkit-transform: scale(1);
          transform: scale(1);
}
.footer__recruit:hover .footer__recruit-btn::after {
  -webkit-transform: translateX(35px);
          transform: translateX(35px);
  opacity: 0;
}
.footer__recruit:hover .footer__recruit-arrow::after {
  -webkit-transform: translateX(0);
          transform: translateX(0);
  opacity: 1;
}
.footer__recruit-container {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  height: 100%;
  position: relative;
  z-index: 1;
  padding-inline: 3%;
  margin-inline: auto;
  max-width: calc(1400px + 6%);
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
}
@media screen and (max-width: 767px) {
  .footer__recruit-container {
    max-width: 100%;
    padding-inline: 7%;
  }
}
.footer__recruit-text-en {
  font-size: 8rem;
  text-transform: uppercase;
}
@media screen and (max-width: 767px) {
  .footer__recruit-text-en {
    font-size: 30px;
  }
}
.footer__recruit-text-jp {
  margin-top: 6px;
  display: block;
  font-size: 1.6rem;
  font-weight: 500;
  letter-spacing: 0.06em;
}
@media screen and (max-width: 767px) {
  .footer__recruit-text-jp {
    font-size: 14px;
  }
}
.footer__recruit-btn {
  margin-right: 4.64%;
  border: 1px solid #fff;
  border-radius: 50%;
  -ms-flex-negative: 0;
      flex-shrink: 0;
  position: relative;
  width: 68px;
  aspect-ratio: 1;
  overflow: hidden;
  -webkit-transition: 0.3s ease;
  transition: 0.3s ease;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
}
@media screen and (max-width: 767px) {
  .footer__recruit-btn {
    margin-top: 0;
    width: 40px;
  }
}
.footer__recruit-btn::before {
  content: "";
  position: absolute;
  inset: 0;
  border-radius: 50%;
  -webkit-transform: scale(0);
          transform: scale(0);
  background: #fff;
  -webkit-transition: 0.3s ease;
  transition: 0.3s ease;
}
.footer__recruit-btn::after {
  content: "";
  margin: auto;
  position: absolute;
  inset: 0;
  width: 11.5px;
  aspect-ratio: 1;
  background: #fff;
  -webkit-mask: url("../public/img/icons/arrow-white.svg") no-repeat center/contain;
          mask: url("../public/img/icons/arrow-white.svg") no-repeat center/contain;
  -webkit-transition: 0.3s ease;
  transition: 0.3s ease;
}
.footer__recruit-arrow::after {
  content: "";
  margin: auto;
  position: absolute;
  inset: 0;
  width: 11.5px;
  aspect-ratio: 1;
  background: #000;
  -webkit-mask: url("../public/img/icons/arrow-white.svg") no-repeat center/contain;
          mask: url("../public/img/icons/arrow-white.svg") no-repeat center/contain;
  -webkit-transition: 0.3s ease;
  transition: 0.3s ease;
  -webkit-transform: translateX(-45px);
          transform: translateX(-45px);
  opacity: 0;
}
.footer__main {
  padding-block: 135px 155px;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
  gap: 80px;
  padding-inline: 3%;
  margin-inline: auto;
  max-width: calc(1440px + 6%);
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
}
@media screen and (max-width: 767px) {
  .footer__main {
    max-width: 100%;
    padding-inline: 7%;
  }
}
@media screen and (max-width: 767px) {
  .footer__main {
    padding-block: 40px 90px;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
    gap: 30px;
  }
}
.footer__info {
  padding-left: 0.98%;
}
@media screen and (max-width: 767px) {
  .footer__info {
    padding-left: 0;
  }
}
.footer__logo-link {
  margin-bottom: 15px;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  width: 340px;
}
@media screen and (max-width: 767px) {
  .footer__logo-link {
    margin-bottom: 8px;
    width: 280px;
  }
}
.footer__logo {
  width: 100%;
}
.footer__title {
  font-size: 1.8rem;
}
@media screen and (max-width: 767px) {
  .footer__title {
    font-size: 16px;
  }
}
.footer__nav {
  padding-top: 20px;
  width: 60%;
  max-width: 850px;
}
@media screen and (max-width: 767px) {
  .footer__nav {
    padding-top: 0;
    width: 100%;
  }
}
.footer__nav-list-wrap {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 30px;
}
@media screen and (max-width: 980px) {
  .footer__nav-list-wrap {
    grid-template-columns: 1fr;
    gap: 16px;
  }
}
.footer__nav-list {
  font-size: 1.5rem;
}
@media screen and (max-width: 767px) {
  .footer__nav-list {
    font-size: 14px;
  }
}
.footer__nav-sublink-list {
  margin-top: 12px;
}
.footer__nav-sublink-list--talk {
  margin-top: 6px;
}
.footer__nav-link {
  display: block;
  -webkit-transition: 0.3s ease;
  transition: 0.3s ease;
  font-weight: 300;
  color: #000;
}
.footer__nav-link:not(:first-child) {
  margin-top: 16px;
}
.footer__nav-link--sub {
  font-weight: 400;
  color: #8b8b8b;
}
.footer__nav-link--sub:not(:first-child) {
  margin-top: 8px;
}
.footer__nav-link:not(.footer__nav-link--title):hover {
  color: #00ab9f;
}
.footer__sns-list {
  margin-top: 82px;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  gap: 30px;
}
@media screen and (max-width: 767px) {
  .footer__sns-list {
    margin-top: 40px;
    gap: 15px;
  }
}
.footer__sns-icon {
  -webkit-transition: 0.3s ease;
  transition: 0.3s ease;
}
.footer__sns-icon--fb {
  width: 38px;
}
.footer__sns-icon--ig {
  width: 35px;
}
.footer__sns-icon--youtube {
  width: 40px;
}
@media screen and (max-width: 767px) {
  .footer__sns-icon {
    width: 28px;
  }
}
.footer__sns-icon:hover {
  opacity: 0.7;
}
.footer__policy-list {
  margin-block: 80px 18px;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  row-gap: 10px;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
}
@media screen and (max-width: 767px) {
  .footer__policy-list {
    margin-top: 40px;
  }
}
.footer__policy-link {
  position: relative;
  font-weight: 500;
  font-size: 1.2rem;
  letter-spacing: 0.025em;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  gap: 4px;
}
@media screen and (max-width: 767px) {
  .footer__policy-link {
    font-size: 10px;
  }
}
.footer__policy-link::after {
  content: "｜";
  display: block;
}
.footer__policy-link::before {
  content: "";
}
.footer__policy-link:first-child::before {
  content: "｜";
  display: block;
}
.footer__policy-link:hover .footer__policy-link-text {
  opacity: 0.7;
}
.footer__policy-link-text {
  -webkit-transition: 0.3s ease;
  transition: 0.3s ease;
}
.footer__copyright {
  font-weight: 500;
  color: #808080;
}

.header {
  padding: 0 58px;
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  height: 14vh;
  min-height: 90px;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  z-index: 999;
  pointer-events: none;
}
@media screen and (max-width: 767px) {
  .header {
    padding-inline: 5.73% 5.6%;
    height: 53px;
    min-height: unset;
  }
}
.header__logo-link {
  padding: 10px 10px 10px 0;
  position: relative;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  gap: 1.4%;
  pointer-events: auto;
  width: 50vh;
  max-width: 404px;
  min-width: 340px;
  -webkit-transition: 0.3s ease;
  transition: 0.3s ease;
}
@media screen and (max-width: 980px) {
  .header__logo-link {
    min-width: unset;
    max-width: 340px;
  }
}
@media screen and (max-width: 767px) {
  .header__logo-link {
    padding: 0;
    width: 54%;
    max-width: 260px;
  }
}
.header__logo-link:hover {
  opacity: 0.7;
}
.header__wrap {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: end;
      -ms-flex-align: end;
          align-items: flex-end;
  gap: 25px;
}
.header__button {
  border-radius: 24px;
  padding: 14px 60px;
  font-size: 1.6rem;
  font-family: "Baskerville Old Face", serif;
  letter-spacing: 0.1em;
  pointer-events: auto;
  --btn-color: #000;
}
@media screen and (max-width: 767px) {
  .header__button {
    -ms-flex-negative: 0;
        flex-shrink: 0;
    margin-top: 38px;
    border-radius: 21px;
    padding: 14px;
    font-size: 14px;
  }
}
.header__hamburger-button {
  cursor: pointer;
  background: transparent;
  pointer-events: auto;
}
@media screen and (max-width: 767px) {
  .header__hamburger-button {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
  }
}
.header__hamburger {
  display: block;
  margin-bottom: 4px;
  position: relative;
  width: 59px;
  height: 11px;
}
@media screen and (max-width: 767px) {
  .header__hamburger {
    margin-bottom: 7px;
    width: 31.5px;
    height: 6px;
  }
}
.header__hamburger--close {
  margin-bottom: 0;
  width: 52px;
  height: 26px;
}
@media screen and (max-width: 767px) {
  .header__hamburger--close {
    margin-bottom: 5px;
    width: 40px;
    height: 10.35px;
  }
}
.header__hamburger-text {
  font-size: 1rem;
  font-family: "Century Old Style", sans-serif;
  letter-spacing: 0.02em;
  text-transform: uppercase;
}
@media screen and (max-width: 767px) {
  .header__hamburger-text {
    font-size: 5.3px;
  }
}
@media screen and (max-width: 767px) {
  .header__hamburger-text--close {
    font-size: 6.8px;
  }
}

.drawer {
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  height: 100vh;
  z-index: 99999;
  opacity: 1;
  visibility: hidden;
  pointer-events: none;
  -webkit-transition: 0.3s ease;
  transition: 0.3s ease;
}
.drawer.active {
  opacity: 1;
  pointer-events: auto;
  visibility: visible;
}
.drawer.active .drawer__content {
  opacity: 1;
}
.drawer__content {
  margin-left: auto;
  padding: 0 3.5% 60px;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  height: 100%;
  width: 100%;
  max-width: 1100px;
  background: #fff;
  overflow-y: auto;
  opacity: 0;
  -webkit-transition: all 0.4s cubic-bezier(0.65, 0, 0.35, 1);
  transition: all 0.4s cubic-bezier(0.65, 0, 0.35, 1);
}
@media screen and (max-height: 954px) {
  .drawer__content {
    padding-bottom: 6vh;
  }
}
@media screen and (max-width: 767px) {
  .drawer__content {
    padding-inline: 0;
  }
}
.drawer__buttons-wrap {
  -webkit-box-pack: end;
      -ms-flex-pack: end;
          justify-content: flex-end;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  height: 14vh;
  min-height: 90px;
}
@media screen and (max-width: 767px) {
  .drawer__buttons-wrap {
    padding: 42px 6.4%;
    height: auto;
    min-height: unset;
  }
}
@media screen and (max-width: 400px) {
  .drawer__buttons-wrap {
    padding-block: 21px;
    position: sticky;
    top: 0;
  }
}
@media screen and (max-width: 767px) {
  .drawer__button-entry-sp {
    padding-inline: 9.6%;
  }
}
.drawer__nav-main {
  margin: 65px auto 0;
  display: grid;
  grid-template-columns: 1fr 1fr;
  width: 100%;
  max-width: 885px;
}
@media screen and (max-height: 954px) {
  .drawer__nav-main {
    margin-top: 7vh;
  }
}
@media screen and (max-width: 767px) {
  .drawer__nav-main {
    margin-top: 0;
    padding-inline: 9.6%;
    grid-template-columns: 1fr;
    gap: 25px;
  }
}
@media screen and (max-width: 400px) {
  .drawer__nav-main {
    gap: 12.5px;
  }
}
.drawer__nav-list {
  font-size: 1.8rem;
}
@media screen and (max-width: 767px) {
  .drawer__nav-list {
    font-size: 26px;
  }
}
@media screen and (max-width: 400px) {
  .drawer__nav-list {
    font-size: 13px;
  }
}
.drawer__nav-link {
  display: block;
  width: -webkit-fit-content;
  width: -moz-fit-content;
  width: fit-content;
  -webkit-transition: 0.3s ease;
  transition: 0.3s ease;
  font-weight: 500;
}
.drawer__nav-link:not(:first-child) {
  margin-top: 20px;
}
@media screen and (max-width: 767px) {
  .drawer__nav-link:not(:first-child) {
    margin-top: 25px;
  }
}
@media screen and (max-width: 400px) {
  .drawer__nav-link:not(:first-child) {
    margin-top: 12.5px;
  }
}
.drawer__nav-link--sub {
  font-size: 1.6rem;
  font-weight: 400;
  color: #8b8b8b;
  counter-increment: link;
}
@media screen and (max-width: 767px) {
  .drawer__nav-link--sub {
    font-size: 26px;
  }
}
@media screen and (max-width: 400px) {
  .drawer__nav-link--sub {
    font-size: 13px;
  }
}
.drawer__nav-link--sub::before {
  content: "#" counter(link) "  ";
}
.drawer__nav-link--sub:not(:first-child) {
  margin-top: 10px;
}
.drawer__nav-link--sub-plain::before {
  content: none;
}
.drawer__nav-link:not(.drawer__nav-link--title):hover {
  color: #00ab9f;
}
.drawer__nav-sublink-list {
  margin-top: 18px;
  counter-reset: link;
}
@media screen and (max-width: 400px) {
  .drawer__nav-sublink-list {
    margin-top: 9px;
  }
}
.drawer__nav-sublink-list + .drawer__nav-link {
  margin-top: 50px;
}
@media screen and (max-width: 767px) {
  .drawer__nav-sublink-list + .drawer__nav-link {
    margin-top: 38px;
  }
}
@media screen and (max-width: 400px) {
  .drawer__nav-sublink-list + .drawer__nav-link {
    margin-top: 19px;
  }
}
.drawer__nav-sublink-list--talk {
  margin-top: 10px;
}
@media screen and (max-width: 400px) {
  .drawer__nav-sublink-list--talk {
    margin-top: 5px;
  }
}
.drawer__sns-list {
  margin-top: auto;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: end;
      -ms-flex-pack: end;
          justify-content: flex-end;
  gap: 30px;
}
@media screen and (max-width: 767px) {
  .drawer__sns-list {
    margin-top: 40px;
    gap: 15px;
  }
}
.drawer__sns-icon {
  -webkit-transition: 0.3s ease;
  transition: 0.3s ease;
}
.drawer__sns-icon--fb {
  width: 38px;
}
.drawer__sns-icon--ig {
  width: 35px;
}
.drawer__sns-icon--youtube {
  width: 40px;
}
@media screen and (max-width: 767px) {
  .drawer__sns-icon {
    width: 28px;
  }
}
.drawer__sns-icon:hover {
  opacity: 0.7;
}

.banner {
  position: relative;
  margin: calc(100px + 14vh) 0 100px;
}
@media screen and (max-width: 767px) {
  .banner {
    margin: 110px 0 50px;
  }
}
.banner__bg {
  position: absolute;
  top: 50px;
  left: 0;
  width: 100%;
  height: 592.3px;
  background: #d4dbed;
  z-index: -1;
}
@media screen and (max-width: 767px) {
  .banner__bg {
    top: 25px;
    height: 241.15px;
  }
}
.banner__container {
  padding-left: 6.81%;
  width: 100%;
}
.banner__container--full {
  padding: 0 6.81%;
}
.banner__title {
  font-size: 11rem;
  font-weight: 400;
  font-family: "Baskerville Old Face", serif;
  text-transform: uppercase;
  color: #000;
}
@media screen and (max-width: 767px) {
  .banner__title {
    font-size: 5.3rem;
  }
}
.banner__subtitle {
  font-size: 2rem;
  font-family: "A1 Mincho", "A-OTF A1明朝 Std Bold", sans-serif;
  font-weight: 700;
  line-height: 2.361em;
  letter-spacing: 0.31em;
}
@media screen and (max-width: 767px) {
  .banner__subtitle {
    font-size: 1.8rem;
  }
}
.banner__image {
  margin-top: 70px;
  width: 100%;
  height: 550px;
  aspect-ratio: 16/9;
}
@media screen and (max-width: 767px) {
  .banner__image {
    margin-top: 35px;
    height: 250px;
  }
}
.banner__image, .banner__image img {
  border-radius: 20px 0 0 20px;
}
.banner__description {
  margin: 50px 0;
  font-size: 1.8rem;
  font-weight: 500;
  line-height: 2.4444444444em;
  letter-spacing: 0.06em;
}
@media screen and (max-width: 767px) {
  .banner__description {
    font-size: 1.4rem;
  }
}

.section {
  padding: 87px 0;
}
@media screen and (max-width: 767px) {
  .section {
    padding: 35px 0;
  }
}
.section__container {
  margin: 0 auto;
  padding: 0 6.81%;
  width: 100%;
  max-width: calc(1370px + 13.62%);
}
@media screen and (max-width: 767px) {
  .section__container {
    max-width: 100%;
    padding: 0 7%;
  }
}
.section__title {
  margin-bottom: 45px;
  font-size: 6rem;
  font-weight: 400;
  font-family: "Baskerville Old Face", serif;
}
@media screen and (max-width: 767px) {
  .section__title {
    font-size: 22.5px;
    font-size: 4rem;
  }
}

.cross-talk {
  padding-top: 185px;
  background: #faf4f1;
  overflow-x: clip;
}
@media screen and (max-width: 767px) {
  .cross-talk {
    padding-top: 90px;
  }
}
.cross-talk__text {
  font-size: 1.6rem;
  line-height: 2em;
  letter-spacing: 0.06em;
}
@media screen and (max-width: 767px) {
  .cross-talk__text {
    font-size: 1.4rem;
  }
}
.cross-talk__thumb {
  border-radius: 50%;
  overflow: hidden;
  aspect-ratio: 1;
}
.cross-talk__mv {
  padding-inline: 3%;
  margin-inline: auto;
  max-width: calc(1446px + 6%);
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
}
@media screen and (max-width: 767px) {
  .cross-talk__mv {
    max-width: 100%;
    padding-inline: 7%;
  }
}
.cross-talk__header {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
}
@media screen and (max-width: 1080px) {
  .cross-talk__header {
    -webkit-box-align: start;
        -ms-flex-align: start;
            align-items: flex-start;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
    gap: 30px;
  }
}
@media screen and (max-width: 767px) {
  .cross-talk__header {
    gap: 16px;
  }
}
.cross-talk__title {
  color: #00ab9f;
  font-size: 11rem;
  font-weight: 400;
  line-height: 1.1181818182em;
  text-transform: uppercase;
}
@media screen and (max-width: 767px) {
  .cross-talk__title {
    font-size: 4.8rem;
  }
}
@media screen and (max-width: 1080px) {
  .cross-talk__title-br {
    display: none;
  }
}
.cross-talk__dept-list {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  gap: 100px;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  height: -webkit-fit-content;
  height: -moz-fit-content;
  height: fit-content;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
}
@media screen and (max-width: 767px) {
  .cross-talk__dept-list {
    gap: 16px 40px;
  }
}
.cross-talk__dept-item {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  position: relative;
  font-size: 2.4rem;
  font-weight: 400;
  letter-spacing: 0.15em;
}
@media screen and (max-width: 767px) {
  .cross-talk__dept-item {
    font-size: 1.4rem;
  }
}
.cross-talk__dept-item:not(:last-child)::after {
  content: "";
  position: absolute;
  right: -2.8em;
  width: 44px;
  aspect-ratio: 1;
  background: url("../public/img/icons/cross-black.svg") no-repeat center center/cover;
}
@media screen and (max-width: 767px) {
  .cross-talk__dept-item:not(:last-child)::after {
    width: 22px;
    right: -2em;
  }
}
.cross-talk__banner {
  margin-top: 100px;
  position: relative;
  width: 106%;
  margin-left: -3%;
}
@media screen and (max-width: 767px) {
  .cross-talk__banner {
    margin-top: 50px;
  }
}
.cross-talk__banner-tgl {
  position: absolute;
  top: -48px;
  left: 9%;
  z-index: 1;
  -webkit-writing-mode: vertical-rl;
      -ms-writing-mode: tb-rl;
          writing-mode: vertical-rl;
  text-orientation: upright;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  gap: 7px;
}
@media screen and (max-width: 1200px) {
  .cross-talk__banner-tgl {
    left: 6%;
  }
}
@media screen and (max-width: 767px) {
  .cross-talk__banner-tgl {
    top: -24px;
  }
}
.cross-talk__banner-tgl-line {
  padding: 12px 16px;
  font-size: 2.5rem;
  letter-spacing: 0.18em;
  background: #fff;
  height: -webkit-fit-content;
  height: -moz-fit-content;
  height: fit-content;
}
@media screen and (max-width: 767px) {
  .cross-talk__banner-tgl-line {
    padding: 6px;
    font-size: 1.4rem;
  }
}
.cross-talk__banner-image {
  border-radius: 20px;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  width: 100%;
  height: 624px;
  overflow: hidden;
}
@media screen and (max-width: 767px) {
  .cross-talk__banner-image {
    height: 260px;
  }
}
.cross-talk__tgl {
  margin-top: 94px;
  font-size: 3.6rem;
  font-weight: 400;
  line-height: 2em;
  letter-spacing: 0.15em;
  color: #00ab9f;
  text-align: center;
  -webkit-font-feature-settings: "palt";
          font-feature-settings: "palt";
}
@media screen and (max-width: 767px) {
  .cross-talk__tgl {
    margin-top: 46px;
    font-size: 1.8rem;
  }
}
.cross-talk__people {
  margin-top: 75px;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
  gap: 35px;
  -webkit-font-feature-settings: "palt";
          font-feature-settings: "palt";
  padding-inline: 3%;
  margin-inline: auto;
  max-width: calc(880px + 6%);
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
}
@media screen and (max-width: 767px) {
  .cross-talk__people {
    max-width: 100%;
    padding-inline: 7%;
  }
}
@media screen and (max-width: 767px) {
  .cross-talk__people {
    margin-top: 36px;
    gap: 26px;
  }
}
@media screen and (max-width: 500px) {
  .cross-talk__people {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
    max-width: 350px;
  }
}
.cross-talk__people-item {
  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;
  font-weight: 500;
  text-align: center;
  -webkit-box-flex: 1;
      -ms-flex: 1 1 0px;
          flex: 1 1 0;
  max-width: 235px;
}
@media screen and (max-width: 767px) {
  .cross-talk__people-item {
    max-width: unset;
  }
}
.cross-talk__people-item-image {
  width: 200px;
}
@media screen and (max-width: 767px) {
  .cross-talk__people-item-image {
    width: 120px;
  }
}
.cross-talk__people-item-position {
  margin-top: 15px;
  font-size: 1.4rem;
  letter-spacing: 0.1em;
}
@media screen and (max-width: 767px) {
  .cross-talk__people-item-position {
    font-size: 1.2rem;
  }
}
.cross-talk__people-item-position--ls {
  letter-spacing: -0.01em;
}
.cross-talk__people-item-name-en {
  margin-top: 10px;
  font-size: 3rem;
  font-weight: 400;
  letter-spacing: 0.04em;
}
@media screen and (max-width: 767px) {
  .cross-talk__people-item-name-en {
    font-size: 1.8rem;
  }
}
.cross-talk__people-item-name-jp {
  font-size: 1.3rem;
  letter-spacing: 0.05em;
}
@media screen and (max-width: 767px) {
  .cross-talk__people-item-name-jp {
    font-size: 1.1rem;
  }
}
.cross-talk__people-item-summary {
  margin-top: 16px;
  font-size: 1.4rem;
  font-weight: 400;
  line-height: 2em;
  letter-spacing: 0.06em;
  text-align: left;
  color: #38444f;
}
@media screen and (max-width: 767px) {
  .cross-talk__people-item-summary {
    font-size: 1.2rem;
  }
}
.cross-talk__talk {
  margin-top: 170px;
  -webkit-font-feature-settings: "palt";
          font-feature-settings: "palt";
  padding-inline: 3%;
  margin-inline: auto;
  max-width: calc(1370px + 6%);
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
}
@media screen and (max-width: 767px) {
  .cross-talk__talk {
    max-width: 100%;
    padding-inline: 7%;
  }
}
@media screen and (max-width: 767px) {
  .cross-talk__talk {
    margin-top: 80px;
  }
}
.cross-talk__talk-sec {
  display: grid;
  grid-template-columns: 37.68% 62.32%;
}
@media screen and (max-width: 980px) {
  .cross-talk__talk-sec {
    grid-template-columns: 100%;
  }
}
.cross-talk__talk-sec:not(:last-child) {
  margin-bottom: 210px;
}
@media screen and (max-width: 767px) {
  .cross-talk__talk-sec:not(:last-child) {
    margin-bottom: 100px;
  }
}
.cross-talk__talk-header {
  padding-right: 40px;
}
@media screen and (max-width: 767px) {
  .cross-talk__talk-header {
    padding-right: 0;
  }
}
.cross-talk__talk-title {
  position: sticky;
  top: 140px;
  font-size: 2.6rem;
  letter-spacing: 0.1em;
  line-height: 2.0384615385em;
  color: #000;
  font-weight: 600;
}
@media screen and (max-width: 767px) {
  .cross-talk__talk-title {
    position: static;
    font-size: 1.8rem;
  }
}
.cross-talk__talk-body {
  padding-top: 10px;
}
@media screen and (max-width: 980px) {
  .cross-talk__talk-body {
    padding-top: 30px;
  }
}
@media screen and (max-width: 767px) {
  .cross-talk__talk-body {
    padding-top: 22px;
  }
}
.cross-talk__talk-subheading {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  gap: 34px;
  letter-spacing: 0.1em;
  min-height: 58px;
}
@media screen and (max-width: 767px) {
  .cross-talk__talk-subheading {
    min-height: unset;
    gap: 22px;
  }
}
.cross-talk__talk-subheading::before {
  content: "";
  margin-left: 6px;
  position: relative;
  top: 18px;
  -ms-flex-negative: 0;
      flex-shrink: 0;
  display: block;
  width: 60px;
  height: 1px;
  background: #000;
}
@media screen and (max-width: 767px) {
  .cross-talk__talk-subheading::before {
    top: 15px;
    width: 36px;
  }
}
.cross-talk__talk-convo {
  margin-top: 25px;
}
@media screen and (max-width: 767px) {
  .cross-talk__talk-convo {
    margin-top: 14px;
  }
}
.cross-talk__talk-item {
  display: grid;
  grid-template-columns: auto 1fr;
  gap: 35px;
}
@media screen and (max-width: 767px) {
  .cross-talk__talk-item {
    gap: 16px;
  }
}
.cross-talk__talk-item:not(:last-child) {
  margin-bottom: 35px;
}
@media screen and (max-width: 767px) {
  .cross-talk__talk-item:not(:last-child) {
    margin-bottom: 16px;
  }
}
.cross-talk__talk-speaker {
  padding-top: 8px;
}
.cross-talk__talk-speaker-image {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  width: 70px;
}
@media screen and (max-width: 767px) {
  .cross-talk__talk-speaker-image {
    width: 50px;
  }
}
.cross-talk__talk-speaker-name {
  margin-top: 6px;
  font-size: 14px;
  font-weight: 500;
  letter-spacing: 0.1em;
  text-align: center;
}
@media screen and (max-width: 767px) {
  .cross-talk__talk-speaker-name {
    font-size: 1.2rem;
  }
}
.cross-talk__talk-message {
  font-weight: 400;
  color: #38444f;
}
.cross-talk__talk-banner {
  border-top-left-radius: 20px;
  border-bottom-left-radius: 20px;
  margin-top: 70px;
  margin-left: auto;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  height: 544px;
  overflow: hidden;
  width: 60vw;
}
@media screen and (max-width: 1700px) {
  .cross-talk__talk-banner {
    width: calc(100% + 10vw);
  }
}
@media screen and (max-width: 1380px) {
  .cross-talk__talk-banner {
    width: calc(100% + 3vw);
  }
}
@media screen and (max-width: 767px) {
  .cross-talk__talk-banner {
    margin-top: 35px;
    width: 93vw;
    height: auto;
    aspect-ratio: 960/544;
  }
}
.cross-talk__banner-bottom {
  margin-top: 160px;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  width: 100%;
  aspect-ratio: 1600/573;
}
@media screen and (max-width: 767px) {
  .cross-talk__banner-bottom {
    margin-top: 80px;
    height: 250px;
  }
}

.top__vert-up-text {
  -webkit-writing-mode: vertical-rl;
      -ms-writing-mode: tb-rl;
          writing-mode: vertical-rl;
  text-orientation: upright;
}
@media screen and (max-width: 767px) {
  .top__vert-up-text--pc {
    -webkit-writing-mode: unset;
        -ms-writing-mode: unset;
            writing-mode: unset;
    text-orientation: unset;
  }
}
.top__uppercase {
  text-transform: uppercase;
}
.top__mv-bg {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100vh;
}
.top__cursor {
  top: 50%;
  left: 50%;
  opacity: 0;
  z-index: 999;
  width: 15px;
  height: 15px;
  position: fixed;
  border-radius: 50%;
  pointer-events: none;
  -webkit-transition: border 0.3s ease-in-out, background-color 0.3s ease-in-out, width 0.3s ease-in-out, height 0.3s ease-in-out;
  transition: border 0.3s ease-in-out, background-color 0.3s ease-in-out, width 0.3s ease-in-out, height 0.3s ease-in-out;
  background-color: #fff;
  -webkit-transform: translate(-50%, -50%);
          transform: translate(-50%, -50%);
  border: 4px solid transparent;
}
@media screen and (max-width: 767px) {
  .top__cursor {
    opacity: 0 !important;
  }
}
.top__cursor.hidden {
  opacity: 0;
}
.top__cursor.hovered {
  width: 60px;
  height: 60px;
  opacity: 0.8;
}
.top__cursor.hovered--border {
  border-color: #fff;
  background-color: transparent;
}
.top__splide-arrow {
  border: 1px solid;
  border-radius: 50%;
  position: relative;
  width: 68px;
  aspect-ratio: 1;
  height: auto;
  background: transparent;
  -webkit-transform: none;
          transform: none;
  top: auto;
  -webkit-transition: 0.3s ease;
  transition: 0.3s ease;
  opacity: 1 !important;
}
.top__splide-arrow::after {
  content: "";
  margin: auto;
  position: absolute;
  inset: 0;
  width: 11.5px;
  aspect-ratio: 1;
  -webkit-mask: url("../public/img/icons/arrow-white.svg") no-repeat center/contain;
          mask: url("../public/img/icons/arrow-white.svg") no-repeat center/contain;
  -webkit-transition: 0.3s ease;
  transition: 0.3s ease;
}
@media screen and (max-width: 767px) {
  .top__splide-arrow::after {
    width: 9px;
  }
}
.top__splide-arrow svg {
  display: none;
}
.top__splide-arrow--prev {
  -webkit-transform: scaleX(-1);
          transform: scaleX(-1);
}

.top-marquee {
  --gap: 5rem;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  overflow: hidden;
  -webkit-user-select: none;
     -moz-user-select: none;
      -ms-user-select: none;
          user-select: none;
  gap: var(--gap);
}
.top-marquee__content {
  -webkit-animation-name: marquee;
          animation-name: marquee;
  -webkit-animation-timing-function: linear;
          animation-timing-function: linear;
  -webkit-animation-iteration-count: infinite;
          animation-iteration-count: infinite;
  -webkit-animation-duration: 30s;
          animation-duration: 30s;
}
.top-marquee__text {
  white-space: nowrap;
  font-size: 18rem;
  font-weight: 400;
  color: #fff;
}
@media screen and (max-width: 767px) {
  .top-marquee__text {
    font-size: 74px;
  }
}
.top-marquee--bg-white {
  position: relative;
  background: #fff;
}

.top-mv {
  padding-block: 150px 240px;
  position: relative;
  z-index: 1;
}
@media screen and (max-width: 767px) {
  .top-mv {
    min-height: 100vh;
    padding-block: 62.5px 90px;
  }
}
.top-mv::after {
  content: "";
  position: absolute;
  bottom: 0;
  left: 0;
  width: 100%;
  background: #fff;
  height: calc(100% - 50vh);
  -webkit-animation: reveal-opacity 5s ease 2.4s forwards;
          animation: reveal-opacity 5s ease 2.4s forwards;
  opacity: 0;
}
.top-mv__title {
  font-weight: 700;
  font-size: clamp(40px, -12.267px + 5.333vw, 56px);
  font-family: "A1 Mincho", "A-OTF A1明朝 Std Bold", sans-serif;
  text-align: center;
  position: relative;
  z-index: 1;
  color: #000;
}
@media screen and (max-width: 767px) {
  .top-mv__title {
    line-height: 1.7115384615em;
    font-size: 26px;
  }
}
.top-mv__title span:not(.top-mv__title-line) {
  -webkit-animation: reveal-opacity 1s ease-in-out forwards;
          animation: reveal-opacity 1s ease-in-out forwards;
  opacity: 0;
  /* stylelint-disable-next-line */
}
.top-mv__title span:not(.top-mv__title-line):nth-child(1) {
  -webkit-animation-delay: 3s;
          animation-delay: 3s;
}
.top-mv__title span:not(.top-mv__title-line):nth-child(2) {
  -webkit-animation-delay: 3.1s;
          animation-delay: 3.1s;
}
.top-mv__title span:not(.top-mv__title-line):nth-child(3) {
  -webkit-animation-delay: 3.2s;
          animation-delay: 3.2s;
}
.top-mv__title span:not(.top-mv__title-line):nth-child(4) {
  -webkit-animation-delay: 3.3s;
          animation-delay: 3.3s;
}
.top-mv__title span:not(.top-mv__title-line):nth-child(5) {
  -webkit-animation-delay: 3.4s;
          animation-delay: 3.4s;
}
.top-mv__title span:not(.top-mv__title-line):nth-child(6) {
  -webkit-animation-delay: 3.5s;
          animation-delay: 3.5s;
}
.top-mv__title span:not(.top-mv__title-line):nth-child(7) {
  -webkit-animation-delay: 3.6s;
          animation-delay: 3.6s;
}
.top-mv__title span:not(.top-mv__title-line):nth-child(8) {
  -webkit-animation-delay: 3.7s;
          animation-delay: 3.7s;
}
.top-mv__title span:not(.top-mv__title-line):nth-child(9) {
  -webkit-animation-delay: 3.8s;
          animation-delay: 3.8s;
}
.top-mv__title span:not(.top-mv__title-line):nth-child(10) {
  -webkit-animation-delay: 3.9s;
          animation-delay: 3.9s;
}
.top-mv__title span:not(.top-mv__title-line):nth-child(11) {
  -webkit-animation-delay: 4s;
          animation-delay: 4s;
}
.top-mv__title span:not(.top-mv__title-line):nth-child(12) {
  -webkit-animation-delay: 4.1s;
          animation-delay: 4.1s;
}
.top-mv__title span:not(.top-mv__title-line):nth-child(13) {
  -webkit-animation-delay: 4.2s;
          animation-delay: 4.2s;
}
.top-mv__title span:not(.top-mv__title-line):nth-child(14) {
  -webkit-animation-delay: 4.3s;
          animation-delay: 4.3s;
}
.top-mv__title span:not(.top-mv__title-line):nth-child(15) {
  -webkit-animation-delay: 4.4s;
          animation-delay: 4.4s;
}
.top-mv__title span:not(.top-mv__title-line):nth-child(16) {
  -webkit-animation-delay: 4.5s;
          animation-delay: 4.5s;
}
.top-mv__title span:not(.top-mv__title-line):nth-child(17) {
  -webkit-animation-delay: 4.6s;
          animation-delay: 4.6s;
}
.top-mv__title span:not(.top-mv__title-line):nth-child(18) {
  -webkit-animation-delay: 4.7s;
          animation-delay: 4.7s;
}
.top-mv__title span:not(.top-mv__title-line):nth-child(19) {
  -webkit-animation-delay: 4.8s;
          animation-delay: 4.8s;
}
.top-mv__title span:not(.top-mv__title-line):nth-child(20) {
  -webkit-animation-delay: 4.9s;
          animation-delay: 4.9s;
}
.top-mv__title span:not(.top-mv__title-line):nth-child(21) {
  -webkit-animation-delay: 5s;
          animation-delay: 5s;
}
.top-mv__title-line:nth-child(2) {
  letter-spacing: 0.2em;
}
.top-mv__title-line:nth-child(3) {
  letter-spacing: 0.02em;
}
.top-mv__container {
  margin: 100px auto 0;
  padding-inline: 40px;
  display: grid;
  grid-template-columns: auto 1fr auto;
  position: relative;
  z-index: 1;
}
@media screen and (max-width: 767px) {
  .top-mv__container {
    max-width: 600px;
    padding-inline: 3.46%;
    grid-template-columns: 1fr;
    margin-top: 42.5px;
  }
}
.top-mv__side {
  padding: 0 18px;
  font-size: 1rem;
  letter-spacing: 0.1em;
  -webkit-writing-mode: vertical-rl;
      -ms-writing-mode: tb-rl;
          writing-mode: vertical-rl;
  text-orientation: mixed;
  text-align: center;
}
@media screen and (max-width: 767px) {
  .top-mv__side {
    display: none;
  }
}
.top-mv__main {
  position: relative;
  height: 100%;
}
.top-mv__main-decor-tl {
  position: absolute;
  top: -170px;
  left: 4%;
  aspect-ratio: 1;
  width: 24.6666666667%;
  pointer-events: none;
  -webkit-transform: translateX(-20%);
          transform: translateX(-20%);
  opacity: 0;
  -webkit-transition: 0.3s ease;
  transition: 0.3s ease;
  z-index: 2;
}
@media screen and (max-width: 767px) {
  .top-mv__main-decor-tl {
    top: -17.5%;
    left: -10%;
    width: 48%;
  }
}
.top-mv__main-decor-tl.animate {
  opacity: 1;
  -webkit-transform: none;
          transform: none;
}
.top-mv__main-decor-br {
  position: absolute;
  bottom: -28.5%;
  right: 295px;
  width: 33.4666666667%;
  aspect-ratio: 502/335;
  -webkit-transform: translateY(20%);
          transform: translateY(20%);
  opacity: 0;
  -webkit-transition: 0.3s ease;
  transition: 0.3s ease;
  z-index: 2;
}
@media screen and (max-width: 767px) {
  .top-mv__main-decor-br {
    bottom: -15%;
    right: 20%;
    width: 45%;
  }
}
.top-mv__main-decor-br.animate {
  opacity: 1;
  -webkit-transform: none;
          transform: none;
}
.top-mv__main-kanji {
  margin: auto;
  position: absolute;
  inset: 0;
  left: 1%;
  width: 35.2%;
  aspect-ratio: 528/465;
  -webkit-animation-duration: 0.5s;
          animation-duration: 0.5s;
  -webkit-animation-delay: 0.3s;
          animation-delay: 0.3s;
  z-index: 2;
}
@media screen and (max-width: 767px) {
  .top-mv__main-kanji {
    width: 42.6%;
  }
}
.top-mv__visual {
  aspect-ratio: 1500/720;
  display: grid;
  grid-template-columns: 1fr 1fr;
  height: 100%;
}
@media screen and (max-width: 767px) {
  .top-mv__visual {
    aspect-ratio: 694/802;
  }
}
.top-mv__visual-item {
  position: relative;
  -webkit-animation-duration: 0.4s;
          animation-duration: 0.4s;
}
.top-mv__visual-slide {
  position: absolute;
  inset: 0;
  -webkit-clip-path: inset(0 100% 0 0);
          clip-path: inset(0 100% 0 0);
  z-index: 0;
  -webkit-transition: -webkit-clip-path 1s ease-in-out;
  transition: -webkit-clip-path 1s ease-in-out;
  transition: clip-path 1s ease-in-out;
  transition: clip-path 1s ease-in-out, -webkit-clip-path 1s ease-in-out;
}
.top-mv__visual-slide.is-active {
  -webkit-clip-path: inset(0 0 0 0);
          clip-path: inset(0 0 0 0);
  z-index: 1;
}
.top-mv__visual-slide.is-active img {
  -webkit-transform: scale(1);
          transform: scale(1);
}
.top-mv__visual-slide img {
  -webkit-transform: scale(1.15);
          transform: scale(1.15);
  -webkit-transition: -webkit-transform 3.5s ease-in-out;
  transition: -webkit-transform 3.5s ease-in-out;
  transition: transform 3.5s ease-in-out;
  transition: transform 3.5s ease-in-out, -webkit-transform 3.5s ease-in-out;
}
.top-mv__scroll {
  position: absolute;
  bottom: -70px;
  right: 55px;
  width: 135px;
  aspect-ratio: 1;
  -webkit-transform: translateY(30%);
          transform: translateY(30%);
  -webkit-transition: 0.8s ease;
  transition: 0.8s ease;
  -webkit-transition-delay: 2.5s;
          transition-delay: 2.5s;
  opacity: 0;
  z-index: 2;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
}
@media screen and (max-width: 767px) {
  .top-mv__scroll {
    right: 1%;
    bottom: -11%;
    width: 17.8%;
  }
}
.top-mv__scroll.animate {
  opacity: 1;
  -webkit-transform: none;
          transform: none;
}
.top-mv__scroll-text {
  position: absolute;
  width: 100%;
  height: 100%;
  -webkit-animation: rotate-text 8s linear infinite;
          animation: rotate-text 8s linear infinite;
}
.top-mv__scroll-arrow {
  width: 20%;
}

.top-msg {
  position: relative;
}
.top-msg__title {
  color: #faf4f1;
}
.top-msg__container {
  margin-top: -106px;
  position: relative;
  z-index: 1;
  display: grid;
  grid-template-columns: 1fr auto;
  gap: 2.45%;
  padding-inline: 3%;
  margin-inline: auto;
  max-width: calc(1230px + 6%);
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
}
@media screen and (max-width: 767px) {
  .top-msg__container {
    max-width: 100%;
    padding-inline: 7%;
  }
}
@media screen and (max-width: 767px) {
  .top-msg__container {
    padding-inline: 7.4%;
    grid-template-columns: 1fr;
    margin-top: -40px;
  }
}
.top-msg__tgl-wrap {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
}
@media screen and (max-width: 767px) {
  .top-msg__tgl-wrap {
    -webkit-box-pack: start;
        -ms-flex-pack: start;
            justify-content: flex-start;
  }
}
.top-msg__tgl {
  font-family: "A1 Mincho", "A-OTF A1明朝 Std Bold", sans-serif;
  font-size: 4.1rem;
  letter-spacing: 0.2em;
  color: #000;
}
@media screen and (max-width: 767px) {
  .top-msg__tgl {
    line-height: 1.875em;
    font-size: 24px;
  }
}
.top-msg__tgl-line:nth-child(2) {
  letter-spacing: 0.25em;
}
.top-msg__tgl-kakko {
  margin-top: -0.4em;
}
.top-msg__tgl-kakko--end {
  letter-spacing: -0.4em;
}
.top-msg__content {
  padding-right: 48px;
}
@media screen and (max-width: 767px) {
  .top-msg__content {
    padding-right: 0;
  }
}
.top-msg__par {
  margin-top: 128px;
  line-height: 2.9444444444em;
  font-size: 1.8rem;
  letter-spacing: 0.06em;
}
@media screen and (max-width: 767px) {
  .top-msg__par {
    line-height: 2.2307692308em;
    -webkit-font-feature-settings: "palt";
            font-feature-settings: "palt";
    margin-top: 25px;
    font-size: 13px;
  }
}
.top-msg__images {
  padding-top: 200px;
  position: relative;
  height: 1200px;
}
@media screen and (max-width: 980px) {
  .top-msg__images {
    height: 1000px;
  }
}
@media screen and (max-width: 767px) {
  .top-msg__images {
    padding-top: 200px;
    height: 600px;
  }
}
.top-msg__bg {
  position: absolute;
  left: 0;
  top: 460px;
  width: 100%;
  height: 1816px;
  z-index: -1;
}
@media screen and (max-width: 767px) {
  .top-msg__bg {
    top: auto;
    height: 650px;
    bottom: -170px;
  }
}
.top-msg__images-container {
  height: 100%;
  padding-inline: 3%;
  margin-inline: auto;
  max-width: calc(1080px + 6%);
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
}
@media screen and (max-width: 767px) {
  .top-msg__images-container {
    max-width: 100%;
    padding-inline: 7%;
  }
}
@media screen and (max-width: 767px) {
  .top-msg__images-container {
    max-width: 500px;
  }
}
.top-msg__images-gallery {
  position: relative;
}
.top-msg__image {
  position: absolute;
  z-index: 1;
}
.top-msg__image picture {
  height: 100%;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
}
.top-msg__image--left {
  left: 10px;
  top: 0;
  width: 208px;
  aspect-ratio: 208/328;
  z-index: 2;
}
@media screen and (max-width: 767px) {
  .top-msg__image--left {
    width: 125px;
  }
}
.top-msg__image--mid {
  top: 100px;
  left: 396px;
  width: 336px;
  aspect-ratio: 336/196;
}
@media screen and (max-width: 1100px) {
  .top-msg__image--mid {
    left: 280px;
  }
}
@media screen and (max-width: 980px) {
  .top-msg__image--mid {
    top: 135px;
    left: unset;
    right: 26%;
    width: 248px;
  }
}
@media screen and (max-width: 767px) {
  .top-msg__image--mid {
    width: 124px;
  }
}
.top-msg__image--right {
  right: 0;
  top: 320px;
  width: 447px;
  aspect-ratio: 447/264.5;
}
@media screen and (max-width: 980px) {
  .top-msg__image--right {
    top: 250px;
    width: 240px;
  }
}
@media screen and (max-width: 767px) {
  .top-msg__image--right {
    width: 120px;
  }
}

.top-dialogue {
  margin-top: -280px;
  margin-bottom: 200px;
  position: relative;
  z-index: 1;
  color: #fff;
  overflow-x: clip;
}
@media screen and (max-width: 767px) {
  .top-dialogue {
    margin-top: -20px;
    margin-bottom: 109px;
  }
}
.top-dialogue__main {
  padding-inline: 3%;
  margin-inline: auto;
  max-width: calc(1500px + 6%);
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
}
@media screen and (max-width: 767px) {
  .top-dialogue__main {
    max-width: 100%;
    padding-inline: 7%;
  }
}
@media screen and (max-width: 767px) {
  .top-dialogue__main {
    padding-inline: 0;
  }
}
.top-dialogue__container {
  position: relative;
}
.top-dialogue__bg {
  border-radius: 115px;
  position: absolute;
  inset: 0;
  background: #00ab9f;
}
@media screen and (max-width: 767px) {
  .top-dialogue__bg {
    border-radius: 40px;
  }
}
.top-dialogue__content {
  padding-bottom: 200px;
  position: relative;
  z-index: 1;
}
@media screen and (max-width: 767px) {
  .top-dialogue__content {
    padding-bottom: 71px;
  }
}
.top-dialogue__title {
  padding: 130px 7% 124px;
}
@media screen and (max-width: 767px) {
  .top-dialogue__title {
    margin-inline: auto;
    max-width: calc(560px + 14%);
    padding: 32px 12% 46px;
  }
}
.top-dialogue__title-en {
  font-weight: 400;
  font-size: 13.6rem;
  letter-spacing: 0.04em;
}
@media screen and (max-width: 767px) {
  .top-dialogue__title-en {
    font-size: 40px;
  }
}
.top-dialogue__title-jp {
  font-size: 2.4rem;
  letter-spacing: 0.15em;
}
@media screen and (max-width: 767px) {
  .top-dialogue__title-jp {
    font-size: 12.5px;
  }
}
.top-dialogue__splide {
  position: relative;
}
.top-dialogue__splide-track {
  overflow: visible !important;
}
.top-dialogue__arrows {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  width: 100%;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
  max-width: 1105px;
  margin: auto;
  position: absolute;
  inset: 310px 0 auto;
  z-index: 1;
}
@media screen and (max-width: 767px) {
  .top-dialogue__arrows {
    max-width: 500px;
    top: 25%;
    left: 50%;
    height: -webkit-fit-content;
    height: -moz-fit-content;
    height: fit-content;
    -webkit-transform: translateX(-50%);
            transform: translateX(-50%);
  }
}
@media screen and (max-width: 550px) {
  .top-dialogue__arrows {
    width: 103%;
  }
}
.top-dialogue__arrow {
  border-color: #fff;
}
@media screen and (max-width: 767px) {
  .top-dialogue__arrow {
    width: 31px;
  }
}
.top-dialogue__arrow::after {
  background: #fff;
}
@media screen and (max-width: 767px) {
  .top-dialogue__arrow::after {
    width: 6px;
  }
}
.top-dialogue__arrow:hover {
  background: #fff;
}
.top-dialogue__arrow:hover::after {
  background: #00ab9f;
}
.top-dialogue__slide {
  padding-top: 54px;
  position: relative;
  width: 100%;
}
@media screen and (max-width: 767px) {
  .top-dialogue__slide {
    padding-top: 26px;
  }
}
.top-dialogue__slide.animate .top-dialogue__slide-tgl,
.top-dialogue__slide.animate .top-dialogue__slide-title {
  -webkit-clip-path: inset(0 0 0 0);
          clip-path: inset(0 0 0 0);
}
.top-dialogue__slide.animate .top-dialogue__slide-img {
  top: 0;
  left: 0;
}
.top-dialogue__slide.animate .top-dialogue__slide-img::after {
  top: -30px;
  right: -34px;
  opacity: 1;
}
@media screen and (max-width: 767px) {
  .top-dialogue__slide.animate .top-dialogue__slide-img::after {
    top: -9px;
    right: -9px;
  }
}
.top-dialogue__slide-img-link {
  -webkit-transition: 0.3s ease;
  transition: 0.3s ease;
}
.top-dialogue__slide-img-link:hover {
  opacity: 0.8;
}
.top-dialogue__slide-img {
  position: relative;
  width: 95%;
  aspect-ratio: 760/610;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  top: -10px;
  left: 20px;
  -webkit-transition: 0.3s ease;
  transition: 0.3s ease;
}
@media screen and (max-width: 767px) {
  .top-dialogue__slide-img {
    width: 97%;
  }
}
.top-dialogue__slide-img::after {
  content: "";
  position: absolute;
  width: 100%;
  height: 100%;
  top: 0;
  right: 0;
  border: 1px solid #fff;
  -webkit-transition: inherit;
  transition: inherit;
  opacity: 0;
}
.top-dialogue__slide-title {
  position: absolute;
  top: 0;
  right: 26px;
  font-size: 6rem;
  font-weight: 400;
  letter-spacing: 0.04em;
  text-align: right;
  -webkit-clip-path: inset(0 100% 0 0);
          clip-path: inset(0 100% 0 0);
  -webkit-transition: 0.3s ease;
  transition: 0.3s ease;
  z-index: 1;
}
@media screen and (max-width: 767px) {
  .top-dialogue__slide-title {
    z-index: 1;
    top: auto;
    right: 10px;
    bottom: 93%;
    line-height: 1em;
    font-size: 28px;
  }
}
.top-dialogue__slide-tgl {
  position: absolute;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  gap: 4px;
  top: 0;
  left: 26px;
  z-index: 1;
  -webkit-clip-path: inset(0 0 100% 0);
          clip-path: inset(0 0 100% 0);
  -webkit-transition: 0.3s ease;
  transition: 0.3s ease;
}
@media screen and (max-width: 767px) {
  .top-dialogue__slide-tgl {
    top: -8px;
    left: 25px;
  }
}
.top-dialogue__slide-tgl-line {
  display: block;
  padding: 12px;
  font-size: 2.3rem;
  letter-spacing: 0.15em;
  color: #000;
  background: #fff;
  height: -webkit-fit-content;
  height: -moz-fit-content;
  height: fit-content;
}
@media screen and (max-width: 767px) {
  .top-dialogue__slide-tgl-line {
    padding: 6px;
    font-size: 12px;
  }
}
.top-dialogue__slide-info {
  margin-top: 20px;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
}
@media screen and (max-width: 980px) {
  .top-dialogue__slide-info {
    gap: 17px;
  }
}
@media screen and (max-width: 767px) {
  .top-dialogue__slide-info {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
    margin-top: 28px;
  }
}
.top-dialogue__slide-info-right {
  max-width: 34%;
  -ms-flex-negative: 0;
      flex-shrink: 0;
}
@media screen and (max-width: 980px) {
  .top-dialogue__slide-info-right {
    max-width: 46%;
  }
}
@media screen and (max-width: 767px) {
  .top-dialogue__slide-info-right {
    max-width: unset;
  }
}
.top-dialogue__slide-tag-list {
  margin-top: 3.25em;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  gap: 30px 75px;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  height: -webkit-fit-content;
  height: -moz-fit-content;
  height: fit-content;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
}
@media screen and (max-width: 980px) {
  .top-dialogue__slide-tag-list {
    gap: 24px;
  }
}
@media screen and (max-width: 767px) {
  .top-dialogue__slide-tag-list {
    margin-top: 0;
  }
}
.top-dialogue__slide-tag {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  position: relative;
  font-size: 1.8rem;
  font-weight: 300;
  letter-spacing: 0.15em;
}
@media screen and (max-width: 767px) {
  .top-dialogue__slide-tag {
    font-size: 12.5px;
  }
}
.top-dialogue__slide-tag:not(:last-child)::after {
  content: "";
  position: absolute;
  right: -2.8em;
  width: 33px;
  aspect-ratio: 1;
  background: url("../public/img/icons/cross.svg") no-repeat center center/cover;
}
@media screen and (max-width: 980px) {
  .top-dialogue__slide-tag:not(:last-child)::after {
    right: -18px;
    width: 14px;
    background-image: url("../public/img/icons/cross-sp.svg");
  }
}
.top-dialogue__slide-info-text {
  margin-bottom: 30px;
  font-size: 1.6rem;
  letter-spacing: 0.06em;
  line-height: 1.875em;
}
@media screen and (max-width: 767px) {
  .top-dialogue__slide-info-text {
    line-height: 2em;
    margin-bottom: 20px;
    font-size: 12px;
  }
}
.top-dialogue__slide-link {
  padding-bottom: 10px;
  position: relative;
  font-size: 1.6rem;
  letter-spacing: 0.15em;
}
@media screen and (max-width: 767px) {
  .top-dialogue__slide-link {
    padding-bottom: 6px;
    font-size: 8.5px;
  }
}
.top-dialogue__slide-link::after {
  content: "";
  position: absolute;
  right: 0;
  bottom: 0;
  width: 100%;
  max-width: 100%;
  height: 2px;
  background: #fff;
  -webkit-transition: 0.3s ease;
  transition: 0.3s ease;
}
.top-dialogue__slide-link:hover::after {
  max-width: 0;
}
.top-dialogue__bg-grad {
  position: absolute;
  left: 0;
  top: 580px;
  width: 100%;
  height: 1832px;
  z-index: -1;
}
@media screen and (max-width: 767px) {
  .top-dialogue__bg-grad {
    height: 500px;
  }
}

.top-interview {
  position: relative;
  z-index: 1;
}
@media screen and (max-width: 767px) {
  .top-interview__marquee-text {
    font-size: 92px;
  }
}
.top-interview__main {
  padding-block: 175px 370px;
  display: grid;
  grid-template-columns: 16.25% 81.25%;
  gap: 2.5%;
}
@media screen and (max-width: 767px) {
  .top-interview__main {
    grid-template-columns: 20% 75%;
    gap: 5%;
    padding-block: 112px 185px;
  }
}
.top-interview__title {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: end;
      -ms-flex-pack: end;
          justify-content: flex-end;
  gap: 25px;
  color: #00ab9f;
}
@media screen and (max-width: 767px) {
  .top-interview__title {
    gap: 0;
  }
}
.top-interview__title-jp {
  font-size: 1.6rem;
  letter-spacing: 0.06em;
}
@media screen and (max-width: 767px) {
  .top-interview__title-jp {
    font-size: 10px;
  }
}
.top-interview__title-en {
  font-size: 8rem;
  font-weight: 400;
  -webkit-writing-mode: vertical-rl;
      -ms-writing-mode: tb-rl;
          writing-mode: vertical-rl;
  text-orientation: mixed;
}
@media screen and (max-width: 767px) {
  .top-interview__title-en {
    font-size: 40px;
  }
}
.top-interview__content {
  position: relative;
  background: #f1e5de;
}
.top-interview__decor {
  position: absolute;
  left: -10.8%;
  bottom: -26.5%;
  width: 440px;
  aspect-ratio: 440/324;
}
@media screen and (max-width: 767px) {
  .top-interview__decor {
    bottom: auto;
    max-width: 385px;
    max-width: 192px;
    width: 70%;
    left: -72px;
    top: 87%;
  }
}
.top-interview__link {
  --btn-color: #00ab9f;
  position: absolute;
  right: 12.5%;
  bottom: -30px;
  padding: 20px;
  border-radius: 40px;
  width: 212px;
  font-size: 1.6rem;
  letter-spacing: 0.15em;
}
@media screen and (max-width: 767px) {
  .top-interview__link {
    right: 11%;
    max-width: 250px;
    padding: 11px;
    bottom: -18.5px;
    width: 125px;
    font-size: 9.5px;
  }
}
.top-interview__slider-wrap {
  padding: 90px 0 90px 155px;
  overflow-x: clip;
}
@media screen and (max-width: 767px) {
  .top-interview__slider-wrap {
    padding: 50px 0 90px 33px;
  }
}
.top-interview__splide {
  width: calc(100% - 100px);
}
@media screen and (max-width: 767px) {
  .top-interview__splide {
    width: calc(100% - 30px);
  }
}
.top-interview__splide-track {
  overflow: visible !important;
}
.top-interview__arrows {
  position: absolute;
  top: -128px;
  left: 78%;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  width: -webkit-fit-content;
  width: -moz-fit-content;
  width: fit-content;
  gap: 14px;
}
@media screen and (max-width: 767px) {
  .top-interview__arrows {
    left: unset;
    right: 0;
    top: -70px;
    gap: 8px;
  }
}
.top-interview__arrow {
  left: unset;
  right: unset;
}
@media screen and (max-width: 767px) {
  .top-interview__arrow {
    width: 42px;
  }
}
.top-interview__arrow::after {
  background: #251e1c;
}
@media screen and (max-width: 767px) {
  .top-interview__arrow::after {
    width: 7px;
  }
}
.top-interview__arrow:hover {
  background: #251e1c;
}
.top-interview__arrow:hover::after {
  background: #fff;
}
.top-interview__slide {
  width: 360px;
}
.top-interview__slide:hover .top-interview__slide-img img {
  -webkit-transform: scale(1.15);
          transform: scale(1.15);
}
.top-interview__slide-img {
  border-radius: 20px;
  width: 100%;
  aspect-ratio: 360/480;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  overflow: hidden;
}
@media screen and (max-width: 767px) {
  .top-interview__slide-img {
    border-radius: 10px;
    width: 95.3%;
  }
}
.top-interview__slide-img img {
  -webkit-transition: 0.3s ease;
  transition: 0.3s ease;
}
.top-interview__slide-info {
  margin-left: auto;
  margin-top: -50px;
  padding: 26px 0 0 24px;
  position: relative;
  width: 85.2777777778%;
  background: #f1e5de;
}
@media screen and (max-width: 767px) {
  .top-interview__slide-info {
    padding-right: 0;
    width: 90%;
    -webkit-font-feature-settings: "palt";
            font-feature-settings: "palt";
    padding-top: 13px;
    padding-left: 16px;
  }
}
.top-interview__slide-text {
  margin-bottom: 24px;
  font-size: 1.6rem;
  font-weight: 500;
  letter-spacing: 0.03em;
  line-height: 1.75em;
}
@media screen and (max-width: 767px) {
  .top-interview__slide-text {
    margin-bottom: 12px;
    font-size: 12px;
  }
}
.top-interview__slide-name {
  font-size: 1.2rem;
  letter-spacing: 0.06em;
  color: #878787;
}
@media screen and (max-width: 767px) {
  .top-interview__slide-name {
    font-size: 10px;
  }
}

.top-movie {
  margin-bottom: 204px;
  position: relative;
  height: 587px;
  overflow: hidden;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
}
@media screen and (max-width: 767px) {
  .top-movie {
    margin-bottom: 100px;
    height: auto;
    aspect-ratio: 560/315;
  }
}
.top-movie__img {
  position: absolute;
  inset: 0;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
}
.top-movie__button {
  border-radius: 50%;
  border: 1px solid #fff;
  position: relative;
  color: #fff;
  text-align: center;
  z-index: 1;
  width: 221px;
  aspect-ratio: 1;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  background: none;
  cursor: pointer;
  -webkit-transition: 0.3s ease;
  transition: 0.3s ease;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
}
@media screen and (max-width: 767px) {
  .top-movie__button {
    width: 170px;
  }
}
.top-movie__button::after {
  content: "";
  margin-top: 8px;
  display: block;
  width: 7px;
  height: 8px;
  -webkit-mask: url("../public/img/icons/play.svg") no-repeat center/contain;
          mask: url("../public/img/icons/play.svg") no-repeat center/contain;
  background: #fff;
  -webkit-transition: 0.3s ease;
  transition: 0.3s ease;
}
@media screen and (max-width: 767px) {
  .top-movie__button::after {
    margin-top: 4px;
  }
}
.top-movie__button:hover {
  color: #00ab9f;
}
.top-movie__button:hover::after {
  background: #00ab9f;
}
.top-movie__button .button__overlay {
  z-index: -1;
}
.top-movie__button-text {
  font-size: 1.3rem;
  font-weight: 300;
}
@media screen and (max-width: 767px) {
  .top-movie__button-text {
    font-size: 10px;
  }
}
.top-movie__button-big-text {
  font-family: "Ten Mincho Text", serif;
  font-size: 3rem;
  letter-spacing: 0.15em;
}
@media screen and (max-width: 767px) {
  .top-movie__button-big-text {
    font-size: 20px;
  }
}
.top-movie__modal {
  position: fixed;
  inset: 0;
  display: none;
  background: rgba(0, 0, 0, 0.8);
  z-index: 99999;
}
.top-movie__modal.show {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
}
.top-movie__modal-container {
  position: relative;
  width: 62vw;
  aspect-ratio: 560/315;
}
@media screen and (max-width: 980px) {
  .top-movie__modal-container {
    width: 82vw;
  }
}
@media screen and (max-width: 500px) {
  .top-movie__modal-container {
    width: 88vw;
  }
}
.top-movie__modal-iframe {
  width: 100%;
  height: 100%;
}
.top-movie__modal-close {
  position: absolute;
  width: 52px;
  top: -46px;
  right: 0;
  aspect-ratio: 52/26;
  background: none;
  cursor: pointer;
}
@media screen and (max-width: 500px) {
  .top-movie__modal-close {
    width: 28px;
    top: -25px;
  }
}

.top-qnm {
  margin-bottom: 200px;
  padding-inline: 3%;
  margin-inline: auto;
  max-width: calc(1440px + 6%);
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
}
@media screen and (max-width: 767px) {
  .top-qnm {
    max-width: 100%;
    padding-inline: 7%;
  }
}
@media screen and (max-width: 767px) {
  .top-qnm {
    margin-bottom: 100px;
  }
}
.top-qnm__title {
  margin-bottom: 50px;
  color: #00ab9f;
  text-align: right;
}
@media screen and (max-width: 767px) {
  .top-qnm__title {
    margin-bottom: 17px;
  }
}
.top-qnm__title-en {
  font-size: 8rem;
  font-weight: 400;
}
@media screen and (max-width: 767px) {
  .top-qnm__title-en {
    font-size: 40px;
  }
}
.top-qnm__title-jp {
  margin-top: 10px;
  font-size: 1.6rem;
  font-weight: 500;
  letter-spacing: 0.06em;
}
@media screen and (max-width: 767px) {
  .top-qnm__title-jp {
    font-size: 9px;
  }
}
.top-qnm__link:hover .top-qnm__link-img {
  -webkit-transform: scale(1.15);
          transform: scale(1.15);
}
.top-qnm__link-main {
  position: relative;
  border-radius: 30px;
}
@media screen and (max-width: 767px) {
  .top-qnm__link-main {
    border-radius: 15px;
  }
}
.top-qnm__link-img {
  overflow: hidden;
  height: 527px;
  display: block;
  -webkit-transition: 0.3s ease;
  transition: 0.3s ease;
}
@media screen and (max-width: 767px) {
  .top-qnm__link-img {
    height: 186px;
  }
}
.top-qnm__link-img img {
  height: 700px;
}
@media screen and (max-width: 767px) {
  .top-qnm__link-img img {
    height: 250px;
  }
}
.top-qnm__link-text {
  margin-top: -1.25em;
  margin-right: 75px;
  font-size: 4rem;
  font-family: "A1 Mincho", "A-OTF A1明朝 Std Bold", sans-serif;
  text-align: right;
  letter-spacing: 0.1em;
  position: relative;
  z-index: 9;
}
@media screen and (max-width: 767px) {
  .top-qnm__link-text {
    margin-top: 0;
    margin-right: 0;
    font-size: 20px;
  }
}

.qa__item {
  position: relative;
  padding: 29.5px 0;
  border-top: 1px solid #cfd9de;
  cursor: pointer;
}
@media screen and (max-width: 767px) {
  .qa__item {
    padding: 16.25 0;
  }
}
.qa__item.active .qa__item-title::after {
  -webkit-transform: translateY(-50%) rotate(0);
          transform: translateY(-50%) rotate(0);
}
.qa__item.active .qa__item-text--content {
  padding-top: 20px;
  height: auto;
  max-height: 9999px;
  opacity: 1;
  visibility: visible;
}
@media screen and (max-width: 767px) {
  .qa__item.active .qa__item-text--content {
    padding: 10px 5% 0;
  }
}
.qa__item-title {
  position: relative;
  padding-right: 7.15%;
  width: 100%;
}
@media screen and (max-width: 767px) {
  .qa__item-title {
    padding-right: 9%;
  }
}
.qa__item-title::before, .qa__item-title::after {
  content: "";
  position: absolute;
  top: 50%;
  right: 5.15%;
  width: 20px;
  height: 4px;
  background: #000;
  -webkit-transform: translateY(-50%);
          transform: translateY(-50%);
  -webkit-transition: all 300ms ease-in-out;
  transition: all 300ms ease-in-out;
}
@media screen and (max-width: 767px) {
  .qa__item-title::before, .qa__item-title::after {
    width: 10px;
    height: 2px;
  }
}
.qa__item-title::after {
  -webkit-transform: translateY(-50%) rotate(90deg);
          transform: translateY(-50%) rotate(90deg);
}
.qa__item-text, .qa__item-text::before {
  font-size: 2rem;
  line-height: 1.6em;
  letter-spacing: 0.06em;
}
@media screen and (max-width: 767px) {
  .qa__item-text, .qa__item-text::before {
    font-size: 1.6rem;
  }
}
.qa__item-text--title {
  position: relative;
  display: block;
  padding-left: 5.15%;
}
@media screen and (max-width: 767px) {
  .qa__item-text--title {
    padding-left: 10%;
  }
}
.qa__item-text--title::before {
  content: "Q.";
  position: absolute;
  top: -2px;
  left: 0;
}
.qa__item-text--content {
  padding: 0 7.15% 0 5.15%;
  font-size: 1.6rem;
  height: 0;
  max-height: 0;
  opacity: 0;
  visibility: hidden;
  -webkit-transition: all 300ms ease-in-out;
  transition: all 300ms ease-in-out;
  overflow: hidden;
}
@media screen and (max-width: 767px) {
  .qa__item-text--content {
    font-size: 1.4rem;
  }
}
.qa__message {
  margin-bottom: 59px;
}
.qa__message-item {
  padding: 68px 5.6%;
  width: 86%;
  background: #eef1f3;
}
@media screen and (max-width: 767px) {
  .qa__message-item {
    padding: 16px 5.6%;
    width: 100%;
  }
}
.qa__message-item:not(:first-child) {
  margin-top: 25px;
}
.qa__message-item:nth-child(even) {
  margin-left: auto;
  padding-top: 45px;
}
@media screen and (max-width: 767px) {
  .qa__message-item:nth-child(even) {
    padding-top: 22.5px;
  }
}
.qa__message-item:nth-child(even) .qa__message-title {
  -webkit-box-orient: vertical;
  -webkit-box-direction: reverse;
      -ms-flex-direction: column-reverse;
          flex-direction: column-reverse;
  -webkit-box-align: start;
      -ms-flex-align: start;
          align-items: flex-start;
  gap: 25px;
}
@media screen and (max-width: 767px) {
  .qa__message-item:nth-child(even) .qa__message-title {
    gap: 15px;
  }
}
.qa__message-item:last-child .qa__message-title {
  -webkit-box-orient: vertical;
  -webkit-box-direction: reverse;
      -ms-flex-direction: column-reverse;
          flex-direction: column-reverse;
  -webkit-box-align: start;
      -ms-flex-align: start;
          align-items: flex-start;
  gap: 25px;
}
@media screen and (max-width: 767px) {
  .qa__message-item:last-child .qa__message-title {
    gap: 15px;
  }
}
.qa__message-title {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: end;
      -ms-flex-align: end;
          align-items: flex-end;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  margin: 20px 0 36px;
  gap: 10px;
}
.qa__message-title-text {
  color: #00ab9f;
}
.qa__message-title-text--main {
  font-size: 4.7rem;
  font-family: "Ten Mincho Text", serif;
  font-weight: 400;
  line-height: 0.8;
  letter-spacing: 0.09em;
}
@media screen and (max-width: 767px) {
  .qa__message-title-text--main {
    font-size: 3rem;
    line-height: 1.2;
  }
}
.qa__message-title-text--sub {
  font-size: 2.5rem;
  font-family: "BIZ UDGothic", sans-serif;
  font-weight: 700;
  line-height: 1;
  letter-spacing: 0.09em;
}
@media screen and (max-width: 767px) {
  .qa__message-title-text--sub {
    font-size: 1.6rem;
    line-height: 1.2;
  }
}
.qa__message-text {
  font-size: 1.6rem;
  line-height: 2em;
  letter-spacing: 0.06em;
}
@media screen and (max-width: 767px) {
  .qa__message-text {
    font-size: 14px;
  }
}

.about {
  margin-top: 345px;
}
@media screen and (max-width: 767px) {
  .about {
    margin-top: 170px;
  }
}
.about__intro {
  position: relative;
  background: url("../public/img/about/about-bg.jpg") no-repeat center/cover;
  padding-block: 270px 330px;
}
@media screen and (max-width: 767px) {
  .about__intro {
    padding-block: 130px 165px;
  }
}
.about__intro-ctr {
  position: relative;
  width: 100%;
  max-width: calc(905px + 8%);
  padding: 0 4%;
  margin-inline: auto;
}
@media screen and (max-width: 767px) {
  .about__intro-ctr--wide-sp {
    padding: 0 7%;
    max-width: 100%;
  }
}
.about__intro-birds {
  mix-blend-mode: multiply;
  position: absolute;
  top: -290px;
  left: -15.75%;
  width: 370px;
  height: 370px;
}
@media screen and (max-width: 767px) {
  .about__intro-birds {
    top: -190px;
    left: -100px;
    width: 305px;
    height: 305px;
  }
}
.about__heading {
  font: 400 15rem "Baskerville Old Face", serif;
  text-align: center;
  position: absolute;
  top: -80px;
  left: 50%;
  -webkit-transform: translateX(-50%);
          transform: translateX(-50%);
  color: #000;
}
@media screen and (max-width: 767px) {
  .about__heading {
    top: -40px;
    font-size: 75px;
  }
}
.about__intro-title {
  font: 400 5.2rem "A1 Mincho", "A-OTF A1明朝 Std Bold", sans-serif;
  letter-spacing: 0.26em;
  line-height: 1.9038461538em;
  text-align: center;
  margin-bottom: 85px;
  color: #000;
}
@media screen and (max-width: 767px) {
  .about__intro-title {
    font-size: 26px;
    margin-bottom: 45px;
  }
}
.about__intro-text {
  font-size: 1.6rem;
  line-height: 2em;
  letter-spacing: 0.06em;
}
@media screen and (max-width: 767px) {
  .about__intro-text {
    font-size: 14px;
  }
}
.about__intro-pos-blk {
  position: relative;
  width: -webkit-fit-content;
  width: -moz-fit-content;
  width: fit-content;
  margin: 65px 0 0 auto;
}
@media screen and (max-width: 767px) {
  .about__intro-pos-blk {
    margin: 35px 0 0 auto;
  }
}
.about__intro-pos {
  display: block;
  font-size: 1.4rem;
  line-height: 1.7142857143em;
  letter-spacing: 0.06em;
}
@media screen and (max-width: 767px) {
  .about__intro-pos {
    font-size: 12px;
  }
}
.about__intro-name-jp {
  margin-top: 5px;
  display: block;
  font-size: 2rem;
  line-height: 1.6em;
  letter-spacing: 0.06em;
}
@media screen and (max-width: 767px) {
  .about__intro-name-jp {
    font-size: 18px;
  }
}
.about__intro-name-en {
  position: absolute;
  bottom: -160px;
  right: -30px;
  display: block;
  width: 380px;
  height: auto;
}
@media screen and (max-width: 1024px) {
  .about__intro-name-en {
    right: -15px;
  }
}
@media screen and (max-width: 767px) {
  .about__intro-name-en {
    width: 190px;
    bottom: -80px;
    right: 0;
  }
}
.about__va {
  padding-bottom: 240px;
}
@media screen and (max-width: 767px) {
  .about__va {
    padding-bottom: 120px;
  }
}
.about__va .top-marquee {
  height: 165px;
  -webkit-box-align: end;
      -ms-flex-align: end;
          align-items: flex-end;
}
@media screen and (max-width: 767px) {
  .about__va .top-marquee {
    height: 68px;
  }
}
.about__va-ctr {
  width: 100%;
  max-width: calc(1300px + 8%);
  padding: 0 4%;
  margin: 180px auto 0;
}
@media screen and (max-width: 767px) {
  .about__va-ctr {
    margin-top: 90px;
    padding: 0 7%;
    max-width: 100%;
  }
}
.about__va-heading {
  color: #00ab9f;
  font: 400 12rem "Baskerville Old Face", serif;
  letter-spacing: 0.03em;
  margin-bottom: 80px;
}
@media screen and (max-width: 767px) {
  .about__va-heading {
    font-size: 60px;
    margin-bottom: 40px;
  }
}
.about__va-cte-blk {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
  gap: 40px;
  margin-bottom: 105px;
}
@media screen and (max-width: 980px) {
  .about__va-cte-blk {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
    gap: 20px;
  }
}
@media screen and (max-width: 767px) {
  .about__va-cte-blk {
    margin-bottom: 60px;
  }
}
.about__va-cte-heading {
  -ms-flex-negative: 0;
      flex-shrink: 0;
  font: 400 3.9rem "Ten Mincho Text", serif;
  letter-spacing: 0.15em;
  color: #000;
}
@media screen and (max-width: 767px) {
  .about__va-cte-heading {
    font-size: 20px;
  }
}
.about__va-cte-text {
  max-width: 577px;
  font-size: 16px;
  letter-spacing: 0.06em;
  line-height: 2em;
}
@media screen and (max-width: 980px) {
  .about__va-cte-text {
    max-width: 100%;
  }
}
@media screen and (max-width: 767px) {
  .about__va-cte-text {
    font-size: 14px;
  }
}
.about__va-img-blk {
  position: relative;
  width: 743px;
  height: 698px;
  margin-inline: auto;
}
@media screen and (max-width: 1024px) {
  .about__va-img-blk {
    width: 593px;
    height: 548px;
  }
}
@media screen and (max-width: 767px) {
  .about__va-img-blk {
    width: 100%;
    max-width: 320px;
    height: 298px;
  }
}
.about__va-label-blk {
  width: -webkit-fit-content;
  width: -moz-fit-content;
  width: fit-content;
  position: absolute;
}
.about__va-label-blk.top {
  top: -5px;
  left: 58px;
}
@media screen and (max-width: 767px) {
  .about__va-label-blk.top {
    top: -25px;
  }
}
.about__va-label-blk.right {
  bottom: -25px;
  right: -108px;
}
@media screen and (max-width: 1024px) {
  .about__va-label-blk.right {
    right: -68px;
  }
}
@media screen and (max-width: 767px) {
  .about__va-label-blk.right {
    right: 0;
  }
}
.about__va-label-blk.left {
  bottom: -25px;
  left: -108px;
}
@media screen and (max-width: 1024px) {
  .about__va-label-blk.left {
    left: -68px;
  }
}
@media screen and (max-width: 767px) {
  .about__va-label-blk.left {
    left: 0;
  }
}
.about__va-label {
  width: -webkit-fit-content;
  width: -moz-fit-content;
  width: fit-content;
  display: block;
  color: #00ab9f;
  font: 400 2rem "Ten Mincho Text", serif;
  letter-spacing: 0.15em;
  text-align: center;
  border: 1px solid #00ab9f;
  border-radius: 18px;
  padding: 10px 27px;
  margin-inline: auto;
  margin-bottom: 14px;
}
@media screen and (max-width: 1024px) {
  .about__va-label {
    font-size: 1.8rem;
    padding: 8px 20px;
  }
}
@media screen and (max-width: 767px) {
  .about__va-label {
    font-size: 12px;
    border-radius: 9px;
    padding: 5px 10px;
    margin-bottom: 7px;
  }
}
.about__va-label-desc {
  display: block;
  font-size: 1.2rem;
  text-align: center;
  letter-spacing: 0.06em;
}
@media screen and (max-width: 767px) {
  .about__va-label-desc {
    font-size: 10px;
  }
}
.about__va-row {
  margin-top: 100px;
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 80px;
}
@media screen and (max-width: 1024px) {
  .about__va-row {
    gap: 60px;
  }
}
@media screen and (max-width: 980px) {
  .about__va-row {
    gap: 40px;
  }
}
@media screen and (max-width: 767px) {
  .about__va-row {
    grid-template-columns: 100%;
  }
}
.about__va-col:nth-child(2) .about__va-title {
  background: #86a1d3;
}
.about__va-col:nth-child(3) .about__va-title {
  background: #2fb8c4;
}
.about__va-title {
  display: block;
  background: #54c2f0;
  color: #fff;
  font-size: 2rem;
  font-weight: 700;
  letter-spacing: 0.12em;
  text-align: center;
  padding: 10px;
  margin-bottom: 30px;
  border-radius: 25px;
}
@media screen and (max-width: 767px) {
  .about__va-title {
    font-size: 18px;
    margin-bottom: 20px;
  }
}
.about__va-text {
  font-size: 1.6rem;
  letter-spacing: 0.06em;
  line-height: 2em;
}
@media screen and (max-width: 767px) {
  .about__va-text {
    font-size: 14px;
  }
}
.about__va-book-box {
  display: block;
  max-width: 844px;
  position: relative;
  background: #e8eeee;
  padding: 45px 60px;
  margin-top: 215px;
  margin-inline: auto;
  -webkit-transition: 0.3s ease;
  transition: 0.3s ease;
}
@media screen and (max-width: 767px) {
  .about__va-book-box {
    padding: 28px 15px 114px 30px;
    margin-top: 130px;
    overflow: hidden;
    max-width: 340px;
  }
}
@media screen and (max-width: 360px) {
  .about__va-book-box {
    padding-left: 4%;
  }
}
.about__va-book-box:hover {
  background: #00ab9f;
}
.about__va-book-box:hover .about__va-book-text-blk {
  color: #fff;
}
.about__va-book-text-blk {
  -webkit-transition: 0.3s ease;
  transition: 0.3s ease;
}
.about__va-book-icon-text {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  gap: 28px;
}
@media screen and (max-width: 767px) {
  .about__va-book-icon-text {
    gap: 16px;
  }
}
.about__va-book-icon {
  -ms-flex-negative: 0;
      flex-shrink: 0;
  width: 36px;
  aspect-ratio: 36/48;
}
@media screen and (max-width: 767px) {
  .about__va-book-icon {
    width: 30px;
  }
}
.about__va-book-title {
  display: block;
  font-size: 2rem;
  letter-spacing: 0.06em;
}
@media screen and (max-width: 767px) {
  .about__va-book-title {
    font-size: 16px;
  }
}
.about__va-book-desc {
  display: block;
  font-size: 1.1rem;
  letter-spacing: 0.06em;
  line-height: 2.9090909091em;
}
@media screen and (max-width: 767px) {
  .about__va-book-desc {
    font-size: 9px;
  }
}
.about__va-book-blk {
  position: absolute;
  bottom: 0;
  right: 50px;
  width: 310px;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  overflow: hidden;
  height: 272px;
}
@media screen and (max-width: 980px) {
  .about__va-book-blk {
    right: 2%;
  }
}
@media screen and (max-width: 767px) {
  .about__va-book-blk {
    margin: auto;
    left: 0;
    right: 0;
    bottom: -34px;
    width: 154px;
    height: auto;
    aspect-ratio: 1;
  }
}
.about__va-book {
  position: relative;
  top: 26px;
  width: 260px;
  height: 260px;
  -webkit-transform: rotate(12deg);
          transform: rotate(12deg);
}
@media screen and (max-width: 767px) {
  .about__va-book {
    top: 14px;
    width: 100%;
    height: 100%;
    -webkit-transform: rotate(11deg);
            transform: rotate(11deg);
  }
}

.business {
  padding-top: 92px;
  -webkit-font-feature-settings: "palt";
          font-feature-settings: "palt";
}
@media screen and (max-width: 767px) {
  .business {
    padding-top: 46px;
  }
}
.business__text {
  font-size: 1.6rem;
  line-height: 2em;
  letter-spacing: 0.06em;
}
@media screen and (max-width: 767px) {
  .business__text {
    font-size: 1.4rem;
  }
}
.business__container {
  padding-inline: 3%;
  margin-inline: auto;
  max-width: calc(1400px + 6%);
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
}
@media screen and (max-width: 767px) {
  .business__container {
    max-width: 100%;
    padding-inline: 7%;
  }
}
.business__brand-item {
  padding-right: 36px;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  gap: 50px;
}
@media screen and (max-width: 980px) {
  .business__brand-item {
    padding-right: 0;
    -webkit-box-orient: vertical;
    -webkit-box-direction: reverse;
        -ms-flex-direction: column-reverse;
            flex-direction: column-reverse;
    -webkit-box-align: start;
        -ms-flex-align: start;
            align-items: flex-start;
  }
}
.business__brand-item:not(:last-child) {
  margin-bottom: 105px;
}
@media screen and (max-width: 767px) {
  .business__brand-item:not(:last-child) {
    margin-bottom: 60px;
    gap: 25px;
  }
}
.business__brand-preview {
  border-radius: 10px;
  width: 33.3%;
  min-width: 350px;
  background: #e7ecee;
  overflow: hidden;
  aspect-ratio: 455/307;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: end;
      -ms-flex-align: end;
          align-items: flex-end;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
}
@media screen and (max-width: 980px) {
  .business__brand-preview {
    width: 100%;
    max-width: 450px;
    min-width: unset;
  }
}
.business__brand-image {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  height: auto;
}
.business__brand-image--fill {
  width: 100%;
  height: 100%;
}
.business__brand-image--phone {
  width: 44.8351648352%;
  aspect-ratio: 204/284;
}
.business__brand-image--carekarte {
  margin-bottom: 30px;
  width: 72.3076923077%;
  aspect-ratio: 329/231;
}
.business__brand-image--viami {
  width: 82.8571428571%;
  aspect-ratio: 377/187;
  -ms-flex-item-align: center;
      align-self: center;
}
.business__brand-image--liveconnect {
  width: 94.9450549451%;
  aspect-ratio: 432/269;
  -ms-flex-item-align: center;
      align-self: center;
}
.business__brand-logo--flex {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
}
.business__brand-logo-image--hitome {
  margin-left: -13px;
  height: 63px;
}
@media screen and (max-width: 767px) {
  .business__brand-logo-image--hitome {
    margin-left: -6px;
  }
}
.business__brand-logo-image--shokz {
  height: 59px;
}
.business__brand-logo-image--carekarte {
  height: 51px;
}
.business__brand-logo-image--fukuyakkun {
  height: 56px;
}
.business__brand-logo-image--viami {
  height: 48px;
}
.business__brand-logo-image--rehacare {
  height: 62px;
}
.business__brand-logo-image--liveconnect {
  height: 36.6px;
}
@media screen and (max-width: 767px) {
  .business__brand-logo-image {
    height: 35px;
  }
}
.business__brand-logo-label {
  margin-left: 5px;
  font-size: 1.04rem;
  font-family: "BIZ UDGothic", sans-serif;
}
.business__brand-name {
  margin-block: 20px 5px;
  font-size: 2.2rem;
  font-weight: 500;
  line-height: 2em;
  letter-spacing: 0.06em;
  color: #00ab9f;
}
@media screen and (max-width: 767px) {
  .business__brand-name {
    margin-top: 5px;
    font-size: 1.8rem;
  }
}
.business__brand-info {
  width: 62.5%;
}
@media screen and (max-width: 980px) {
  .business__brand-info {
    width: 100%;
  }
}
.business__flow {
  margin-block: 100px 245px;
}
@media screen and (max-width: 767px) {
  .business__flow {
    margin-block: 50px 120px;
  }
}
.business__flow-main {
  border-radius: 10px;
  margin-top: 24px;
  padding: 110px 7.14% 178px;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
  background: #00ab9f;
}
@media screen and (max-width: 1080px) {
  .business__flow-main {
    padding-top: 30px;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
  }
}
@media screen and (max-width: 767px) {
  .business__flow-main {
    padding-bottom: 120px;
  }
}
.business__flow-title {
  margin-top: 246px;
  font-weight: 500;
  font-size: 2.6rem;
  color: #00ab9f;
  line-height: 1.6923076923em;
  letter-spacing: 0.06em;
}
@media screen and (max-width: 767px) {
  .business__flow-title {
    margin-top: 120px;
    font-size: 1.8rem;
  }
}
.business__flow-info {
  width: 38.5%;
  color: #fff;
}
@media screen and (max-width: 1080px) {
  .business__flow-info {
    width: 100%;
  }
}
.business__flow-info-heading {
  margin-bottom: 30px;
  font-size: 2.2rem;
  font-weight: 500;
  line-height: 1.8181818182em;
  letter-spacing: 0.06rem;
}
@media screen and (max-width: 767px) {
  .business__flow-info-heading {
    margin-bottom: 15px;
    font-size: 1.6rem;
  }
}
.business__flow-chart {
  counter-reset: step;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  position: relative;
  width: 55.5%;
  max-width: 666px;
  min-width: 510px;
  -ms-flex-negative: 0;
      flex-shrink: 0;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  height: -webkit-fit-content;
  height: -moz-fit-content;
  height: fit-content;
  gap: 3.3783783784%;
}
@media screen and (max-width: 1080px) {
  .business__flow-chart {
    margin-top: 150px;
    width: 100%;
  }
}
@media screen and (max-width: 767px) {
  .business__flow-chart {
    margin-top: 30px;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
    min-width: unset;
    max-width: 330px;
  }
}
.business__flow-chart::after {
  content: "";
  position: absolute;
  top: -58%;
  right: 7%;
  border-radius: 50%;
  width: 40.1951951952%;
  aspect-ratio: 1;
  background: url("../public/img/business/flow-cycle.svg") no-repeat center center/86% #5de29c;
}
@media screen and (max-width: 767px) {
  .business__flow-chart::after {
    top: auto;
    bottom: -1%;
    right: auto;
    width: 73%;
    background-size: 92%;
  }
}
.business__flow-step {
  border: 10px solid #fff;
  border-radius: 50%;
  position: relative;
  width: 19.8198198198%;
  aspect-ratio: 1;
  text-align: center;
  color: #fff;
  background: #8ebdf5;
  list-style: none;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  counter-increment: step;
  z-index: 1;
  font-weight: 500;
  -webkit-filter: drop-shadow(0 4px 20px rgba(0, 0, 0, 0.25));
          filter: drop-shadow(0 4px 20px rgba(0, 0, 0, 0.25));
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
}
@media screen and (min-width: 1080px) and (max-width: 1490px) {
  .business__flow-step {
    border-width: calc(7px + (10 - 7) * (100vw - 1080px) / (1490 - 1080));
  }
}
@media screen and (max-width: 767px) {
  .business__flow-step {
    border-width: 7px;
    width: 38%;
    -webkit-filter: drop-shadow(0 3px 12px rgba(0, 0, 0, 0.25));
            filter: drop-shadow(0 3px 12px rgba(0, 0, 0, 0.25));
  }
}
.business__flow-step::before {
  content: "STEP" counter(step);
  display: block;
  font-size: 1.43rem;
}
@media screen and (min-width: 1080px) and (max-width: 1490px) {
  .business__flow-step::before {
    font-size: calc(12px + (14.3 - 12) * (100vw - 1080px) / (1490 - 1080));
  }
}
@media screen and (max-width: 767px) {
  .business__flow-step::before {
    font-size: 12px;
  }
}
.business__flow-step:first-child::after, .business__flow-step:nth-child(2)::after {
  content: "";
  position: absolute;
  margin: auto;
  top: 0;
  bottom: 0;
  background: url("../public/img/business/flow-arrow.svg") no-repeat center center/contain;
  width: 16%;
  height: auto;
  aspect-ratio: 17.6/8;
  left: calc(100% + 10px - 2px);
  z-index: -1;
}
@media screen and (max-width: 767px) {
  .business__flow-step:first-child::after, .business__flow-step:nth-child(2)::after {
    inset: calc(100% + 8px) 0 auto;
    -webkit-transform: rotate(90deg);
            transform: rotate(90deg);
  }
}
.business__flow-step:first-child::before, .business__flow-step:nth-child(2)::before {
  margin-top: -3px;
}
.business__flow-step:nth-child(3), .business__flow-step:nth-child(4), .business__flow-step:nth-child(5), .business__flow-step:nth-child(6) {
  background: #36ca84;
}
.business__flow-step:nth-child(4), .business__flow-step:nth-child(6) {
  position: absolute;
  right: 17%;
}
@media screen and (max-width: 767px) {
  .business__flow-step:nth-child(4), .business__flow-step:nth-child(6) {
    top: auto !important;
    bottom: 8% !important;
  }
}
.business__flow-step:nth-child(4) {
  bottom: 85%;
}
@media screen and (max-width: 767px) {
  .business__flow-step:nth-child(4) {
    right: -3%;
  }
}
.business__flow-step:nth-child(5) {
  margin-left: 10.5%;
}
@media screen and (max-width: 767px) {
  .business__flow-step:nth-child(5) {
    margin-left: 0;
    margin-top: 18%;
  }
}
.business__flow-step:nth-child(6) {
  top: 85%;
}
@media screen and (max-width: 767px) {
  .business__flow-step:nth-child(6) {
    left: -3%;
  }
}
.business__flow-step:nth-child(6)::after {
  content: "";
  position: absolute;
  margin: auto;
  top: 17%;
  background: url("../public/img/business/flow-arrow-6.svg") no-repeat center center/contain;
  width: 181%;
  height: auto;
  aspect-ratio: 205/40;
  right: calc(100% + 8px);
  z-index: -1;
}
@media screen and (max-width: 767px) {
  .business__flow-step:nth-child(6)::after {
    top: -114%;
    right: auto;
    left: -23%;
    -webkit-transform: rotate(90deg);
            transform: rotate(90deg);
  }
}
.business__flow-step-text {
  margin-top: 6px;
  font-size: 1.76rem;
  letter-spacing: 0.06em;
}
@media screen and (min-width: 1080px) and (max-width: 1490px) {
  .business__flow-step-text {
    font-size: calc(14px + (17.6 - 14) * (100vw - 1080px) / (1490 - 1080));
  }
}
@media screen and (max-width: 767px) {
  .business__flow-step-text {
    margin-top: 3px;
    font-size: 14px;
  }
}
.business__flow-step-text--en {
  margin-top: 2px;
  font-size: 1.98rem;
}
@media screen and (min-width: 1080px) and (max-width: 1490px) {
  .business__flow-step-text--en {
    font-size: calc(17px + (19.8 - 17) * (100vw - 1080px) / (1490 - 1080));
  }
}
@media screen and (max-width: 767px) {
  .business__flow-step-text--en {
    margin-top: 0;
    font-size: 17px;
  }
}
.business__flow-step-text--sm {
  margin-top: 0;
  font-size: 1.4rem;
  font-weight: 400;
}
@media screen and (min-width: 1080px) and (max-width: 1490px) {
  .business__flow-step-text--sm {
    font-size: calc(12px + (14 - 12) * (100vw - 1080px) / (1490 - 1080));
  }
}
@media screen and (max-width: 767px) {
  .business__flow-step-text--sm {
    font-size: 12px;
  }
}

.welfare__section {
  padding-block: 45px 240px;
}
@media screen and (max-width: 767px) {
  .welfare__section {
    padding-block: 25px 120px;
  }
}
.welfare__container {
  width: 100%;
  max-width: calc(1375px + 8%);
  margin-inline: auto;
  padding: 0 4%;
}
@media screen and (max-width: 767px) {
  .welfare__container {
    max-width: 100%;
    padding-inline: 7%;
  }
}
.welfare__list {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 36px;
}
@media screen and (max-width: 767px) {
  .welfare__list {
    grid-template-columns: 1fr;
  }
}
.welfare__item {
  width: 100%;
  min-height: 460px;
  background: #eef1f3;
  border-radius: 10px;
  padding: 60px 13%;
  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-pack: end;
      -ms-flex-pack: end;
          justify-content: flex-end;
  gap: 30px;
}
@media screen and (max-width: 767px) {
  .welfare__item {
    min-height: 430px;
    padding: 40px 8%;
  }
}
.welfare__item:first-child .welfare__icon {
  max-width: 140px;
}
.welfare__item:nth-child(2) .welfare__icon {
  max-width: 102px;
}
.welfare__item:nth-child(3) .welfare__icon {
  max-width: 218px;
}
.welfare__item:nth-child(4) .welfare__icon {
  max-width: 169px;
}
.welfare__item:nth-child(5) .welfare__icon {
  max-width: 239px;
}
.welfare__item:nth-child(6) .welfare__icon {
  max-width: 253px;
}
.welfare__icon {
  min-height: 180px;
  margin-inline: auto;
}
@media screen and (max-width: 767px) {
  .welfare__icon {
    min-height: 160px;
  }
}
.welfare__icon img {
  width: 100%;
  height: 100%;
  -o-object-fit: contain;
     object-fit: contain;
}
.welfare__title {
  color: #00ab9f;
  font-size: 2rem;
  font-weight: 500;
  letter-spacing: 0.06em;
  line-height: 2em;
  margin-bottom: 5px;
}
@media screen and (max-width: 767px) {
  .welfare__title {
    font-size: 18px;
  }
}
.welfare__text {
  font-size: 1.4rem;
  letter-spacing: 0.06em;
  line-height: 2em;
}
@media screen and (max-width: 767px) {
  .welfare__text {
    font-size: 12px;
  }
}
.welfare__info-list {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 364px));
  gap: 80px 7.2%;
  margin-top: 80px;
  padding-inline: 10px;
}
@media screen and (max-width: 767px) {
  .welfare__info-list {
    grid-template-columns: 1fr;
    gap: 40px;
    margin-top: 40px;
  }
}

.career__section-title {
  margin-bottom: 26px;
  font-size: 3.77rem;
  line-height: 1.9437217945em;
  letter-spacing: 0.15em;
  color: #00ab9f;
  font-weight: 300;
}
@media screen and (max-width: 767px) {
  .career__section-title {
    font-size: 28px;
  }
}
.career__text {
  font-size: 1.6rem;
  line-height: 2em;
  letter-spacing: 0.06em;
}
@media screen and (max-width: 767px) {
  .career__text {
    font-size: 14px;
  }
}
.career__text--overview {
  color: #38444f;
}
.career__subsection:not(:first-child) {
  margin-top: 90px;
}
.career__subsection-title {
  font-size: 2.2rem;
  font-weight: 700;
  line-height: 2.2863636364em;
  letter-spacing: 0.15em;
  color: #000;
}
.career__table {
  display: grid;
  grid-template-columns: 197.11px calc(100% - 197.11px);
  gap: 25px 5px;
}
@media screen and (max-width: 767px) {
  .career__table {
    grid-template-columns: 100%;
    row-gap: 6px;
  }
}
.career__table-label, .career__table-data {
  padding: 31.18px 3.61%;
}
.career__table-data {
  background: #f7f8f9;
}
.career__table-data:nth-child(odd) {
  position: relative;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  border-radius: 6px;
  background: #e9f8f7;
}
@media screen and (max-width: 767px) {
  .career__table-data:nth-child(odd) {
    margin-top: 35px;
  }
}
.career__table-data:nth-child(odd)::before {
  content: "";
  position: absolute;
  top: -18px;
  left: 50%;
  width: 0;
  height: 0;
  border-style: solid;
  border-width: 11px 5.5px 0;
  border-color: #00ab9f transparent transparent;
  -webkit-transform: translateX(-50%);
          transform: translateX(-50%);
}
@media screen and (max-width: 767px) {
  .career__table-data:nth-child(odd)::before {
    top: -24px;
  }
}
@media screen and (max-width: 767px) {
  .career__table-data:first-child {
    margin-top: 0;
  }
}
.career__table-data:first-child::before {
  content: none;
}
.career__table-label {
  font-size: 1.8rem;
  font-weight: 700;
  line-height: 2.4444444444em;
  letter-spacing: 0.06em;
  color: #00ab9f;
}
.career__table-section {
  margin-top: 48px;
  margin-bottom: 30px;
}
.career__table-section:first-child {
  margin-top: 20px;
}
.career__table-section--small {
  margin-top: 35px;
}
.career__table-section--small:first-child {
  margin-top: 0;
}
.career__subtable-title {
  font-size: 1.8rem;
  font-weight: 700;
  line-height: 2.4444444444em;
  letter-spacing: 0.06em;
  color: #00ab9f;
}
@media screen and (max-width: 767px) {
  .career__subtable-title {
    font-size: 16px;
  }
}
.career__subtable {
  display: grid;
  grid-template-columns: 185px calc(100% - 185px);
  border-bottom: 1px solid #dee0e2;
}
@media screen and (max-width: 767px) {
  .career__subtable {
    grid-template-columns: 110px calc(100% - 110px);
  }
}
.career__subtable:not(:first-child) {
  margin-top: 26px;
}
.career__subtable-data {
  border-top: 1px solid #dee0e2;
  padding: 24.5px 0;
}
.career__training:not(:last-child) {
  margin-bottom: 65px;
}
.career__training-title {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  gap: 11px;
  margin: 36px 0 12px;
}
.career__training-label {
  border-radius: 6px;
  padding: 5.4px 24.9px;
  font-size: 1.8rem;
  font-weight: 700;
  line-height: 1.6;
  letter-spacing: 0.06em;
  color: #fff;
  background: #00ab9f;
}
@media screen and (max-width: 767px) {
  .career__training-label {
    padding-inline: 16px;
    font-size: 16px;
    text-align: center;
  }
}
.career__training-titletext {
  font-size: 1.8rem;
  font-weight: 700;
  line-height: 1.7777777778em;
  letter-spacing: 0.06em;
  color: #38444f;
}
@media screen and (max-width: 767px) {
  .career__training-titletext {
    font-size: 16px;
  }
}
.career__cardlist {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  gap: 19px;
}
@media screen and (max-width: 767px) {
  .career__cardlist {
    -ms-flex-wrap: wrap;
        flex-wrap: wrap;
  }
}
.career__cardlist:not(:first-child) {
  margin-top: 24px;
}
.career__card {
  border-radius: 6px;
  padding: 40px;
  width: 100%;
  background: #fff;
  -webkit-box-shadow: 0 0 26px rgba(39, 77, 160, 0.15);
          box-shadow: 0 0 26px rgba(39, 77, 160, 0.15);
}
.career__card--other {
  margin-top: 30px;
  background: #f7f8f9;
  -webkit-box-shadow: none;
          box-shadow: none;
}
.career__card-title {
  margin-bottom: 10px;
  font-size: 1.67rem;
  font-weight: 500;
  line-height: 1.9436112777em;
  letter-spacing: 0.15em;
  color: #00ab9f;
}
.career__list-item {
  position: relative;
  padding-left: 24px;
}
.career__list-item::before {
  content: "";
  position: absolute;
  top: 9px;
  left: 0;
  border-radius: 50%;
  width: 16px;
  height: 16px;
  background: #38444f;
}
.career__other-list {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 34px 10.1%;
}
@media screen and (max-width: 767px) {
  .career__other-list {
    grid-template-columns: 1fr;
  }
}
.career__column {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 10.95%;
}
@media screen and (max-width: 767px) {
  .career__column {
    grid-template-columns: 1fr;
  }
}
.career__banner {
  padding-bottom: 0;
  width: 100%;
}
@media screen and (max-width: 767px) {
  .career__banner {
    margin-top: 60px;
  }
}
.career__banner img {
  max-height: 681.62px;
  -o-object-position: center 25%;
     object-position: center 25%;
}
.career__subcard {
  display: grid;
  grid-template-columns: 1fr 1fr 1fr;
  gap: 54px 46px;
  margin-top: 94px;
}
@media screen and (max-width: 767px) {
  .career__subcard {
    grid-template-columns: 1fr;
    margin-top: 47px;
  }
}
.career__subcard-title {
  margin-bottom: 10px;
  border-radius: 6px;
  padding: 14.7px 16px;
  font-size: 1.8rem;
  font-weight: 700;
  line-height: 1.7777777778em;
  color: #00ab9f;
  letter-spacing: 0.06em;
  background: #e9f8f7;
}
.career__path {
  border-radius: 6px;
  padding: 66px 4%;
  background: #f7f8f9;
}
.career__path-title {
  margin-bottom: 20px;
  font-size: 2.2rem;
  font-weight: 700;
  line-height: 2.2863636364em;
  letter-spacing: 0.15em;
  font-family: "YakuHanJP", "Source Han Sans JP", "源ノ角ゴシック JP Normal*", sans-serif;
}
@media screen and (max-width: 767px) {
  .career__path-title {
    font-size: 1.8rem;
    letter-spacing: 0.05em;
    line-height: 1.8em;
  }
}
.career__path-picture {
  display: none;
}
@media screen and (max-width: 767px) {
  .career__path-picture {
    margin-top: 50px;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    min-width: 800px;
  }
}
.career__path-wrapper {
  width: 100%;
}
@media screen and (max-width: 1250px) {
  .career__path-wrapper {
    overflow-x: scroll;
  }
}
.career__path-container {
  position: relative;
  display: grid;
  grid-template-columns: 50% 50%;
  margin-top: 50px;
}
@media screen and (max-width: 1250px) {
  .career__path-container {
    min-width: 1250px;
  }
}
@media screen and (max-width: 767px) {
  .career__path-container {
    display: none;
  }
}
@media screen and (max-width: 767px) {
  .career__path-link-sp {
    text-decoration: underline;
    font-size: 1.2rem;
    width: -webkit-fit-content;
    width: -moz-fit-content;
    width: fit-content;
    margin: 25px auto 0;
  }
}
.career__path-column {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  padding: 48px 0 146px;
  padding-left: 80px;
}
.career__path-column:nth-child(2) {
  padding-left: 0;
  padding-right: 80px;
}
.career__path-columntitle {
  position: relative;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  height: 60.52px;
  font-size: 1.8rem;
  font-weight: 700;
  line-height: 2.7944444444em;
  letter-spacing: 0.15em;
  color: #fff;
  background: #00ab9f;
}
.career__path-columntitle::before {
  content: "";
  position: absolute;
  top: 0;
  left: -29px;
  width: 0;
  height: 0;
  border-style: solid;
  border-width: 30.26px 30px 30.26px 0;
  border-color: transparent #00ab9f transparent;
}
.career__path-columntitle--reverse {
  background: #2ca6e0;
}
.career__path-columntitle--reverse::before {
  left: unset;
  right: -29px;
  border-color: transparent #2ca6e0 transparent;
  -webkit-transform: rotate(180deg);
          transform: rotate(180deg);
}
.career__path-text {
  margin: 6px 0 30px;
  font-size: 1.4rem;
  line-height: 1.6428571429em;
  letter-spacing: 0.06em;
  text-align: center;
}
.career__path-track {
  position: relative;
  margin: auto auto 0;
  padding: 0 2%;
  width: 100%;
}
.career__path-info {
  top: 0;
  left: 20px;
  width: 36px;
  height: 100%;
  position: absolute;
}
.career__path-tracklist {
  position: relative;
  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-pack: end;
      -ms-flex-pack: end;
          justify-content: flex-end;
  margin: 0 auto;
  padding-bottom: 68px;
  max-width: 405.52px;
  height: 615px;
  z-index: 1;
}
.career__path-tracklist::before {
  content: "";
  position: absolute;
  top: 0;
  right: 4%;
  border-left: 1px solid #b6c0c5;
  border-bottom: 1px solid #b6c0c5;
  border-radius: 0 0 0 20px;
  width: 46%;
  height: 100%;
  z-index: -1;
}
.career__path-tracklist::after {
  content: "";
  position: absolute;
  top: -18px;
  right: 48.3%;
  width: 0;
  height: 0;
  border-style: solid;
  border-width: 0 7.5px 20px;
  border-color: transparent transparent #b6c0c5;
}
.career__path-tracklist--mgm .career__path-trackitem {
  margin-top: 32px;
}
.career__path-tracklist--mgm .career__path-trackitem:nth-child(2) {
  margin-top: 6px;
}
.career__path-tracklist--mgm::before {
  right: unset;
  left: 4%;
  -webkit-transform: scaleX(-1);
          transform: scaleX(-1);
}
.career__path-trackitem {
  display: grid;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  margin-top: 48px;
  border: 1px solid #8ccecf;
  border-radius: 12.09px;
  padding: 12px 1%;
  width: 100%;
  text-align: center;
  background: #fff;
  -webkit-box-shadow: 3px 3px 10px rgba(4, 0, 0, 0.1);
          box-shadow: 3px 3px 10px rgba(4, 0, 0, 0.1);
}
.career__path-trackitem--blue {
  border-color: #2ca6e0;
}
.career__path-trackitem--blue .career__path-tracktitle {
  color: #2ca6e0;
}
.career__path-tracktitle {
  font-size: 1.6rem;
  font-weight: 700;
  letter-spacing: 0.15em;
  color: #00ab9f;
}
.career__path-trackdesc {
  font-size: 1.4rem;
  line-height: 2.2857142857em;
  letter-spacing: 0.06em;
}
.career__path-img {
  position: absolute;
  bottom: 90px;
  left: 50%;
  width: 10%;
  -webkit-transform: translateX(-50%);
          transform: translateX(-50%);
}
.career__path-img img {
  mix-blend-mode: multiply;
  z-index: 3;
}
.career__path-btn {
  position: absolute;
  bottom: 46px;
  left: 50%;
  border-radius: 19.14px;
  padding: 1px 0;
  width: 100%;
  max-width: 231.45px;
  font-size: 1.6rem;
  font-weight: 700;
  line-height: 2.5em;
  letter-spacing: 0.15em;
  text-align: center;
  color: #fff;
  background: -webkit-gradient(linear, left top, right top, from(#49bbbc), to(#2ca6e0));
  background: linear-gradient(to right, #49bbbc, #2ca6e0);
  -webkit-transform: translateX(-50%);
          transform: translateX(-50%);
}
.career__eval {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
  margin-top: 112px;
  gap: 64px;
}
@media screen and (max-width: 767px) {
  .career__eval {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
  }
}
.career__eval-title {
  font-weight: 300;
}
.career__eval-details {
  min-width: 600px;
  max-width: 600px;
}
@media screen and (max-width: 767px) {
  .career__eval-details {
    min-width: 100%;
  }
}
.career__cs {
  padding-bottom: 0;
}

.data__section {
  padding-bottom: 240px;
}
.data__list {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  gap: 52px 48px;
}
.data__card {
  padding: 44px 40px;
  border-radius: 10px;
  width: 424.63px;
  min-height: 536.04px;
  background: #f6f5f1;
}
@media screen and (max-width: 767px) {
  .data__card {
    width: 100%;
  }
}
.data__card--main {
  width: 100%;
}
.data__card--green {
  min-height: 352.4px;
  background: #ecf1f1;
}
.data__card-title {
  font-size: 2rem;
  font-weight: 700;
  line-height: 2.47em;
  letter-spacing: 0.15em;
  white-space: nowrap;
}
@media screen and (max-width: 767px) {
  .data__card-title {
    white-space: wrap;
    line-height: 1.6em;
  }
}
.data__card-content {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  height: 90%;
}
.data__card-content--care {
  gap: 2%;
  margin-top: 40px;
  height: auto;
}
@media screen and (max-width: 1200px) {
  .data__card-content--care {
    -webkit-box-orient: vertical;
    -webkit-box-direction: reverse;
        -ms-flex-flow: column-reverse wrap;
            flex-flow: column-reverse wrap;
  }
}
.data__number {
  width: -webkit-fit-content;
  width: -moz-fit-content;
  width: fit-content;
  font-size: 8.32rem;
  font-weight: 400;
  font-family: "Baskerville Old Face", serif;
}
.data__number::after {
  content: "名";
  margin-left: 5px;
  font-size: 3.4rem;
  font-weight: 400;
  font-family: "Source Han Sans JP", "源ノ角ゴシック JP Normal*", sans-serif;
  line-height: 2.1561954625em;
  letter-spacing: 0.15em;
}
.data__number--info {
  display: block;
  margin: 0 auto;
  color: #00ab9f;
}
.data__number--percentage::after {
  content: "%";
}
.data__number--non::after {
  content: none;
}
.data__number--days::after {
  content: "日";
}
.data__number--time::after {
  content: "時間";
}
.data__number--age::after {
  content: "歳";
}
.data__care-details {
  width: 52%;
}
@media screen and (max-width: 1200px) {
  .data__care-details {
    margin: 0 auto 40px;
    width: 100%;
  }
}
.data__care-number {
  display: block;
  margin: 0 auto;
  font-size: 18.65rem;
  color: #00ab9f;
}
@media screen and (max-width: 767px) {
  .data__care-number {
    margin: 30px auto;
    font-size: 10rem;
  }
}
.data__care-number::after {
  font-size: 5.3rem;
  line-height: 2.1561141561em;
}
@media screen and (max-width: 767px) {
  .data__care-number::after {
    font-size: 3rem;
  }
}
.data__care-img {
  width: 48%;
}
@media screen and (max-width: 1200px) {
  .data__care-img {
    width: 100%;
  }
}
.data__care-img img {
  mix-blend-mode: multiply;
}
.data__steps {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  gap: 48px;
}
@media screen and (max-width: 1200px) {
  .data__steps {
    -webkit-box-pack: center;
        -ms-flex-pack: center;
            justify-content: center;
  }
}
.data__steps-item {
  width: -webkit-fit-content;
  width: -moz-fit-content;
  width: fit-content;
}
.data__steps-item--row {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  gap: 12px;
}
.data__steps-title {
  display: block;
  border: 0.43px solid #000;
  border-radius: 14.92px;
  padding: 2px 24.43px;
  width: -webkit-fit-content;
  width: -moz-fit-content;
  width: fit-content;
  font-size: 1.4rem;
  letter-spacing: 0.15em;
  text-align: center;
}
.data__steps-number {
  display: block;
  margin: 10px auto 0;
  font-size: 8.19rem;
}
.data__steps-number::after {
  font-size: 2.51rem;
  line-height: 2.1522518932em;
}
.data__steps-number--small {
  margin: 0;
  font-size: 4.64rem;
}
.data__steps-number--small::after {
  font-size: 1.42rem;
  line-height: 2.1154116819em;
}
.data__steps-levelitem {
  font-size: 1.25rem;
  line-height: 1.9983948636em;
  letter-spacing: 0.09em;
}
.data__card-text {
  display: block;
  font-size: 1.1rem;
  line-height: 1.7272727273em;
  letter-spacing: 0.15em;
  text-align: center;
}
.data__card-text--title {
  font-size: 1.9rem;
  line-height: 2.9473684211em;
  color: #00ab9f;
}
.data__card-text--worker {
  font-size: 1.2rem;
  line-height: 1.5833333333em;
}
.data__graph {
  position: relative;
  width: 187.79px;
  height: 187.79px;
}
@media screen and (max-width: 767px) {
  .data__graph {
    -webkit-transform: scale(0.85);
            transform: scale(0.85);
  }
}
@media screen and (max-width: 360px) {
  .data__graph {
    -webkit-transform: scale(0.75);
            transform: scale(0.75);
  }
}
.data__graph-circle {
  width: 100%;
  height: 100%;
}
.data__graph-texts {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
}
.data__graph-texts.gender .data__graph-desc, .data__graph-texts.age .data__graph-desc {
  font-size: 1.6rem;
  line-height: 2.55625em;
}
.data__graph-texts.gender .data__number, .data__graph-texts.age .data__number {
  font-size: 4.23rem;
}
.data__graph-texts.gender .data__number::after, .data__graph-texts.age .data__number::after {
  font-size: 1.6rem;
  line-height: 2.55625em;
}
.data__graph-texts.gender .male, .data__graph-texts.age .male {
  top: -40px;
  left: -75px;
  color: #0082e9;
}
.data__graph-texts.gender .female, .data__graph-texts.age .female {
  bottom: -40px;
  right: -75px;
  color: #ea6da4;
}
.data__graph-texts.employ .data__graph-desc {
  font-size: 1.4rem;
  line-height: 1.7142857143em;
  letter-spacing: 0.15em;
}
.data__graph-texts.employ .data__number {
  font-size: 4.23rem;
}
.data__graph-texts.employ .data__number::after {
  font-size: 1.83rem;
  line-height: 2.1561135371em;
}
.data__graph-texts.employ .part-time {
  top: -80px;
  left: -90px;
  color: #eb750a;
}
.data__graph-texts.employ .full-time {
  bottom: -65px;
  right: -70px;
  color: #00ab9f;
}
.data__graph-texts.job .care .data__graph-desc,
.data__graph-texts.job .nursing .data__graph-desc {
  font-size: 1.6rem;
  line-height: 2.55625em;
}
.data__graph-texts.job .care .data__number,
.data__graph-texts.job .nursing .data__number {
  font-size: 4.23rem;
}
.data__graph-texts.job .care .data__number::after,
.data__graph-texts.job .nursing .data__number::after {
  font-size: 1.83rem;
  line-height: 2.1561135371em;
}
.data__graph-texts.job .functional .data__graph-desc,
.data__graph-texts.job .counselor .data__graph-desc,
.data__graph-texts.job .other .data__graph-desc {
  font-size: 1.13rem;
  line-height: 2.5577264654em;
  letter-spacing: 0.15em;
}
.data__graph-texts.job .functional .data__number,
.data__graph-texts.job .counselor .data__number,
.data__graph-texts.job .other .data__number {
  font-size: 2.98rem;
}
.data__graph-texts.job .functional .data__number::after,
.data__graph-texts.job .counselor .data__number::after,
.data__graph-texts.job .other .data__number::after {
  font-size: 1.3rem;
  line-height: 2.1567106284em;
}
.data__graph-texts.job .other {
  top: -60px;
  left: 20px;
  color: #b6d56a;
}
.data__graph-texts.job .counselor {
  top: 0;
  left: -75px;
  color: #ae82e9;
}
.data__graph-texts.job .counselor .data__graph-desc {
  margin-bottom: 5px;
  line-height: normal;
}
.data__graph-texts.job .functional {
  top: 65px;
  left: -75px;
  color: #0082e9;
}
.data__graph-texts.job .nursing {
  bottom: -40px;
  left: -60px;
  color: #eb750a;
}
.data__graph-texts.job .care {
  bottom: -30px;
  right: -70px;
  color: #00ab9f;
}
.data__graph-texts.age .data__graph-desc {
  margin-bottom: -8px;
  letter-spacing: 0.15em;
}
.data__graph-texts.age .age-20 {
  top: -44px;
  right: -56px;
  color: #00a2ab;
}
.data__graph-texts.age .age-30 {
  bottom: -62px;
  right: -30px;
  color: #eb750a;
}
.data__graph-texts.age .age-40 {
  bottom: -38px;
  left: -44px;
  color: #0082e9;
}
.data__graph-texts.age .age-50 {
  top: -62px;
  left: -26px;
  color: #ae82e9;
}
.data__graph-number {
  position: absolute;
  text-align: center;
}
.data__graph-desc {
  display: block;
  text-align: center;
}
.data__graph-inner {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
}
.data__graph-inner.gender .data__graph-desc, .data__graph-inner.age .data__graph-desc {
  font-size: 1.25rem;
  line-height: 2.554756195em;
  letter-spacing: 0.15em;
}
.data__graph-inner.gender .data__number, .data__graph-inner.age .data__number {
  font-size: 6.8rem;
}
.data__graph-inner.gender .data__number::after, .data__graph-inner.age .data__number::after {
  font-size: 2.21rem;
  line-height: 2.1557265731em;
}
.data__graph-image {
  width: 45%;
}
.data__graph-image img {
  mix-blend-mode: multiply;
}

.people {
  -webkit-font-feature-settings: "palt";
          font-feature-settings: "palt";
  overflow-x: clip;
}
.people__banner {
  margin-bottom: 0;
  padding-bottom: 80px;
}
@media screen and (max-width: 767px) {
  .people__banner {
    padding-bottom: 40px;
  }
}
.people__banner-bg {
  top: auto;
  bottom: 0;
  height: 565.5px;
}
@media screen and (max-width: 767px) {
  .people__banner-bg {
    height: 350px;
  }
}
.people__banner-container {
  padding-inline: 1.8%;
  margin-inline: auto;
  max-width: calc(1500px + 6%);
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
}
@media screen and (max-width: 767px) {
  .people__banner-container {
    max-width: 100%;
    padding-inline: 7%;
  }
}
@media screen and (max-width: 767px) {
  .people__banner-container {
    padding-inline: 4%;
  }
}
.people__banner-main {
  position: relative;
  height: 670px;
}
@media screen and (max-width: 767px) {
  .people__banner-main {
    height: 350px;
  }
}
.people__banner-title {
  margin-bottom: -86px;
  position: relative;
  font-size: 13rem;
  text-transform: uppercase;
  text-align: center;
  z-index: 1;
}
@media screen and (max-width: 767px) {
  .people__banner-title {
    margin-bottom: -32px;
    font-size: 6rem;
  }
}
.people__banner-image {
  border-radius: 20px;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  height: 100%;
  overflow: hidden;
}
.people__banner-tgl {
  position: absolute;
  left: 65px;
  bottom: 60px;
}
@media screen and (max-width: 767px) {
  .people__banner-tgl {
    left: 10px;
    bottom: 10px;
  }
}
.people__banner-tgl-line {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  width: -webkit-fit-content;
  width: -moz-fit-content;
  width: fit-content;
  row-gap: 8px;
}
@media screen and (max-width: 767px) {
  .people__banner-tgl-line {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
    gap: 5px;
  }
}
.people__banner-tgl-line:not(:first-child) {
  margin-top: 8px;
}
@media screen and (max-width: 767px) {
  .people__banner-tgl-line:not(:first-child) {
    margin-top: 5px;
  }
}
.people__banner-tgl-span {
  display: block;
  width: -webkit-fit-content;
  width: -moz-fit-content;
  width: fit-content;
  font-size: 3.4rem;
  font-family: "A1 Mincho", "A-OTF A1明朝 Std Bold", sans-serif;
  letter-spacing: 0.1em;
  background: #fff;
}
@media screen and (max-width: 1080px) {
  .people__banner-tgl-span {
    font-size: 3vw;
  }
}
@media screen and (max-width: 767px) {
  .people__banner-tgl-span {
    padding-inline: 5px;
    font-size: 15px;
  }
}
.people__banner-tgl-span:first-child {
  padding-left: 15px;
}
@media screen and (max-width: 767px) {
  .people__banner-tgl-span:first-child {
    padding-inline: 5px;
  }
}
.people__banner-tgl-span:last-child {
  padding-right: 15px;
}
@media screen and (max-width: 767px) {
  .people__banner-tgl-span:last-child {
    padding-inline: 5px;
  }
}
.people__banner-info {
  margin-top: 28px;
  padding-inline: 3%;
  margin-inline: auto;
  max-width: calc(1370px + 6%);
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
}
@media screen and (max-width: 767px) {
  .people__banner-info {
    max-width: 100%;
    padding-inline: 7%;
  }
}
@media screen and (max-width: 767px) {
  .people__banner-info {
    padding-inline: 10px;
  }
}
.people__banner-position {
  font-size: 1.2rem;
  letter-spacing: 0.1em;
}
@media screen and (max-width: 767px) {
  .people__banner-position {
    font-size: 11px;
  }
}
.people__banner-name-en {
  margin-top: 5px;
  font-size: 4rem;
  letter-spacing: 0.01em;
}
@media screen and (max-width: 767px) {
  .people__banner-name-en {
    font-size: 35px;
  }
}
.people__banner-name-jp {
  font-weight: 500;
  font-size: 1.6rem;
  letter-spacing: 0.05em;
}
@media screen and (max-width: 767px) {
  .people__banner-name-jp {
    font-size: 14px;
  }
}
.people__path {
  padding: 146px 0 130px;
  background: #00ab9f;
}
@media screen and (max-width: 767px) {
  .people__path {
    padding: 70px 0;
  }
}
.people__path-container {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  gap: 7%;
  padding-inline: 3%;
  margin-inline: auto;
  max-width: calc(1060px + 6%);
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
}
@media screen and (max-width: 767px) {
  .people__path-container {
    max-width: 100%;
    padding-inline: 7%;
  }
}
@media screen and (max-width: 767px) {
  .people__path-container {
    gap: 5%;
  }
}
.people__path-item {
  padding-left: 25px;
  padding-bottom: 28px;
  position: relative;
}
.people__path-item::before, .people__path-item::after {
  content: "";
  position: absolute;
}
.people__path-item::after {
  border-radius: 50%;
  left: 0;
  width: 12.4px;
  top: 5px;
  aspect-ratio: 1;
  background: #fff;
}
.people__path-item::before {
  top: 0;
  left: 6.2px;
  width: 1px;
  height: 100%;
  background: #000;
}
.people__path-item:first-child::before {
  top: 8px;
}
.people__path-title {
  font-size: 4.8rem;
  font-weight: 400;
  color: #fff;
  text-transform: uppercase;
  -webkit-writing-mode: vertical-rl;
      -ms-writing-mode: tb-rl;
          writing-mode: vertical-rl;
  text-orientation: mixed;
}
@media screen and (max-width: 767px) {
  .people__path-title {
    font-size: 34px;
  }
}
.people__path-term {
  font-weight: 700;
  font-size: 1.8rem;
  letter-spacing: 0.05em;
}
@media screen and (max-width: 767px) {
  .people__path-term {
    font-size: 16px;
  }
}
.people__path-desc {
  font-weight: 500;
  font-size: 1.6rem;
  letter-spacing: 0.06em;
  line-height: 2em;
  color: #fff;
}
@media screen and (max-width: 767px) {
  .people__path-desc {
    font-size: 14px;
  }
}
.people__talk-title {
  position: static;
}
.people__talk-sec:not(:last-child) {
  margin-bottom: 145px;
}
@media screen and (max-width: 767px) {
  .people__talk-sec:not(:last-child) {
    margin-bottom: 45px;
  }
}
.people__talk-par {
  font-size: 1.6rem;
  letter-spacing: 0.06em;
  line-height: 2em;
}
@media screen and (max-width: 767px) {
  .people__talk-par {
    font-size: 14px;
  }
}
.people__sched {
  padding-top: 145px;
  padding-inline: 3%;
  margin-inline: auto;
  max-width: calc(1355px + 6%);
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
}
@media screen and (max-width: 767px) {
  .people__sched {
    max-width: 100%;
    padding-inline: 7%;
  }
}
@media screen and (max-width: 767px) {
  .people__sched {
    padding-top: 70px;
  }
}
.people__sched-title {
  font-weight: 400;
  font-size: 5.85rem;
  color: #00ab9f;
}
@media screen and (max-width: 767px) {
  .people__sched-title {
    font-size: 36px;
  }
}
.people__sched-par {
  margin-top: 30px;
  font-weight: 500;
  font-size: 1.6rem;
  line-height: 2em;
  letter-spacing: 0.1em;
}
@media screen and (max-width: 767px) {
  .people__sched-par {
    margin-top: 15px;
    font-size: 14px;
  }
}
.people__sched-image-wrap {
  margin-block: 90px 200px;
}
@media screen and (max-width: 767px) {
  .people__sched-image-wrap {
    margin-block: 45px 100px;
  }
}
@media screen and (max-width: 767px) {
  .people__sched-image-scrollable {
    padding-bottom: 14px;
    min-width: 700px;
  }
}
.people__sched-image {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
}
.people__sched-hdl {
  margin-top: 76px;
  font-size: 1.8rem;
  letter-spacing: 0.1em;
  line-height: 35px;
}
@media screen and (max-width: 767px) {
  .people__sched-hdl {
    margin-top: 35px;
    font-size: 16px;
  }
}
.people__sched-hdl--big {
  font-size: 2.2rem;
  color: #00ab9f;
}
@media screen and (max-width: 767px) {
  .people__sched-hdl--big {
    font-size: 18px;
  }
}
.people__sched-list {
  margin-block: 40px 250px;
  font-size: 1.6rem;
  font-weight: 500;
  line-height: 2em;
  letter-spacing: 0.1em;
}
@media screen and (max-width: 767px) {
  .people__sched-list {
    margin-block: 30px 100px;
    font-size: 14px;
  }
}
.people__sched-list-item {
  border-top: 1px solid #dee0e2;
  padding-block: 26px 40px;
  display: grid;
  grid-template-columns: minmax(120px, 13%) 1fr;
}
@media screen and (max-width: 767px) {
  .people__sched-list-item {
    padding-block: 20px;
    grid-template-columns: 1fr;
  }
}
.people__sched-list-item:last-child {
  border-bottom: 1px solid #dee0e2;
}
.people__sched-list-title {
  margin-bottom: 10px;
}
.people__sched-list-time {
  padding-left: 12px;
}
@media screen and (max-width: 767px) {
  .people__sched-list-time {
    padding-left: 8px;
  }
}
@media screen and (max-width: 767px) {
  .people__sched-list-body {
    padding-inline: 8px;
  }
}
.people__list {
  padding-block: 92px;
  background: #f1e5de;
}
@media screen and (max-width: 767px) {
  .people__list {
    padding-block: 45px;
  }
}
.people__list-container {
  padding-inline: 3%;
  margin-inline: auto;
  max-width: calc(1320px + 6%);
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
}
@media screen and (max-width: 767px) {
  .people__list-container {
    max-width: 100%;
    padding-inline: 7%;
  }
}
.people__list-title {
  font-size: 5.85rem;
}
@media screen and (max-width: 767px) {
  .people__list-title {
    font-size: 36px;
  }
}
.people__list-splide {
  margin-top: 80px;
}
@media screen and (max-width: 767px) {
  .people__list-splide {
    margin-top: 40px;
  }
}

.overflow {
  overflow: hidden;
}

.pc {
  display: block;
}
@media screen and (max-width: 767px) {
  .pc {
    display: none;
  }
}

.pc-flex {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
}
@media screen and (max-width: 767px) {
  .pc-flex {
    display: none;
  }
}

.sp {
  display: none;
}
@media screen and (max-width: 767px) {
  .sp {
    display: block;
  }
}

@media screen and (max-width: 1200px) {
  .tablet-large-hide {
    display: none;
  }
}

@media screen and (max-width: 980px) {
  .tablet-hide {
    display: none;
  }
}

@media screen and (min-width: 981px) {
  .tablet {
    display: none;
  }
}

.ff-bask {
  font-family: "Baskerville Old Face", serif;
}

.ff-ten {
  font-family: "Ten Mincho Text", serif;
}

.none {
  display: none;
}

.nowrap {
  white-space: nowrap;
}

.bold {
  font-weight: 700;
}

.col-black {
  color: #000;
}

.col-gray-38 {
  color: #38444f;
}

.bg-ea {
  background: #eaf5f6;
}

.bg-e5 {
  background: #e5eef8;
}

[data-anima] {
  -webkit-animation-duration: 0.5s;
          animation-duration: 0.5s;
  -webkit-animation-timing-function: ease-in-out;
          animation-timing-function: ease-in-out;
  -webkit-animation-fill-mode: forwards;
          animation-fill-mode: forwards;
}

[data-anima=reveal-right] {
  -webkit-clip-path: inset(0 0 0 100%);
          clip-path: inset(0 0 0 100%);
}
[data-anima=reveal-right].animate {
  -webkit-animation-name: reveal-right;
          animation-name: reveal-right;
}

[data-anima=reveal-down] {
  -webkit-clip-path: inset(0 0 100% 0);
          clip-path: inset(0 0 100% 0);
}
[data-anima=reveal-down].animate {
  -webkit-animation-name: reveal-down;
          animation-name: reveal-down;
}

[data-anima=fade-in] {
  opacity: 0;
}
[data-anima=fade-in].animate {
  -webkit-animation-name: reveal-opacity;
          animation-name: reveal-opacity;
}

@-webkit-keyframes marquee {
  from {
    -webkit-transform: translateX(0);
            transform: translateX(0);
  }
  to {
    -webkit-transform: translateX(calc(-100% - var(--gap)));
            transform: translateX(calc(-100% - var(--gap)));
  }
}

@keyframes marquee {
  from {
    -webkit-transform: translateX(0);
            transform: translateX(0);
  }
  to {
    -webkit-transform: translateX(calc(-100% - var(--gap)));
            transform: translateX(calc(-100% - var(--gap)));
  }
}
@-webkit-keyframes rotate-text {
  0% {
    -webkit-transform: rotate(0deg);
            transform: rotate(0deg);
  }
  100% {
    -webkit-transform: rotate(360deg);
            transform: rotate(360deg);
  }
}
@keyframes rotate-text {
  0% {
    -webkit-transform: rotate(0deg);
            transform: rotate(0deg);
  }
  100% {
    -webkit-transform: rotate(360deg);
            transform: rotate(360deg);
  }
}
@-webkit-keyframes site-logo-out {
  from {
    -webkit-transform: rotate(90deg);
            transform: rotate(90deg);
    opacity: 0;
  }
  to {
    -webkit-transform: rotate(0);
            transform: rotate(0);
    opacity: 1;
  }
}
@keyframes site-logo-out {
  from {
    -webkit-transform: rotate(90deg);
            transform: rotate(90deg);
    opacity: 0;
  }
  to {
    -webkit-transform: rotate(0);
            transform: rotate(0);
    opacity: 1;
  }
}
@-webkit-keyframes site-logo-in {
  from {
    -webkit-transform: scale(0);
            transform: scale(0);
    opacity: 0;
  }
  to {
    -webkit-transform: scale(1);
            transform: scale(1);
    opacity: 1;
  }
}
@keyframes site-logo-in {
  from {
    -webkit-transform: scale(0);
            transform: scale(0);
    opacity: 0;
  }
  to {
    -webkit-transform: scale(1);
            transform: scale(1);
    opacity: 1;
  }
}
@-webkit-keyframes site-logo-text {
  from {
    margin-left: 5px;
    width: 0;
  }
  to {
    margin-left: 5px;
    width: 334px;
  }
}
@keyframes site-logo-text {
  from {
    margin-left: 5px;
    width: 0;
  }
  to {
    margin-left: 5px;
    width: 334px;
  }
}
@-webkit-keyframes site-logo-text-sp {
  from {
    margin-left: 0;
    width: 0;
  }
  to {
    margin-left: 3px;
    width: 220px;
  }
}
@keyframes site-logo-text-sp {
  from {
    margin-left: 0;
    width: 0;
  }
  to {
    margin-left: 3px;
    width: 220px;
  }
}
@-webkit-keyframes reveal-down {
  from {
    -webkit-clip-path: inset(0 0 100% 0);
            clip-path: inset(0 0 100% 0);
  }
  to {
    -webkit-clip-path: inset(0 0 0 0);
            clip-path: inset(0 0 0 0);
  }
}
@keyframes reveal-down {
  from {
    -webkit-clip-path: inset(0 0 100% 0);
            clip-path: inset(0 0 100% 0);
  }
  to {
    -webkit-clip-path: inset(0 0 0 0);
            clip-path: inset(0 0 0 0);
  }
}
@-webkit-keyframes reveal-right {
  from {
    -webkit-clip-path: inset(0 100% 0 0);
            clip-path: inset(0 100% 0 0);
  }
  to {
    -webkit-clip-path: inset(0 0 0 0);
            clip-path: inset(0 0 0 0);
  }
}
@keyframes reveal-right {
  from {
    -webkit-clip-path: inset(0 100% 0 0);
            clip-path: inset(0 100% 0 0);
  }
  to {
    -webkit-clip-path: inset(0 0 0 0);
            clip-path: inset(0 0 0 0);
  }
}
@-webkit-keyframes reveal-left {
  from {
    -webkit-clip-path: inset(0 0 0 100%);
            clip-path: inset(0 0 0 100%);
  }
  to {
    -webkit-clip-path: inset(0 0 0 0);
            clip-path: inset(0 0 0 0);
  }
}
@keyframes reveal-left {
  from {
    -webkit-clip-path: inset(0 0 0 100%);
            clip-path: inset(0 0 0 100%);
  }
  to {
    -webkit-clip-path: inset(0 0 0 0);
            clip-path: inset(0 0 0 0);
  }
}
@-webkit-keyframes slide-right {
  0% {
    opacity: 0;
    -webkit-transform: translateX(-20%);
            transform: translateX(-20%);
  }
  100% {
    opacity: 1;
    -webkit-transform: none;
            transform: none;
  }
}
@keyframes slide-right {
  0% {
    opacity: 0;
    -webkit-transform: translateX(-20%);
            transform: translateX(-20%);
  }
  100% {
    opacity: 1;
    -webkit-transform: none;
            transform: none;
  }
}
@-webkit-keyframes reveal-opacity {
  0% {
    opacity: 0;
  }
  100% {
    opacity: 1;
  }
}
@keyframes reveal-opacity {
  0% {
    opacity: 0;
  }
  100% {
    opacity: 1;
  }
}