@charset "UTF-8";
html {
  overflow-x: clip;
}

body {
  overflow-x: clip;
  font-family: "Zen Maru Gothic", sans-serif;
  font-size: 14px;
  font-weight: 400;
  line-height: 1.5;
  color: #25040c;
  background-color: #fbf8f3;
  opacity: 0;
  -webkit-animation: page-fade-in 0.55s ease forwards;
          animation: page-fade-in 0.55s ease forwards;
}
@media (prefers-reduced-motion: reduce) {
  body {
    opacity: 1;
    -webkit-animation: none;
            animation: none;
  }
}

html.is-leaving body {
  opacity: 0;
  -webkit-animation: none;
          animation: none;
  -webkit-transition: opacity 0.45s ease;
  transition: opacity 0.45s ease;
}
@media (prefers-reduced-motion: reduce) {
  html.is-leaving body {
    -webkit-transition: none;
    transition: none;
  }
}

@-webkit-keyframes page-fade-in {
  from {
    opacity: 0;
  }
  to {
    opacity: 1;
  }
}

@keyframes page-fade-in {
  from {
    opacity: 0;
  }
  to {
    opacity: 1;
  }
}
.inner {
  padding-left: 24px;
  padding-right: 23px;
}

.section {
  padding-block: 48px;
  scroll-margin-top: -40px;
}
@media screen and (min-width: 768px) {
  .section {
    padding-block: 96px;
    scroll-margin-top: -72px;
  }
}

#fv {
  scroll-margin-top: 0;
}

br.hidden-sp {
  display: none;
}
@media screen and (min-width: 768px) {
  br.hidden-sp {
    display: block;
  }
}

br.hidden-pc {
  display: block;
}
@media screen and (min-width: 768px) {
  br.hidden-pc {
    display: none;
  }
}

@-webkit-keyframes decoration-sway {
  0%, 100% {
    -webkit-transform: rotate(var(--deco-sway-base, 0deg));
            transform: rotate(var(--deco-sway-base, 0deg));
  }
  25% {
    -webkit-transform: rotate(var(--deco-sway-a));
            transform: rotate(var(--deco-sway-a));
  }
  50% {
    -webkit-transform: rotate(var(--deco-sway-b));
            transform: rotate(var(--deco-sway-b));
  }
  75% {
    -webkit-transform: rotate(var(--deco-sway-c));
            transform: rotate(var(--deco-sway-c));
  }
}

@keyframes decoration-sway {
  0%, 100% {
    -webkit-transform: rotate(var(--deco-sway-base, 0deg));
            transform: rotate(var(--deco-sway-base, 0deg));
  }
  25% {
    -webkit-transform: rotate(var(--deco-sway-a));
            transform: rotate(var(--deco-sway-a));
  }
  50% {
    -webkit-transform: rotate(var(--deco-sway-b));
            transform: rotate(var(--deco-sway-b));
  }
  75% {
    -webkit-transform: rotate(var(--deco-sway-c));
            transform: rotate(var(--deco-sway-c));
  }
}
.header {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  z-index: 51;
  padding-top: 44px;
}
@media screen and (min-width: 768px) {
  .header {
    padding-block: 20px;
  }
}

.header__inner {
  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 (min-width: 768px) {
  .header__inner {
    --header-pad-inline: clamp(32px, 5.55vw, 80px);
    --header-logo-width: clamp(
      240px,
      calc(240px + (100vw - 1024px) * 138 / 416),
      378px
    );
    --header-gap: 32px;
    position: relative;
    max-width: 1440px;
    margin-inline: auto;
    padding-inline: var(--header-pad-inline);
    -webkit-box-sizing: border-box;
            box-sizing: border-box;
    -webkit-box-pack: end;
        -ms-flex-pack: end;
            justify-content: flex-end;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    -ms-flex-wrap: wrap;
        flex-wrap: wrap;
    -webkit-column-gap: var(--header-gap);
       -moz-column-gap: var(--header-gap);
            column-gap: var(--header-gap);
    row-gap: 0;
  }
}
@media screen and (min-width: 1280px) {
  .header__inner {
    --header-gap: clamp(24px, calc(24px + (100vw - 1280px) * 8 / 160), 32px);
    -ms-flex-wrap: nowrap;
        flex-wrap: nowrap;
    padding-left: calc(var(--header-pad-inline) + var(--header-logo-width) + var(--header-gap));
    padding-right: var(--header-pad-inline);
  }
}

.header__logo {
  -ms-flex-negative: 0;
      flex-shrink: 0;
}
.header__logo a {
  display: block;
  line-height: 0;
}
.header__logo img {
  width: 240px;
  height: 88px;
  max-width: none;
}
@media screen and (min-width: 768px) {
  .header__logo img {
    width: 378px;
    height: auto;
  }
}
@media screen and (min-width: 1280px) {
  .header__logo img {
    width: var(--header-logo-width);
  }
}
@media screen and (min-width: 768px) {
  .header__logo {
    position: static;
    -webkit-box-ordinal-group: 4;
        -ms-flex-order: 3;
            order: 3;
    -webkit-box-flex: 1;
        -ms-flex: 1 0 100%;
            flex: 1 0 100%;
    margin-top: -12px;
  }
}
@media screen and (min-width: 768px) and (max-width: 964px) {
  .header__logo {
    margin-top: -72px;
    pointer-events: none;
    position: relative;
    z-index: 0;
  }
  .header__logo a {
    pointer-events: auto;
    width: -webkit-fit-content;
    width: -moz-fit-content;
    width: fit-content;
  }
}
@media screen and (min-width: 1280px) {
  .header__logo {
    position: absolute;
    top: 0;
    left: var(--header-pad-inline);
    -webkit-box-ordinal-group: unset;
        -ms-flex-order: unset;
            order: unset;
    -webkit-box-flex: 0;
        -ms-flex: none;
            flex: none;
    margin-top: 0;
  }
}

body.is-drawer-open {
  overflow: hidden;
}

body.is-drawer-open .header__logo {
  visibility: hidden;
}

.header__nav {
  display: none;
}
@media screen and (min-width: 768px) {
  .header__nav {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    -ms-flex-wrap: nowrap;
        flex-wrap: nowrap;
    -ms-flex-negative: 0;
        flex-shrink: 0;
    gap: var(--header-gap);
    -webkit-box-ordinal-group: 2;
        -ms-flex-order: 1;
            order: 1;
  }
}
@media screen and (min-width: 768px) and (max-width: 964px) {
  .header__nav {
    position: relative;
    z-index: 1;
  }
}

.header__button.button1 {
  display: none;
}
@media screen and (min-width: 768px) {
  .header__button.button1 {
    display: -webkit-inline-box;
    display: -ms-inline-flexbox;
    display: inline-flex;
    -ms-flex-negative: 0;
        flex-shrink: 0;
    -webkit-box-ordinal-group: 3;
        -ms-flex-order: 2;
            order: 2;
  }
}
@media screen and (min-width: 768px) and (max-width: 964px) {
  .header__button.button1 {
    margin-top: 20px;
    position: relative;
    z-index: 1;
  }
}

.header__open {
  -ms-flex-negative: 0;
      flex-shrink: 0;
  display: block;
  line-height: 0;
}
@media screen and (min-width: 768px) {
  .header__open {
    display: none;
  }
}

.header__link {
  font-weight: 500;
  line-height: 1.6;
  -webkit-transition: opacity 0.2s ease;
  transition: opacity 0.2s ease;
}
@media screen and (min-width: 768px) {
  .header__link {
    font-size: 16px;
    font-weight: 700;
    white-space: nowrap;
    -ms-flex-negative: 0;
        flex-shrink: 0;
  }
}
.header__link:hover {
  opacity: 0.6;
}

.drawer-icon {
  width: 32px;
  height: 24px;
  position: relative;
  z-index: 51;
}
.drawer-icon.is-checked .drawer-icon__bar:nth-of-type(1) {
  top: 10.5px;
  -webkit-transform: rotate(40deg);
          transform: rotate(40deg);
}
.drawer-icon.is-checked .drawer-icon__bar:nth-of-type(2) {
  display: none;
}
.drawer-icon.is-checked .drawer-icon__bar:nth-of-type(3) {
  top: 10.5px;
  -webkit-transform: rotate(-40deg);
          transform: rotate(-40deg);
}

.drawer-icon__bar {
  position: absolute;
  left: 0;
  width: 32px;
  height: 3px;
  border-radius: 10px;
  background-color: #25040c;
  -webkit-transition: top 0.3s, -webkit-transform 0.3s;
  transition: top 0.3s, -webkit-transform 0.3s;
  transition: transform 0.3s, top 0.3s;
  transition: transform 0.3s, top 0.3s, -webkit-transform 0.3s;
}
.drawer-icon__bar:nth-of-type(1) {
  top: 0;
}
.drawer-icon__bar:nth-of-type(2) {
  top: 10.5px;
}
.drawer-icon__bar:nth-of-type(3) {
  top: 21px;
}

.drawer-content {
  height: 100%;
  width: min(375px, 100% - 40px);
  position: fixed;
  top: 0;
  right: 0;
  background: #fbf8f3;
  z-index: 50;
  padding: 112px 24px 96px;
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
  -webkit-transform: translateX(100%);
          transform: translateX(100%);
  pointer-events: none;
  -webkit-transition: -webkit-transform 0.3s ease;
  transition: -webkit-transform 0.3s ease;
  transition: transform 0.3s ease;
  transition: transform 0.3s ease, -webkit-transform 0.3s ease;
}
.drawer-content.is-checked {
  -webkit-transform: translateX(0);
          transform: translateX(0);
  pointer-events: auto;
}

.drawer-content__menu {
  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;
  width: 100%;
  text-align: center;
}

.drawer-content__link {
  display: block;
  padding-top: 16px;
  padding-bottom: 16px;
  font-weight: 500;
  line-height: 1.6;
  white-space: nowrap;
  -webkit-transition: opacity 0.2s ease;
  transition: opacity 0.2s ease;
}
.drawer-content__link:hover {
  opacity: 0.6;
}

.drawer-content__button {
  margin-top: 16px;
}
.drawer-content__button .button1 {
  white-space: nowrap;
}

.footer {
  padding-block: 8px;
  background: #f6ebdd url("../../img/sp/footer-bg-sp.png") no-repeat center top/cover;
}
@media screen and (min-width: 768px) {
  .footer {
    padding-block: 32px;
    padding-inline: max(24px, (100vw - (1440px - 256px * 2)) / 2);
    background: #f6ebdd url("../img/footer-bg-pc.png") no-repeat center top/cover;
  }
}

@media screen and (min-width: 768px) {
  .footer__inner {
    display: grid;
    grid-template-columns: auto auto;
    grid-template-areas: "logo logo" "contents menu" "bottom bottom";
    -webkit-box-pack: justify;
        -ms-flex-pack: justify;
            justify-content: space-between;
    -webkit-box-align: end;
        -ms-flex-align: end;
            align-items: end;
    max-width: 928px;
    margin-inline: auto;
    padding-inline: 0;
  }
}

.footer__logo {
  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;
  width: 240px;
  height: auto;
  max-width: none;
  margin-inline: auto;
  margin-top: 16px;
  margin-bottom: -8px;
}
@media screen and (min-width: 768px) {
  .footer__logo {
    grid-area: logo;
    width: 378px;
    -webkit-box-pack: start;
        -ms-flex-pack: start;
            justify-content: flex-start;
    margin-top: 24px;
    margin-bottom: 0;
    margin-inline: 0;
  }
}

@media screen and (min-width: 768px) {
  .footer__contents {
    grid-area: contents;
  }
}

.footer__address {
  text-align: center;
}
@media screen and (min-width: 768px) {
  .footer__address {
    text-align: left;
  }
}

.footer__address-post {
  margin-top: 8px;
  font-size: 14px;
  font-weight: 500;
  color: #fbf8f3;
}
@media screen and (min-width: 768px) {
  .footer__address-post {
    font-size: 16px;
    font-weight: 700;
    line-height: 140%;
  }
}

.footer__address-address {
  font-size: 14px;
  font-weight: 500;
  color: #fbf8f3;
}
@media screen and (min-width: 768px) {
  .footer__address-address {
    font-size: 16px;
    font-weight: 700;
    line-height: 140%;
  }
}

.footer__address-tel {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
}
@media screen and (min-width: 768px) {
  .footer__address-tel {
    -webkit-box-pack: start;
        -ms-flex-pack: start;
            justify-content: flex-start;
    font-size: 16px;
    font-weight: 700;
    line-height: 140%;
  }
}

.footer__address-tel-label {
  font-size: 14px;
  font-weight: 500;
  color: #fbf8f3;
}
@media screen and (min-width: 768px) {
  .footer__address-tel-label {
    font-size: 16px;
    font-weight: 700;
    line-height: 140%;
  }
}

.footer__address-tel-link {
  font-size: 14px;
  font-weight: 500;
  color: #fbf8f3;
  -webkit-transition: opacity 0.2s ease;
  transition: opacity 0.2s ease;
}
.footer__address-tel-link:hover {
  opacity: 0.6;
}
@media screen and (min-width: 768px) {
  .footer__address-tel-link {
    font-size: 16px;
    font-weight: 700;
    line-height: 140%;
  }
}

.footer__address-email {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
}
@media screen and (min-width: 768px) {
  .footer__address-email {
    -webkit-box-pack: start;
        -ms-flex-pack: start;
            justify-content: flex-start;
    font-size: 16px;
    font-weight: 700;
    line-height: 140%;
  }
}

.footer__address-email-label {
  font-size: 14px;
  font-weight: 500;
  color: #fbf8f3;
}
@media screen and (min-width: 768px) {
  .footer__address-email-label {
    font-size: 16px;
    font-weight: 700;
    line-height: 140%;
  }
}

.footer__address-email-link {
  font-size: 14px;
  font-weight: 500;
  color: #fbf8f3;
  -webkit-transition: opacity 0.2s ease;
  transition: opacity 0.2s ease;
}
.footer__address-email-link:hover {
  opacity: 0.6;
}
@media screen and (min-width: 768px) {
  .footer__address-email-link {
    font-size: 16px;
    font-weight: 700;
    line-height: 140%;
  }
}

.footer__link {
  text-align: center;
}
@media screen and (min-width: 768px) {
  .footer__link {
    text-align: left;
  }
}

.footer__link-item {
  display: inline;
  font-size: 14px;
  font-weight: 500;
  color: #fbf8f3;
  -webkit-transition: opacity 0.2s ease;
  transition: opacity 0.2s ease;
}
.footer__link-item:hover {
  opacity: 0.6;
}
@media screen and (min-width: 768px) {
  .footer__link-item {
    font-size: 16px;
    font-weight: 700;
    line-height: 140%;
  }
}

.footer__link-break {
  display: none;
}

.footer__link-name {
  display: -webkit-inline-box;
  display: -ms-inline-flexbox;
  display: inline-flex;
  -webkit-box-align: end;
      -ms-flex-align: end;
          align-items: flex-end;
  gap: 4px;
  font-size: inherit;
  font-weight: inherit;
  line-height: inherit;
  letter-spacing: inherit;
  color: inherit;
}

.footer__link-icon {
  display: block;
  -ms-flex-negative: 0;
      flex-shrink: 0;
  width: 16px;
  height: 16px;
}
@media screen and (min-width: 768px) {
  .footer__link-icon {
    width: 17px;
    height: 17px;
  }
}

.footer__sns {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: horizontal;
  -webkit-box-direction: normal;
      -ms-flex-direction: row;
          flex-direction: row;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  margin-top: 16px;
  gap: 21px;
}
@media screen and (min-width: 768px) {
  .footer__sns {
    -webkit-box-pack: start;
        -ms-flex-pack: start;
            justify-content: flex-start;
    margin-top: 40px;
    gap: 32px;
  }
}

.footer__sns-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;
  -webkit-transition: opacity 0.2s ease;
  transition: opacity 0.2s ease;
}
.footer__sns-item:hover {
  opacity: 0.6;
}

.footer__sns-icon {
  width: 32px;
  height: 32px;
}
@media screen and (min-width: 768px) {
  .footer__sns-icon {
    width: 36px;
    height: 36px;
  }
}

.footer__sns-item-label {
  font-size: 12px;
  font-weight: 500;
  line-height: 120%;
  letter-spacing: -0.72px;
  color: #fbf8f3;
}
@media screen and (min-width: 768px) {
  .footer__sns-item-label {
    font-size: 14px;
    font-weight: 700;
    letter-spacing: -0.24px;
  }
}

.footer__sns-icon + .footer__sns-item-label {
  margin-top: 6px;
}

.footer__menu {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: horizontal;
  -webkit-box-direction: normal;
      -ms-flex-direction: row;
          flex-direction: row;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
  -webkit-box-align: start;
      -ms-flex-align: start;
          align-items: flex-start;
  gap: 30px;
  margin-top: 32px;
}
@media screen and (min-width: 768px) {
  .footer__menu {
    grid-area: menu;
    margin-top: 8px;
    gap: 64px;
  }
}

@media screen and (max-width: 767px) {
  .footer__menu {
    -webkit-box-pack: center;
        -ms-flex-pack: center;
            justify-content: center;
  }
}
.footer__bottom {
  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;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  margin-top: 32px;
  gap: 8px;
}
@media screen and (min-width: 768px) {
  .footer__bottom {
    grid-area: bottom;
  }
}

.footer__menu-group {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  gap: 24px;
}

.footer__menu-column {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  gap: 24px;
  border-left: 1px solid #fbf8f3;
  padding-left: 10px;
}
@media screen and (min-width: 768px) {
  .footer__menu-column {
    padding-left: 24px;
  }
}

.footer__menu-link {
  font-size: 16px;
  font-weight: 700;
  color: #fbf8f3;
  white-space: nowrap;
  -webkit-transition: opacity 0.2s ease;
  transition: opacity 0.2s ease;
}
.footer__menu-link:hover {
  opacity: 0.6;
}

.footer__button .button1 {
  white-space: nowrap;
  -ms-flex-negative: 0;
      flex-shrink: 0;
}

.footer__privacy {
  font-size: 14px;
  font-weight: 500;
  color: #fbf8f3;
  -webkit-transition: opacity 0.2s ease;
  transition: opacity 0.2s ease;
}
.footer__privacy:hover {
  opacity: 0.6;
}
@media screen and (min-width: 768px) {
  .footer__privacy {
    font-size: 16px;
    margin-top: 32px;
  }
}

.footer__copyright {
  font-size: 12px;
  color: #fbf8f3;
}
@media screen and (min-width: 768px) {
  .footer__copyright {
    font-size: 14px;
  }
}

@media screen and (min-width: 768px) and (max-width: 1023px) {
  .footer__inner {
    -webkit-column-gap: 20px;
    -moz-column-gap: 20px;
    column-gap: 20px;
  }
  .footer__link-break {
    display: none;
  }
  .footer__link-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: start;
    -ms-flex-align: start;
    align-items: flex-start;
    row-gap: 0;
    line-height: 140%;
  }
  .footer__link-name {
    display: -webkit-inline-box;
    display: -ms-inline-flexbox;
    display: inline-flex;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    padding-left: 8em;
    margin-top: -0.2em;
    line-height: 140%;
  }
  .footer__link-icon {
    width: 0.85em;
    height: 0.85em;
    margin-top: 0.15em;
    -ms-flex-item-align: center;
    align-self: center;
  }
  .footer__sns {
    gap: 18px;
  }
  .footer__sns-icon {
    width: 28px;
    height: 28px;
  }
  .footer__menu {
    gap: 24px;
  }
  .footer__menu-column {
    padding-left: 12px;
  }
  .footer__menu-link {
    font-size: 14px;
  }
}
.header.page-header {
  top: 24px;
  padding-top: 0;
}
@media screen and (min-width: 768px) {
  .header.page-header {
    top: 24px;
    padding-block: 0;
  }
}
@media screen and (min-width: 1280px) {
  .header.page-header .header__inner {
    --header-logo-width: 280px;
  }
}
.header.page-header .header__link {
  color: #fbf8f3;
}
.header.page-header .drawer-icon__bar {
  background-color: #fbf8f3;
}
@media screen and (min-width: 768px) {
  .header.page-header .header__logo {
    margin-top: -12px;
  }
  .header.page-header .header__logo img {
    width: 280px;
    height: auto;
  }
}
@media screen and (min-width: 768px) and (max-width: 964px) {
  .header.page-header .header__logo {
    margin-top: -72px;
    pointer-events: none;
    position: relative;
    z-index: 0;
  }
  .header.page-header .header__logo a {
    pointer-events: auto;
    width: -webkit-fit-content;
    width: -moz-fit-content;
    width: fit-content;
  }
}
@media screen and (min-width: 1280px) {
  .header.page-header .header__logo {
    margin-top: 0;
  }
  .header.page-header .header__logo img {
    width: 280px;
  }
}

body.is-drawer-open .header.page-header .drawer-icon__bar {
  background-color: #25040c;
}

body:has(.header.page-header) .footer,
.privacy-page .footer {
  background-color: #fbf8f3;
}

.button1 {
  display: -webkit-inline-box;
  display: -ms-inline-flexbox;
  display: inline-flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  gap: 6px;
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
  font-weight: 500;
  line-height: 1.6;
  padding: 13px 18px;
  border: 2px solid #eab57e;
  border-radius: 40px;
  background: #eab57e;
  -webkit-box-shadow: 2px 2px 4px 0 rgba(0, 0, 0, 0.15);
          box-shadow: 2px 2px 4px 0 rgba(0, 0, 0, 0.15);
  color: #fbf8f3;
  -webkit-transition: background 0.2s ease, color 0.2s ease, border-color 0.2s ease, -webkit-box-shadow 0.2s ease;
  transition: background 0.2s ease, color 0.2s ease, border-color 0.2s ease, -webkit-box-shadow 0.2s ease;
  transition: background 0.2s ease, color 0.2s ease, border-color 0.2s ease, box-shadow 0.2s ease;
  transition: background 0.2s ease, color 0.2s ease, border-color 0.2s ease, box-shadow 0.2s ease, -webkit-box-shadow 0.2s ease;
}
@media screen and (min-width: 768px) {
  .button1 {
    padding: 11px 20px;
    font-size: 16px;
    font-weight: 700;
  }
}
.button1__icon {
  display: block;
  width: 8px;
  height: 12px;
  -ms-flex-negative: 0;
      flex-shrink: 0;
  -webkit-transition: -webkit-filter 0.2s ease;
  transition: -webkit-filter 0.2s ease;
  transition: filter 0.2s ease;
  transition: filter 0.2s ease, -webkit-filter 0.2s ease;
}

.button1:hover,
.header__button.button1:hover,
.feature__button.button1:hover,
.drawer-content__button .button1:hover,
.footer__button .button1:hover,
.contact__button .button1:hover {
  border-radius: 40px;
  border: 2px solid #eab57e;
  background: #fbf8f3;
  -webkit-box-shadow: 2px 2px 4px 0 rgba(0, 0, 0, 0.15);
          box-shadow: 2px 2px 4px 0 rgba(0, 0, 0, 0.15);
  color: #eab57e;
}

.button1:hover .button1__icon,
.header__button.button1:hover .button1__icon,
.feature__button.button1:hover .button1__icon,
.drawer-content__button .button1:hover .button1__icon,
.footer__button .button1:hover .button1__icon,
.contact__button .button1:hover .button1__icon {
  -webkit-filter: brightness(0) saturate(100%) invert(79%) sepia(29%) saturate(648%) hue-rotate(346deg) brightness(97%) contrast(88%);
          filter: brightness(0) saturate(100%) invert(79%) sepia(29%) saturate(648%) hue-rotate(346deg) brightness(97%) contrast(88%);
}

.button2 {
  display: -webkit-inline-box;
  display: -ms-inline-flexbox;
  display: inline-flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  gap: 8px;
  font-size: 18px;
  font-weight: 700;
  line-height: 1.6;
  color: #eab57e;
  text-decoration: none;
  -webkit-transition: color 0.2s ease;
  transition: color 0.2s ease;
}
.button2:hover {
  color: rgba(234, 181, 126, 0.6);
}
.button2:hover .button2__icon {
  opacity: 0.6;
}

.button2__icon {
  display: block;
  -ms-flex-negative: 0;
      flex-shrink: 0;
  width: 44px;
  height: 44px;
  -webkit-transition: opacity 0.2s ease;
  transition: opacity 0.2s ease;
}

.heading {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  gap: 8px;
  margin-bottom: 40px;
}
@media screen and (min-width: 768px) {
  .heading {
    gap: 14px;
    margin-bottom: 64px;
  }
}

.heading__ja {
  font-size: 28px;
  font-weight: 700;
  letter-spacing: 0.64px;
  line-height: 1;
}
@media screen and (min-width: 768px) {
  .heading__ja {
    font-size: 40px;
    letter-spacing: 0.8px;
  }
}

.heading__line {
  display: block;
  -ms-flex-negative: 0;
      flex-shrink: 0;
  width: 106px;
  height: 8px;
}
@media screen and (min-width: 768px) {
  .heading__line {
    width: 136px;
    height: 10px;
  }
}

.heading__en {
  font-family: "Itim", cursive;
  font-size: 24px;
  font-weight: 400;
  letter-spacing: 0.56px;
  line-height: 1;
  margin-top: -8px;
}
@media screen and (min-width: 768px) {
  .heading__en {
    font-size: 32px;
    letter-spacing: 0.64px;
    margin-top: -12px;
  }
}

.news-card {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  gap: 12px;
  padding-block: 16px;
  border-bottom: 1px dashed rgba(37, 4, 12, 0.4);
  text-decoration: none;
}
@media screen and (min-width: 768px) {
  .news-card {
    padding-block: 24px;
  }
}
.news-card:hover .news-card__body {
  opacity: 0.6;
}
.news-card:hover .news-card__image img {
  -webkit-transform: scale(1.1);
          transform: scale(1.1);
}

.news-card__image {
  width: 120px;
  height: 95px;
  border-radius: 10px;
  overflow: hidden;
  -ms-flex-negative: 0;
      flex-shrink: 0;
}
@media screen and (min-width: 768px) {
  .news-card__image {
    width: 148px;
    height: 118px;
  }
}
.news-card__image img {
  display: block;
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
  -webkit-transition: -webkit-transform 0.3s ease;
  transition: -webkit-transform 0.3s ease;
  transition: transform 0.3s ease;
  transition: transform 0.3s ease, -webkit-transform 0.3s ease;
}

.news-card__body {
  -webkit-box-flex: 1;
      -ms-flex: 1;
          flex: 1;
  min-width: 0;
  -webkit-transition: opacity 0.2s ease;
  transition: opacity 0.2s ease;
}

.news-card__date {
  font-family: "Itim", cursive;
  font-size: 16px;
  line-height: 1.6;
}
@media screen and (min-width: 768px) {
  .news-card__date {
    font-size: 18px;
  }
}

.news-card__title {
  font-size: 16px;
  font-weight: 500;
  margin-top: 2px;
}
@media screen and (min-width: 768px) {
  .news-card__title {
    font-size: 22px;
  }
}

.news-card__text {
  margin-top: 2px;
  display: -webkit-box;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 2;
  line-clamp: 2;
  overflow: hidden;
}
@media screen and (min-width: 768px) {
  .news-card__text {
    font-size: 16px;
    line-height: 1.6;
  }
}

.form-field {
  width: 100%;
  max-width: 328px;
  margin-inline: auto;
}
@media screen and (min-width: 768px) {
  .form-field {
    max-width: 476px;
  }
}
@media screen and (min-width: 1280px) {
  .form-field {
    max-width: none;
    margin-inline: 0;
    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;
    gap: 80px;
  }
}
@media screen and (min-width: 1280px) {
  .form-field:has(.form-textarea) {
    -webkit-box-align: start;
        -ms-flex-align: start;
            align-items: flex-start;
  }
}
@media screen and (min-width: 1280px) {
  .form-field:has(.is-error), .form-field:has(:user-invalid) {
    -webkit-box-align: start;
        -ms-flex-align: start;
            align-items: flex-start;
  }
}

.form-field__head {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  gap: 4px;
}
@media screen and (min-width: 1280px) {
  .form-field__head {
    -ms-flex-negative: 0;
        flex-shrink: 0;
    width: 332px;
    gap: 8px;
  }
}

.form-field__label {
  font-size: 16px;
  font-weight: 500;
}
@media screen and (min-width: 768px) {
  .form-field__label {
    font-size: 24px;
  }
}

.form-field__tag {
  color: #edbe91;
  font-size: 16px;
  font-weight: 500;
}
@media screen and (min-width: 768px) {
  .form-field__tag {
    font-size: 20px;
    font-weight: 700;
  }
}

@media screen and (min-width: 1280px) {
  .form-field__item {
    -webkit-box-flex: 0;
        -ms-flex: 0 0 auto;
            flex: 0 0 auto;
  }
}

.form-field__error {
  display: none;
  margin-top: 8px;
  font-size: 16px;
  font-style: normal;
  font-weight: 400;
  line-height: 160%;
  color: #ff4848;
}

.form-field:has(.is-error) .form-field__error,
.form-field:has(:user-invalid) .form-field__error {
  display: block;
}

.form-text {
  width: 328px;
  max-width: 100%;
  color: #25040c;
  padding: 12px 24px;
  margin-top: 16px;
  border-radius: 10px;
  background-color: #fbf8f3;
  border: 1px solid #25040c;
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
}
.form-text::-webkit-input-placeholder {
  color: #efd7b9;
}
.form-text::-moz-placeholder {
  color: #efd7b9;
}
.form-text:-ms-input-placeholder {
  color: #efd7b9;
}
.form-text::-ms-input-placeholder {
  color: #efd7b9;
}
.form-text::placeholder {
  color: #efd7b9;
}
.form-text:focus {
  outline: none;
  border-radius: 10px;
  border: 1px solid var(--color-main, #eab57e);
  -webkit-box-shadow: 1px 1px 4px 0 rgba(234, 181, 126, 0.8);
          box-shadow: 1px 1px 4px 0 rgba(234, 181, 126, 0.8);
  color: #25040c;
}
.form-text.is-error, .form-text:user-invalid {
  border: 1px solid #ff4848;
  -webkit-box-shadow: none;
          box-shadow: none;
}
.form-text.is-error:focus, .form-text:user-invalid:focus {
  border: 1px solid #ff4848;
  -webkit-box-shadow: none;
          box-shadow: none;
}
@media screen and (min-width: 768px) {
  .form-text {
    width: 476px;
    font-size: 20px;
  }
}
@media screen and (min-width: 1280px) {
  .form-text {
    margin-top: 0;
  }
}
.form-text[type=email], .form-text[type=tel] {
  font-family: "Itim", cursive;
}
.form-text[type=email]::-webkit-input-placeholder, .form-text[type=tel]::-webkit-input-placeholder {
  font-family: "Itim", cursive;
}
.form-text[type=email]::-moz-placeholder, .form-text[type=tel]::-moz-placeholder {
  font-family: "Itim", cursive;
}
.form-text[type=email]:-ms-input-placeholder, .form-text[type=tel]:-ms-input-placeholder {
  font-family: "Itim", cursive;
}
.form-text[type=email]::-ms-input-placeholder, .form-text[type=tel]::-ms-input-placeholder {
  font-family: "Itim", cursive;
}
.form-text[type=email]::placeholder, .form-text[type=tel]::placeholder {
  font-family: "Itim", cursive;
}

.form-textarea {
  width: 328px;
  max-width: 100%;
  height: auto;
  color: #25040c;
  padding: 12px 24px;
  margin-top: 16px;
  border-radius: 10px;
  background-color: #fbf8f3;
  border: 1px solid #25040c;
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
}
.form-textarea::-webkit-input-placeholder {
  color: #efd7b9;
}
.form-textarea::-moz-placeholder {
  color: #efd7b9;
}
.form-textarea:-ms-input-placeholder {
  color: #efd7b9;
}
.form-textarea::-ms-input-placeholder {
  color: #efd7b9;
}
.form-textarea::placeholder {
  color: #efd7b9;
}
.form-textarea:focus {
  outline: none;
  border-radius: 10px;
  border: 1px solid var(--color-main, #eab57e);
  -webkit-box-shadow: 1px 1px 4px 0 rgba(234, 181, 126, 0.8);
          box-shadow: 1px 1px 4px 0 rgba(234, 181, 126, 0.8);
  color: #25040c;
}
.form-textarea.is-error, .form-textarea:user-invalid {
  border: 1px solid #ff4848;
  -webkit-box-shadow: none;
          box-shadow: none;
}
.form-textarea.is-error:focus, .form-textarea:user-invalid:focus {
  border: 1px solid #ff4848;
  -webkit-box-shadow: none;
          box-shadow: none;
}
@media screen and (min-width: 768px) {
  .form-textarea {
    width: 476px;
    font-size: 20px;
  }
}
@media screen and (min-width: 1280px) {
  .form-textarea {
    margin-top: 0;
  }
}

.form-checkbox {
  display: -webkit-inline-box;
  display: -ms-inline-flexbox;
  display: inline-flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  gap: 8px;
  cursor: pointer;
}

.form-checkbox__input {
  -webkit-appearance: none;
     -moz-appearance: none;
          appearance: none;
  width: 20px;
  height: 20px;
  margin: 0;
  -ms-flex-negative: 0;
      flex-shrink: 0;
  border: 1px solid #25040c;
  border-radius: 4px;
  background-color: #fbf8f3;
  cursor: pointer;
}
.form-checkbox__input:checked {
  background-color: #25040c;
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 12 10' fill='none'%3E%3Cpath d='M1 5.2L4.4 8.5L11 1.5' stroke='%23FBF8F3' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E");
  background-repeat: no-repeat;
  background-position: center;
  background-size: 12px 10px;
}
@media screen and (min-width: 768px) {
  .form-checkbox__input {
    width: 24px;
    height: 24px;
  }
}

.page-heading {
  position: relative;
}

.page-heading__image {
  display: block;
  width: 100%;
}
.page-heading__image img {
  display: block;
  width: 100%;
  height: 320px;
  -o-object-fit: cover;
     object-fit: cover;
}
@media screen and (min-width: 768px) {
  .page-heading__image img {
    height: 372px;
  }
}

@media screen and (min-width: 768px) and (max-width: 1439px) {
  .page-heading__image img {
    height: auto;
    aspect-ratio: 1440/372;
  }
}
.page-heading__heading {
  position: absolute;
  top: 164px;
  left: 50%;
  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;
  -webkit-transform: translateX(-50%);
          transform: translateX(-50%);
  color: #fbf8f3;
  text-align: center;
  z-index: 1;
}
@media screen and (min-width: 768px) {
  .page-heading__heading {
    top: 176px;
  }
}
@media screen and (min-width: 768px) and (max-width: 1439px) {
  .page-heading__heading {
    top: 47.31%;
  }
}

.page-heading__ja {
  font-size: 32px;
  font-style: normal;
  font-weight: 600;
  line-height: normal;
  letter-spacing: 0.64px;
  white-space: nowrap;
}
@media screen and (min-width: 768px) {
  .page-heading__ja {
    font-size: 40px;
    letter-spacing: 0.8px;
  }
}

.page-heading__en {
  font-family: "Itim", cursive;
  font-size: 28px;
  letter-spacing: 0.56px;
  margin-top: -4px;
  white-space: nowrap;
}
@media screen and (min-width: 768px) {
  .page-heading__en {
    font-size: 32px;
    letter-spacing: 0.64px;
    margin-top: 0;
  }
}

.pagination {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  margin-top: 40px;
}
@media screen and (min-width: 768px) {
  .pagination {
    margin-top: 56px;
  }
}

.pagination__list {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  font-family: "Itim", cursive;
  font-size: 20px;
  letter-spacing: 0.4px;
  gap: 9px;
}
@media screen and (min-width: 768px) {
  .pagination__list {
    gap: 33px;
  }
}

.pagination__item {
  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;
}

.pagination__link {
  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: 1px solid #eab57e;
  border-radius: 4px;
  padding: 2px 8px;
  color: #eab57e;
  -webkit-transition: opacity 0.2s ease;
  transition: opacity 0.2s ease;
}
@media screen and (min-width: 768px) {
  .pagination__link {
    padding: 4px 10px;
  }
}
.pagination__link:hover {
  opacity: 0.6;
}
.pagination__link.is-current {
  background-color: #eab57e;
  color: #fbf8f3;
}

.pagination__item--dots {
  color: #eab57e;
}

.for-top {
  position: fixed;
  right: 16px;
  bottom: 16px;
  z-index: 40;
  opacity: 0;
  visibility: hidden;
  pointer-events: none;
  -webkit-transform: translateY(8px);
          transform: translateY(8px);
  -webkit-transition: opacity 0.4s ease, visibility 0.4s ease, -webkit-transform 0.4s ease;
  transition: opacity 0.4s ease, visibility 0.4s ease, -webkit-transform 0.4s ease;
  transition: opacity 0.4s ease, visibility 0.4s ease, transform 0.4s ease;
  transition: opacity 0.4s ease, visibility 0.4s ease, transform 0.4s ease, -webkit-transform 0.4s ease;
}
@media screen and (min-width: 768px) {
  .for-top {
    right: 40px;
    bottom: 40px;
  }
}
.for-top.is-visible {
  opacity: 1;
  visibility: visible;
  pointer-events: auto;
  -webkit-transform: translateY(0);
          transform: translateY(0);
}
.for-top.is-visible:hover {
  opacity: 0.6;
}

.for-top__icon {
  display: block;
  width: 48px;
  height: 48px;
}
@media screen and (min-width: 768px) {
  .for-top__icon {
    width: 56px;
    height: 56px;
  }
}

.about-top {
  background: #f6ebdd;
  overflow-x: clip;
}

.about-top__decoration {
  position: relative;
}

@-webkit-keyframes about-top-decoration-sway {
  0%, 100% {
    -webkit-transform: rotate(-3deg);
            transform: rotate(-3deg);
  }
  50% {
    -webkit-transform: rotate(3deg);
            transform: rotate(3deg);
  }
}

@keyframes about-top-decoration-sway {
  0%, 100% {
    -webkit-transform: rotate(-3deg);
            transform: rotate(-3deg);
  }
  50% {
    -webkit-transform: rotate(3deg);
            transform: rotate(3deg);
  }
}
.about-top__deco-reef-purple {
  position: absolute;
  width: 40.698px;
  height: auto;
  top: -84px;
  right: -6px;
  -webkit-transform-origin: right bottom;
          transform-origin: right bottom;
  -webkit-animation: about-top-decoration-sway 3s ease-in-out -0.8s infinite;
          animation: about-top-decoration-sway 3s ease-in-out -0.8s infinite;
}
@media (prefers-reduced-motion: reduce) {
  .about-top__deco-reef-purple {
    -webkit-animation: none;
            animation: none;
  }
}
@media screen and (min-width: 768px) {
  .about-top__deco-reef-purple {
    width: 147.562px;
    top: -120px;
    right: -20px;
  }
}
@media screen and (min-width: 768px) and (max-width: 1023px) {
  .about-top__deco-reef-purple {
    top: -140px;
    right: -20px;
  }
}
@media screen and (min-width: 768px) and (min-width: 768px) and (max-width: 1023px) {
  .about-top__deco-reef-purple {
    top: -188px;
  }
}

.about-top__deco-reef-green {
  position: absolute;
  width: auto;
  height: 107.606px;
  top: -103px;
  right: -10px;
  -webkit-transform-origin: right bottom;
          transform-origin: right bottom;
  -webkit-animation: about-top-decoration-sway 3s ease-in-out -1.5s infinite;
          animation: about-top-decoration-sway 3s ease-in-out -1.5s infinite;
}
@media (prefers-reduced-motion: reduce) {
  .about-top__deco-reef-green {
    -webkit-animation: none;
            animation: none;
  }
}
@media screen and (min-width: 768px) {
  .about-top__deco-reef-green {
    height: 354.675px;
    top: -186px;
    right: -40px;
  }
}
@media screen and (min-width: 768px) and (max-width: 1023px) {
  .about-top__deco-reef-green {
    top: -210px;
    right: -40px;
  }
}
@media screen and (min-width: 768px) and (min-width: 768px) and (max-width: 1023px) {
  .about-top__deco-reef-green {
    top: -270px;
  }
}

@media screen and (min-width: 768px) {
  .about-top__inner {
    padding-left: 0;
    padding-right: 0;
  }
}

.about-top__contents {
  gap: 24px;
  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;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
}
@media screen and (min-width: 768px) {
  .about-top__contents {
    -webkit-box-orient: horizontal;
    -webkit-box-direction: normal;
        -ms-flex-direction: row;
            flex-direction: row;
    -webkit-box-align: start;
        -ms-flex-align: start;
            align-items: flex-start;
    gap: clamp(32px, 4.44vw, 64px);
    margin-inline: clamp(40px, 11.11vw, 160px);
  }
}
@media screen and (min-width: 1440px) {
  .about-top__contents {
    max-width: 928px;
    margin-inline: auto;
  }
}

.about-top__img {
  width: 328px;
  height: 219px;
  border-radius: 16px;
  -o-object-fit: cover;
     object-fit: cover;
}
@media screen and (min-width: 768px) {
  .about-top__img {
    -webkit-box-flex: 0;
        -ms-flex: 0 1 540px;
            flex: 0 1 540px;
    width: 540px;
    max-width: 540px;
    height: auto;
    aspect-ratio: 664/443;
  }
}
@media screen and (min-width: 1440px) {
  .about-top__img {
    -ms-flex-preferred-size: 480px;
        flex-basis: 480px;
    width: 480px;
    max-width: 480px;
  }
}
@media screen and (min-width: 768px) and (max-width: 1439px) {
  .about-top__img {
    width: min(380px, 34vw);
    max-width: 380px;
  }
}
@media screen and (min-width: 768px) and (max-width: 1023px) {
  .about-top__img {
    width: min(300px, 34vw);
    max-width: 300px;
  }
}
@media screen and (max-width: 767px) {
  .about-top__img {
    width: 280px;
    height: auto;
    aspect-ratio: 328/219;
  }
}

.about-top__text-box-wrapper {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  gap: 24px;
}
@media screen and (min-width: 768px) {
  .about-top__text-box-wrapper {
    -webkit-box-flex: 1;
        -ms-flex: 1 1 280px;
            flex: 1 1 280px;
    min-width: 0;
  }
}

.about-top__text-box {
  display: grid;
  gap: 24px;
}

.about-top__text {
  font-size: 16px;
}
@media screen and (min-width: 768px) {
  .about-top__text {
    font-size: 20px;
    line-height: 170%;
  }
}
@media screen and (min-width: 768px) and (max-width: 1023px) {
  .about-top__text {
    font-size: 18px;
  }
}

.about-top__button {
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
}
@media screen and (min-width: 768px) {
  .about-top__button {
    margin-top: 16px;
    -webkit-box-pack: end;
        -ms-flex-pack: end;
            justify-content: flex-end;
  }
}

.about-top__swiper {
  margin-top: 40px;
  width: 100vw;
  margin-left: calc(50% - 50vw);
  overflow: hidden;
}
@media screen and (min-width: 768px) {
  .about-top__swiper {
    margin-top: 80px;
  }
}
@media screen and (min-width: 768px) and (max-width: 1023px) {
  .about-top__swiper {
    margin-top: 64px;
  }
}
.about-top__swiper .swiper-wrapper {
  -webkit-transition-timing-function: linear !important;
          transition-timing-function: linear !important;
}
.about-top__swiper .swiper-slide {
  width: auto;
}

.about-top__slide-img {
  display: block;
  width: 112px;
  height: 144px;
  border-radius: 16px;
  margin-bottom: 40px;
  -o-object-fit: cover;
     object-fit: cover;
}
@media screen and (min-width: 768px) {
  .about-top__slide-img {
    width: 208px;
    height: 268px;
  }
}
@media screen and (max-width: 1023px) {
  .about-top__slide-img {
    width: 100px;
    height: 129px;
  }
}
@media screen and (min-width: 768px) and (max-width: 1439px) {
  .about-top__slide-img {
    width: 148px;
    height: 190px;
  }
}
@media screen and (min-width: 768px) and (max-width: 1023px) {
  .about-top__slide-img {
    width: 120px;
    height: 154px;
  }
}

.about-detail__inner {
  position: relative;
  z-index: 1;
}

.about-detail__heading {
  text-align: center;
}

.about-detail__heading-ja {
  display: inline-block;
  font-size: 20px;
  font-weight: 500;
  padding-bottom: 6px;
  border-bottom: 3px dashed #eab57e;
}
@media screen and (min-width: 768px) {
  .about-detail__heading-ja {
    font-size: 32px;
    font-weight: 500;
    padding-bottom: 10px;
  }
}

.about-detail__greeting {
  position: relative;
  padding-block: 48px;
}
@media screen and (min-width: 768px) {
  .about-detail__greeting {
    padding-block: 0;
  }
}
@media screen and (min-width: 768px) {
  .about-detail__greeting .about-detail__inner {
    padding-inline: max(24px, (100vw - (1440px - 256px * 2)) / 2);
    padding-block: 96px;
  }
}

.about-detail__greeting-decoration {
  position: absolute;
  inset: 0;
  z-index: 0;
  pointer-events: none;
}

@-webkit-keyframes about-detail-decoration-sway {
  0%, 100% {
    -webkit-transform: rotate(-3deg);
            transform: rotate(-3deg);
  }
  50% {
    -webkit-transform: rotate(3deg);
            transform: rotate(3deg);
  }
}

@keyframes about-detail-decoration-sway {
  0%, 100% {
    -webkit-transform: rotate(-3deg);
            transform: rotate(-3deg);
  }
  50% {
    -webkit-transform: rotate(3deg);
            transform: rotate(3deg);
  }
}
.about-detail__deco-reef-purple {
  position: absolute;
  width: auto;
  height: 57px;
  right: -8px;
  top: 4px;
  -webkit-transform-origin: right bottom;
          transform-origin: right bottom;
  -webkit-animation: about-detail-decoration-sway 3s ease-in-out -0.8s infinite;
          animation: about-detail-decoration-sway 3s ease-in-out -0.8s infinite;
}
@media screen and (min-width: 768px) {
  .about-detail__deco-reef-purple {
    height: 164px;
    right: -24px;
    top: 16px;
  }
}
@media screen and (min-width: 768px) and (max-width: 1279px) {
  .about-detail__deco-reef-purple {
    height: 131px;
  }
}
@media (prefers-reduced-motion: reduce) {
  .about-detail__deco-reef-purple {
    -webkit-animation: none;
            animation: none;
  }
}

.about-detail__deco-reef-green {
  position: absolute;
  width: auto;
  height: 106px;
  right: -8px;
  top: -2px;
  -webkit-transform-origin: right bottom;
          transform-origin: right bottom;
  -webkit-animation: about-detail-decoration-sway 3s ease-in-out -1.5s infinite;
          animation: about-detail-decoration-sway 3s ease-in-out -1.5s infinite;
}
@media screen and (min-width: 768px) {
  .about-detail__deco-reef-green {
    height: 320px;
    right: -32px;
    top: -8px;
  }
}
@media screen and (min-width: 768px) and (max-width: 1279px) {
  .about-detail__deco-reef-green {
    height: 256px;
  }
}
@media (prefers-reduced-motion: reduce) {
  .about-detail__deco-reef-green {
    -webkit-animation: none;
            animation: none;
  }
}

.about-detail__greeting-content {
  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;
}

.about-detail__greeting-body {
  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;
  width: 100%;
  margin-top: 24px;
}
@media screen and (min-width: 768px) {
  .about-detail__greeting-body {
    -webkit-box-orient: horizontal;
    -webkit-box-direction: reverse;
        -ms-flex-direction: row-reverse;
            flex-direction: row-reverse;
    -webkit-box-align: start;
        -ms-flex-align: start;
            align-items: flex-start;
    gap: 56px;
    margin-top: 64px;
  }
}
@media screen and (min-width: 768px) and (min-width: 768px) and (max-width: 1023px) {
  .about-detail__greeting-body {
    gap: 28px;
    -webkit-box-pack: center;
        -ms-flex-pack: center;
            justify-content: center;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
  }
}

.about-detail__greeting-image {
  width: 280px;
  height: 312px;
  border-radius: 16px;
  margin: 0 auto;
  overflow: hidden;
  -ms-flex-negative: 0;
      flex-shrink: 0;
}
.about-detail__greeting-image img {
  display: block;
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
}
@media screen and (min-width: 768px) {
  .about-detail__greeting-image {
    width: 344px;
    height: 486px;
    margin: 0;
  }
}
@media screen and (min-width: 768px) and (min-width: 768px) and (max-width: 1023px) {
  .about-detail__greeting-image {
    width: 280px;
    height: 396px;
  }
}

.about-detail__greeting-texts {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  width: 100%;
}
@media screen and (min-width: 768px) {
  .about-detail__greeting-texts {
    -webkit-box-flex: 1;
        -ms-flex: 1;
            flex: 1;
    min-width: 0;
  }
}
@media screen and (min-width: 768px) and (min-width: 768px) and (max-width: 1023px) {
  .about-detail__greeting-texts {
    -webkit-box-flex: 0;
        -ms-flex: 0 1 420px;
            flex: 0 1 420px;
    width: auto;
    max-width: calc(100% - 280px - 28px);
  }
}

.about-detail__greeting-textbox {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  margin-top: 24px;
}
.about-detail__greeting-textbox + .about-detail__greeting-textbox {
  margin-top: 16px;
}
@media screen and (min-width: 768px) {
  .about-detail__greeting-textbox {
    margin-top: 0;
  }
  .about-detail__greeting-textbox + .about-detail__greeting-textbox {
    margin-top: 40px;
  }
}

.about-detail__greeting-textbox-head {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: end;
      -ms-flex-align: end;
          align-items: flex-end;
  gap: 4px;
}
@media screen and (min-width: 768px) {
  .about-detail__greeting-textbox-head {
    gap: 8px;
  }
}

.about-detail__greeting-textbox-deco {
  display: block;
  width: auto;
  height: 25px;
  -ms-flex-negative: 0;
      flex-shrink: 0;
}
@media screen and (min-width: 768px) {
  .about-detail__greeting-textbox-deco {
    height: 38px;
  }
}

.about-detail__greeting-textbox-title {
  font-size: 16px;
  font-weight: 500;
  line-height: 1;
}
@media screen and (min-width: 768px) {
  .about-detail__greeting-textbox-title {
    font-size: 24px;
    font-style: normal;
    font-weight: 500;
  }
}

.about-detail__greeting-text {
  margin-top: 8px;
  padding-left: 24px;
}
@media screen and (min-width: 768px) {
  .about-detail__greeting-text {
    font-size: 16px;
    line-height: 160%;
    padding-left: 40px;
  }
}

.about-detail__greeting-mark {
  color: inherit;
  background: -webkit-gradient(linear, left top, left bottom, from(rgba(234, 181, 126, 0.5)), to(rgba(234, 181, 126, 0.5))) no-repeat left 70%/100% 1.2em;
  background: linear-gradient(rgba(234, 181, 126, 0.5), rgba(234, 181, 126, 0.5)) no-repeat left 70%/100% 1.2em;
  border-radius: 4px;
  -webkit-box-decoration-break: clone;
  box-decoration-break: clone;
}
@media screen and (min-width: 768px) {
  .about-detail__greeting-mark {
    background: -webkit-gradient(linear, left top, left bottom, from(rgba(234, 181, 126, 0.5)), to(rgba(234, 181, 126, 0.5))) no-repeat left 70%/100% 1.3em;
    background: linear-gradient(rgba(234, 181, 126, 0.5), rgba(234, 181, 126, 0.5)) no-repeat left 70%/100% 1.3em;
  }
}

.about-detail__greeting-signature {
  width: -webkit-fit-content;
  width: -moz-fit-content;
  width: fit-content;
  margin-top: 16px;
  margin-left: auto;
  text-align: left;
}
@media screen and (min-width: 768px) {
  .about-detail__greeting-signature {
    font-size: 16px;
    line-height: 160%;
  }
}

.about-detail__corp {
  position: relative;
  background: #f6ebdd;
  padding-block: 48px;
}
@media screen and (min-width: 768px) {
  .about-detail__corp {
    padding-block: 0;
  }
}
@media screen and (min-width: 768px) and (max-width: 1023px) {
  .about-detail__corp .about-detail__inner {
    padding-block: 96px;
  }
}
@media screen and (min-width: 1024px) {
  .about-detail__corp .about-detail__inner {
    padding-inline: max(24px, (100vw - (1440px - 256px * 2)) / 2);
    padding-block: 96px;
  }
}
@media screen and (max-width: 1023px) {
  .about-detail__corp .about-detail__heading-ja {
    font-size: 20px;
    padding-bottom: 6px;
  }
  .about-detail__corp br.hidden-sp {
    display: none;
  }
  .about-detail__corp br.hidden-pc {
    display: block;
  }
}
@media screen and (min-width: 768px) and (max-width: 1023px) {
  .about-detail__corp br.hidden-sp {
    display: block;
  }
  .about-detail__corp br.hidden-pc {
    display: none;
  }
}

.about-detail__corp-decoration {
  position: absolute;
  inset: 0;
  z-index: 0;
  pointer-events: none;
}

.about-detail__corp-deco-flower {
  position: absolute;
  width: auto;
  height: 66px;
  left: -16px;
  top: -48px;
  -webkit-transform-origin: left bottom;
          transform-origin: left bottom;
  -webkit-animation: about-detail-decoration-sway 3s ease-in-out -0.4s infinite;
          animation: about-detail-decoration-sway 3s ease-in-out -0.4s infinite;
}
@media screen and (min-width: 768px) {
  .about-detail__corp-deco-flower {
    height: 200px;
    left: -56px;
    top: -120px;
  }
}
@media screen and (min-width: 768px) and (max-width: 1279px) {
  .about-detail__corp-deco-flower {
    height: 160px;
  }
}
@media (prefers-reduced-motion: reduce) {
  .about-detail__corp-deco-flower {
    -webkit-animation: none;
            animation: none;
  }
}

.about-detail__corp-deco-reef {
  position: absolute;
  width: auto;
  height: 150px;
  left: -14px;
  top: -56px;
  -webkit-transform-origin: left bottom;
          transform-origin: left bottom;
  -webkit-animation: about-detail-decoration-sway 3s ease-in-out -1.2s infinite;
          animation: about-detail-decoration-sway 3s ease-in-out -1.2s infinite;
}
@media screen and (min-width: 768px) {
  .about-detail__corp-deco-reef {
    height: 374px;
    left: -42px;
    top: -112px;
  }
}
@media screen and (min-width: 768px) and (max-width: 1279px) {
  .about-detail__corp-deco-reef {
    height: 299px;
  }
}
@media (prefers-reduced-motion: reduce) {
  .about-detail__corp-deco-reef {
    -webkit-animation: none;
            animation: none;
  }
}

.about-detail__corp-boxes {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  text-align: center;
  gap: 32px;
  margin-top: 64px;
}
@media screen and (min-width: 1024px) {
  .about-detail__corp-boxes {
    -webkit-box-orient: horizontal;
    -webkit-box-direction: normal;
        -ms-flex-direction: row;
            flex-direction: row;
    -webkit-box-align: start;
        -ms-flex-align: start;
            align-items: flex-start;
    -webkit-box-pack: justify;
        -ms-flex-pack: justify;
            justify-content: space-between;
    margin-top: 64px;
    gap: 56px;
  }
}

.about-detail__corp-box {
  background: #fbf8f3;
  border-radius: 16px;
  padding: 24px;
  width: 100%;
  max-width: 520px;
  margin-inline: auto;
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
}
@media screen and (min-width: 1024px) {
  .about-detail__corp-box {
    padding: 32px;
    width: auto;
    max-width: none;
    margin-inline: 0;
    -webkit-box-flex: 0;
        -ms-flex: 0 1 auto;
            flex: 0 1 auto;
    min-width: 0;
  }
}

.about-detail__corp-box-heading {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: horizontal;
  -webkit-box-direction: normal;
      -ms-flex-direction: row;
          flex-direction: row;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  gap: 12.5px;
}

.about-detail__corp-box-icon {
  width: 29px;
  height: 36px;
}
@media screen and (min-width: 1024px) {
  .about-detail__corp-box-icon {
    width: 40px;
    height: 49px;
  }
}

.about-detail__corp-box-title {
  font-weight: 500;
}
@media screen and (min-width: 1024px) {
  .about-detail__corp-box-title {
    font-size: 24px;
  }
}

.about-detail__corp-box-mark {
  width: 24px;
  height: 26px;
}
@media screen and (min-width: 1024px) {
  .about-detail__corp-box-mark {
    width: 32px;
    height: 36px;
  }
}

.about-detail__corp-list {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  text-align: left;
  gap: 16px;
  margin-top: 24px;
}
@media screen and (min-width: 768px) {
  .about-detail__corp-list {
    gap: 20px;
  }
}

.about-detail__corp-row {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: horizontal;
  -webkit-box-direction: normal;
      -ms-flex-direction: row;
          flex-direction: row;
  gap: 8px;
  padding-block: 8px;
  border-bottom: 0.5px dashed #25040c;
}
@media screen and (min-width: 768px) {
  .about-detail__corp-row {
    gap: 32px;
  }
}

@media screen and (min-width: 768px) {
  .about-detail__corp-label {
    -ms-flex-negative: 0;
        flex-shrink: 0;
    white-space: nowrap;
    font-size: 16px;
    line-height: 160%;
  }
}

@media screen and (min-width: 768px) {
  .about-detail__corp-value {
    min-width: 0;
    font-size: 16px;
    line-height: 160%;
  }
}

.about-detail__corp-history {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  text-align: left;
  gap: 16px;
  margin-top: 24px;
}
@media screen and (min-width: 768px) {
  .about-detail__corp-history {
    gap: 20px;
  }
}

.about-detail__corp-history-item {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  gap: 0px;
  padding-block: 8px;
  border-bottom: 0.5px dashed #25040c;
}
@media screen and (min-width: 768px) {
  .about-detail__corp-history-item {
    -webkit-box-orient: horizontal;
    -webkit-box-direction: normal;
        -ms-flex-direction: row;
            flex-direction: row;
    gap: 32px;
  }
}

@media screen and (min-width: 768px) {
  .about-detail__corp-year {
    -ms-flex-negative: 0;
        flex-shrink: 0;
    white-space: nowrap;
    font-size: 16px;
    line-height: 160%;
  }
}

.about-detail__corp-text {
  padding-left: 4px;
}
@media screen and (min-width: 768px) {
  .about-detail__corp-text {
    min-width: 0;
    font-size: 16px;
    line-height: 160%;
    padding-left: 0;
  }
}

@media screen and (min-width: 768px) and (max-width: 1023px) {
  .about-detail__corp-label,
  .about-detail__corp-value,
  .about-detail__corp-year,
  .about-detail__corp-text {
    font-size: 15px;
  }
}
.about-detail__school {
  position: relative;
  overflow: visible;
  padding-top: 48px;
  padding-bottom: 72px;
}
@media screen and (min-width: 1024px) {
  .about-detail__school {
    padding-top: 96px;
    padding-bottom: 64px;
  }
}
@media screen and (min-width: 768px) and (max-width: 1023px) {
  .about-detail__school {
    padding-block: 96px;
  }
}
.about-detail__school .about-detail__inner {
  position: relative;
  z-index: 1;
}
@media screen and (min-width: 1024px) {
  .about-detail__school .about-detail__inner {
    padding-inline: max(24px, (100vw - (1440px - 256px * 2)) / 2);
  }
}

.about-detail__school-decoration {
  position: absolute;
  inset: 0;
  z-index: 0;
  pointer-events: none;
  overflow: visible;
}

.about-detail__school-deco-bird {
  --bird-exit: 8px;
  position: absolute;
  width: auto;
  height: 60px;
  right: -4px;
  top: 0;
  -webkit-animation: about-detail-school-bird-float 8s linear infinite;
          animation: about-detail-school-bird-float 8s linear infinite;
}
@media screen and (min-width: 768px) {
  .about-detail__school-deco-bird {
    --bird-exit: 220px;
    height: 150px;
    right: 160px;
    top: 60px;
  }
}
@media (prefers-reduced-motion: reduce) {
  .about-detail__school-deco-bird {
    -webkit-animation: none;
            animation: none;
  }
}

@-webkit-keyframes about-detail-school-bird-float {
  0% {
    opacity: 0;
    -webkit-transform: translate(0, 8%);
            transform: translate(0, 8%);
  }
  8% {
    opacity: 1;
    -webkit-transform: translate(0, 0);
            transform: translate(0, 0);
  }
  20% {
    opacity: 1;
    -webkit-transform: translate(calc(16% + var(--bird-exit, 8px) * 0.16), -38%);
            transform: translate(calc(16% + var(--bird-exit, 8px) * 0.16), -38%);
  }
  32% {
    opacity: 1;
    -webkit-transform: translate(calc(30% + var(--bird-exit, 8px) * 0.3), -24%);
            transform: translate(calc(30% + var(--bird-exit, 8px) * 0.3), -24%);
  }
  44% {
    opacity: 1;
    -webkit-transform: translate(calc(44% + var(--bird-exit, 8px) * 0.44), -52%);
            transform: translate(calc(44% + var(--bird-exit, 8px) * 0.44), -52%);
  }
  56% {
    opacity: 1;
    -webkit-transform: translate(calc(58% + var(--bird-exit, 8px) * 0.58), -38%);
            transform: translate(calc(58% + var(--bird-exit, 8px) * 0.58), -38%);
  }
  68% {
    opacity: 1;
    -webkit-transform: translate(calc(72% + var(--bird-exit, 8px) * 0.72), -66%);
            transform: translate(calc(72% + var(--bird-exit, 8px) * 0.72), -66%);
  }
  80% {
    opacity: 1;
    -webkit-transform: translate(calc(86% + var(--bird-exit, 8px) * 0.86), -52%);
            transform: translate(calc(86% + var(--bird-exit, 8px) * 0.86), -52%);
  }
  92% {
    opacity: 0;
    -webkit-transform: translate(calc(100% + var(--bird-exit, 8px)), -82%);
            transform: translate(calc(100% + var(--bird-exit, 8px)), -82%);
  }
  100% {
    opacity: 0;
    -webkit-transform: translate(calc(100% + var(--bird-exit, 8px)), -82%);
            transform: translate(calc(100% + var(--bird-exit, 8px)), -82%);
  }
}

@keyframes about-detail-school-bird-float {
  0% {
    opacity: 0;
    -webkit-transform: translate(0, 8%);
            transform: translate(0, 8%);
  }
  8% {
    opacity: 1;
    -webkit-transform: translate(0, 0);
            transform: translate(0, 0);
  }
  20% {
    opacity: 1;
    -webkit-transform: translate(calc(16% + var(--bird-exit, 8px) * 0.16), -38%);
            transform: translate(calc(16% + var(--bird-exit, 8px) * 0.16), -38%);
  }
  32% {
    opacity: 1;
    -webkit-transform: translate(calc(30% + var(--bird-exit, 8px) * 0.3), -24%);
            transform: translate(calc(30% + var(--bird-exit, 8px) * 0.3), -24%);
  }
  44% {
    opacity: 1;
    -webkit-transform: translate(calc(44% + var(--bird-exit, 8px) * 0.44), -52%);
            transform: translate(calc(44% + var(--bird-exit, 8px) * 0.44), -52%);
  }
  56% {
    opacity: 1;
    -webkit-transform: translate(calc(58% + var(--bird-exit, 8px) * 0.58), -38%);
            transform: translate(calc(58% + var(--bird-exit, 8px) * 0.58), -38%);
  }
  68% {
    opacity: 1;
    -webkit-transform: translate(calc(72% + var(--bird-exit, 8px) * 0.72), -66%);
            transform: translate(calc(72% + var(--bird-exit, 8px) * 0.72), -66%);
  }
  80% {
    opacity: 1;
    -webkit-transform: translate(calc(86% + var(--bird-exit, 8px) * 0.86), -52%);
            transform: translate(calc(86% + var(--bird-exit, 8px) * 0.86), -52%);
  }
  92% {
    opacity: 0;
    -webkit-transform: translate(calc(100% + var(--bird-exit, 8px)), -82%);
            transform: translate(calc(100% + var(--bird-exit, 8px)), -82%);
  }
  100% {
    opacity: 0;
    -webkit-transform: translate(calc(100% + var(--bird-exit, 8px)), -82%);
            transform: translate(calc(100% + var(--bird-exit, 8px)), -82%);
  }
}
.about-detail__school-decoration-bg {
  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;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  text-align: center;
  inset: 0;
  overflow: visible;
}

.about-detail__school-tree {
  position: absolute;
  display: block;
  width: 240px;
  height: auto;
  max-width: none;
  opacity: 0.8;
}
.about-detail__school-tree img {
  display: block;
  width: 100%;
  height: auto;
}
.about-detail__school-tree:nth-child(1) {
  top: 298px;
  right: 0;
}
@media screen and (min-width: 1024px) {
  .about-detail__school-tree:nth-child(1) {
    width: 600px;
    height: 542px;
    top: 600px;
    right: auto;
    left: 50%;
    margin-inline: 0;
    -webkit-transform: translateX(-50%);
            transform: translateX(-50%);
  }
}
.about-detail__school-tree:nth-child(2) {
  top: 956px;
  left: 0;
  -webkit-transform: scaleX(-1);
          transform: scaleX(-1);
}
@media screen and (min-width: 1024px) {
  .about-detail__school-tree:nth-child(2) {
    display: none;
  }
}
.about-detail__school-tree:nth-child(3) {
  top: 1370px;
  right: 0;
}
@media screen and (min-width: 1024px) {
  .about-detail__school-tree:nth-child(3) {
    display: none;
  }
}

.about-detail__school-boxes {
  position: relative;
  z-index: 1;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  width: 100%;
  gap: 0;
  margin: 0;
  margin-top: 32px;
  padding: 0;
  overflow: visible;
}
@media screen and (min-width: 1024px) {
  .about-detail__school-boxes {
    width: 1440px;
    max-width: 1440px;
    margin-inline: auto;
    margin-bottom: -560px;
    pointer-events: none;
  }
  .about-detail__school-boxes .about-detail__school-info {
    pointer-events: auto;
  }
}

.about-detail__school-box {
  position: relative;
  width: 100%;
  margin: 0;
  padding: 0;
  overflow: visible;
}
.about-detail__school-box + .about-detail__school-box {
  margin-top: -16px;
}
@media screen and (min-width: 1024px) {
  .about-detail__school-box + .about-detail__school-box {
    margin-top: 0;
  }
}

@media screen and (min-width: 660px) and (max-width: 1023px) {
  .about-detail__school-boxes {
    margin-top: 32px;
  }
  .about-detail__school-box {
    width: 100%;
    max-width: 600px;
    margin-inline: auto;
    -ms-flex-item-align: center;
        align-self: center;
  }
  .about-detail__school-box + .about-detail__school-box {
    margin-top: 8px;
  }
  .about-detail__school-info {
    width: 100%;
    margin-inline: auto;
  }
  .about-detail__school br.hidden-sp {
    display: none;
  }
  .about-detail__school br.hidden-pc {
    display: block;
  }
  .about-detail__school-box--schedule br.hidden-pc {
    display: none;
  }
}
@media screen and (min-width: 1024px) {
  .about-detail__school-box--schedule {
    -ms-flex-item-align: start;
        align-self: flex-start;
    width: 720px;
    margin-left: 120px;
  }
  .about-detail__school-box--schedule .about-detail__school-info {
    top: 72px;
    left: 340px;
  }
}

@media screen and (min-width: 1024px) {
  .about-detail__school-box--capacity {
    -ms-flex-item-align: end;
        align-self: flex-end;
    width: 640px;
    margin-top: -72px;
    margin-right: 100px;
  }
  .about-detail__school-box--capacity .about-detail__school-info {
    top: -16px;
    left: -530px;
  }
}

@media screen and (min-width: 1024px) {
  .about-detail__school-box--admission {
    -ms-flex-item-align: start;
        align-self: flex-start;
    width: 680px;
    margin-top: -64px;
    margin-left: 200px;
  }
  .about-detail__school-box--admission .about-detail__school-info {
    top: -240px;
    right: -700px;
  }
}

@media screen and (min-width: 1024px) {
  .about-detail__school-box--fee {
    -ms-flex-item-align: end;
        align-self: flex-end;
    width: 760px;
    margin-top: -80px;
    margin-right: 80px;
  }
  .about-detail__school-box--fee .about-detail__school-info {
    top: -260px;
    left: -360px;
  }
}

@media screen and (min-width: 1024px) {
  .about-detail__school-box--staff {
    -ms-flex-item-align: start;
        align-self: flex-start;
    width: 660px;
    margin-top: -56px;
    margin-left: 140px;
  }
  .about-detail__school-box--staff .about-detail__school-info {
    top: -780px;
    right: -690px;
  }
}

.about-detail__school-box-bg {
  position: absolute;
  inset: 0;
  z-index: 0;
  overflow: visible;
}

.about-detail__school-box-img {
  position: absolute;
  top: -10%;
  left: 50%;
  display: block;
  width: 120%;
  height: 120%;
  max-width: none;
  -o-object-fit: fill;
     object-fit: fill;
  -webkit-transform: translateX(-50%);
          transform: translateX(-50%);
  opacity: 0.8;
}

.about-detail__school-box--admission .about-detail__school-box-img {
  width: 140%;
  height: 120%;
  margin-top: 12px;
  opacity: 0.6;
}

@media screen and (max-width: 659px) {
  .about-detail__school-box--admission {
    width: calc(100% - 4px);
    margin-inline: auto;
  }
  .about-detail__school-box--capacity .about-detail__school-box-img,
  .about-detail__school-box--staff .about-detail__school-box-img {
    width: 112%;
    left: calc(50% - 6px);
  }
  .about-detail__school-box--admission .about-detail__school-box-img {
    width: 136%;
  }
}
@media screen and (min-width: 1024px) {
  .about-detail__school-box-img {
    top: auto;
    right: auto;
    left: auto;
    width: auto;
    height: auto;
    margin-top: 0;
    -webkit-transform: none;
            transform: none;
  }
  .about-detail__school-box--schedule .about-detail__school-box-img {
    top: -24px;
    left: 300px;
    width: 576px;
    height: 640px;
    -webkit-transform: rotate(90deg);
            transform: rotate(90deg);
  }
  .about-detail__school-box--capacity .about-detail__school-box-img {
    top: -72px;
    left: -540px;
    width: 400px;
    height: 400px;
    -webkit-transform: rotate(60deg);
            transform: rotate(60deg);
  }
  .about-detail__school-box--admission .about-detail__school-box-img {
    top: -360px;
    left: auto;
    right: -500px;
    width: 560px;
    height: 600px;
    margin-top: 0;
    -webkit-transform: rotate(60deg);
            transform: rotate(60deg);
    opacity: 0.6;
  }
  .about-detail__school-box--fee .about-detail__school-box-img {
    top: -400px;
    left: -460px;
    width: 680px;
    height: 900px;
    -webkit-transform: rotate(-7deg);
            transform: rotate(-7deg);
  }
  .about-detail__school-box--staff .about-detail__school-box-img {
    top: -840px;
    right: -460px;
    width: 500px;
    height: 440px;
    -webkit-transform: rotate(4deg);
            transform: rotate(4deg);
  }
}
@media screen and (min-width: 1024px) and (max-width: 1439px) {
  .about-detail__school-boxes {
    left: 50%;
    -webkit-transform: translateX(-50%);
            transform: translateX(-50%);
  }
}
@media screen and (min-width: 1024px) and (max-width: 1279px) {
  .about-detail__school-box--capacity {
    -webkit-transform: translate(96px, 56px);
            transform: translate(96px, 56px);
  }
  .about-detail__school-box--admission {
    -webkit-transform: translateX(-96px);
            transform: translateX(-96px);
  }
  .about-detail__school-box--fee {
    -webkit-transform: translateX(24px);
            transform: translateX(24px);
  }
  .about-detail__school-box--staff {
    -webkit-transform: translateX(-24px);
            transform: translateX(-24px);
  }
}
.about-detail__school-info {
  position: relative;
  z-index: 1;
  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: center;
      -ms-flex-pack: center;
          justify-content: center;
  gap: 16px;
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
  padding: 48px 31px 48px 44px;
}

.about-detail__school-label {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  gap: 4px;
  font-size: 16px;
  font-weight: 500;
  line-height: 1.5;
}
@media screen and (min-width: 768px) {
  .about-detail__school-label {
    font-size: 24px;
    font-weight: 500;
  }
}

.about-detail__school-label-icon {
  -ms-flex-negative: 0;
      flex-shrink: 0;
  display: block;
  width: 16px;
  height: 16px;
}
@media screen and (min-width: 768px) {
  .about-detail__school-label-icon {
    width: 20px;
    height: 20px;
  }
}
.about-detail__school-label-icon img {
  display: block;
  width: 100%;
  height: 100%;
}

.about-detail__school-value {
  padding-left: 20px;
}
@media screen and (min-width: 768px) {
  .about-detail__school-value {
    font-size: 16px;
    line-height: 160%;
    padding-top: 2px;
    padding-left: 24px;
  }
}

.about-detail__school-hours-time {
  padding-left: 16px;
}

.about-detail__school-em {
  font-size: 18px;
}
@media screen and (min-width: 768px) {
  .about-detail__school-em {
    font-size: 22px;
  }
}

.about-detail__school-notes {
  padding-left: 0;
  list-style: none;
}

.about-detail__school-note {
  position: relative;
  padding-left: 0.85em;
}
.about-detail__school-note::before {
  content: "・";
  position: absolute;
  left: 0;
  top: 0;
  line-height: inherit;
}

.about-detail__school-fee {
  margin-top: 16px;
}

.about-detail__school-fee-label {
  font-size: 16px;
  font-weight: 500;
}

.about-detail__school-fee-price {
  padding-left: 16px;
}

.about-detail__school-fee-notes {
  padding-left: 16px;
  list-style: none;
}

.about-detail__school-fee-note {
  position: relative;
  padding-left: 0.85em;
}
.about-detail__school-fee-note::before {
  content: "・";
  position: absolute;
  left: 0;
  top: 0;
  line-height: inherit;
}

.about-detail__school-fee-text {
  padding-left: 16px;
}

.about-detail__school-note-line {
  display: block;
  padding-left: 1em;
  text-indent: -1em;
}

.access {
  background: #f6ebdd;
  padding-bottom: 8px;
  position: relative;
  overflow: visible;
}
@media screen and (min-width: 768px) {
  .access {
    padding-bottom: 224px;
  }
}
@media screen and (min-width: 768px) and (max-width: 1023px) {
  .access {
    padding-bottom: 106px;
  }
}

@media screen and (min-width: 768px) {
  .access__inner {
    padding-inline: 0;
  }
}

.access__contents {
  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: center;
      -ms-flex-pack: center;
          justify-content: center;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  width: 100%;
  gap: 16px;
}
@media screen and (min-width: 768px) {
  .access__contents {
    -webkit-box-orient: horizontal;
    -webkit-box-direction: normal;
        -ms-flex-direction: row;
            flex-direction: row;
    -webkit-box-align: start;
        -ms-flex-align: start;
            align-items: flex-start;
    gap: 24px;
    max-width: 928px;
    margin-inline: auto;
  }
}

.access__card {
  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: start;
      -ms-flex-pack: start;
          justify-content: flex-start;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
  width: calc(100% - 32px);
  max-width: 360px;
  height: auto;
  margin-inline: 16px;
  background: #fbf8f3;
  padding: 16px;
  border-radius: 16px;
  overflow: hidden;
}
@media screen and (min-width: 768px) {
  .access__card {
    width: 344px;
    height: 456px;
    margin-inline: 0;
    padding-bottom: 16px;
    overflow: visible;
  }
}

.access__card-logo {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  width: 100%;
  height: 80px;
}
@media screen and (min-width: 768px) {
  .access__card-logo {
    margin-top: 8px;
  }
}

.access__card-logo-img {
  display: block;
  width: 240px;
  max-width: 100%;
  height: auto;
  margin-inline: auto;
}
@media screen and (min-width: 768px) {
  .access__card-logo-img {
    width: 312px;
  }
}

.access__card-body {
  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: start;
      -ms-flex-align: start;
          align-items: flex-start;
  width: 100%;
  gap: 0;
  -ms-flex-negative: 0;
      flex-shrink: 0;
}
@media screen and (min-width: 430px) {
  .access__card-body {
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    text-align: center;
  }
}
@media screen and (min-width: 768px) {
  .access__card-body {
    margin-top: 8px;
  }
}

.access__card-address-block {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: horizontal;
  -webkit-box-direction: normal;
      -ms-flex-direction: row;
          flex-direction: row;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  gap: 8px;
}
@media screen and (min-width: 430px) {
  .access__card-address-block {
    -webkit-box-pack: center;
        -ms-flex-pack: center;
            justify-content: center;
  }
}

@media screen and (min-width: 768px) {
  .access__card-post {
    font-size: 16px;
    line-height: 140%;
  }
}

@media screen and (min-width: 768px) {
  .access__card-address {
    font-size: 16px;
    line-height: 140%;
  }
}

.access__card-tel {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: horizontal;
  -webkit-box-direction: normal;
      -ms-flex-direction: row;
          flex-direction: row;
  -webkit-box-align: baseline;
      -ms-flex-align: baseline;
          align-items: baseline;
  gap: 4px;
}
@media screen and (min-width: 430px) {
  .access__card-tel {
    -webkit-box-pack: center;
        -ms-flex-pack: center;
            justify-content: center;
  }
}

.access__card-tel-label {
  -webkit-transform: translateY(-2px);
          transform: translateY(-2px);
}
@media screen and (min-width: 768px) {
  .access__card-tel-label {
    font-size: 16px;
    line-height: 160%;
  }
}

.access__card-tel-link {
  font-size: 20px;
  font-weight: 500;
}
@media screen and (min-width: 768px) {
  .access__card-tel-link {
    font-size: 24px;
    line-height: 160%;
  }
}

.access__card-email {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: horizontal;
  -webkit-box-direction: normal;
      -ms-flex-direction: row;
          flex-direction: row;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  -webkit-box-align: baseline;
      -ms-flex-align: baseline;
          align-items: baseline;
  gap: 4px;
  width: 100%;
}
@media screen and (min-width: 430px) {
  .access__card-email {
    -webkit-box-pack: center;
        -ms-flex-pack: center;
            justify-content: center;
  }
}

.access__card-email-label {
  -ms-flex-negative: 0;
      flex-shrink: 0;
}
@media screen and (min-width: 768px) {
  .access__card-email-label {
    font-size: 16px;
    line-height: 160%;
  }
}

.access__card-email-link {
  overflow-wrap: anywhere;
  word-break: break-all;
}
@media screen and (min-width: 768px) {
  .access__card-email-link {
    font-size: 16px;
    line-height: 160%;
  }
}

.access__card-photo {
  width: 100%;
  -ms-flex-negative: 0;
      flex-shrink: 0;
}
@media screen and (min-width: 768px) {
  .access__card-photo {
    margin-top: auto;
  }
}

.access__card-photo-img {
  display: block;
  width: 100%;
  max-width: 328px;
  height: auto;
  margin-top: 16px;
  margin-inline: auto;
}
@media screen and (min-width: 768px) {
  .access__card-photo-img {
    width: 312px;
    max-width: none;
    height: auto;
    -o-object-fit: cover;
       object-fit: cover;
    margin-top: 4px;
  }
}

.access__map {
  width: 328px;
  height: 267px;
  margin-inline: 16px;
  border-radius: 16px;
  overflow: hidden;
}
@media screen and (min-width: 768px) {
  .access__map {
    width: 560px;
    height: 456px;
    margin-inline: 0;
  }
}
@media screen and (min-width: 768px) and (max-width: 1023px) {
  .access__map {
    width: 328px;
    height: 267px;
  }
}
.access__map iframe {
  display: block;
  width: 100%;
  height: 100%;
  border: 0;
}

.access__bottom-decoration {
  position: relative;
  height: 96px;
  margin-left: 24px;
  margin-right: 23px;
  overflow: visible;
}
@media screen and (min-width: 768px) {
  .access__bottom-decoration {
    height: 128px;
    margin-inline: 0;
  }
}

.access__bottom-decoration-img {
  position: relative;
}

@-webkit-keyframes access-decoration-sway {
  0%, 100% {
    -webkit-transform: rotate(-3deg);
            transform: rotate(-3deg);
  }
  50% {
    -webkit-transform: rotate(3deg);
            transform: rotate(3deg);
  }
}

@keyframes access-decoration-sway {
  0%, 100% {
    -webkit-transform: rotate(-3deg);
            transform: rotate(-3deg);
  }
  50% {
    -webkit-transform: rotate(3deg);
            transform: rotate(3deg);
  }
}
@-webkit-keyframes access-tree5-sway {
  0%, 100% {
    -webkit-transform: rotate(calc(var(--tree5-base) - 1deg));
            transform: rotate(calc(var(--tree5-base) - 1deg));
  }
  50% {
    -webkit-transform: rotate(calc(var(--tree5-base) + 5deg));
            transform: rotate(calc(var(--tree5-base) + 5deg));
  }
}
@keyframes access-tree5-sway {
  0%, 100% {
    -webkit-transform: rotate(calc(var(--tree5-base) - 1deg));
            transform: rotate(calc(var(--tree5-base) - 1deg));
  }
  50% {
    -webkit-transform: rotate(calc(var(--tree5-base) + 5deg));
            transform: rotate(calc(var(--tree5-base) + 5deg));
  }
}
.access__bottom-decoration-tree1,
.access__bottom-decoration-tree2,
.access__bottom-decoration-tree3,
.access__bottom-decoration-tree4,
.access__bottom-decoration-tree6,
.access__bottom-decoration-tree7 {
  position: absolute;
  -webkit-transform-origin: bottom center;
          transform-origin: bottom center;
  -webkit-animation: access-decoration-sway 3s ease-in-out infinite;
          animation: access-decoration-sway 3s ease-in-out infinite;
}
@media (prefers-reduced-motion: reduce) {
  .access__bottom-decoration-tree1,
  .access__bottom-decoration-tree2,
  .access__bottom-decoration-tree3,
  .access__bottom-decoration-tree4,
  .access__bottom-decoration-tree6,
  .access__bottom-decoration-tree7 {
    -webkit-animation: none;
            animation: none;
  }
}

.access__bottom-decoration-tree1 {
  width: 124px;
  height: auto;
  left: -30px;
  bottom: -32px;
  z-index: 0;
  -webkit-animation-delay: -0.5s;
          animation-delay: -0.5s;
}
@media screen and (min-width: 768px) {
  .access__bottom-decoration-tree1 {
    width: 480px;
    left: -32px;
    bottom: -282px;
  }
}

.access__bottom-decoration-tree2 {
  width: 61px;
  height: auto;
  left: 66px;
  bottom: -34px;
  z-index: 0;
  -webkit-animation-delay: -1.5s;
          animation-delay: -1.5s;
}
@media screen and (min-width: 768px) {
  .access__bottom-decoration-tree2 {
    width: 243px;
    left: 320px;
    bottom: -284px;
  }
}

.access__bottom-decoration-tree3 {
  width: 56px;
  height: auto;
  left: 114px;
  bottom: -36px;
  z-index: 1;
  -webkit-animation-delay: -0.9s;
          animation-delay: -0.9s;
}
@media screen and (min-width: 768px) {
  .access__bottom-decoration-tree3 {
    width: 220px;
    left: 520px;
    bottom: -312px;
  }
}

.access__bottom-decoration-tree4 {
  width: 41px;
  height: auto;
  left: 158px;
  bottom: -30px;
  z-index: 2;
  -webkit-animation-delay: -1.8s;
          animation-delay: -1.8s;
}
@media screen and (min-width: 768px) {
  .access__bottom-decoration-tree4 {
    width: 164px;
    left: 660px;
    bottom: -264px;
  }
}

.access__bottom-decoration-tree5 {
  position: absolute;
  -webkit-transform-origin: bottom center;
          transform-origin: bottom center;
  width: 95px;
  height: auto;
  left: 180px;
  bottom: -30px;
  z-index: 1;
  -webkit-animation: access-decoration-sway 3s ease-in-out -0.2s infinite;
          animation: access-decoration-sway 3s ease-in-out -0.2s infinite;
}
@media screen and (min-width: 768px) {
  .access__bottom-decoration-tree5 {
    --tree5-base: 5deg;
    width: 380px;
    left: 740px;
    bottom: -280px;
    -webkit-animation: access-tree5-sway 3s ease-in-out -0.2s infinite;
            animation: access-tree5-sway 3s ease-in-out -0.2s infinite;
  }
}

.access__bottom-decoration-tree6 {
  width: 56px;
  height: auto;
  left: 260px;
  bottom: -30px;
  z-index: 1;
  -webkit-animation-delay: -1.7s;
          animation-delay: -1.7s;
}
@media screen and (min-width: 768px) and (max-width: 1279px) {
  .access__bottom-decoration-tree6 {
    display: none;
  }
}
@media screen and (min-width: 1280px) {
  .access__bottom-decoration-tree6 {
    display: block;
    width: 220px;
    left: auto;
    right: 148px;
    bottom: -268px;
  }
}

.access__bottom-decoration-tree7 {
  width: auto;
  height: 128px;
  left: 288px;
  bottom: -52px;
  z-index: 0;
  -webkit-animation-delay: -1.1s;
          animation-delay: -1.1s;
}
@media screen and (min-width: 768px) {
  .access__bottom-decoration-tree7 {
    height: 512px;
    width: auto;
    left: auto;
    right: -22px;
    bottom: -308px;
  }
}

@media screen and (min-width: 376px) and (max-width: 767px) {
  .access__bottom-decoration-tree2,
  .access__bottom-decoration-tree3,
  .access__bottom-decoration-tree4,
  .access__bottom-decoration-tree5,
  .access__bottom-decoration-tree6 {
    zoom: calc(100vw / 375px);
  }
  .access__bottom-decoration-tree1 {
    width: 33.066667vw;
    left: -30px;
    bottom: -8.533333vw;
  }
  .access__bottom-decoration-tree7 {
    height: 34.133333vw;
    left: auto;
    right: -27px;
    bottom: -13.866667vw;
  }
}
@media screen and (min-width: 768px) and (max-width: 1023px) {
  .access__bottom-decoration-tree1 {
    bottom: -332px;
  }
  .access__bottom-decoration-tree2 {
    bottom: -338px;
  }
  .access__bottom-decoration-tree3 {
    bottom: -364px;
  }
  .access__bottom-decoration-tree4 {
    bottom: -318px;
  }
  .access__bottom-decoration-tree5 {
    bottom: -328px;
  }
  .access__bottom-decoration-tree7 {
    bottom: -358px;
  }
}
@media screen and (min-width: 768px) and (max-width: 1023px) {
  .access__bottom-decoration-tree1 {
    bottom: -180px;
  }
  .access__bottom-decoration-tree2 {
    left: 22%;
    bottom: -186px;
  }
  .access__bottom-decoration-tree3 {
    left: 36%;
    bottom: -212px;
  }
  .access__bottom-decoration-tree4 {
    left: 48%;
    bottom: -166px;
  }
  .access__bottom-decoration-tree5 {
    left: 56%;
    width: 380px;
    bottom: -176px;
  }
  .access__bottom-decoration-tree6 {
    display: block;
    width: 220px;
    left: auto;
    right: 14%;
    bottom: -176px;
  }
  .access__bottom-decoration-tree7 {
    bottom: -206px;
  }
}
.access__bottom-decoration-fills {
  display: none;
}
@media screen and (min-width: 1441px) {
  .access__bottom-decoration-fills {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    position: absolute;
    left: 1000px;
    right: 560px;
    bottom: 0;
    z-index: 0;
    -webkit-box-align: end;
        -ms-flex-align: end;
            align-items: flex-end;
    -webkit-box-pack: start;
        -ms-flex-pack: start;
            justify-content: flex-start;
    -ms-flex-wrap: nowrap;
        flex-wrap: nowrap;
    gap: 0;
    pointer-events: none;
    overflow: visible;
  }
}

.access__bottom-decoration-fill {
  display: block;
  width: auto;
  height: auto;
  max-width: none;
  -webkit-box-flex: 0;
      -ms-flex: 0 0 auto;
          flex: 0 0 auto;
  -webkit-transform-origin: bottom center;
          transform-origin: bottom center;
  -webkit-animation: access-decoration-sway 3s ease-in-out infinite;
          animation: access-decoration-sway 3s ease-in-out infinite;
  margin-left: -56px;
}
.access__bottom-decoration-fill:first-child {
  margin-left: 0;
}
@media (prefers-reduced-motion: reduce) {
  .access__bottom-decoration-fill {
    -webkit-animation: none;
            animation: none;
  }
}
.access__bottom-decoration-fill--a {
  width: 164px;
  margin-bottom: -268px;
  z-index: 2;
  -webkit-animation-delay: -0.4s;
          animation-delay: -0.4s;
}
.access__bottom-decoration-fill--b {
  width: 220px;
  margin-bottom: -328px;
  z-index: 1;
  -webkit-animation-delay: -1.3s;
          animation-delay: -1.3s;
}
.access__bottom-decoration-fill--c {
  width: 280px;
  margin-bottom: -296px;
  z-index: 0;
  -webkit-animation-delay: -0.8s;
          animation-delay: -0.8s;
}

.access__shabons {
  display: block;
  position: absolute;
  left: 0;
  right: 0;
  bottom: 0;
  height: 0;
  pointer-events: none;
  z-index: 40;
  overflow: visible;
}

@property --shabon-x {
  syntax: "<length>";
  inherits: false;
  initial-value: 0px;
}
@property --shabon-y {
  syntax: "<length>";
  inherits: false;
  initial-value: 0px;
}
@property --shabon-s {
  syntax: "<number>";
  inherits: false;
  initial-value: 1;
}
.access__shabon {
  position: absolute;
  bottom: 48px;
  display: block;
  width: 32px;
  height: auto;
  max-width: none;
  opacity: 0;
  --shabon-x: 0px;
  --shabon-y: 0px;
  --shabon-s: 1;
  --shabon-base-s: 1;
  -webkit-transform: translate3d(var(--shabon-x), var(--shabon-y), 0) scale(calc(var(--shabon-s) * var(--shabon-base-s)));
          transform: translate3d(var(--shabon-x), var(--shabon-y), 0) scale(calc(var(--shabon-s) * var(--shabon-base-s)));
  will-change: transform, opacity;
}
@media screen and (min-width: 768px) {
  .access__shabon {
    bottom: 120px;
  }
}
@media screen and (max-width: 1023px) {
  .access__shabon {
    --shabon-base-s: 0.9;
  }
}
@media (prefers-reduced-motion: reduce) {
  .access__shabon {
    -webkit-animation: none !important;
            animation: none !important;
    opacity: 0;
  }
}

.access__shabon--1 {
  left: 8%;
  width: 40px;
  -webkit-animation: access-shabon-rise-1 54s linear -2s infinite, access-shabon-sway-a 16s ease-in-out -2s infinite;
          animation: access-shabon-rise-1 54s linear -2s infinite, access-shabon-sway-a 16s ease-in-out -2s infinite;
}
@media screen and (min-width: 768px) {
  .access__shabon--1 {
    width: 80px;
  }
}

.access__shabon--2 {
  left: 24%;
  width: 28px;
  -webkit-animation: access-shabon-rise-2 63s linear -6s infinite, access-shabon-sway-b 19s ease-in-out -6s infinite;
          animation: access-shabon-rise-2 63s linear -6s infinite, access-shabon-sway-b 19s ease-in-out -6s infinite;
}
@media screen and (min-width: 768px) {
  .access__shabon--2 {
    width: 56px;
  }
}

.access__shabon--3 {
  left: 42%;
  width: 48px;
  -webkit-animation: access-shabon-rise-3 57s linear -10s infinite, access-shabon-sway-c 15s ease-in-out -4s infinite;
          animation: access-shabon-rise-3 57s linear -10s infinite, access-shabon-sway-c 15s ease-in-out -4s infinite;
}
@media screen and (min-width: 768px) {
  .access__shabon--3 {
    width: 96px;
  }
}

.access__shabon--4 {
  left: 58%;
  width: 32px;
  -webkit-animation: access-shabon-rise-4 66s linear -15s infinite, access-shabon-sway-a 20s ease-in-out -10s infinite;
          animation: access-shabon-rise-4 66s linear -15s infinite, access-shabon-sway-a 20s ease-in-out -10s infinite;
}
@media screen and (min-width: 768px) {
  .access__shabon--4 {
    width: 64px;
  }
}

.access__shabon--5 {
  left: 74%;
  width: 36px;
  -webkit-animation: access-shabon-rise-5 51s linear -20s infinite, access-shabon-sway-b 17s ease-in-out -3s infinite;
          animation: access-shabon-rise-5 51s linear -20s infinite, access-shabon-sway-b 17s ease-in-out -3s infinite;
}
@media screen and (min-width: 768px) {
  .access__shabon--5 {
    width: 72px;
  }
}

.access__shabon--6 {
  left: 16%;
  width: 44px;
  -webkit-animation: access-shabon-rise-6 60s linear -24s infinite, access-shabon-sway-c 18s ease-in-out -8s infinite;
          animation: access-shabon-rise-6 60s linear -24s infinite, access-shabon-sway-c 18s ease-in-out -8s infinite;
}
@media screen and (min-width: 768px) {
  .access__shabon--6 {
    width: 88px;
  }
}

.access__shabon--7 {
  left: 34%;
  width: 30px;
  -webkit-animation: access-shabon-rise-1 69s linear -28s infinite, access-shabon-sway-b 22s ease-in-out -12s infinite;
          animation: access-shabon-rise-1 69s linear -28s infinite, access-shabon-sway-b 22s ease-in-out -12s infinite;
}
@media screen and (min-width: 768px) {
  .access__shabon--7 {
    width: 60px;
  }
}

.access__shabon--8 {
  left: 66%;
  width: 42px;
  -webkit-animation: access-shabon-rise-3 48s linear -33s infinite, access-shabon-sway-a 14s ease-in-out -1s infinite;
          animation: access-shabon-rise-3 48s linear -33s infinite, access-shabon-sway-a 14s ease-in-out -1s infinite;
}
@media screen and (min-width: 768px) {
  .access__shabon--8 {
    width: 84px;
  }
}

.access__shabon--9 {
  left: 50%;
  width: 26px;
  -webkit-animation: access-shabon-rise-5 72s linear -38s infinite, access-shabon-sway-c 21s ease-in-out -14s infinite;
          animation: access-shabon-rise-5 72s linear -38s infinite, access-shabon-sway-c 21s ease-in-out -14s infinite;
}
@media screen and (min-width: 768px) {
  .access__shabon--9 {
    width: 52px;
  }
}

.access__shabon--10 {
  left: 86%;
  width: 38px;
  -webkit-animation: access-shabon-rise-2 60s linear -42s infinite, access-shabon-sway-a 16s ease-in-out -5s infinite;
          animation: access-shabon-rise-2 60s linear -42s infinite, access-shabon-sway-a 16s ease-in-out -5s infinite;
}
@media screen and (min-width: 768px) {
  .access__shabon--10 {
    width: 76px;
  }
}

.access__shabon--11 {
  left: 4%;
  width: 34px;
  -webkit-animation: access-shabon-rise-4 55s linear -46s infinite, access-shabon-sway-b 18s ease-in-out -9s infinite;
          animation: access-shabon-rise-4 55s linear -46s infinite, access-shabon-sway-b 18s ease-in-out -9s infinite;
}
@media screen and (min-width: 768px) {
  .access__shabon--11 {
    width: 68px;
  }
}

.access__shabon--12 {
  left: 20%;
  width: 46px;
  -webkit-animation: access-shabon-rise-6 64s linear -50s infinite, access-shabon-sway-c 16s ease-in-out -2s infinite;
          animation: access-shabon-rise-6 64s linear -50s infinite, access-shabon-sway-c 16s ease-in-out -2s infinite;
}
@media screen and (min-width: 768px) {
  .access__shabon--12 {
    width: 92px;
  }
}

.access__shabon--13 {
  left: 38%;
  width: 29px;
  -webkit-animation: access-shabon-rise-1 58s linear -3s infinite, access-shabon-sway-a 19s ease-in-out -7s infinite;
          animation: access-shabon-rise-1 58s linear -3s infinite, access-shabon-sway-a 19s ease-in-out -7s infinite;
}
@media screen and (min-width: 768px) {
  .access__shabon--13 {
    width: 58px;
  }
}

.access__shabon--14 {
  left: 54%;
  width: 41px;
  -webkit-animation: access-shabon-rise-3 67s linear -12s infinite, access-shabon-sway-b 15s ease-in-out -11s infinite;
          animation: access-shabon-rise-3 67s linear -12s infinite, access-shabon-sway-b 15s ease-in-out -11s infinite;
}
@media screen and (min-width: 768px) {
  .access__shabon--14 {
    width: 82px;
  }
}

.access__shabon--15 {
  left: 70%;
  width: 27px;
  -webkit-animation: access-shabon-rise-5 52s linear -21s infinite, access-shabon-sway-c 20s ease-in-out -1.5s infinite;
          animation: access-shabon-rise-5 52s linear -21s infinite, access-shabon-sway-c 20s ease-in-out -1.5s infinite;
}
@media screen and (min-width: 768px) {
  .access__shabon--15 {
    width: 54px;
  }
}

@-webkit-keyframes access-shabon-sway-a {
  0%, 100% {
    --shabon-x: 0px;
  }
  25% {
    --shabon-x: 36vw;
  }
  50% {
    --shabon-x: 0px;
  }
  75% {
    --shabon-x: -36vw;
  }
}

@keyframes access-shabon-sway-a {
  0%, 100% {
    --shabon-x: 0px;
  }
  25% {
    --shabon-x: 36vw;
  }
  50% {
    --shabon-x: 0px;
  }
  75% {
    --shabon-x: -36vw;
  }
}
@-webkit-keyframes access-shabon-sway-b {
  0%, 100% {
    --shabon-x: 0px;
  }
  25% {
    --shabon-x: -34vw;
  }
  50% {
    --shabon-x: 0px;
  }
  75% {
    --shabon-x: 34vw;
  }
}
@keyframes access-shabon-sway-b {
  0%, 100% {
    --shabon-x: 0px;
  }
  25% {
    --shabon-x: -34vw;
  }
  50% {
    --shabon-x: 0px;
  }
  75% {
    --shabon-x: 34vw;
  }
}
@-webkit-keyframes access-shabon-sway-c {
  0%, 100% {
    --shabon-x: 0px;
  }
  25% {
    --shabon-x: 40vw;
  }
  50% {
    --shabon-x: 0px;
  }
  75% {
    --shabon-x: -38vw;
  }
}
@keyframes access-shabon-sway-c {
  0%, 100% {
    --shabon-x: 0px;
  }
  25% {
    --shabon-x: 40vw;
  }
  50% {
    --shabon-x: 0px;
  }
  75% {
    --shabon-x: -38vw;
  }
}
@-webkit-keyframes access-shabon-rise-1 {
  0% {
    opacity: 0;
    --shabon-y: 0px;
    --shabon-s: 1;
  }
  2% {
    opacity: 0.95;
  }
  88% {
    opacity: 0.95;
    --shabon-y: -7400px;
    --shabon-s: 0.93;
  }
  100% {
    opacity: 0;
    --shabon-y: -7800px;
    --shabon-s: 0.92;
  }
}
@keyframes access-shabon-rise-1 {
  0% {
    opacity: 0;
    --shabon-y: 0px;
    --shabon-s: 1;
  }
  2% {
    opacity: 0.95;
  }
  88% {
    opacity: 0.95;
    --shabon-y: -7400px;
    --shabon-s: 0.93;
  }
  100% {
    opacity: 0;
    --shabon-y: -7800px;
    --shabon-s: 0.92;
  }
}
@-webkit-keyframes access-shabon-rise-2 {
  0% {
    opacity: 0;
    --shabon-y: 0px;
    --shabon-s: 1;
  }
  2% {
    opacity: 0.9;
  }
  88% {
    opacity: 0.9;
    --shabon-y: -7100px;
    --shabon-s: 0.93;
  }
  100% {
    opacity: 0;
    --shabon-y: -7500px;
    --shabon-s: 0.92;
  }
}
@keyframes access-shabon-rise-2 {
  0% {
    opacity: 0;
    --shabon-y: 0px;
    --shabon-s: 1;
  }
  2% {
    opacity: 0.9;
  }
  88% {
    opacity: 0.9;
    --shabon-y: -7100px;
    --shabon-s: 0.93;
  }
  100% {
    opacity: 0;
    --shabon-y: -7500px;
    --shabon-s: 0.92;
  }
}
@-webkit-keyframes access-shabon-rise-3 {
  0% {
    opacity: 0;
    --shabon-y: 0px;
    --shabon-s: 1;
  }
  2% {
    opacity: 0.95;
  }
  88% {
    opacity: 0.95;
    --shabon-y: -7500px;
    --shabon-s: 0.93;
  }
  100% {
    opacity: 0;
    --shabon-y: -7900px;
    --shabon-s: 0.92;
  }
}
@keyframes access-shabon-rise-3 {
  0% {
    opacity: 0;
    --shabon-y: 0px;
    --shabon-s: 1;
  }
  2% {
    opacity: 0.95;
  }
  88% {
    opacity: 0.95;
    --shabon-y: -7500px;
    --shabon-s: 0.93;
  }
  100% {
    opacity: 0;
    --shabon-y: -7900px;
    --shabon-s: 0.92;
  }
}
@-webkit-keyframes access-shabon-rise-4 {
  0% {
    opacity: 0;
    --shabon-y: 0px;
    --shabon-s: 1;
  }
  2% {
    opacity: 0.9;
  }
  88% {
    opacity: 0.9;
    --shabon-y: -7200px;
    --shabon-s: 0.93;
  }
  100% {
    opacity: 0;
    --shabon-y: -7600px;
    --shabon-s: 0.92;
  }
}
@keyframes access-shabon-rise-4 {
  0% {
    opacity: 0;
    --shabon-y: 0px;
    --shabon-s: 1;
  }
  2% {
    opacity: 0.9;
  }
  88% {
    opacity: 0.9;
    --shabon-y: -7200px;
    --shabon-s: 0.93;
  }
  100% {
    opacity: 0;
    --shabon-y: -7600px;
    --shabon-s: 0.92;
  }
}
@-webkit-keyframes access-shabon-rise-5 {
  0% {
    opacity: 0;
    --shabon-y: 0px;
    --shabon-s: 1;
  }
  2% {
    opacity: 0.95;
  }
  88% {
    opacity: 0.95;
    --shabon-y: -7400px;
    --shabon-s: 0.93;
  }
  100% {
    opacity: 0;
    --shabon-y: -7800px;
    --shabon-s: 0.92;
  }
}
@keyframes access-shabon-rise-5 {
  0% {
    opacity: 0;
    --shabon-y: 0px;
    --shabon-s: 1;
  }
  2% {
    opacity: 0.95;
  }
  88% {
    opacity: 0.95;
    --shabon-y: -7400px;
    --shabon-s: 0.93;
  }
  100% {
    opacity: 0;
    --shabon-y: -7800px;
    --shabon-s: 0.92;
  }
}
@-webkit-keyframes access-shabon-rise-6 {
  0% {
    opacity: 0;
    --shabon-y: 0px;
    --shabon-s: 1;
  }
  2% {
    opacity: 0.92;
  }
  88% {
    opacity: 0.92;
    --shabon-y: -7200px;
    --shabon-s: 0.93;
  }
  100% {
    opacity: 0;
    --shabon-y: -7600px;
    --shabon-s: 0.92;
  }
}
@keyframes access-shabon-rise-6 {
  0% {
    opacity: 0;
    --shabon-y: 0px;
    --shabon-s: 1;
  }
  2% {
    opacity: 0.92;
  }
  88% {
    opacity: 0.92;
    --shabon-y: -7200px;
    --shabon-s: 0.93;
  }
  100% {
    opacity: 0;
    --shabon-y: -7600px;
    --shabon-s: 0.92;
  }
}
.feature {
  position: relative;
  overflow-x: clip;
}

.feature__decoration {
  position: relative;
}

@-webkit-keyframes feature-decoration-sway {
  0%, 100% {
    -webkit-transform: rotate(-3deg);
            transform: rotate(-3deg);
  }
  50% {
    -webkit-transform: rotate(3deg);
            transform: rotate(3deg);
  }
}

@keyframes feature-decoration-sway {
  0%, 100% {
    -webkit-transform: rotate(-3deg);
            transform: rotate(-3deg);
  }
  50% {
    -webkit-transform: rotate(3deg);
            transform: rotate(3deg);
  }
}
.feature__deco-flower-purple {
  position: absolute;
  width: auto;
  height: 64px;
  top: -72px;
  left: -16px;
  -webkit-transform-origin: left bottom;
          transform-origin: left bottom;
  -webkit-animation: feature-decoration-sway 3s ease-in-out -0.4s infinite;
          animation: feature-decoration-sway 3s ease-in-out -0.4s infinite;
}
@media (prefers-reduced-motion: reduce) {
  .feature__deco-flower-purple {
    -webkit-animation: none;
            animation: none;
  }
}
@media screen and (min-width: 768px) {
  .feature__deco-flower-purple {
    width: auto;
    height: 224px;
    top: -150px;
    left: -56px;
  }
}
@media screen and (min-width: 768px) and (min-width: 768px) and (max-width: 1023px) {
  .feature__deco-flower-purple {
    top: -220px;
  }
}

.feature__deco-reef-green {
  position: absolute;
  width: auto;
  height: 132px;
  top: -88px;
  left: -12px;
  -webkit-transform-origin: left bottom;
          transform-origin: left bottom;
  -webkit-animation: feature-decoration-sway 3s ease-in-out -1.2s infinite;
          animation: feature-decoration-sway 3s ease-in-out -1.2s infinite;
}
@media (prefers-reduced-motion: reduce) {
  .feature__deco-reef-green {
    -webkit-animation: none;
            animation: none;
  }
}
@media screen and (min-width: 768px) {
  .feature__deco-reef-green {
    width: auto;
    height: 373.79px;
    top: -150px;
    left: -50px;
  }
}
@media screen and (min-width: 768px) and (min-width: 768px) and (max-width: 1023px) {
  .feature__deco-reef-green {
    top: -220px;
  }
}

@-webkit-keyframes feature-deco-bird-float {
  0% {
    opacity: 0;
    -webkit-transform: translate(0, 8%);
            transform: translate(0, 8%);
  }
  8% {
    opacity: 1;
    -webkit-transform: translate(0, 0);
            transform: translate(0, 0);
  }
  20% {
    opacity: 1;
    -webkit-transform: translate(16%, -38%);
            transform: translate(16%, -38%);
  }
  32% {
    opacity: 1;
    -webkit-transform: translate(30%, -24%);
            transform: translate(30%, -24%);
  }
  44% {
    opacity: 1;
    -webkit-transform: translate(44%, -52%);
            transform: translate(44%, -52%);
  }
  56% {
    opacity: 1;
    -webkit-transform: translate(58%, -38%);
            transform: translate(58%, -38%);
  }
  68% {
    opacity: 1;
    -webkit-transform: translate(72%, -66%);
            transform: translate(72%, -66%);
  }
  80% {
    opacity: 1;
    -webkit-transform: translate(86%, -52%);
            transform: translate(86%, -52%);
  }
  92% {
    opacity: 1;
    -webkit-transform: translate(calc(100% + var(--bird-exit, 8px)), -82%);
            transform: translate(calc(100% + var(--bird-exit, 8px)), -82%);
  }
  93%, 100% {
    opacity: 0;
    -webkit-transform: translate(calc(100% + var(--bird-exit, 8px)), -82%);
            transform: translate(calc(100% + var(--bird-exit, 8px)), -82%);
  }
}

@keyframes feature-deco-bird-float {
  0% {
    opacity: 0;
    -webkit-transform: translate(0, 8%);
            transform: translate(0, 8%);
  }
  8% {
    opacity: 1;
    -webkit-transform: translate(0, 0);
            transform: translate(0, 0);
  }
  20% {
    opacity: 1;
    -webkit-transform: translate(16%, -38%);
            transform: translate(16%, -38%);
  }
  32% {
    opacity: 1;
    -webkit-transform: translate(30%, -24%);
            transform: translate(30%, -24%);
  }
  44% {
    opacity: 1;
    -webkit-transform: translate(44%, -52%);
            transform: translate(44%, -52%);
  }
  56% {
    opacity: 1;
    -webkit-transform: translate(58%, -38%);
            transform: translate(58%, -38%);
  }
  68% {
    opacity: 1;
    -webkit-transform: translate(72%, -66%);
            transform: translate(72%, -66%);
  }
  80% {
    opacity: 1;
    -webkit-transform: translate(86%, -52%);
            transform: translate(86%, -52%);
  }
  92% {
    opacity: 1;
    -webkit-transform: translate(calc(100% + var(--bird-exit, 8px)), -82%);
            transform: translate(calc(100% + var(--bird-exit, 8px)), -82%);
  }
  93%, 100% {
    opacity: 0;
    -webkit-transform: translate(calc(100% + var(--bird-exit, 8px)), -82%);
            transform: translate(calc(100% + var(--bird-exit, 8px)), -82%);
  }
}
.feature__deco-bird {
  --bird-exit: 8px;
  position: absolute;
  width: auto;
  height: 72px;
  top: -84px;
  right: -2px;
  -webkit-animation: feature-deco-bird-float 8s linear infinite;
          animation: feature-deco-bird-float 8s linear infinite;
}
@media (prefers-reduced-motion: reduce) {
  .feature__deco-bird {
    -webkit-animation: none;
            animation: none;
  }
}
@media screen and (min-width: 768px) {
  .feature__deco-bird {
    --bird-exit: 48px;
    width: 312px;
    height: auto;
    top: -132px;
    right: 40px;
  }
}

.feature__inner {
  position: relative;
  overflow: visible;
}
.feature__inner .heading {
  margin-bottom: 24px;
}
@media screen and (min-width: 768px) {
  .feature__inner .heading {
    margin-bottom: 64px;
  }
}

.feature__contents {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  gap: 48px;
}
@media screen and (min-width: 768px) {
  .feature__contents {
    gap: 56px;
  }
}

.feature__cards {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  gap: 48px;
}
@media screen and (min-width: 768px) {
  .feature__cards {
    gap: 56px;
  }
}

.feature__card {
  position: relative;
  padding-block: 32px;
}
.feature__card:first-child .feature__card-background, .feature__card:last-child .feature__card-background {
  right: -23px;
  left: auto;
  border-radius: 16px 0 0 16px;
  -webkit-transform: none;
          transform: none;
}
@media screen and (min-width: 768px) {
  .feature__card:first-child .feature__card-background, .feature__card:last-child .feature__card-background {
    left: max(24px, (100vw - 928px) / 2);
    right: max(24px, (100vw - 928px) / 2 + 32px);
    width: auto;
    border-radius: 16px;
  }
}
@media screen and (min-width: 768px) and (max-width: 1023px) {
  .feature__card:first-child .feature__card-background, .feature__card:last-child .feature__card-background {
    right: auto;
    left: max(24px, (100vw - 928px) / 2);
    width: 680px;
    max-width: 680px;
    -webkit-transform: none;
            transform: none;
  }
}
.feature__card:nth-child(2) .feature__card-background {
  left: -24px;
  right: auto;
  border-radius: 16px 0 0 16px;
  -webkit-transform: scaleX(-1);
          transform: scaleX(-1);
}
@media screen and (min-width: 768px) {
  .feature__card:nth-child(2) .feature__card-background {
    left: max(24px, (100vw - 928px) / 2 + 32px);
    right: max(24px, (100vw - 928px) / 2);
    width: auto;
    border-radius: 16px;
  }
}
@media screen and (min-width: 768px) and (max-width: 1023px) {
  .feature__card:nth-child(2) .feature__card-background {
    left: auto;
    right: max(24px, (100vw - 928px) / 2);
    width: 680px;
    max-width: 680px;
    -webkit-transform: none;
            transform: none;
  }
}
@media screen and (min-width: 768px) {
  .feature__card {
    width: 100vw;
    margin-left: calc(50% - 50vw);
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: horizontal;
    -webkit-box-direction: normal;
        -ms-flex-direction: row;
            flex-direction: row;
    -webkit-box-align: start;
        -ms-flex-align: start;
            align-items: flex-start;
    gap: 32px;
  }
}
@media screen and (min-width: 768px) and (min-width: 768px) and (max-width: 1023px) {
  .feature__card {
    gap: 36px;
  }
}
@media screen and (min-width: 768px) {
  .feature__card:first-child, .feature__card:last-child {
    -webkit-box-orient: horizontal;
    -webkit-box-direction: reverse;
        -ms-flex-direction: row-reverse;
            flex-direction: row-reverse;
    gap: 0;
  }
  .feature__card:first-child .feature__card-img, .feature__card:last-child .feature__card-img {
    margin-right: max(24px, (100vw - 928px) / 2);
  }
  .feature__card:first-child .feature__card-body, .feature__card:last-child .feature__card-body {
    margin-right: 32px;
  }
}
@media screen and (min-width: 768px) and (min-width: 768px) and (max-width: 1023px) {
  .feature__card:first-child .feature__card-body, .feature__card:last-child .feature__card-body {
    margin-right: 28px;
  }
}
@media screen and (min-width: 768px) {
  .feature__card:nth-child(2) {
    -webkit-box-orient: horizontal;
    -webkit-box-direction: normal;
        -ms-flex-direction: row;
            flex-direction: row;
  }
  .feature__card:nth-child(2) .feature__card-img {
    margin-left: max(24px, (100vw - 928px) / 2);
  }
}

.feature__card-background {
  position: absolute;
  top: 0;
  bottom: 0;
  width: 97.256097561%;
  background: #f6ebdd;
  z-index: 0;
}
@media screen and (min-width: 768px) {
  .feature__card-background {
    width: auto;
  }
}

.feature__card-img {
  position: relative;
  display: block;
  width: 100%;
  max-width: 328px;
  height: auto;
  aspect-ratio: 328/218;
  border-radius: 16px;
  z-index: 1;
}
@media screen and (min-width: 768px) {
  .feature__card-img {
    -webkit-box-flex: 0;
        -ms-flex: 0 0 464px;
            flex: 0 0 464px;
    width: 464px;
    max-width: 464px;
  }
}
@media screen and (min-width: 768px) and (max-width: 1023px) {
  .feature__card-img {
    -webkit-box-flex: 0;
        -ms-flex: 0 0 320px;
            flex: 0 0 320px;
    width: 320px;
    max-width: 320px;
  }
}

.feature__card-body {
  position: relative;
  z-index: 1;
}
@media screen and (min-width: 768px) {
  .feature__card-body {
    -webkit-box-flex: 0;
        -ms-flex: 0 0 400px;
            flex: 0 0 400px;
    width: 400px;
    max-width: 400px;
  }
}
@media screen and (min-width: 768px) and (max-width: 1023px) {
  .feature__card-body {
    -webkit-box-flex: 0;
        -ms-flex: 0 0 348px;
            flex: 0 0 348px;
    width: 348px;
    max-width: 348px;
  }
}

.feature__card-number {
  font-family: "Itim", cursive;
  font-size: 48px;
  letter-spacing: 0.96px;
  color: #eab57e;
  margin-top: 16px;
}
@media screen and (min-width: 768px) {
  .feature__card-number {
    font-size: 64px;
    letter-spacing: 1.28px;
    margin-top: 0;
  }
}
@media screen and (min-width: 768px) and (max-width: 1023px) {
  .feature__card-number {
    font-size: 48px;
  }
}

.feature__card-title {
  margin-top: 8px;
  font-size: 18px;
  font-weight: 500;
  color: #fbf8f3;
  background: #eab57e;
  padding: 2px 6px;
  border-radius: 4px;
  display: inline-block;
}
@media screen and (min-width: 768px) {
  .feature__card-title {
    margin-top: 16px;
    font-size: 24px;
  }
}
@media screen and (min-width: 768px) and (max-width: 1023px) {
  .feature__card-title {
    margin-top: 4px;
    font-size: 20px;
  }
}

.feature__card-text {
  margin-top: 16px;
}
@media screen and (min-width: 768px) {
  .feature__card-text {
    font-size: 16px;
    line-height: 160%;
  }
}
@media screen and (min-width: 768px) and (max-width: 1023px) {
  .feature__card-text {
    margin-top: 16px;
  }
}

.feature__others-card {
  position: relative;
}
@media screen and (min-width: 768px) {
  .feature__others-card {
    width: 100vw;
    margin-left: calc(50% - 50vw);
    min-height: 360px;
  }
}

.feature__others-card-background {
  position: absolute;
  top: 0;
  bottom: 0;
  left: 50%;
  width: 100%;
  max-width: none;
  -webkit-transform: translateX(-50%);
          transform: translateX(-50%);
  background: #f6ebdd;
  border-radius: 16px;
  z-index: 0;
}
@media screen and (min-width: 768px) {
  .feature__others-card-background {
    left: max(24px, (100vw - 928px) / 2);
    right: max(24px, (100vw - 928px) / 2);
    bottom: auto;
    width: auto;
    height: 360px;
    max-width: none;
    -webkit-transform: none;
            transform: none;
  }
}
@media screen and (min-width: 768px) and (min-width: 768px) and (max-width: 1023px) {
  .feature__others-card-background {
    width: 680px;
    max-width: 680px;
    left: 50%;
    right: auto;
    -webkit-transform: translateX(-50%);
            transform: translateX(-50%);
  }
}

.feature__others-card-body {
  position: relative;
  padding: 24px 16px;
  text-align: center;
  z-index: 1;
}
@media screen and (min-width: 768px) {
  .feature__others-card-body {
    padding: 32px 32px;
  }
}

.feature__others-card-title {
  font-size: 16px;
  font-weight: 500;
}
@media screen and (min-width: 768px) {
  .feature__others-card-title {
    font-size: 24px;
    font-weight: 500;
  }
}

.feature__others-card-text {
  margin-top: 16px;
}
@media screen and (min-width: 768px) {
  .feature__others-card-text {
    font-size: 16px;
    line-height: 160%;
  }
}
@media screen and (min-width: 768px) and (max-width: 1023px) {
  .feature__others-card-text {
    max-width: 544px;
    margin-inline: auto;
  }
}

.feature__others-card-images {
  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-align: center;
      -ms-flex-align: center;
          align-items: center;
  gap: 16px;
  padding-bottom: 24px;
  z-index: 1;
}
@media screen and (min-width: 768px) {
  .feature__others-card-images {
    -webkit-box-orient: horizontal;
    -webkit-box-direction: normal;
        -ms-flex-direction: row;
            flex-direction: row;
    -webkit-box-pack: center;
        -ms-flex-pack: center;
            justify-content: center;
    padding-bottom: 32px;
    gap: 40px;
  }
}
@media screen and (min-width: 768px) and (max-width: 1023px) {
  .feature__others-card-images {
    gap: 24px;
  }
}

.feature__others-card-img {
  width: 100%;
  max-width: 296px;
  height: auto;
  aspect-ratio: 296/169;
  border-radius: 16px;
}
@media screen and (min-width: 768px) {
  .feature__others-card-img {
    width: 336px;
    height: 187px;
  }
}
@media screen and (min-width: 768px) and (min-width: 768px) and (max-width: 1023px) {
  .feature__others-card-img {
    width: 260px;
    height: 145px;
  }
}

.feature__button {
  margin-top: 32px;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
}
@media screen and (min-width: 768px) {
  .feature__button {
    margin-top: 56px;
  }
}

.feature__button.button1 {
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
  width: 160px;
  height: 48px;
  padding: 3px 8px;
}

.feature__bottom-decoration {
  display: none;
}
@media screen and (min-width: 768px) {
  .feature__bottom-decoration {
    display: block;
    position: absolute;
    width: auto;
    height: 265px;
    bottom: 64px;
    right: -24px;
    --deco-sway-base: 3deg;
    --deco-sway-a: calc(3deg + 2.5deg);
    --deco-sway-b: calc(3deg - 3deg);
    --deco-sway-c: calc(3deg + 2deg);
    -webkit-transform-origin: bottom right;
            transform-origin: bottom right;
    -webkit-animation: decoration-sway 4s ease-in-out -1.3s infinite;
            animation: decoration-sway 4s ease-in-out -1.3s infinite;
  }
}
@media screen and (min-width: 768px) and (max-width: 1023px) {
  .feature__bottom-decoration {
    bottom: 16px;
  }
}
@media screen and (min-width: 768px) and (min-width: 768px) and (max-width: 1023px) {
  .feature__bottom-decoration {
    bottom: -40px;
  }
}
@media (prefers-reduced-motion: reduce) {
  .feature__bottom-decoration {
    -webkit-animation: none;
            animation: none;
  }
}

.feature__bottom-decoration-img {
  display: block;
  width: 100%;
  height: 100%;
}

.fv {
  position: relative;
  height: 142.933333vw;
  overflow-x: clip;
}
@media screen and (min-width: 768px) {
  .fv {
    height: 876px;
  }
}

.fv__slide {
  position: relative;
  width: 100%;
  height: 100%;
}
@media screen and (min-width: 768px) {
  .fv__slide {
    height: 800px;
  }
}

.fv__slide-item {
  position: absolute;
  inset: 0;
  opacity: 0;
  -webkit-transition: opacity 2s ease;
  transition: opacity 2s ease;
}
.fv__slide-item.is-active {
  opacity: 1;
  z-index: 1;
}
.fv__slide-item picture {
  display: block;
  width: 100%;
  height: 100%;
}
.fv__slide-item img {
  display: block;
  width: 100%;
  height: 100%;
  aspect-ratio: 750/1072;
  -o-object-fit: cover;
     object-fit: cover;
  -o-object-position: top;
     object-position: top;
}
@media screen and (min-width: 768px) {
  .fv__slide-item img {
    aspect-ratio: 2880/1600;
  }
}

.fv__inner {
  position: absolute;
  inset: 0;
  z-index: 3;
}
@media screen and (min-width: 768px) {
  .fv__inner {
    inset: auto;
    top: 0;
    left: 0;
    right: 0;
    height: 800px;
  }
}

.fv__bottom {
  position: absolute;
  right: -2px;
  bottom: 0;
  width: 151px;
  height: 136px;
  z-index: 2;
  overflow: visible;
}
@media screen and (min-width: 768px) {
  .fv__bottom {
    right: 0;
    width: 320px;
    height: 320px;
    bottom: 76px;
  }
}

.fv__shape {
  position: absolute;
  inset: 0;
  pointer-events: none;
}
.fv__shape picture {
  display: block;
  width: 100%;
  height: 100%;
}
.fv__shape img {
  display: block;
  width: 100%;
  height: 100%;
  max-width: none;
}

@-webkit-keyframes fv-decoration-sway {
  0%, 100% {
    -webkit-transform: rotate(-3deg);
            transform: rotate(-3deg);
  }
  50% {
    -webkit-transform: rotate(3deg);
            transform: rotate(3deg);
  }
}

@keyframes fv-decoration-sway {
  0%, 100% {
    -webkit-transform: rotate(-3deg);
            transform: rotate(-3deg);
  }
  50% {
    -webkit-transform: rotate(3deg);
            transform: rotate(3deg);
  }
}
.fv__decoration {
  position: absolute;
  right: 0px;
  bottom: -70px;
  z-index: 1;
}
@media screen and (min-width: 768px) {
  .fv__decoration {
    right: 0px;
    bottom: 0px;
  }
}
.fv__decoration img {
  display: block;
  width: auto;
  height: 192px;
  max-width: none;
  -webkit-transform-origin: right bottom;
          transform-origin: right bottom;
  -webkit-animation: fv-decoration-sway 3s ease-in-out -0.6s infinite;
          animation: fv-decoration-sway 3s ease-in-out -0.6s infinite;
}
@media (prefers-reduced-motion: reduce) {
  .fv__decoration img {
    -webkit-animation: none;
            animation: none;
  }
}
@media screen and (min-width: 768px) {
  .fv__decoration img {
    height: 312px;
    max-width: none;
  }
}

.fv__contents {
  position: absolute;
  inset: 0;
}

.fv__lead {
  margin: 0;
}

.fv__lead-right,
.fv__lead-left {
  position: absolute;
  -webkit-writing-mode: vertical-rl;
      -ms-writing-mode: tb-rl;
          writing-mode: vertical-rl;
  font-size: 20px;
  font-weight: 500;
  line-height: normal;
  letter-spacing: 0.4em;
  padding: 8px 3px;
  border-radius: 8px;
  background: rgba(255, 255, 255, 0.8);
  white-space: nowrap;
}
@media screen and (min-width: 430px) and (max-width: 767px) {
  .fv__lead-right,
  .fv__lead-left {
    font-size: calc(3.571429vw + 4.607143px);
  }
}
@media screen and (min-width: 768px) {
  .fv__lead-right,
  .fv__lead-left {
    font-size: 40px;
    font-weight: 500;
    letter-spacing: 0.35em;
    padding: 8px 6px;
    border-radius: 10px;
  }
}
@media screen and (min-width: 768px) and (max-width: 1439px) {
  .fv__lead-right,
  .fv__lead-left {
    font-size: 32px;
  }
}

.fv__lead-left {
  top: 220px;
  right: 96px;
}
@media screen and (min-width: 430px) and (max-width: 767px) {
  .fv__lead-left {
    right: calc(7.121662vw + 65.377px);
  }
}
@media screen and (min-width: 768px) {
  .fv__lead-left {
    top: 250px;
    right: 348px;
  }
}
@media screen and (min-width: 768px) and (max-width: 1439px) {
  .fv__lead-left {
    right: 280px;
  }
}
@media screen and (min-width: 768px) and (max-width: 1023px) {
  .fv__lead-left {
    right: 180px;
  }
}

.fv__lead-right {
  top: 156px;
  right: 52px;
}
@media screen and (min-width: 768px) {
  .fv__lead-right {
    top: 148px;
    right: 256px;
  }
}
@media screen and (min-width: 768px) and (max-width: 1439px) {
  .fv__lead-right {
    right: 196px;
  }
}
@media screen and (min-width: 768px) and (max-width: 1023px) {
  .fv__lead-right {
    right: 108px;
  }
}

.news-top {
  position: relative;
  overflow: visible;
}
@media screen and (min-width: 768px) {
  .news-top {
    padding-top: 20px;
  }
}

.news-top__inner {
  position: relative;
  overflow: visible;
}
@media screen and (min-width: 768px) {
  .news-top__inner {
    max-width: 928px;
    margin-inline: auto;
  }
}

@-webkit-keyframes news-top-decoration-sway {
  0%, 100% {
    -webkit-transform: rotate(-3deg);
            transform: rotate(-3deg);
  }
  50% {
    -webkit-transform: rotate(3deg);
            transform: rotate(3deg);
  }
}

@keyframes news-top-decoration-sway {
  0%, 100% {
    -webkit-transform: rotate(-3deg);
            transform: rotate(-3deg);
  }
  50% {
    -webkit-transform: rotate(3deg);
            transform: rotate(3deg);
  }
}
.news-top__decoration {
  position: absolute;
  left: -32px;
  top: 16px;
  z-index: 4;
  pointer-events: none;
}
@media screen and (min-width: 768px) {
  .news-top__decoration {
    left: -81.0847457627px;
    top: -44px;
  }
}
.news-top__decoration img {
  display: block;
  width: auto;
  height: 118px;
  max-width: none;
  -webkit-transform-origin: left bottom;
          transform-origin: left bottom;
  -webkit-animation: news-top-decoration-sway 3s ease-in-out -1.2s infinite;
          animation: news-top-decoration-sway 3s ease-in-out -1.2s infinite;
}
@media (prefers-reduced-motion: reduce) {
  .news-top__decoration img {
    -webkit-animation: none;
            animation: none;
  }
}
@media screen and (min-width: 768px) {
  .news-top__decoration img {
    height: 299px;
    max-width: none;
  }
}

.news-top__cards {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
}

.news-top__button {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  width: 100%;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  margin-top: 24px;
}
@media screen and (min-width: 768px) {
  .news-top__button {
    -webkit-box-pack: end;
        -ms-flex-pack: end;
            justify-content: flex-end;
  }
}

.news-list {
  position: relative;
  overflow: visible;
}

@-webkit-keyframes news-list-decoration-sway {
  0%, 100% {
    -webkit-transform: rotate(-3deg);
            transform: rotate(-3deg);
  }
  50% {
    -webkit-transform: rotate(3deg);
            transform: rotate(3deg);
  }
}

@keyframes news-list-decoration-sway {
  0%, 100% {
    -webkit-transform: rotate(-3deg);
            transform: rotate(-3deg);
  }
  50% {
    -webkit-transform: rotate(3deg);
            transform: rotate(3deg);
  }
}
.news-list__decoration {
  position: absolute;
  z-index: 4;
  pointer-events: none;
}
.news-list__decoration img {
  display: block;
  width: auto;
  max-width: none;
}
@media (prefers-reduced-motion: reduce) {
  .news-list__decoration img {
    -webkit-animation: none;
            animation: none;
  }
}

.news-list__decoration--green {
  left: 48px;
  bottom: -32px;
}
@media screen and (min-width: 768px) {
  .news-list__decoration--green {
    bottom: -80px;
  }
}
@media screen and (min-width: 768px) and (max-width: 1279px) {
  .news-list__decoration--green {
    left: 20px;
  }
}
@media screen and (max-width: 767px) {
  .news-list__decoration--green {
    bottom: -64px;
  }
}
@media screen and (min-width: 768px) and (max-width: 1023px) {
  .news-list__decoration--green {
    bottom: -112px;
  }
}
.news-list__decoration--green img {
  height: 96px;
  margin-left: -91.2px;
  -webkit-transform-origin: left bottom;
          transform-origin: left bottom;
  -webkit-animation: news-list-decoration-sway 3s ease-in-out -1.2s infinite;
          animation: news-list-decoration-sway 3s ease-in-out -1.2s infinite;
}
@media screen and (min-width: 768px) {
  .news-list__decoration--green img {
    height: 300px;
    margin-left: -140px;
  }
}
@media screen and (min-width: 768px) and (max-width: 1279px) {
  .news-list__decoration--green img {
    height: 200px;
    margin-left: -93.3333333333px;
  }
}

.news-list__decoration--yellow {
  right: 0px;
  top: -48px;
}
@media screen and (min-width: 768px) {
  .news-list__decoration--yellow {
    right: -4px;
    top: -120px;
  }
}
.news-list__decoration--yellow img {
  height: 96px;
  -webkit-transform-origin: right bottom;
          transform-origin: right bottom;
  -webkit-animation: news-list-decoration-sway 3s ease-in-out -0.6s infinite;
          animation: news-list-decoration-sway 3s ease-in-out -0.6s infinite;
}
@media screen and (min-width: 768px) {
  .news-list__decoration--yellow img {
    height: 320px;
  }
}
@media screen and (min-width: 768px) and (max-width: 1279px) {
  .news-list__decoration--yellow img {
    height: 210px;
  }
}

.news-list__inner {
  position: relative;
  margin-block: 48px;
}
@media screen and (min-width: 768px) {
  .news-list__inner {
    max-width: 928px;
    margin-inline: auto;
    margin-block: 96px;
  }
}

.news-single__inner {
  position: relative;
  margin-block: 48px;
}
@media screen and (min-width: 768px) {
  .news-single__inner {
    max-width: 800px;
    margin-inline: auto;
    margin-block: 96px;
  }
}
@media screen and (min-width: 768px) and (max-width: 1023px) {
  .news-single__inner {
    padding-left: 24px;
    padding-right: 23px;
  }
}
@media screen and (min-width: 1024px) {
  .news-single__inner {
    padding-inline: 0;
  }
}

.news-single__back-link {
  display: -webkit-inline-box;
  display: -ms-inline-flexbox;
  display: inline-flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  gap: 16px;
  color: #eab57e;
  font-size: 14px;
  -webkit-transition: opacity 0.2s ease;
  transition: opacity 0.2s ease;
}
.news-single__back-link:hover {
  opacity: 0.6;
}
@media screen and (min-width: 768px) {
  .news-single__back-link {
    font-size: 16px;
    line-height: 160%;
  }
}

.news-single__back-icon {
  display: block;
  -ms-flex-negative: 0;
      flex-shrink: 0;
  width: 8px;
  height: 12px;
}

.news-single__date {
  display: block;
  margin-top: 16px;
  font-family: "Itim", cursive;
  font-size: 16px;
  line-height: 160%;
  text-align: right;
}
@media screen and (min-width: 768px) {
  .news-single__date {
    margin-top: 40px;
    line-height: 160%;
  }
}

.news-single__title {
  font-size: 20px;
  font-style: normal;
  font-weight: 500;
  margin-top: 16px;
}
@media screen and (min-width: 768px) {
  .news-single__title {
    margin-top: 24px;
    font-size: 32px;
    font-weight: 500;
  }
}

.news-single__image {
  margin-top: 24px;
}
@media screen and (min-width: 768px) {
  .news-single__image {
    margin-top: 40px;
  }
}
.news-single__image img {
  display: block;
  width: auto;
  max-width: 100%;
  height: auto;
  border-radius: 10px;
}

.news-single__body {
  margin-top: 24px;
  font-size: 14px;
  line-height: 1.8;
}
@media screen and (min-width: 768px) {
  .news-single__body {
    margin-top: 40px;
    line-height: 160%;
    font-size: 16px;
    line-height: 160%;
  }
}
.news-single__body p + p {
  margin-top: 1em;
}

.staff {
  position: relative;
  overflow-x: clip;
  background: #f6ebdd;
}

@media screen and (min-width: 768px) {
  .staff__inner {
    padding-inline: max(24px, (100vw - (1440px - 256px * 2)) / 2);
  }
}

.staff__decoration {
  position: relative;
}

@-webkit-keyframes staff-decoration-sway {
  0%, 100% {
    -webkit-transform: rotate(-3deg);
            transform: rotate(-3deg);
  }
  50% {
    -webkit-transform: rotate(3deg);
            transform: rotate(3deg);
  }
}

@keyframes staff-decoration-sway {
  0%, 100% {
    -webkit-transform: rotate(-3deg);
            transform: rotate(-3deg);
  }
  50% {
    -webkit-transform: rotate(3deg);
            transform: rotate(3deg);
  }
}
.staff__decoration-reef-green1 {
  position: absolute;
  width: auto;
  height: 56px;
  top: -76px;
  left: -36px;
  z-index: 1;
  -webkit-transform-origin: left bottom;
          transform-origin: left bottom;
  -webkit-animation: staff-decoration-sway 3s ease-in-out -0.7s infinite;
          animation: staff-decoration-sway 3s ease-in-out -0.7s infinite;
}
@media (prefers-reduced-motion: reduce) {
  .staff__decoration-reef-green1 {
    -webkit-animation: none;
            animation: none;
  }
}
@media screen and (min-width: 768px) {
  .staff__decoration-reef-green1 {
    width: auto;
    height: 168px;
    top: -142px;
    left: calc((928px - 100vw) / 2 - 34px);
  }
}
@media screen and (min-width: 768px) and (max-width: 1023px) {
  .staff__decoration-reef-green1 {
    top: -168px;
    left: calc((928px - 100vw) / 2 - 56px);
  }
}
@media screen and (min-width: 768px) and (min-width: 768px) and (max-width: 1023px) {
  .staff__decoration-reef-green1 {
    top: -220px;
    left: calc(-1 * max(24px, (100vw - 928px) / 2) - 72px);
  }
}

.staff__decoration-reef-green2 {
  position: absolute;
  width: auto;
  height: 100px;
  top: -76px;
  left: -36px;
  z-index: 0;
  -webkit-transform-origin: left bottom;
          transform-origin: left bottom;
  -webkit-animation: staff-decoration-sway 3s ease-in-out -1.5s infinite;
          animation: staff-decoration-sway 3s ease-in-out -1.5s infinite;
}
@media (prefers-reduced-motion: reduce) {
  .staff__decoration-reef-green2 {
    -webkit-animation: none;
            animation: none;
  }
}
@media screen and (min-width: 768px) {
  .staff__decoration-reef-green2 {
    width: 273.159px;
    height: auto;
    top: -116px;
    left: calc((928px - 100vw) / 2 - 24px);
  }
}
@media screen and (min-width: 768px) and (max-width: 1023px) {
  .staff__decoration-reef-green2 {
    top: -132px;
    left: calc((928px - 100vw) / 2 - 48px);
  }
}
@media screen and (min-width: 768px) and (min-width: 768px) and (max-width: 1023px) {
  .staff__decoration-reef-green2 {
    top: -184px;
    left: calc(-1 * max(24px, (100vw - 928px) / 2) - 72px);
  }
}

.staff__cards {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  gap: 32px;
}
@media screen and (min-width: 768px) {
  .staff__cards {
    gap: 56px;
  }
}

.staff__card {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  text-align: center;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  background: #fbf8f3;
  border-radius: 16px;
  padding: 24px 12px;
}
@media screen and (min-width: 768px) {
  .staff__card {
    -webkit-box-orient: horizontal;
    -webkit-box-direction: normal;
        -ms-flex-direction: row;
            flex-direction: row;
    -webkit-box-align: start;
        -ms-flex-align: start;
            align-items: flex-start;
    -webkit-box-pack: justify;
        -ms-flex-pack: justify;
            justify-content: space-between;
    gap: 48px;
    padding: 40px;
  }
}
@media screen and (min-width: 768px) and (max-width: 1023px) {
  .staff__card {
    gap: 24px;
  }
}
.staff__card:nth-child(1) .staff__card-decoration:first-child {
  -webkit-animation-duration: 3.2s;
          animation-duration: 3.2s;
  -webkit-animation-delay: -0.8s;
          animation-delay: -0.8s;
}
.staff__card:nth-child(1) .staff__card-decoration:last-child {
  -webkit-animation-duration: 4.1s;
          animation-duration: 4.1s;
  -webkit-animation-delay: -2.2s;
          animation-delay: -2.2s;
}
.staff__card:nth-child(2) .staff__card-decoration:first-child {
  -webkit-animation-duration: 3.7s;
          animation-duration: 3.7s;
  -webkit-animation-delay: -1.5s;
          animation-delay: -1.5s;
}
.staff__card:nth-child(2) .staff__card-decoration:last-child {
  -webkit-animation-duration: 2.9s;
          animation-duration: 2.9s;
  -webkit-animation-delay: -0.4s;
          animation-delay: -0.4s;
}

@media screen and (min-width: 768px) {
  .staff__card-intro {
    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;
    -ms-flex-negative: 0;
        flex-shrink: 0;
  }
}

.staff__card-photo {
  width: 160px;
  height: 160px;
}
@media screen and (min-width: 768px) {
  .staff__card-photo {
    width: 280px;
    height: 280px;
  }
}
@media screen and (min-width: 768px) and (max-width: 1023px) {
  .staff__card-photo {
    width: 240px;
    height: 240px;
  }
}

.staff__card-photo-img {
  display: block;
  width: 100%;
  height: auto;
}

.staff__card-header {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
}

.staff__card-name-row {
  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;
  gap: 8px;
  margin-top: 12px;
}
@media screen and (min-width: 768px) {
  .staff__card-name-row {
    gap: 12px;
    margin-top: 13px;
  }
}

.staff__card-name-block {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  gap: 0px;
}
@media screen and (min-width: 768px) {
  .staff__card-name-block {
    gap: 4px;
  }
}

@-webkit-keyframes staff-card-decoration-float {
  0% {
    -webkit-transform: translateY(1px) rotate(-6deg);
            transform: translateY(1px) rotate(-6deg);
    -webkit-animation-timing-function: cubic-bezier(0.15, 0.85, 0.35, 1);
            animation-timing-function: cubic-bezier(0.15, 0.85, 0.35, 1);
  }
  22% {
    -webkit-transform: translateY(-8px) rotate(4deg);
            transform: translateY(-8px) rotate(4deg);
    -webkit-animation-timing-function: ease-in-out;
            animation-timing-function: ease-in-out;
  }
  40% {
    -webkit-transform: translateY(-6px) rotate(6deg);
            transform: translateY(-6px) rotate(6deg);
    -webkit-animation-timing-function: cubic-bezier(0.55, 0.05, 0.85, 0.35);
            animation-timing-function: cubic-bezier(0.55, 0.05, 0.85, 0.35);
  }
  100% {
    -webkit-transform: translateY(0) rotate(-6deg);
            transform: translateY(0) rotate(-6deg);
  }
}

@keyframes staff-card-decoration-float {
  0% {
    -webkit-transform: translateY(1px) rotate(-6deg);
            transform: translateY(1px) rotate(-6deg);
    -webkit-animation-timing-function: cubic-bezier(0.15, 0.85, 0.35, 1);
            animation-timing-function: cubic-bezier(0.15, 0.85, 0.35, 1);
  }
  22% {
    -webkit-transform: translateY(-8px) rotate(4deg);
            transform: translateY(-8px) rotate(4deg);
    -webkit-animation-timing-function: ease-in-out;
            animation-timing-function: ease-in-out;
  }
  40% {
    -webkit-transform: translateY(-6px) rotate(6deg);
            transform: translateY(-6px) rotate(6deg);
    -webkit-animation-timing-function: cubic-bezier(0.55, 0.05, 0.85, 0.35);
            animation-timing-function: cubic-bezier(0.55, 0.05, 0.85, 0.35);
  }
  100% {
    -webkit-transform: translateY(0) rotate(-6deg);
            transform: translateY(0) rotate(-6deg);
  }
}
.staff__card-decoration {
  display: block;
  width: 32px;
  height: auto;
  -ms-flex-negative: 0;
      flex-shrink: 0;
  -webkit-animation: staff-card-decoration-float 3.5s infinite;
          animation: staff-card-decoration-float 3.5s infinite;
}
@media (prefers-reduced-motion: reduce) {
  .staff__card-decoration {
    -webkit-animation: none;
            animation: none;
  }
}
@media screen and (min-width: 768px) {
  .staff__card-decoration {
    width: 64px;
    height: auto;
  }
}
@media screen and (max-width: 1023px) {
  .staff__card-decoration {
    width: 28px;
  }
}
@media screen and (min-width: 768px) and (max-width: 1023px) {
  .staff__card-decoration {
    width: 56px;
  }
}
@media screen and (min-width: 768px) and (max-width: 1023px) {
  .staff__card-decoration {
    width: 48px;
  }
}

.staff__card-furigana {
  font-weight: 500;
}
@media screen and (min-width: 768px) {
  .staff__card-furigana {
    font-size: 18px;
  }
}
@media screen and (min-width: 768px) and (max-width: 1023px) {
  .staff__card-furigana {
    font-size: 16px;
  }
}

.staff__card-name {
  font-size: 20px;
  font-weight: 500;
}
@media screen and (min-width: 768px) {
  .staff__card-name {
    font-size: 32px;
  }
}
@media screen and (min-width: 768px) and (max-width: 1023px) {
  .staff__card-name {
    font-size: 28px;
  }
}

.staff__card-contents {
  text-align: left;
  margin-top: 12px;
}
@media screen and (min-width: 768px) {
  .staff__card-contents {
    margin-top: 0;
    -webkit-box-flex: 1;
        -ms-flex: 1;
            flex: 1;
  }
}

.staff__card-profile-title {
  font-weight: 500;
  color: #f6ebdd;
  background: #eab57e;
  border-radius: 4px;
  padding-inline: 4px;
  width: -webkit-fit-content;
  width: -moz-fit-content;
  width: fit-content;
}
@media screen and (min-width: 768px) {
  .staff__card-profile-title {
    font-size: 18px;
    line-height: 160%;
  }
}

.staff__card-profile-text {
  margin-top: 4px;
}
@media screen and (min-width: 768px) {
  .staff__card-profile-text {
    font-size: 16px;
    line-height: 160%;
    margin-left: 8px;
  }
}

.staff__card-profile-icon {
  width: 12px;
  height: 12px;
}
@media screen and (min-width: 768px) {
  .staff__card-profile-icon {
    width: 16px;
    height: 16px;
  }
}

.staff__card-profile-heading {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  gap: 4px;
  margin-top: 8px;
}
@media screen and (min-width: 768px) {
  .staff__card-profile-heading {
    margin-top: 16px;
    margin-left: 8px;
  }
}

.staff__card-likes-title {
  font-weight: 500;
}
@media screen and (min-width: 768px) {
  .staff__card-likes-title {
    font-size: 16px;
    font-weight: 500;
    line-height: 160%;
    margin-left: 4px;
  }
}

.staff__card-likes-item-text {
  margin-top: 2px;
}
@media screen and (min-width: 768px) {
  .staff__card-likes-item-text {
    margin-left: 16px;
    font-size: 16px;
    line-height: 160%;
  }
}

.staff__card-weakness-title {
  font-weight: 500;
}
@media screen and (min-width: 768px) {
  .staff__card-weakness-title {
    font-size: 16px;
    font-weight: 500;
    line-height: 160%;
    margin-left: 4px;
  }
}

.staff__card-weakness-text {
  margin-top: 2px;
}
@media screen and (min-width: 768px) {
  .staff__card-weakness-text {
    margin-left: 8px;
    font-size: 16px;
    line-height: 160%;
    margin-left: 16px;
  }
}

.staff__card-greeting-title {
  font-weight: 500;
  color: #f6ebdd;
  background: #eab57e;
  border-radius: 4px;
  padding-inline: 4px;
  width: -webkit-fit-content;
  width: -moz-fit-content;
  width: fit-content;
  margin-top: 16px;
}
@media screen and (min-width: 768px) {
  .staff__card-greeting-title {
    font-size: 18px;
    line-height: 160%;
  }
}

.staff__card-greeting-text {
  margin-top: 4px;
}
@media screen and (min-width: 768px) {
  .staff__card-greeting-text {
    margin-left: 8px;
    font-size: 16px;
    line-height: 160%;
  }
}

.staff-bottom-decoration {
  position: relative;
}

.staff-bottom-decoration-beige {
  position: absolute;
  width: auto;
  height: 56px;
  bottom: -80px;
  right: -40px;
  -webkit-transform-origin: right bottom;
          transform-origin: right bottom;
  -webkit-animation: staff-decoration-sway 3s ease-in-out -4s infinite;
          animation: staff-decoration-sway 3s ease-in-out -4s infinite;
}
@media (prefers-reduced-motion: reduce) {
  .staff-bottom-decoration-beige {
    -webkit-animation: none;
            animation: none;
  }
}
@media screen and (min-width: 768px) {
  .staff-bottom-decoration-beige {
    height: 123px;
    bottom: 0px;
    right: calc((928px - 100vw) / 2 - 4px);
  }
}
@media screen and (min-width: 768px) and (max-width: 1279px) {
  .staff-bottom-decoration-beige {
    height: 98px;
  }
}
@media screen and (min-width: 768px) and (max-width: 1023px) {
  .staff-bottom-decoration-beige {
    bottom: -32px;
    right: calc((928px - 100vw) / 2 - 72px);
  }
}
@media screen and (min-width: 768px) and (min-width: 768px) and (max-width: 1023px) {
  .staff-bottom-decoration-beige {
    right: calc(-1 * max(24px, (100vw - 928px) / 2) - 48px);
  }
}

.staff-bottom-decoration-green {
  position: absolute;
  width: auto;
  height: 96px;
  bottom: -120px;
  right: -48px;
  -webkit-transform-origin: right bottom;
          transform-origin: right bottom;
  -webkit-animation: staff-decoration-sway 3s ease-in-out -2s infinite;
          animation: staff-decoration-sway 3s ease-in-out -2s infinite;
}
@media (prefers-reduced-motion: reduce) {
  .staff-bottom-decoration-green {
    -webkit-animation: none;
            animation: none;
  }
}
@media screen and (min-width: 768px) {
  .staff-bottom-decoration-green {
    height: 284px;
    bottom: -96px;
    right: calc((928px - 100vw) / 2 - 40px);
  }
}
@media screen and (min-width: 768px) and (max-width: 1279px) {
  .staff-bottom-decoration-green {
    height: 227px;
  }
}
@media screen and (min-width: 768px) and (max-width: 1023px) {
  .staff-bottom-decoration-green {
    bottom: -128px;
    right: calc((928px - 100vw) / 2 - 100px);
  }
}
@media screen and (min-width: 768px) and (min-width: 768px) and (max-width: 1023px) {
  .staff-bottom-decoration-green {
    right: calc(-1 * max(24px, (100vw - 928px) / 2) - 64px);
    bottom: -160px;
  }
}

.voice-top {
  position: relative;
  overflow-x: clip;
}

@media screen and (min-width: 768px) {
  .voice-top__inner {
    padding-inline: max(24px, (100vw - (1440px - 164px * 2)) / 2);
  }
}
@media screen and (min-width: 768px) and (max-width: 1023px) {
  .voice-top__inner {
    padding-inline: 48px;
  }
}

.voice-top__decoration {
  position: relative;
}

@-webkit-keyframes voice-top-decoration-sway {
  0%, 100% {
    -webkit-transform: rotate(-3deg);
            transform: rotate(-3deg);
  }
  50% {
    -webkit-transform: rotate(3deg);
            transform: rotate(3deg);
  }
}

@keyframes voice-top-decoration-sway {
  0%, 100% {
    -webkit-transform: rotate(-3deg);
            transform: rotate(-3deg);
  }
  50% {
    -webkit-transform: rotate(3deg);
            transform: rotate(3deg);
  }
}
.voice-top__decoration-yellow {
  position: absolute;
  width: auto;
  height: 56px;
  top: -12px;
  left: -48px;
  -webkit-transform-origin: left bottom;
          transform-origin: left bottom;
  -webkit-animation: voice-top-decoration-sway 3s ease-in-out -0.5s infinite;
          animation: voice-top-decoration-sway 3s ease-in-out -0.5s infinite;
}
@media (prefers-reduced-motion: reduce) {
  .voice-top__decoration-yellow {
    -webkit-animation: none;
            animation: none;
  }
}
@media screen and (min-width: 768px) {
  .voice-top__decoration-yellow {
    width: auto;
    height: 210px;
    top: -152px;
    left: calc((1112px - 100vw) / 2 - 48px);
  }
}
@media screen and (min-width: 768px) and (max-width: 1279px) {
  .voice-top__decoration-yellow {
    height: 168px;
  }
}
@media screen and (min-width: 768px) and (min-width: 1024px) and (max-width: 1279px) {
  .voice-top__decoration-yellow {
    left: calc(-1 * max(24px, (100vw - (1440px - 328px)) / 2) - 48px);
  }
}
@media screen and (min-width: 768px) and (max-width: 1023px) {
  .voice-top__decoration-yellow {
    top: -168px;
    height: 168px;
    left: calc((1112px - 100vw) / 2 - 156px);
  }
}
@media screen and (min-width: 768px) and (min-width: 768px) and (max-width: 1023px) {
  .voice-top__decoration-yellow {
    top: -224px;
    left: -120px;
  }
}

.voice-top__decoration-green {
  position: absolute;
  width: auto;
  height: 92px;
  top: -16px;
  left: -54px;
  -webkit-transform-origin: left bottom;
          transform-origin: left bottom;
  -webkit-animation: voice-top-decoration-sway 3s ease-in-out -1.4s infinite;
          animation: voice-top-decoration-sway 3s ease-in-out -1.4s infinite;
}
@media (prefers-reduced-motion: reduce) {
  .voice-top__decoration-green {
    -webkit-animation: none;
            animation: none;
  }
}
@media screen and (min-width: 768px) {
  .voice-top__decoration-green {
    width: auto;
    height: 240px;
    top: -100px;
    left: calc((1112px - 100vw) / 2 - 64px);
  }
}
@media screen and (min-width: 768px) and (max-width: 1279px) {
  .voice-top__decoration-green {
    height: 192px;
  }
}
@media screen and (min-width: 768px) and (min-width: 1024px) and (max-width: 1279px) {
  .voice-top__decoration-green {
    left: calc(-1 * max(24px, (100vw - (1440px - 328px)) / 2) - 96px);
  }
}
@media screen and (min-width: 768px) and (max-width: 1023px) {
  .voice-top__decoration-green {
    top: -120px;
    height: 192px;
    left: calc((1112px - 100vw) / 2 - 172px);
  }
}
@media screen and (min-width: 768px) and (min-width: 768px) and (max-width: 1023px) {
  .voice-top__decoration-green {
    top: -176px;
    left: -128px;
  }
}

.voice-top__cards {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  gap: 32px;
}
@media screen and (min-width: 768px) {
  .voice-top__cards {
    -webkit-box-orient: horizontal;
    -webkit-box-direction: normal;
        -ms-flex-direction: row;
            flex-direction: row;
    -webkit-box-pack: center;
        -ms-flex-pack: center;
            justify-content: center;
    -webkit-box-align: stretch;
        -ms-flex-align: stretch;
            align-items: stretch;
    gap: 32px;
  }
}
@media screen and (min-width: 768px) and (max-width: 1023px) {
  .voice-top__cards {
    gap: 26px;
  }
}
@media screen and (min-width: 768px) and (max-width: 1023px) {
  .voice-top__cards {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
    gap: 32px;
  }
}

.voice-top__card {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  width: 100%;
  padding: 12px;
  background: #f6ebdd;
  border-radius: 16px;
  overflow: hidden;
}
@media screen and (min-width: 768px) {
  .voice-top__card {
    -webkit-box-sizing: border-box;
            box-sizing: border-box;
    -webkit-box-flex: 1;
        -ms-flex: 1 1 0px;
            flex: 1 1 0;
    min-width: 0;
    width: auto;
    max-width: 344px;
    padding: 16px;
  }
}
@media screen and (min-width: 768px) and (max-width: 1023px) {
  .voice-top__card {
    -webkit-box-flex: 0;
        -ms-flex: none;
            flex: none;
    width: 100%;
    max-width: none;
  }
}

.voice-top__card-header {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: horizontal;
  -webkit-box-direction: normal;
      -ms-flex-direction: row;
          flex-direction: row;
  -webkit-box-align: end;
      -ms-flex-align: end;
          align-items: flex-end;
  gap: 16px;
  -ms-flex-negative: 0;
      flex-shrink: 0;
}

.voice-top__card-icon {
  line-height: 0;
  -ms-flex-negative: 0;
      flex-shrink: 0;
}

.voice-top__card-icon-img {
  display: block;
  width: 48px;
  height: 50px;
  -ms-flex-negative: 0;
      flex-shrink: 0;
}
@media screen and (min-width: 768px) {
  .voice-top__card-icon-img {
    width: 64px;
    height: 66px;
  }
}

.voice-top__card-title {
  font-size: 16px;
  font-weight: 500;
}
@media screen and (min-width: 768px) {
  .voice-top__card-title {
    font-size: 22px;
  }
}
@media screen and (min-width: 768px) and (max-width: 1279px) {
  .voice-top__card-title {
    font-size: 18px;
  }
}

.voice-top__card-from {
  font-weight: 500;
  color: #fbf8f3;
  background: #eab57e;
  padding-inline: 4px;
  border-radius: 4px;
  width: -webkit-fit-content;
  width: -moz-fit-content;
  width: fit-content;
  margin-top: 10px;
  -ms-flex-negative: 0;
      flex-shrink: 0;
}
@media screen and (min-width: 768px) {
  .voice-top__card-from {
    font-size: 16px;
    line-height: 160%;
    margin-top: 16px;
  }
}

.voice-top__card-text {
  -webkit-box-flex: 1;
      -ms-flex: 1 1 auto;
          flex: 1 1 auto;
  margin-top: 12px;
  overflow-wrap: anywhere;
}
@media screen and (min-width: 768px) {
  .voice-top__card-text {
    font-size: 16px;
    line-height: 160%;
    margin-top: 16px;
  }
}

.voice-top__button {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  width: 100%;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  margin-top: 24px;
}
@media screen and (min-width: 768px) {
  .voice-top__button {
    -webkit-box-pack: end;
        -ms-flex-pack: end;
            justify-content: flex-end;
    margin-top: 40px;
  }
}
@media screen and (min-width: 768px) and (max-width: 1023px) {
  .voice-top__button {
    -webkit-box-pack: center;
        -ms-flex-pack: center;
            justify-content: center;
  }
}

.voice-detail {
  position: relative;
  overflow-x: clip;
  padding-top: 72px;
  padding-bottom: 48px;
}
@media screen and (min-width: 768px) {
  .voice-detail {
    padding-block: 96px;
  }
}

.voice-detail__decoration {
  position: absolute;
  inset: 0;
  z-index: 2;
  pointer-events: none;
  -webkit-transform: scaleX(-1);
          transform: scaleX(-1);
}
@media screen and (min-width: 768px) {
  .voice-detail__decoration {
    -webkit-transform: none;
            transform: none;
  }
}

@-webkit-keyframes voice-detail-decoration-sway {
  0%, 100% {
    -webkit-transform: rotate(-3deg);
            transform: rotate(-3deg);
  }
  50% {
    -webkit-transform: rotate(3deg);
            transform: rotate(3deg);
  }
}

@keyframes voice-detail-decoration-sway {
  0%, 100% {
    -webkit-transform: rotate(-3deg);
            transform: rotate(-3deg);
  }
  50% {
    -webkit-transform: rotate(3deg);
            transform: rotate(3deg);
  }
}
.voice-detail__decoration-yellow {
  position: absolute;
  width: auto;
  height: 64px;
  top: 8px;
  left: -16px;
  -webkit-transform-origin: left bottom;
          transform-origin: left bottom;
  -webkit-animation: voice-detail-decoration-sway 3s ease-in-out -0.5s infinite;
          animation: voice-detail-decoration-sway 3s ease-in-out -0.5s infinite;
}
@media (prefers-reduced-motion: reduce) {
  .voice-detail__decoration-yellow {
    -webkit-animation: none;
            animation: none;
  }
}
@media screen and (min-width: 768px) {
  .voice-detail__decoration-yellow {
    height: 136px;
    top: 16px;
    left: -36px;
  }
}
@media screen and (min-width: 768px) and (max-width: 1279px) {
  .voice-detail__decoration-yellow {
    height: 100px;
  }
}

.voice-detail__decoration-green {
  position: absolute;
  width: auto;
  height: 92px;
  top: 12px;
  left: -28px;
  -webkit-transform-origin: left bottom;
          transform-origin: left bottom;
  -webkit-animation: voice-detail-decoration-sway 3s ease-in-out -1.4s infinite;
          animation: voice-detail-decoration-sway 3s ease-in-out -1.4s infinite;
}
@media (prefers-reduced-motion: reduce) {
  .voice-detail__decoration-green {
    -webkit-animation: none;
            animation: none;
  }
}
@media screen and (min-width: 768px) {
  .voice-detail__decoration-green {
    height: 220px;
    top: 12px;
    left: -60px;
  }
}
@media screen and (min-width: 768px) and (max-width: 1279px) {
  .voice-detail__decoration-green {
    height: 160px;
  }
}

@-webkit-keyframes voice-detail-decoration-sway-flip {
  0%, 100% {
    -webkit-transform: scaleX(-1) rotate(-3deg);
            transform: scaleX(-1) rotate(-3deg);
  }
  50% {
    -webkit-transform: scaleX(-1) rotate(3deg);
            transform: scaleX(-1) rotate(3deg);
  }
}

@keyframes voice-detail-decoration-sway-flip {
  0%, 100% {
    -webkit-transform: scaleX(-1) rotate(-3deg);
            transform: scaleX(-1) rotate(-3deg);
  }
  50% {
    -webkit-transform: scaleX(-1) rotate(3deg);
            transform: scaleX(-1) rotate(3deg);
  }
}
.voice-detail__decoration-bottom {
  position: absolute;
  z-index: 2;
  pointer-events: none;
  width: auto;
  height: 96px;
  bottom: 16px;
  left: -82px;
  -webkit-transform-origin: right bottom;
          transform-origin: right bottom;
  -webkit-animation: voice-detail-decoration-sway-flip 3s ease-in-out -0.9s infinite;
          animation: voice-detail-decoration-sway-flip 3s ease-in-out -0.9s infinite;
}
@media (prefers-reduced-motion: reduce) {
  .voice-detail__decoration-bottom {
    -webkit-animation: none;
            animation: none;
    -webkit-transform: scaleX(-1);
            transform: scaleX(-1);
  }
}
@media screen and (min-width: 768px) {
  .voice-detail__decoration-bottom {
    height: 240px;
    bottom: 16px;
    left: auto;
    right: -20px;
    -webkit-transform-origin: right bottom;
            transform-origin: right bottom;
    -webkit-animation: voice-detail-decoration-sway 3s ease-in-out -0.9s infinite;
            animation: voice-detail-decoration-sway 3s ease-in-out -0.9s infinite;
  }
}
@media screen and (min-width: 768px) and (max-width: 1279px) {
  .voice-detail__decoration-bottom {
    height: 176px;
  }
}
@media screen and (min-width: 768px) and (prefers-reduced-motion: reduce) {
  .voice-detail__decoration-bottom {
    -webkit-transform: none;
            transform: none;
  }
}

.voice-detail__inner {
  position: relative;
  z-index: 1;
}
@media screen and (min-width: 768px) {
  .voice-detail__inner {
    padding-inline: max(24px, (100vw - (1440px - 256px * 2)) / 2);
  }
}
@media screen and (min-width: 768px) and (max-width: 1023px) {
  .voice-detail__inner {
    padding-inline: 96px;
  }
}

.voice-detail__cards {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  gap: 32px;
}
@media screen and (min-width: 768px) {
  .voice-detail__cards {
    gap: 56px;
  }
}

.voice-detail__card {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  width: 100%;
  padding: 12px;
  background: #f6ebdd;
  border-radius: 16px;
  overflow: hidden;
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
}
@media screen and (min-width: 768px) {
  .voice-detail__card {
    padding: 32px;
  }
}

.voice-detail__card-title {
  font-size: 16px;
  font-weight: 500;
}
@media screen and (min-width: 768px) {
  .voice-detail__card-title {
    font-size: 22px;
    font-weight: 500;
  }
}

.voice-detail__card-from {
  font-weight: 500;
  color: #fbf8f3;
  background: #eab57e;
  padding-inline: 4px;
  border-radius: 4px;
  width: -webkit-fit-content;
  width: -moz-fit-content;
  width: fit-content;
  margin-top: 10px;
  -ms-flex-negative: 0;
      flex-shrink: 0;
}
@media screen and (min-width: 768px) {
  .voice-detail__card-from {
    font-size: 16px;
    font-weight: 500;
    line-height: 160%;
    margin-top: 16px;
  }
}

.voice-detail__card-text {
  margin-top: 12px;
  overflow-wrap: anywhere;
}
@media screen and (min-width: 768px) {
  .voice-detail__card-text {
    margin-top: 16px;
    font-size: 16px;
    line-height: 160%;
  }
}

.contact {
  overflow-x: clip;
  position: relative;
  background-color: #fbf8f3;
  padding-block: 48px;
}
@media screen and (min-width: 768px) {
  .contact {
    padding-block: 96px;
  }
}

.contact__decoration {
  position: absolute;
  z-index: 2;
  pointer-events: none;
}

.contact__decoration--top {
  inset: 0;
}

@-webkit-keyframes contact-decoration-sway {
  0%, 100% {
    -webkit-transform: rotate(-3deg);
            transform: rotate(-3deg);
  }
  50% {
    -webkit-transform: rotate(3deg);
            transform: rotate(3deg);
  }
}

@keyframes contact-decoration-sway {
  0%, 100% {
    -webkit-transform: rotate(-3deg);
            transform: rotate(-3deg);
  }
  50% {
    -webkit-transform: rotate(3deg);
            transform: rotate(3deg);
  }
}
.contact__decoration-green1 {
  position: absolute;
  display: block;
  width: auto;
  height: 40px;
  top: 0;
  right: -10px;
  -webkit-transform-origin: right bottom;
          transform-origin: right bottom;
  -webkit-animation: contact-decoration-sway 3s ease-in-out -0.7s infinite;
          animation: contact-decoration-sway 3s ease-in-out -0.7s infinite;
}
@media (prefers-reduced-motion: reduce) {
  .contact__decoration-green1 {
    -webkit-animation: none;
            animation: none;
  }
}
@media screen and (min-width: 768px) {
  .contact__decoration-green1 {
    height: 94px;
    top: 20px;
    right: -16px;
  }
}

.contact__decoration-green2 {
  position: absolute;
  display: block;
  width: auto;
  height: 64px;
  top: 10px;
  right: -16px;
  -webkit-transform-origin: right bottom;
          transform-origin: right bottom;
  -webkit-animation: contact-decoration-sway 3s ease-in-out -1.5s infinite;
          animation: contact-decoration-sway 3s ease-in-out -1.5s infinite;
}
@media (prefers-reduced-motion: reduce) {
  .contact__decoration-green2 {
    -webkit-animation: none;
            animation: none;
  }
}
@media screen and (min-width: 768px) {
  .contact__decoration-green2 {
    height: 172px;
    top: 44px;
    right: -32px;
  }
}

@media screen and (min-width: 1280px) {
  .contact__inner {
    padding-inline: max(24px, (100vw - (1440px - 276px * 2)) / 2);
  }
}

.contact__fields {
  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;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  gap: 40px;
}
@media screen and (min-width: 1280px) {
  .contact__fields {
    width: 100%;
    -webkit-box-align: stretch;
        -ms-flex-align: stretch;
            align-items: stretch;
    gap: 32px;
  }
}

.contact__privacy {
  margin-top: 24px;
  text-align: center;
}
@media screen and (min-width: 768px) {
  .contact__privacy {
    margin-top: 48px;
    font-size: 16px;
    line-height: 160%;
  }
}

.contact__privacy-link {
  text-decoration: underline;
}

.contact__button {
  margin-top: 24px;
  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: 768px) {
  .contact__button {
    margin-top: 48px;
  }
}

.contact__decoration--bottom {
  inset: 0;
  top: auto;
}

.contact__decoration-beige {
  position: absolute;
  display: block;
  width: auto;
  height: 45px;
  bottom: 64px;
  left: -4px;
  -webkit-transform-origin: left bottom;
          transform-origin: left bottom;
  -webkit-animation: contact-decoration-sway 3s ease-in-out -4s infinite;
          animation: contact-decoration-sway 3s ease-in-out -4s infinite;
}
@media (prefers-reduced-motion: reduce) {
  .contact__decoration-beige {
    -webkit-animation: none;
            animation: none;
  }
}
@media screen and (min-width: 768px) {
  .contact__decoration-beige {
    height: 120px;
    bottom: 140px;
    left: -10px;
  }
}

.contact__decoration-bottom-green {
  position: absolute;
  display: block;
  width: auto;
  height: 96px;
  bottom: 8px;
  left: -20px;
  -webkit-transform-origin: left bottom;
          transform-origin: left bottom;
  -webkit-animation: contact-decoration-sway 3s ease-in-out -2s infinite;
          animation: contact-decoration-sway 3s ease-in-out -2s infinite;
}
@media (prefers-reduced-motion: reduce) {
  .contact__decoration-bottom-green {
    -webkit-animation: none;
            animation: none;
  }
}
@media screen and (min-width: 768px) {
  .contact__decoration-bottom-green {
    height: 264px;
    bottom: 16px;
    left: -48px;
  }
}

.privacy-html {
  overflow-x: hidden;
  overscroll-behavior-x: none;
}

.privacy-page {
  overflow-x: hidden;
  max-width: 100%;
  overscroll-behavior-x: none;
}

.privacy-page .drawer-content {
  -webkit-transform: none;
          transform: none;
  opacity: 0;
  visibility: hidden;
  -webkit-transition: opacity 0.3s ease, visibility 0.3s ease;
  transition: opacity 0.3s ease, visibility 0.3s ease;
}
.privacy-page .drawer-content.is-checked {
  -webkit-transform: none;
          transform: none;
  opacity: 1;
  visibility: visible;
}

.privacy-page .header {
  max-width: 100%;
  overflow-x: clip;
}

.privacy-page .header__logo img {
  width: auto;
  max-width: min(240px, 100vw - 88px);
  height: auto;
}
@media screen and (min-width: 768px) {
  .privacy-page .header__logo img {
    width: 280px;
    max-width: 280px;
  }
}

.privacy {
  overflow-x: clip;
  width: 100%;
  max-width: 100%;
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
  padding-block: 160px 64px;
  color: #25040c;
  background-color: #fbf8f3;
}
@media screen and (min-width: 768px) {
  .privacy {
    padding-block: 180px 96px;
  }
}

.privacy__inner {
  max-width: 900px;
  width: 100%;
  margin-inline: auto;
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
}

.privacy__title {
  font-size: 20px;
  font-weight: 700;
  text-align: center;
}
@media screen and (min-width: 768px) {
  .privacy__title {
    font-size: 40px;
  }
}

.privacy__introduction {
  margin-top: 16px;
  line-height: 2;
  overflow-wrap: anywhere;
}
@media screen and (min-width: 768px) {
  .privacy__introduction {
    margin-top: 48px;
  }
}

.privacy__section {
  margin-top: 40px;
}
@media screen and (min-width: 768px) {
  .privacy__section {
    margin-top: 48px;
  }
}

.privacy__heading {
  padding-bottom: 8px;
  border-bottom: 1px solid #25040c;
  font-size: 18px;
  font-weight: 500;
}
@media screen and (min-width: 768px) {
  .privacy__heading {
    font-size: 24px;
  }
}

.privacy__text {
  margin-top: 16px;
  line-height: 2;
  overflow-wrap: anywhere;
}
@media screen and (min-width: 768px) {
  .privacy__text {
    margin-top: 20px;
  }
}

.privacy__list {
  margin-top: 16px;
  padding-left: 1.5em;
  list-style: disc;
  line-height: 2;
}

.privacy__contact {
  margin-top: 16px;
  min-width: 0;
}

.privacy__contact-row {
  display: grid;
  grid-template-columns: 1fr;
  gap: 0px;
  padding-block: 8px;
  min-width: 0;
}
@media screen and (min-width: 768px) {
  .privacy__contact-row {
    grid-template-columns: -webkit-max-content minmax(0, 1fr);
    grid-template-columns: max-content minmax(0, 1fr);
    gap: 24px;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
  }
}
.privacy__contact-row dt {
  font-weight: 700;
}
.privacy__contact-row dd {
  margin: 0;
  min-width: 0;
  line-height: 1.8;
  overflow-wrap: anywhere;
}

.privacy__contact-line {
  display: inline;
  margin: 0;
}
.privacy__contact-line + .privacy__contact-line {
  margin-left: 4px;
}

.privacy__contact-link {
  color: inherit;
  text-decoration: underline;
  text-underline-offset: 2px;
  overflow-wrap: anywhere;
  word-break: break-word;
}
.privacy__contact-link:hover {
  opacity: 0.7;
}

.privacy__date {
  margin-top: 48px;
  text-align: right;
  line-height: 1.5;
}
@media screen and (min-width: 768px) {
  .privacy__date {
    margin-top: 64px;
  }
}

.privacy-page .footer {
  overflow-x: clip;
  max-width: 100%;
}

.privacy-page .footer a {
  overflow-wrap: anywhere;
  word-break: break-word;
}

@media screen and (max-width: 1023px) {
  .fv__decoration img,
  .about-top__deco-reef-purple,
  .about-top__deco-reef-green,
  .feature__deco-flower-purple,
  .feature__deco-reef-green,
  .feature__deco-bird,
  .feature__bottom-decoration,
  .voice-detail__decoration-yellow,
  .voice-detail__decoration-green,
  .voice-detail__decoration-bottom,
  .contact__decoration-green1,
  .contact__decoration-green2,
  .contact__decoration-beige,
  .contact__decoration-bottom-green,
  .voice-top__decoration-yellow,
  .voice-top__decoration-green,
  .news-list__decoration img,
  .staff__decoration-reef-green1,
  .staff__decoration-reef-green2,
  .staff-bottom-decoration-beige,
  .staff-bottom-decoration-green,
  .news-top__decoration img {
    zoom: 0.8;
  }
}
@media screen and (min-width: 768px) and (max-width: 1023px) {
  .access__bottom-decoration-tree1,
  .access__bottom-decoration-tree2,
  .access__bottom-decoration-tree3,
  .access__bottom-decoration-tree4,
  .access__bottom-decoration-tree5,
  .access__bottom-decoration-tree6,
  .access__bottom-decoration-tree7,
  .access__bottom-decoration-fill {
    zoom: 0.8;
  }
}
@media screen and (max-width: 1279px) {
  .about-detail__deco-reef-purple,
  .about-detail__deco-reef-green,
  .about-detail__corp-deco-flower,
  .about-detail__corp-deco-reef,
  .about-detail__school-deco-bird {
    zoom: 0.8;
  }
}
@media screen and (min-width: 768px) and (max-width: 1023px) {
  .about-top__deco-reef-purple,
  .about-top__deco-reef-green,
  .about-detail__deco-reef-purple,
  .about-detail__deco-reef-green,
  .about-detail__corp-deco-flower,
  .about-detail__corp-deco-reef,
  .about-detail__school-deco-bird,
  .feature__deco-flower-purple,
  .feature__deco-reef-green,
  .feature__deco-bird,
  .feature__bottom-decoration,
  .voice-detail__decoration-yellow,
  .voice-detail__decoration-green,
  .voice-detail__decoration-bottom,
  .contact__decoration-green1,
  .contact__decoration-green2,
  .contact__decoration-beige,
  .contact__decoration-bottom-green,
  .voice-top__decoration-yellow,
  .voice-top__decoration-green,
  .news-list__decoration img,
  .staff__decoration-reef-green1,
  .staff__decoration-reef-green2,
  .staff-bottom-decoration-beige,
  .staff-bottom-decoration-green,
  .news-top__decoration img {
    zoom: 0.6;
  }
}
.button1:hover,
.header__button.button1:hover,
.feature__button.button1:hover,
.drawer-content__button .button1:hover,
.footer__button .button1:hover,
.contact__button .button1:hover {
  border-radius: 40px;
  border: 2px solid #eab57e;
  background: #fbf8f3;
  -webkit-box-shadow: 2px 2px 4px 0 rgba(0, 0, 0, 0.15);
          box-shadow: 2px 2px 4px 0 rgba(0, 0, 0, 0.15);
  color: #eab57e;
}

.button1:hover .button1__icon,
.header__button.button1:hover .button1__icon,
.feature__button.button1:hover .button1__icon,
.drawer-content__button .button1:hover .button1__icon,
.footer__button .button1:hover .button1__icon,
.contact__button .button1:hover .button1__icon {
  -webkit-filter: brightness(0) saturate(100%) invert(79%) sepia(29%) saturate(648%) hue-rotate(346deg) brightness(97%) contrast(88%);
          filter: brightness(0) saturate(100%) invert(79%) sepia(29%) saturate(648%) hue-rotate(346deg) brightness(97%) contrast(88%);
}

.button2:hover {
  color: rgba(234, 181, 126, 0.6);
}

.button2:hover .button2__icon {
  opacity: 0.6;
}