@charset "UTF-8";
@keyframes p-header-slide-in {
  0% {
    visibility: visible;
    opacity: 0;
    translate: 0 -1rem;
  }
  100% {
    visibility: visible;
    opacity: 1;
    translate: 0 0;
  }
}
@keyframes p-header-slide-out {
  0% {
    visibility: visible;
    opacity: 1;
    translate: 0 0;
  }
  99% {
    visibility: hidden;
  }
  100% {
    opacity: 0;
    translate: 0 -1rem;
  }
}
.p-header {
  position: fixed;
  top: 0;
  left: 0;
  z-index: var(--z-index-header);
  width: 100%;
}
@media (min-width: 1025px) {
  .p-header {
    visibility: hidden;
    opacity: 0;
    translate: 0 -1rem;
  }
  .p-header.is-detached-once.is-intersecting {
    animation-name: p-header-slide-out;
    animation-duration: 0.2s;
    animation-timing-function: ease;
    animation-fill-mode: forwards;
  }
  .p-header.is-detached-once:not(.is-intersecting) {
    animation-name: p-header-slide-in;
    animation-duration: 0.2s;
    animation-timing-function: ease;
    animation-fill-mode: forwards;
  }
}
.p-header > .l-header {
  position: relative;
  z-index: 0;
}

.p-mv-section {
  --stripe-color: var(--color-orange);
  position: relative;
  z-index: 0;
  overflow: hidden;
}
.p-mv-section:where(body[data-theme-color=green], body[data-theme-color=green] *) {
  --stripe-color: var(--color-green);
}
.p-mv-section:where(body[data-theme-color=blue], body[data-theme-color=blue] *) {
  --stripe-color: var(--color-ultramarine);
}
@media (max-width: 1024px) {
  .p-mv-section__top {
    display: none;
  }
}
.p-mv-section__main {
  position: relative;
}
@media (min-width: 1025px) {
  .p-mv-section__main {
    aspect-ratio: 1/0.422;
  }
}
@media (max-width: 1024px) {
  .p-mv-section__main {
    height: 100svh;
    min-height: calc(50 * var(--vw));
  }
}
.p-mv-section__main::before {
  --direction: to bottom;
  --mask-size-y: 202%;
  --mask-position-y: 100%;
  position: absolute;
  z-index: 3;
  display: block;
  width: 5rem;
  height: 100%;
  content: "";
  background-color: var(--stripe-color);
  -webkit-mask-image: linear-gradient(to bottom, #000 50%, transparent 50%);
          mask-image: linear-gradient(to bottom, #000 50%, transparent 50%);
  -webkit-mask-size: var(--mask-size-x, 100%) var(--mask-size-y, 100%);
          mask-size: var(--mask-size-x, 100%) var(--mask-size-y, 100%);
  -webkit-mask-position: var(--mask-position-x, 0) var(--mask-position-y, 0);
          mask-position: var(--mask-position-x, 0) var(--mask-position-y, 0);
  animation-name: mask-in-down;
  animation-duration: 0.9s;
  animation-timing-function: var(--ease-out-quart);
  animation-delay: 0.25s;
  animation-fill-mode: forwards;
}
@media (max-width: 1024px) {
  .p-mv-section__main::before {
    width: 4.5rem;
  }
}
@media (max-width: 525px) {
  .p-mv-section__main::before {
    width: 3.6rem;
    animation-delay: 0.15s;
  }
}
.p-mv-section__visual {
  position: relative;
  z-index: 1;
  width: 100%;
  height: 100%;
}
.p-mv-section__catch {
  position: absolute;
  top: 9%;
  right: 10rem;
  left: 7.5%;
  z-index: 2;
}
@media (max-width: 1024px) {
  .p-mv-section__catch {
    top: 15rem;
    right: 1rem;
    left: 8rem;
  }
}
@media (max-width: 525px) {
  .p-mv-section__catch {
    top: 10rem;
    left: 4.5rem;
  }
}
.p-mv-section__deco {
  --translate: 0.5rem;
  position: absolute;
  right: 0;
  bottom: 0;
  z-index: 2;
}
@media (max-width: 1024px) {
  .p-mv-section__deco {
    bottom: 10rem;
    width: fit-content;
    padding-left: 3.6rem;
    margin-left: auto;
  }
}
.p-mv-section__deco__text {
  font-family: var(--font-english);
  font-size: 10rem;
  font-weight: 850;
  line-height: 1;
  color: transparent;
  letter-spacing: 0.16em;
  -webkit-text-stroke: 0.02em var(--color-white);
}
@media (min-width: 1025px) {
  .p-mv-section__deco__text {
    translate: 0.35em 0.14em;
  }
}
@media (max-width: 1024px) {
  .p-mv-section__deco__text {
    font-size: 5.2rem;
    translate: 0.2em;
  }
}

.p-mv-top {
  position: relative;
  z-index: 0;
  display: grid;
  grid-template-columns: 1fr 1fr;
  container-type: inline-size;
  min-height: 9rem;
}
.p-mv-top__left {
  display: flex;
  align-items: center;
  padding-block: 1rem;
}
.p-mv-top__logo {
  display: block;
  max-width: 80%;
  max-height: 7rem;
}
.p-mv-top__right {
  position: relative;
  display: flex;
  flex-direction: column;
  row-gap: 0.5rem;
  align-items: flex-end;
  justify-content: center;
  padding-block: 1rem;
  color: var(--color-text-contrast);
}
.p-mv-top__bg {
  position: absolute;
  inset: 0 calc(50cqw - 50 * var(--vw)) 0 0;
  z-index: -1;
}
.p-mv-top__bg > img {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: cover;
}
.p-mv-top__lead {
  font-size: 1.1rem;
}
.p-mv-top__contact {
  display: flex;
  flex-wrap: wrap;
  gap: 1rem 3rem;
  align-items: center;
  justify-content: flex-end;
}
@media (hover: hover) {
  .p-mv-top__contact a {
    transition: opacity 0.15s;
  }
  .p-mv-top__contact a:hover {
    opacity: 0.75;
  }
}
.p-mv-top__tel {
  font-family: var(--font-english);
  font-size: 2.6rem;
  font-weight: var(--font-weight-bold);
  line-height: 1;
  letter-spacing: 0.08em;
  white-space: nowrap;
}
.p-mv-top__sns .l-sns {
  display: flex;
  flex-wrap: wrap;
  gap: 1.25em;
  justify-content: center;
  font-size: 2.3rem;
}
.p-mv-top__sns .l-sns__text {
  display: none;
}

.p-mv-visual {
  --animation-duration: 0.5s;
  --parallax-easing: var(--ease-out-quint);
  height: 100%;
}
.p-mv-visual__inner {
  height: 100%;
}
.p-mv-visual__list:is([data-effect-type=parallax] *) {
  transition-timing-function: var(--parallax-easing);
}
.p-mv-visual__list:is([data-effect-type=carousel] *) {
  transition-timing-function: linear;
}
.p-mv-visual__item {
  overflow: hidden;
}
.p-mv-visual__item__inner {
  height: 100%;
}
.p-mv-visual__item__inner:is([data-effect-type=parallax] *) {
  transition-timing-function: var(--parallax-easing);
}
.p-mv-visual__item__inner:is([data-effect-type=carousel] *) {
  transition-timing-function: linear;
}
.p-mv-visual__image {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.p-mv-catch {
  --bg-color: rgb(var(--color-orange-rgb) / 80%);
  font-size: 5rem;
  line-height: 1.3;
  color: var(--color-white);
}
.p-mv-catch:where(body[data-theme-color=green], body[data-theme-color=green] *) {
  --bg-color: rgb(var(--color-green-rgb) / 80%);
}
.p-mv-catch:where(body[data-theme-color=blue], body[data-theme-color=blue] *) {
  --bg-color: rgb(var(--color-ultramarine-rgb) / 80%);
}
@media (max-width: 1024px) {
  .p-mv-catch {
    font-size: 4.2rem;
  }
}
@media (max-width: 525px) {
  .p-mv-catch {
    font-size: 2.45rem;
  }
}
.p-mv-catch__item__inner {
  position: relative;
  -webkit-mask-size: 202% 100%;
          mask-size: 202% 100%;
  -webkit-mask-position: 100% 0;
          mask-position: 100% 0;
  -webkit-mask-repeat: no-repeat;
          mask-repeat: no-repeat;
  -webkit-mask-image: linear-gradient(to right, #000 50%, transparent 50%);
          mask-image: linear-gradient(to right, #000 50%, transparent 50%);
  width: fit-content;
}
.p-mv-catch__item__inner:is(.slide-in > *) {
  animation-name: mask-in-right;
  animation-duration: 0.9s;
  animation-timing-function: var(--ease-out-quart);
  animation-delay: 0.65s;
  animation-fill-mode: forwards;
}
.p-mv-catch__item__inner:is(.slide-out > *) {
  animation-name: mask-out-right;
  animation-duration: 0.9s;
  animation-timing-function: var(--ease-out-quart);
  animation-fill-mode: forwards;
}
.p-mv-catch__text {
  display: flex;
  flex-direction: column;
  font-family: var(--font-heading);
  text-shadow: 0 0 0.1em rgba(0, 0, 0, 0.3);
}
.p-mv-catch__text__row {
  --animation-duration: 0.95s;
  display: inline-block;
  width: fit-content;
  padding: 0 0.25em 0.085em;
  background-color: var(--bg-color);
  border-radius: 0.11em;
}
.p-mv-catch__text__row:nth-child(n+2) {
  margin-left: 1em;
}
.p-mv-catch__image {
  width: 100%;
  max-width: 12.5em;
}

.p-mv-nav {
  --active-color: var(--color-orange);
  margin-top: 5rem;
}
.p-mv-nav:where(body[data-theme-color=green], body[data-theme-color=green] *) {
  --active-color: var(--color-green);
}
.p-mv-nav:where(body[data-theme-color=blue], body[data-theme-color=blue] *) {
  --active-color: var(--color-ultramarine);
}
@media (max-width: 1024px) {
  .p-mv-nav {
    display: none;
  }
}
.p-mv-nav .l-menu {
  display: flex;
  flex-wrap: wrap;
  gap: 1.5em 1.2em;
  justify-content: center;
  font-size: var(--font-size-xs);
}
.p-mv-nav .l-menu__sub {
  display: none;
}
.p-mv-nav .l-menu__item {
  flex-basis: 10em;
}
.p-mv-nav .l-menu__link {
  position: relative;
  display: grid;
  grid-template-rows: auto 1fr;
  height: 100%;
  padding-bottom: 0.35rem;
  text-align: center;
}
.p-mv-nav .l-menu__link::after {
  position: absolute;
  bottom: 0;
  left: 0;
  width: 100%;
  height: 0.25rem;
  content: "";
  background-color: var(--active-color);
  transition: scale 0.2s var(--ease-out-quart);
  scale: 0 1;
}
.p-mv-nav .l-menu__link:hover::after {
  scale: 1 1;
}
.p-mv-nav .l-menu__link:hover .l-menu__en {
  background-color: var(--active-color);
}
.p-mv-nav .l-menu__en {
  --letter-spacing: 0.07em;
  --padding-inline: 0.5em;
  padding: 0.3em var(--padding-inline) 0.25em;
  padding-left: calc(var(--padding-inline) + var(--letter-spacing));
  font-family: var(--font-english);
  font-size: var(--font-size-md);
  font-weight: var(--font-weight-bold);
  line-height: 1;
  color: var(--color-text-contrast);
  letter-spacing: var(--letter-spacing);
  white-space: nowrap;
  background-color: var(--color-text-heading);
  border-radius: 0.3rem;
  transition: background-color 0.2s var(--ease-out-quart);
}
.p-mv-nav .l-menu__ja {
  display: flex;
  align-items: center;
  justify-content: center;
  min-height: 2.2em;
  padding-block: 0.25em;
  font-size: var(--font-size-xs);
  line-height: 1.2;
}

.p-contact {
  padding-bottom: 4rem;
  margin-top: 8rem;
}
@media (max-width: 1024px) {
  .p-contact {
    margin-top: 4rem;
  }
}
.p-contact__inner {
  display: grid;
  grid-template-columns: 1fr 1.05fr;
  gap: 4rem 8rem;
}
@media (max-width: 1024px) {
  .p-contact__inner {
    grid-template-columns: 1fr;
  }
}
.p-contact__main {
  display: flex;
  flex-direction: column;
  align-items: center;
}
.p-contact__logo {
  width: 100%;
}
@media (max-width: 1024px) {
  .p-contact__logo {
    max-width: 45rem;
  }
}
.p-contact__address {
  margin-top: 1.75rem;
}
@media (max-width: 525px) {
  .p-contact__address {
    font-size: 1.3rem;
  }
}
.p-contact__tel {
  margin-block: 0.35em;
  font-family: var(--font-english);
  font-size: 2.6rem;
  font-weight: var(--font-weight-bold);
  line-height: 1;
  letter-spacing: 0.05em;
}
@media (max-width: 525px) {
  .p-contact__tel {
    margin-block: 0.5em;
  }
}
.p-contact__buttons {
  display: flex;
  flex-wrap: wrap;
  gap: 1em;
  justify-content: center;
  margin-top: 0.5rem;
}
.p-contact__buttons > .c-button01 {
  min-width: 11em;
  max-width: 50%;
}
@media (max-width: 525px) {
  .p-contact__buttons > .c-button01 {
    font-size: 1.4rem;
  }
}
.p-contact__schedule .c-heading02 {
  margin-inline: auto;
  margin-bottom: -0.5em;
  font-size: 2.7rem;
}
.p-contact__schedule .l-schedule {
  padding: 2.75rem 3rem 1.5rem;
  background-color: var(--color-pale-ivory);
  border-radius: var(--radius-md);
}
@media (max-width: 525px) {
  .p-contact__schedule .l-schedule {
    padding-inline: 1.35rem;
    font-size: var(--font-size-sm);
  }
}

.p-info-section {
  --bg-color: var(--color-pale-ivory);
  container-type: inline-size;
  padding-top: var(--section-gap-sm);
  padding-bottom: var(--section-gap-sm);
  background-color: var(--bg-color);
}
.p-info-section:where(body[data-theme-color=green], body[data-theme-color=green] *) {
  --bg-color: var(--color-smoke);
}
.p-info-section:where(body[data-theme-color=blue], body[data-theme-color=blue] *) {
  --bg-color: var(--color-fog-white);
}
.p-info-section__body {
  margin-top: 5rem;
}
@media (min-width: 1025px) {
  .p-info-section__body {
    display: flex;
    column-gap: 5.5rem;
    justify-content: center;
  }
}
@media (max-width: 1024px) {
  .p-info-section__body {
    display: grid;
    row-gap: 4.5rem;
    margin-top: 3rem;
  }
}
@media (max-width: 525px) {
  .p-info-section__body {
    row-gap: 3rem;
  }
}

.p-info {
  display: grid;
  grid-template-rows: auto 1fr;
}
@media (min-width: 1025px) {
  .p-info {
    flex: 1;
    max-width: 60rem;
  }
}
.p-info__heading {
  margin-inline: auto;
  margin-bottom: -0.5em;
}
.p-info__body {
  padding: 4.25rem 3rem 2rem;
  background-color: var(--color-bg-base);
  border: var(--border-md) solid var(--color-text-heading);
  border-radius: var(--radius-md);
}
@media (max-width: 525px) {
  .p-info__body {
    padding: 2.75rem 1.25rem 1.75rem;
  }
}

.p-opening {
  --accent-color: var(--color-sky-blue);
}
.p-opening:where(body[data-theme-color=green], body[data-theme-color=green] *) {
  --accent-color: var(--color-dodger-blue);
}
.p-opening:where(body[data-theme-color=blue], body[data-theme-color=blue] *) {
  --accent-color: var(--color-cherry);
}
.p-opening__main {
  line-height: 1.3;
  text-align: center;
}
.p-opening__date {
  display: block;
  font-family: var(--font-english);
  font-size: 3.4rem;
  font-weight: var(--font-weight-bold);
  line-height: 1;
  color: var(--accent-color);
  letter-spacing: 0.03em;
}
@media (max-width: 525px) {
  .p-opening__date {
    font-size: 2.4rem;
  }
}
.p-opening__date > b {
  margin-right: 0.1em;
  font-size: 4.7rem;
  font-style: normal;
  letter-spacing: 0.05em;
}
@media (max-width: 525px) {
  .p-opening__date > b {
    font-size: 3.3rem;
  }
}
.p-opening__catch {
  display: block;
  margin-top: 0.1em;
  font-family: var(--font-heading);
  font-size: 3.3rem;
  font-weight: var(--font-weight-bold);
  color: var(--color-text-heading);
  letter-spacing: 0.1em;
}
@media (max-width: 525px) {
  .p-opening__catch {
    margin-top: 0.2em;
    font-size: 2.3rem;
  }
}
.p-opening__message {
  width: fit-content;
  margin-inline: auto;
  margin-top: 1.2em;
}
@media (max-width: 525px) {
  .p-opening__message {
    margin-top: 0.75em;
  }
}

.p-preview {
  --accent-color: var(--color-sky-blue);
}
.p-preview:where(body[data-theme-color=green], body[data-theme-color=green] *) {
  --accent-color: var(--color-dodger-blue);
}
.p-preview:where(body[data-theme-color=blue], body[data-theme-color=blue] *) {
  --accent-color: var(--color-cherry);
}
.p-preview__list {
  display: table;
  margin-inline: auto;
  line-height: 1.25;
}
.p-preview__datetime {
  display: table-row;
  font-family: var(--font-english);
  font-size: 3.6rem;
  font-weight: var(--font-weight-bold);
  font-variant-numeric: tabular-nums;
  letter-spacing: 0.03em;
}
@media (max-width: 525px) {
  .p-preview__datetime {
    font-size: 2.6rem;
  }
}
.p-preview__date {
  display: table-cell;
  padding-right: 0.2em;
  color: var(--accent-color);
}
.p-preview__date > b {
  display: inline-block;
  margin-right: 0.1em;
  font-style: normal;
}
.p-preview__time {
  display: table-cell;
  color: var(--color-text-heading);
}
.p-preview__message {
  width: fit-content;
  margin-inline: auto;
  margin-top: 0.75em;
}

.p-news-section {
  --bg-color: var(--color-pumpkin);
  padding-block: var(--section-gap-sm);
  background-color: var(--bg-color);
}
.p-news-section:where(body[data-theme-color=green], body[data-theme-color=green] *) {
  --bg-color: var(--color-kelly-green);
}
.p-news-section:where(body[data-theme-color=blue], body[data-theme-color=blue] *) {
  --bg-color: var(--color-denim);
}
.p-news-section__inner {
  display: grid;
  grid-template-areas: "header body" "buttons body";
  grid-template-columns: auto 1fr;
  column-gap: 5rem;
}
@media (max-width: 1024px) {
  .p-news-section__inner {
    grid-template-areas: "header" "body" "buttons";
    grid-template-columns: 1fr;
  }
}
.p-news-section__header {
  --text-color-main: var(--color-text-contrast);
  grid-area: header;
}
.p-news-section__header:where(body[data-theme-color=green], body[data-theme-color=green] *) {
  --text-color-sub: var(--color-text-contrast);
}
.p-news-section__header:where(body[data-theme-color=blue], body[data-theme-color=blue] *) {
  --text-color-sub: var(--color-text-contrast);
}
@media (min-width: 1025px) {
  .p-news-section__header {
    margin-top: 5rem;
  }
}
@media (min-width: 526px) {
  .p-news-section__header > .c-heading01__main {
    font-size: 5rem;
  }
}
.p-news-section__body {
  display: grid;
  grid-area: body;
  grid-template-areas: "tabs panels";
  grid-template-columns: auto 1fr;
}
@media (max-width: 1024px) {
  .p-news-section__body {
    grid-template-areas: "tabs" "panels";
    grid-template-columns: 1fr;
  }
}
.p-news-section__tabs {
  display: flex;
  flex-direction: column;
  grid-area: tabs;
  row-gap: 1.25rem;
  min-width: 11rem;
}
@media (min-width: 1025px) {
  .p-news-section__tabs {
    padding-top: 4rem;
  }
}
@media (max-width: 1024px) {
  .p-news-section__tabs {
    flex-direction: row;
    column-gap: 0.75rem;
    justify-content: center;
    padding-inline: 1rem;
    margin-top: 2.5rem;
  }
}
.p-news-section__tab {
  padding: 0.85em;
  font-family: var(--font-heading);
  font-size: 1.8rem;
  font-weight: var(--font-weight-bold);
  line-height: 1;
  color: var(--color-text-contrast);
  text-align: center;
  background-color: rgb(var(--color-text-heading-rgb)/40%);
  transition: background-color 0.15s;
}
@media (min-width: 1025px) {
  .p-news-section__tab {
    border-top-left-radius: var(--radius-md);
    border-bottom-left-radius: var(--radius-md);
  }
}
@media (max-width: 1024px) {
  .p-news-section__tab {
    flex: 1;
    max-width: 40%;
    font-size: 1.6rem;
    border-top-left-radius: var(--radius-md);
    border-top-right-radius: var(--radius-md);
  }
}
@media (max-width: 525px) {
  .p-news-section__tab {
    max-width: 50%;
  }
}
.p-news-section__tab[aria-selected=true], .p-news-section__tab:hover {
  background-color: var(--color-text-heading);
}
.p-news-section__panels {
  position: relative;
  display: grid;
  grid-area: panels;
  grid-template-rows: 1fr;
  grid-template-columns: 1fr;
  padding: 1.85rem 3.5rem;
  padding-right: 1.85rem;
  background-color: var(--color-bg-base);
  border: var(--border-md) solid var(--color-text-heading);
  border-radius: var(--radius-md);
}
@media (max-width: 1024px) {
  .p-news-section__panels {
    padding: 1.15rem 1.5rem;
    padding-right: 1rem;
  }
}
.p-news-section__buttons {
  display: grid;
  row-gap: 1.5rem;
  height: fit-content;
}
@media (min-width: 1025px) {
  .p-news-section__buttons {
    padding-inline: 1rem;
  }
}
@media (max-width: 1024px) {
  .p-news-section__buttons {
    margin-top: 2.25rem;
  }
}
@media (min-width: 1025px) {
  .p-news-section__button {
    width: 100%;
  }
}
@media (max-width: 1024px) {
  .p-news-section__button {
    min-width: 11em;
    margin-inline: auto;
  }
}

.p-news-panel {
  position: relative;
  grid-row: 1/1;
  grid-column: 1/1;
}
.p-news-panel[aria-hidden=true] {
  visibility: hidden;
  opacity: 0;
}
.p-news-panel__main {
  --border: 1px solid currentcolor;
  --scrollbar-size: 10px;
  max-height: 28rem;
  opacity: 0;
  transition: opacity 0.2s;
}
.p-news-panel__main[data-simplebar=init] {
  opacity: 1;
}
.p-news-panel__list {
  padding-block: 1rem;
  padding-right: 1.75rem;
}

.p-news {
  --gap-y: 1em;
  --border-width: 0.1rem;
  --border-gap: calc(var(--border-width) * 2.5);
  --border-color: rgb(var(--color-text-base-rgb) / 50%);
  --accent-color: var(--color-orange);
}
.p-news:where(body[data-theme-color=green], body[data-theme-color=green] *) {
  --accent-color: var(--color-green);
}
.p-news:where(body[data-theme-color=blue], body[data-theme-color=blue] *) {
  --accent-color: var(--color-ultramarine);
}
.p-news + .p-news {
  padding-top: 1em;
  margin-top: 1em;
  background-image: radial-gradient(circle closest-side, var(--border-color) 99%, transparent 99%);
  background-repeat: repeat-x;
  background-size: calc(var(--border-width) + var(--border-gap)) var(--border-width);
}
.p-news__meta {
  display: flex;
  flex-wrap: wrap;
  row-gap: 0.3em;
  column-gap: 0.85em;
  align-items: center;
}
.p-news__date {
  flex-shrink: 0;
  padding: 0.3em 0.5em 0.2em;
  margin-top: 0.1em;
  font-family: var(--font-english);
  line-height: 1;
  color: var(--color-text-contrast);
  letter-spacing: 0.05em;
  white-space: nowrap;
  background-color: var(--accent-color);
}
.p-news__tag {
  --dash-width: 1.25em;
  position: relative;
  display: flex;
  flex-wrap: wrap;
  row-gap: 0.25em;
  font-size: 1.3rem;
  line-height: 1;
  opacity: 0.55;
}
.p-news__tag__item:nth-child(n+2)::before {
  content: "・";
}
.p-news__title {
  margin-top: 0.45em;
  color: var(--accent-color);
}
.p-news__title::before {
  content: "[";
}
.p-news__title::after {
  content: "]";
}
.p-news__body {
  margin-top: 0.25em;
}

.p-calendar-section {
  margin-top: 7rem;
}
@media (max-width: 525px) {
  .p-calendar-section {
    margin-top: 5rem;
  }
}
.p-calendar-section__list {
  --column-count: 2;
  --column-gap: 3rem;
  --row-gap: 3rem;
}
@media (max-width: 1024px) {
  .p-calendar-section__list {
    --column-count: 1;
  }
}
.p-calendar-section__item {
  min-height: 420px;
  aspect-ratio: 1/0.78;
}
@media (max-width: 1024px) {
  .p-calendar-section__item:nth-child(n+2) {
    display: none;
  }
}
@media (max-width: 525px) {
  .p-calendar-section__item {
    aspect-ratio: 1/1.25;
  }
}
.p-calendar-section__item > iframe {
  width: 100%;
  height: 100%;
}
.p-calendar-section__button {
  margin-inline: auto;
  margin-top: 4rem;
}
@media (max-width: 525px) {
  .p-calendar-section__button {
    margin-top: 2.25rem;
  }
}

.p-apo-section {
  --bg-color: var(--color-pale-ivory);
  padding-block: var(--section-gap-md);
  background-color: var(--bg-color);
}
.p-apo-section:where(body[data-theme-color=green], body[data-theme-color=green] *) {
  --bg-color: var(--color-smoke);
}
.p-apo-section:where(body[data-theme-color=blue], body[data-theme-color=blue] *) {
  --bg-color: var(--color-fog-white);
}
.p-apo-section__intro {
  margin-top: 1.5em;
  text-align: center;
}
.p-apo-section__body {
  display: flex;
  column-gap: 5rem;
  justify-content: center;
  margin-top: 5.5rem;
}
@media (max-width: 1024px) {
  .p-apo-section__body {
    display: grid;
    grid-template-columns: 1fr;
    row-gap: 5rem;
    margin-top: 3rem;
  }
}
@media (max-width: 525px) {
  .p-apo-section__body {
    row-gap: 3rem;
  }
}

.p-apo {
  display: grid;
  flex: 1;
  grid-template-rows: auto 1fr;
  max-width: 58rem;
}
@media (max-width: 1024px) {
  .p-apo {
    width: 100%;
    margin-inline: auto;
  }
}
.p-apo__label {
  margin-inline: auto;
  margin-bottom: -0.5em;
}
.p-apo__body {
  padding: 3.25rem 3rem 2rem;
  background-color: var(--color-bg-base);
  border: var(--border-md) solid var(--color-text-heading);
  border-radius: var(--radius-md);
}
@media (max-width: 525px) {
  .p-apo__body {
    padding: 2rem 1.75rem;
  }
}
.p-apo__heading {
  margin-bottom: 0.75em;
  font-family: var(--font-heading);
  font-size: 2.2rem;
  color: var(--color-text-heading);
  text-align: center;
}
@media (max-width: 525px) {
  .p-apo__heading {
    margin-bottom: 0.5em;
    font-size: 1.8rem;
  }
}

.p-apo-tel {
  --accent-color: var(--color-sky-blue);
}
.p-apo-tel:where(body[data-theme-color=green], body[data-theme-color=green] *) {
  --accent-color: var(--color-dodger-blue);
}
.p-apo-tel:where(body[data-theme-color=blue], body[data-theme-color=blue] *) {
  --accent-color: var(--color-cherry);
}
.p-apo-tel__num {
  display: block;
  align-items: baseline;
  width: fit-content;
  margin-inline: auto;
  font-family: var(--font-english);
  font-size: 4.3rem;
  font-weight: var(--font-weight-bold);
  line-height: 1;
  color: var(--accent-color);
  letter-spacing: 0.03em;
}
@media (max-width: 525px) {
  .p-apo-tel__num {
    font-size: 3.2rem;
  }
}
.p-apo-tel__note {
  margin-top: 2rem;
}
@media (min-width: 526px) {
  .p-apo-tel__note {
    width: fit-content;
    margin-inline: auto;
  }
}
@media (max-width: 525px) {
  .p-apo-tel__note {
    margin-top: 1rem;
  }
}

@media (min-width: 1025px) {
  .js-has-pseudo [csstools-has-1a-34-19-2p-34-33-19-3b-2t-2q-1m-2w-2p-37-14-1a-34-19-2p-34-33-19-3b-2t-2q-2n-2n-35-36-15]:not(.does-not-exist) {
    display: grid;
    grid-template-areas: "intro qr" "text qr" "buttons qr";
    grid-template-columns: 1fr 10.5rem;
    column-gap: 1.75rem;
  }
  .p-apo-web:has(.p-apo-web__qr) {
    display: grid;
    grid-template-areas: "intro qr" "text qr" "buttons qr";
    grid-template-columns: 1fr 10.5rem;
    column-gap: 1.75rem;
  }
}
.p-apo-web__qr {
  grid-area: qr;
  align-self: center;
}
@media (max-width: 1024px) {
  .p-apo-web__qr {
    display: none;
  }
}
.p-apo-web__intro {
  display: block;
  grid-area: intro;
}
@media (max-width: 1024px) {
  .p-apo-web__intro {
    width: fit-content;
    margin-inline: auto;
    margin-bottom: 0.85em;
  }
}
.p-apo-web__text {
  grid-area: text;
  margin-bottom: 1em;
}
@media (max-width: 1024px) {
  .p-apo-web__text {
    display: none;
  }
}
.p-apo-web__buttons {
  display: flex;
  flex-wrap: wrap;
  gap: 1rem;
  align-items: center;
}
@media (max-width: 1024px) {
  .p-apo-web__buttons {
    justify-content: center;
  }
}
.p-apo-web__button {
  padding-inline: 1em;
  font-size: var(--font-size-md);
}

.p-policy {
  --bg-color: var(--color-olive-green);
  --object-color: rgb(var(--color-deep-moss-rgb) / 15%);
  --accent-color: var(--color-orange);
  position: relative;
  z-index: 0;
  padding-top: 8.5rem;
  padding-bottom: 5rem;
  overflow: hidden;
  color: var(--color-text-contrast);
  background-color: var(--bg-color);
}
.p-policy:where(body[data-theme-color=green], body[data-theme-color=green] *) {
  --bg-color: var(--color-muted-indigo);
  --object-color: rgb(var(--color-dark-brown-rgb) / 15%);
  --accent-color: var(--color-green);
}
.p-policy:where(body[data-theme-color=blue], body[data-theme-color=blue] *) {
  --bg-color: var(--color-rosewood);
  --object-color: rgb(var(--color-midnight-blue-rgb) / 15%);
  --accent-color: var(--color-ultramarine);
}
@media (min-width: 1025px) {
  .p-policy {
    min-height: 75rem;
  }
}
@media (max-width: 1024px) {
  .p-policy {
    padding-top: 2rem;
  }
}
.p-policy::before {
  position: absolute;
  inset: 0;
  z-index: -2;
  content: "";
  background-color: var(--object-color);
  -webkit-mask-image: url("../../images/top/policy_object_01.svg"), url("../../images/top/policy_object_02.svg");
          mask-image: url("../../images/top/policy_object_01.svg"), url("../../images/top/policy_object_02.svg");
  -webkit-mask-position: right top, left bottom;
          mask-position: right top, left bottom;
  -webkit-mask-repeat: no-repeat;
          mask-repeat: no-repeat;
  -webkit-mask-size: min(80rem, 100%) auto, min(62.5rem, 100%) auto;
          mask-size: min(80rem, 100%) auto, min(62.5rem, 100%) auto;
}
.p-policy__heading-en {
  position: absolute;
  top: -0.07em;
  left: 0.15em;
  z-index: -1;
  font-family: var(--font-english);
  font-size: 18rem;
  font-weight: var(--font-weight-bold);
  line-height: 1;
  color: var(--color-text-contrast);
  letter-spacing: 0.1em;
  opacity: 0.3;
  writing-mode: vertical-rl;
  text-orientation: sideways;
}
@media (max-width: 1024px) {
  .p-policy__heading-en {
    left: -0.02em;
  }
}
@media (max-width: 525px) {
  .p-policy__heading-en {
    font-size: 14.6rem;
  }
}
.p-policy__inner {
  container-type: inline-size;
  position: relative;
  z-index: 1;
}
.p-policy__grid {
  display: grid;
}
@media (min-width: 1025px) {
  .p-policy__grid {
    grid-template-rows: auto auto 1fr;
    grid-template-columns: 1fr 54rem;
    column-gap: 3rem;
    margin-left: 8rem;
  }
}
@media (max-width: 1024px) {
  .p-policy__grid {
    grid-template-columns: 1fr;
  }
}
.p-policy__heading {
  grid-row: 1/2;
  grid-column: 1/2;
  margin-top: 0.5em;
  margin-bottom: 0.65em;
  font-family: var(--font-heading);
  font-size: 3.8rem;
  letter-spacing: 0.1em;
}
@media (max-width: 1024px) {
  .p-policy__heading {
    margin-left: 1.2em;
    font-size: 3.2rem;
  }
}
@media (max-width: 525px) {
  .p-policy__heading {
    margin-left: 1.2em;
    font-size: 2.6rem;
  }
}
.p-policy__lead {
  --indent-width: 2.5em;
  grid-row: 2/3;
  grid-column: 1/-1;
  margin-bottom: 0.25em;
  font-family: var(--font-heading);
  font-size: 3.3rem;
  line-height: 1.2;
  color: var(--color-text-heading);
  filter: drop-shadow(0.2em 0.18em 0 rgb(var(--color-text-heading-rgb)/20%));
}
@media (max-width: 1024px) {
  .p-policy__lead {
    font-size: 2.75rem;
  }
}
@media (max-width: 525px) {
  .p-policy__lead {
    --indent-width: 0.75em;
    margin-left: -0.55em;
    font-size: 1.84rem;
    letter-spacing: -0.01em;
  }
}
.p-policy__lead__row {
  display: block;
  width: fit-content;
  padding: 0.05em 0.45em 0.15em;
  background-color: var(--color-bg-base);
  border-radius: var(--radius-md);
  transform: rotate(var(--tilt-deg));
}
@media (min-width: 1025px) {
  .p-policy__lead__row {
    --animation-delay: 0.25s;
  }
}
.p-policy__lead__row:not(:last-child) {
  margin-bottom: -0.15em;
}
.p-policy__lead__row:nth-child(n+2) {
  transform: rotate(var(--tilt-deg)) translateX(var(--indent-width));
}
.p-policy__lead__row > b {
  color: var(--accent-color);
}
.p-policy__content {
  grid-row: 3/-1;
  grid-column: 1/2;
  margin-top: 3em;
}
@media (min-width: 1025px) {
  .p-policy__content {
    --animation-delay: 0.35s;
  }
}
@media (max-width: 1024px) {
  .p-policy__content {
    grid-row: 5;
    margin-top: 2rem;
  }
}
.p-policy__image-main {
  position: relative;
  z-index: -1;
  height: fit-content;
  margin-top: 6rem;
  margin-right: 1.5rem;
  overflow: hidden;
  border-radius: var(--radius-md);
}
@media (min-width: 1025px) {
  .p-policy__image-main {
    --animation-delay: 0.15s;
    grid-row: 3/-1;
    grid-column: 2/3;
  }
}
@media (max-width: 1024px) {
  .p-policy__image-main {
    grid-row: 4;
    grid-column: 1;
    width: 85%;
    margin-top: -12rem;
    margin-right: auto;
  }
}
@media (max-width: 525px) {
  .p-policy__image-main {
    grid-row: 3;
    width: 95%;
    margin-top: 2.5rem;
  }
}
.p-policy__image-main > img {
  width: 100%;
}
.p-policy__image-sub {
  position: relative;
  z-index: -2;
  height: fit-content;
  overflow: hidden;
}
@media (min-width: 1025px) {
  .p-policy__image-sub {
    grid-row: 1/-1;
    grid-column: 2/3;
    margin-left: 7.5rem;
  }
}
@media (max-width: 1024px) {
  .p-policy__image-sub {
    grid-row: 3;
    grid-column: 1;
    width: 78%;
    margin-top: -4rem;
    margin-left: auto;
  }
}
@media (min-width: 526px) {
  .p-policy__image-sub {
    margin-right: calc(50cqw - 50 * var(--vw));
    border-top-left-radius: var(--radius-md);
    border-bottom-left-radius: var(--radius-md);
  }
}
@media (max-width: 525px) {
  .p-policy__image-sub {
    grid-row: 4;
    width: 89%;
    margin-top: -8rem;
    border-radius: var(--radius-md);
  }
}
.p-policy__image-sub::after {
  position: absolute;
  inset: 0;
  content: "";
  background-color: var(--color-cream-white);
  mix-blend-mode: multiply;
}
.p-policy__image-sub > img {
  width: 100%;
}

.p-feature-section {
  --bg-color: var(--color-soft-wheat);
  --object-color: var(--color-mustard);
  --heading-color: var(--color-rust);
  position: relative;
  z-index: 0;
  padding-top: 9rem;
  padding-bottom: 11rem;
  overflow: hidden;
  background-color: var(--bg-color);
}
.p-feature-section:where(body[data-theme-color=green], body[data-theme-color=green] *) {
  --bg-color: var(--color-peach-white);
  --object-color: var(--color-almond);
  --heading-color: var(--color-shamrock-green);
}
.p-feature-section:where(body[data-theme-color=blue], body[data-theme-color=blue] *) {
  --bg-color: var(--color-soft-melon);
  --object-color: var(--color-soft-sage);
  --heading-color: var(--color-denim);
}
@media (max-width: 1024px) {
  .p-feature-section {
    padding-top: 6rem;
    padding-bottom: 9rem;
  }
}
@media (max-width: 525px) {
  .p-feature-section {
    padding-top: 3rem;
    padding-bottom: 7rem;
  }
}
.p-feature-section::before {
  position: absolute;
  inset: 0;
  z-index: -1;
  content: "";
  background-color: var(--object-color);
  -webkit-mask-image: url("../../images/top/feature_object.svg");
          mask-image: url("../../images/top/feature_object.svg");
  -webkit-mask-repeat: no-repeat;
          mask-repeat: no-repeat;
  -webkit-mask-position: top left;
          mask-position: top left;
  -webkit-mask-size: 100% auto;
          mask-size: 100% auto;
}
.p-feature-section__header {
  --text-color-main: var(--heading-color);
  display: flex;
  flex-wrap: wrap;
  margin-right: -0.17em;
  font-size: 15rem;
}
@media (max-width: 1024px) {
  .p-feature-section__header {
    font-size: 10rem;
  }
}
@media (min-width: 526px) {
  .p-feature-section__header {
    column-gap: 0.25em;
    align-items: center;
    justify-content: flex-end;
  }
}
@media (max-width: 525px) {
  .p-feature-section__header {
    flex-direction: column;
    align-items: flex-start;
    width: fit-content;
    margin-left: auto;
    font-size: 6.2rem;
  }
}
.p-feature-section__header > .c-heading01__main {
  letter-spacing: 0.1em;
  opacity: 0.85;
}
.p-feature-section__header > .c-heading01__sub {
  font-size: 3rem;
}
@media (max-width: 1024px) {
  .p-feature-section__header > .c-heading01__sub {
    margin-left: -0.2em;
    font-size: 2.6rem;
  }
}
.p-feature-section__body {
  container-type: inline-size;
}
.p-feature-section__list {
  display: grid;
  row-gap: var(--section-gap-md);
  margin-top: var(--section-gap-sm);
  counter-reset: feature;
}

.p-feature {
  --container-gap: calc(50 * var(--vw) - 50cqw);
  --overlap-width: 2rem;
  position: relative;
  z-index: 0;
  display: grid;
}
@media (min-width: 1025px) {
  .p-feature {
    --main-width: 1.26fr;
    grid-template-rows: auto 1fr;
  }
}
@media (max-width: 1024px) {
  .p-feature {
    grid-template-areas: "header" "body";
  }
}
.p-feature:nth-child(odd) {
  --number-color: var(--color-sap-green);
  --lead-color: var(--color-mocha);
  --label-color: var(--color-orange);
}
.p-feature:nth-child(odd):where(body[data-theme-color=green], body[data-theme-color=green] *) {
  --number-color: var(--color-muted-indigo);
  --lead-color: var(--color-dark-olive);
  --label-color: var(--color-green);
}
.p-feature:nth-child(odd):where(body[data-theme-color=blue], body[data-theme-color=blue] *) {
  --number-color: var(--color-cocoa);
  --lead-color: var(--color-deep-mocha);
  --label-color: var(--color-ultramarine);
}
@media (min-width: 1025px) {
  .p-feature:nth-child(odd) {
    grid-template-areas: "header figure" "content figure";
    grid-template-columns: var(--main-width) 1fr;
  }
}
.p-feature:nth-child(even) {
  --number-color: var(--color-rust);
  --lead-color: var(--color-matcha);
  --label-color: var(--color-matcha);
}
.p-feature:nth-child(even):where(body[data-theme-color=green], body[data-theme-color=green] *) {
  --number-color: var(--color-green);
  --lead-color: var(--color-dark-green);
  --label-color: var(--color-muted-indigo);
}
.p-feature:nth-child(even):where(body[data-theme-color=blue], body[data-theme-color=blue] *) {
  --number-color: var(--color-ultramarine);
  --lead-color: var(--color-muted-navy);
  --label-color: var(--color-cocoa);
}
@media (min-width: 1025px) {
  .p-feature:nth-child(even) {
    grid-template-areas: "figure header" "figure content";
    grid-template-columns: 1fr var(--main-width);
  }
}
.p-feature__header {
  position: relative;
  display: flex;
  grid-area: header;
  column-gap: 0.65em;
  align-items: center;
  padding-bottom: 0.85em;
  padding-left: 5.5rem;
  font-size: 3.1rem;
  counter-increment: feature;
}
@media (min-width: 1025px) {
  .p-feature__header {
    --animation-delay: 0.17s;
  }
}
@media (max-width: 1024px) {
  .p-feature__header {
    padding-bottom: 0.65em;
    padding-left: 0;
    font-size: 2.7rem;
  }
}
@media (max-width: 525px) {
  .p-feature__header {
    column-gap: 0.5em;
    font-size: 2.2rem;
  }
}
.p-feature__header::before {
  position: relative;
  flex-shrink: 0;
  font-family: var(--font-number);
  font-size: 3.05em;
  font-weight: var(--font-weight-bold);
  line-height: 1;
  color: var(--number-color);
  content: counter(feature, decimal-leading-zero);
  translate: 0 0.01em;
}
@media (max-width: 525px) {
  .p-feature__header::before {
    font-size: 2.95em;
  }
}
.p-feature__header::after {
  position: absolute;
  bottom: 0;
  width: calc(100% + var(--container-gap));
  height: 0.5rem;
  content: "";
  background-color: var(--color-text-heading);
}
.p-feature__header:is(.p-feature:nth-child(odd) *)::after {
  right: 0;
}
.p-feature__header:is(.p-feature:nth-child(even) *)::after {
  left: 0;
}
.p-feature__lead {
  font-family: var(--font-heading);
  line-height: 1.4;
  color: var(--lead-color);
}
@media (min-width: 1025px) {
  .p-feature__body {
    display: contents;
  }
}
@media (max-width: 1024px) {
  .p-feature__body {
    position: relative;
    grid-area: body;
  }
  .p-feature__body::before {
    position: absolute;
    top: 0;
    width: calc(50 * var(--vw) - 50cqw);
    height: 100%;
    content: "";
    background-color: var(--label-color);
  }
}
@media (max-width: 1024px) {
  .p-feature__body:is(.p-feature:nth-child(odd) *)::before {
    right: 100%;
  }
}
@media (max-width: 1024px) {
  .p-feature__body:is(.p-feature:nth-child(even) *)::before {
    left: 100%;
  }
}
.p-feature__content {
  grid-area: content;
  height: fit-content;
  padding: 3.75rem 5.6rem 2.75rem;
  background-color: var(--color-bg-base);
}
@media (min-width: 1025px) {
  .p-feature__content {
    --animation-delay: 0.3s;
    border-bottom-right-radius: var(--radius-md);
    border-bottom-left-radius: var(--radius-md);
  }
}
@media (max-width: 1024px) {
  .p-feature__content {
    padding: 3rem 3rem 3.25rem;
  }
}
@media (max-width: 525px) {
  .p-feature__content {
    padding: 2rem 1.75rem 2.75rem;
  }
}
.p-feature__buttons {
  display: flex;
  flex-wrap: wrap;
  gap: 1em;
  justify-content: center;
  margin-top: 2rem;
}
.p-feature__button {
  min-width: 11em;
}
.p-feature__figure {
  position: relative;
  z-index: 1;
  grid-area: figure;
  height: fit-content;
  aspect-ratio: 3/2;
  overflow: hidden;
}
@media (min-width: 1025px) {
  .p-feature__figure::before {
    position: absolute;
    top: 0;
    width: 3rem;
    height: 100%;
    content: "";
    background-color: var(--label-color);
  }
}
@media (min-width: 1025px) {
  .p-feature__figure:is(.p-feature:nth-child(odd) *) {
    margin-right: calc(var(--container-gap) * -1);
    margin-left: calc(var(--overlap-width) * -1);
    border-top-left-radius: var(--radius-md);
    border-bottom-left-radius: var(--radius-md);
  }
  .p-feature__figure:is(.p-feature:nth-child(odd) *)::before {
    right: 0;
  }
}
@media (max-width: 1024px) {
  .p-feature__figure:is(.p-feature:nth-child(odd) *) {
    border-bottom-right-radius: var(--radius-md);
  }
}
@media (min-width: 1025px) {
  .p-feature__figure:is(.p-feature:nth-child(even) *) {
    margin-right: calc(var(--overlap-width) * -1);
    margin-left: calc(var(--container-gap) * -1);
    border-top-right-radius: var(--radius-md);
    border-bottom-right-radius: var(--radius-md);
  }
  .p-feature__figure:is(.p-feature:nth-child(even) *)::before {
    left: 0;
  }
}
@media (max-width: 1024px) {
  .p-feature__figure:is(.p-feature:nth-child(even) *) {
    border-bottom-left-radius: var(--radius-md);
  }
}
.p-feature__image {
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.p-service-section {
  --bg-color: var(--color-pale-ivory);
  --heading-color-1: var(--color-pale-taupe);
  --heading-color-2: var(--color-charcoal-brown);
  --heading-color-3: var(--color-coral);
  --heading-color-4: var(--color-lemon);
  --heading-color-5: var(--color-sage-green);
  padding-top: 9rem;
  padding-bottom: 9rem;
  background-color: var(--bg-color);
}
.p-service-section:where(body[data-theme-color=green], body[data-theme-color=green] *) {
  --bg-color: var(--color-smoke);
  --heading-color-1: var(--color-mauve);
  --heading-color-2: var(--color-dusty-beige);
  --heading-color-3: var(--color-pastel-green);
  --heading-color-4: var(--color-muted-gold);
  --heading-color-5: var(--color-muted-purple);
}
.p-service-section:where(body[data-theme-color=blue], body[data-theme-color=blue] *) {
  --bg-color: var(--color-fog-white);
  --heading-color-1: var(--color-misty-blue);
  --heading-color-2: var(--color-ochre);
  --heading-color-3: var(--color-soft-azure);
  --heading-color-4: var(--color-amber);
  --heading-color-5: var(--color-avocado);
}
@media (max-width: 525px) {
  .p-service-section {
    padding-top: 5.5rem;
    padding-bottom: 7rem;
  }
}
.p-service-section__inner {
  container-type: inline-size;
}
.p-service-section__header {
  font-size: 12rem;
  letter-spacing: 0.02em;
}
@media (max-width: 1024px) {
  .p-service-section__header {
    font-size: 8rem;
  }
}
@media (min-width: 526px) {
  .p-service-section__header {
    display: flex;
    flex-wrap: wrap;
    column-gap: 0.25em;
    align-items: center;
    justify-content: flex-start;
    padding: 0.12em 0.4em;
    margin-right: calc(50cqw - 50 * var(--vw));
    background-color: var(--color-bg-base);
    border-top-left-radius: var(--radius-md);
    border-bottom-left-radius: var(--radius-md);
  }
}
@media (max-width: 525px) {
  .p-service-section__header {
    flex-direction: column;
    align-items: flex-end;
    font-size: 6.1rem;
  }
}
.p-service-section__header > .c-heading01__main {
  position: relative;
  line-height: 1;
  letter-spacing: 0.1em;
  translate: 0 0.02em;
}
@media (max-width: 525px) {
  .p-service-section__header > .c-heading01__main {
    width: fit-content;
    padding-block: 0.15em 0.12em;
    padding-left: 0.4em;
    margin-left: auto;
  }
  .p-service-section__header > .c-heading01__main::before {
    position: absolute;
    top: 0;
    right: calc(50cqw - 50 * var(--vw));
    left: 0;
    z-index: -1;
    height: 100%;
    content: "";
    background-color: var(--color-bg-base);
    border-top-left-radius: var(--radius-md);
    border-bottom-left-radius: var(--radius-md);
  }
}
.p-service-section__header > .c-heading01__main > span {
  display: inline-block;
}
.p-service-section__header > .c-heading01__main > span:nth-child(10n+1), .p-service-section__header > .c-heading01__main > span:nth-child(10n+6) {
  color: var(--heading-color-1);
}
.p-service-section__header > .c-heading01__main > span:nth-child(10n+2), .p-service-section__header > .c-heading01__main > span:nth-child(10n+9) {
  color: var(--heading-color-2);
}
.p-service-section__header > .c-heading01__main > span:nth-child(10n+3), .p-service-section__header > .c-heading01__main > span:nth-child(10n+8) {
  color: var(--heading-color-3);
}
.p-service-section__header > .c-heading01__main > span:nth-child(10n+4), .p-service-section__header > .c-heading01__main > span:nth-child(10n+7) {
  color: var(--heading-color-4);
}
.p-service-section__header > .c-heading01__main > span:nth-child(10n+5), .p-service-section__header > .c-heading01__main > span:nth-child(10n+10) {
  color: var(--heading-color-5);
}
.p-service-section__header > .c-heading01__sub {
  --animation-delay: 0.35s;
  font-size: 3rem;
  line-height: 1;
}
@media (max-width: 525px) {
  .p-service-section__header > .c-heading01__sub {
    margin-top: 0.5em;
    margin-right: 0.1em;
    font-size: 2.6rem;
    text-align: right;
    letter-spacing: 0.15em;
  }
}
.p-service-section__list {
  --column-count: 5;
  --gap: 3.2rem;
  --row-gap: var(--gap);
  --column-gap: var(--gap);
  justify-content: center;
  margin-top: 7rem;
}
@media (min-width: 1025px) {
  .p-service-section__list {
    padding-inline: 4.6rem;
  }
}
@media (max-width: 1024px) {
  .p-service-section__list {
    --column-count: 4;
    --gap: 2.5rem;
  }
}
@media (max-width: 525px) {
  .p-service-section__list {
    --column-count: 2;
    --gap: 2rem;
    padding-inline: 1.2rem;
    margin-top: 5rem;
  }
}
.p-service-section__buttons {
  display: flex;
  flex-wrap: wrap;
  gap: 1.5rem 2rem;
  justify-content: center;
  margin-top: 5rem;
}
@media (max-width: 525px) {
  .p-service-section__buttons {
    margin-top: 3.75rem;
  }
}
.p-service-section__button {
  --text-color: var(--color-text-contrast);
  --bg-color: var(--color-text-heading);
  --hover-bg-color: var(--color-mocha);
  min-width: 16rem;
}

.p-service {
  --color-1: var(--color-pale-taupe);
  --color-2: var(--color-coral);
  --color-3: var(--color-lemon);
  --color-4: var(--color-camel);
  --color-5: var(--color-sage-green);
  container-type: inline-size;
}
.p-service:where(body[data-theme-color=green], body[data-theme-color=green] *) {
  --color-1: var(--color-mauve);
  --color-2: var(--color-pastel-green);
  --color-3: var(--color-muted-gold);
  --color-4: var(--color-dusty-beige);
  --color-5: var(--color-muted-purple);
}
.p-service:where(body[data-theme-color=blue], body[data-theme-color=blue] *) {
  --color-1: var(--color-misty-blue);
  --color-2: var(--color-soft-azure);
  --color-3: var(--color-amber);
  --color-4: var(--color-ochre);
  --color-5: var(--color-avocado);
}
.p-service:nth-child(15n+1), .p-service:nth-child(15n+10), .p-service:nth-child(15n+12) {
  --bg-color: var(--color-1);
}
.p-service:nth-child(15n+2), .p-service:nth-child(15n+9), .p-service:nth-child(15n+15) {
  --bg-color: var(--color-2);
}
.p-service:nth-child(15n+3), .p-service:nth-child(15n+6), .p-service:nth-child(15n+14) {
  --bg-color: var(--color-3);
}
.p-service:nth-child(15n+4), .p-service:nth-child(15n+7), .p-service:nth-child(15n+13) {
  --bg-color: var(--color-4);
}
.p-service:nth-child(15n+5), .p-service:nth-child(15n+8), .p-service:nth-child(15n+11) {
  --bg-color: var(--color-5);
}
.p-service__link {
  display: grid;
  grid-template-rows: auto 1fr;
  justify-content: center;
  aspect-ratio: 1/1;
  padding: 1.75rem 0.75rem 0.75rem;
  overflow: hidden;
  background-color: var(--bg-color);
  border-radius: var(--radius-md);
}
@media (hover: hover) {
  .p-service__link {
    transition: scale 0.18s var(--ease-out-quart);
  }
  .p-service__link:hover {
    scale: 1.03;
  }
  .p-service__link:hover .p-service__icon > img {
    animation: bounce 0.6s both cubic-bezier(0.215, 0.61, 0.355, 1);
  }
}
.p-service__icon {
  display: flex;
  align-items: center;
  justify-content: center;
  justify-self: center;
  width: 62.5cqw;
  aspect-ratio: 1/1;
  background-color: var(--color-off-white);
  border-radius: 50%;
}
@media (max-width: 1024px) {
  .p-service__icon {
    width: 61cqw;
  }
}
.p-service__icon > img {
  display: block;
  width: 66%;
  height: auto;
}
.p-service__name {
  display: flex;
  align-items: center;
  justify-content: center;
  min-height: 2em;
  margin-top: 0.25em;
  font-family: var(--font-heading);
  font-size: 1.2rem;
  line-height: 1.05;
  color: var(--color-text-heading);
  text-align: center;
}
@media (max-width: 1024px) {
  .p-service__name {
    font-size: 1.4rem;
  }
}

.p-greeting {
  --section-bg-color: var(--color-rose-beige);
  --profile-bg-color: var(--color-sky-blue);
  padding-top: 9rem;
  padding-bottom: 9rem;
  background-color: var(--section-bg-color);
}
.p-greeting:where(body[data-theme-color=green], body[data-theme-color=green] *) {
  --section-bg-color: var(--color-pale-stone);
  --profile-bg-color: var(--color-dodger-blue);
}
.p-greeting:where(body[data-theme-color=blue], body[data-theme-color=blue] *) {
  --section-bg-color: var(--color-light-slate);
  --profile-bg-color: var(--color-cherry);
}
@media (max-width: 1024px) {
  .p-greeting {
    padding-top: 7rem;
  }
}
@media (max-width: 525px) {
  .p-greeting {
    padding-top: 5rem;
    padding-bottom: 7rem;
  }
}
.p-greeting__inner {
  display: grid;
  grid-template-areas: "box heading-en";
  grid-template-columns: 1fr auto;
}
@media (max-width: 1024px) {
  .p-greeting__inner {
    grid-template-areas: "heading-en" "box";
    grid-template-columns: 1fr;
  }
}
.p-greeting__heading-en {
  grid-area: heading-en;
  font-family: var(--font-english);
  font-size: 12rem;
  font-weight: var(--font-weight-bold);
  line-height: 1;
  color: var(--color-text-heading);
}
@media (min-width: 1025px) {
  .p-greeting__heading-en {
    margin-right: -3.5rem;
    letter-spacing: 0.1em;
    writing-mode: vertical-rl;
    text-orientation: sideways;
  }
}
@media (max-width: 1024px) {
  .p-greeting__heading-en {
    margin-bottom: -0.18em;
    font-size: 9.5rem;
    text-align: center;
    letter-spacing: 0.02em;
  }
}
@media (max-width: 525px) {
  .p-greeting__heading-en {
    font-size: 6.2rem;
  }
}
.p-greeting__box {
  display: grid;
  grid-area: box;
  background-color: var(--color-bg-base);
  border: var(--border-md) solid var(--color-text-heading);
  border-radius: var(--radius-md);
}
@media (min-width: 1025px) {
  .p-greeting__box {
    grid-template-areas: "heading main portrait" "heading main sign" "heading profile profile" "heading buttons buttons";
    grid-template-rows: auto 1fr auto auto;
    grid-template-columns: auto 1fr 44rem;
    margin-top: 5rem;
    margin-right: -2.5rem;
  }
}
@media (max-width: 1024px) {
  .p-greeting__box {
    grid-template-areas: "heading portrait" "... sign" "main main" "profile profile" "buttons buttons";
    grid-template-rows: auto 1fr repeat(3, auto);
    grid-template-columns: auto 1fr;
  }
}
@media (max-width: 525px) {
  .p-greeting__box {
    margin-top: 0;
  }
}
.p-greeting__heading {
  grid-area: heading;
  padding-top: 1em;
  padding-right: 0.6em;
  padding-left: 0.5em;
  font-family: var(--font-heading);
  font-size: 3rem;
  line-height: 1;
  color: var(--color-text-contrast);
  letter-spacing: 0.15em;
  background-color: var(--color-text-heading);
  writing-mode: vertical-rl;
}
@media (max-width: 525px) {
  .p-greeting__heading {
    padding-top: 0.8em;
    padding-right: 0.55em;
    padding-left: 0.4em;
    font-size: 2.6rem;
  }
}
.p-greeting__heading > span {
  display: inline-block;
}
.p-greeting__main {
  grid-area: main;
  height: fit-content;
  padding: 4rem 4rem 5rem;
}
@media (max-width: 525px) {
  .p-greeting__main {
    padding: 3rem 1.75rem;
  }
}
.p-greeting__lead {
  margin-bottom: 0.75em;
  font-family: var(--font-heading);
  font-size: 3rem;
  line-height: 1.5;
  color: var(--color-text-heading);
}
@media (max-width: 525px) {
  .p-greeting__lead {
    font-size: 2.7rem;
  }
}
@media (max-width: 525px) {
  .p-greeting__lead {
    font-size: 2.3rem;
  }
}
.p-greeting__portrait {
  --animation-delay: 0.15s;
  grid-area: portrait;
  height: fit-content;
}
.p-greeting__portrait > img {
  width: 100%;
}
.p-greeting__sign {
  display: flex;
  flex-direction: column;
  grid-area: sign;
  row-gap: 2rem;
  align-items: center;
}
@media (min-width: 1025px) {
  .p-greeting__sign {
    margin-bottom: 5rem;
  }
}
@media (max-width: 525px) {
  .p-greeting__sign {
    row-gap: 1.35rem;
  }
}
.p-greeting__sign__label {
  margin-inline: auto;
  margin-top: -0.9em;
  font-size: 3rem;
  background-color: var(--color-text-heading);
}
@media (max-width: 525px) {
  .p-greeting__sign__label {
    font-size: 2.6rem;
  }
}
.p-greeting__profile {
  grid-area: profile;
  padding: 4rem;
  color: var(--color-text-contrast);
  background-color: var(--profile-bg-color);
  border-top: var(--border-md) solid var(--color-text-heading);
}
@media (max-width: 525px) {
  .p-greeting__profile {
    padding: 3rem 1.75rem 2.5rem;
  }
}
.p-greeting__buttons {
  display: flex;
  flex-wrap: wrap;
  grid-area: buttons;
  gap: 1.5rem 2rem;
  justify-content: center;
  padding: 5rem 4rem;
  border-top: var(--border-md) solid var(--color-text-heading);
}
@media (max-width: 525px) {
  .p-greeting__buttons {
    padding: 3.5rem 1.75rem;
  }
}

.p-profile {
  --label-color: var(--color-sunflower);
  display: flex;
  row-gap: 3rem;
  column-gap: 5rem;
  align-items: center;
  justify-content: center;
}
.p-profile:where(body[data-theme-color=green], body[data-theme-color=green] *) {
  --label-color: var(--color-yellow-orange);
}
.p-profile:where(body[data-theme-color=blue], body[data-theme-color=blue] *) {
  --label-color: var(--color-neon-yellow);
}
@media (max-width: 525px) {
  .p-profile {
    flex-direction: column;
  }
}
.p-profile__header {
  display: flex;
  flex-direction: column;
  gap: 1rem;
  align-items: center;
}
@media (min-width: 526px) {
  .p-profile__header {
    margin-top: 1rem;
  }
}
.p-profile__label {
  font-size: 2.4rem;
  color: var(--label-color);
  background-color: var(--color-text-heading);
}
.p-profile__heading {
  font-family: var(--font-heading);
  font-size: 1.5rem;
  color: var(--color-text-contrast);
  letter-spacing: 0.1em;
}
.p-profile__body .c-career {
  display: table;
}

.p-facility-section {
  --bg-color: var(--color-sunflower);
  position: relative;
  z-index: 0;
  padding-top: 11rem;
  padding-bottom: 9rem;
  overflow: hidden;
  background-color: var(--bg-color);
}
.p-facility-section:where(body[data-theme-color=green], body[data-theme-color=green] *) {
  --bg-color: var(--color-lime);
}
.p-facility-section:where(body[data-theme-color=blue], body[data-theme-color=blue] *) {
  --bg-color: var(--color-baby-blue);
}
@media (max-width: 1024px) {
  .p-facility-section {
    padding-top: 8rem;
    padding-bottom: 7rem;
  }
}
@media (max-width: 525px) {
  .p-facility-section {
    padding-top: 5rem;
    padding-bottom: 5rem;
  }
}
.p-facility-section__inner {
  container-type: inline-size;
}
.p-facility-section__header {
  display: flex;
  row-gap: 1rem;
  column-gap: 2rem;
  align-items: center;
  margin-bottom: 7rem;
}
@media (max-width: 525px) {
  .p-facility-section__header {
    flex-direction: column;
    align-items: flex-start;
    padding-left: 1.75rem;
    margin-bottom: 2rem;
  }
}
.p-facility-section__heading {
  width: fit-content;
  padding: 0.12em 0.5em 0.2em;
  font-family: var(--font-heading);
  font-size: 3rem;
  line-height: 1.2;
  color: var(--color-text-contrast);
  background-color: var(--color-text-heading);
  border-radius: var(--radius-md);
  rotate: unset;
}
@media (max-width: 525px) {
  .p-facility-section__heading {
    font-size: 2.6rem;
  }
}
.p-facility-section__lead {
  font-size: 2.2rem;
}
@media (max-width: 525px) {
  .p-facility-section__lead {
    font-size: 1.5rem;
  }
}
.p-facility-section__deco {
  position: relative;
  margin-inline: calc(50% - 50 * var(--vw));
}
.p-facility-section__main {
  margin-inline: calc(50% - 50 * var(--vw));
}
.p-facility-section__buttons {
  display: flex;
  flex-wrap: wrap;
  grid-area: buttons;
  gap: 1.5rem 2rem;
  justify-content: center;
  margin-top: 5rem;
}
@media (max-width: 525px) {
  .p-facility-section__buttons {
    column-gap: 1rem;
    margin-top: 3.5rem;
  }
}
.p-facility-section__button {
  --bg-color: var(--color-text-contrast);
  --hover-bg-color: var(--color-off-white);
  min-width: 16rem;
}

.p-facility-deco {
  --color-1: rgb(var(--color-orange-rgb) / 40%);
  --color-2: rgb(var(--color-sky-blue-rgb) / 15%);
  margin-bottom: -0.15em;
  font-family: var(--font-english);
  font-size: 10.5rem;
  font-weight: var(--font-weight-bold);
  line-height: 1;
  letter-spacing: 0.1em;
  mix-blend-mode: multiply;
}
.p-facility-deco:where(body[data-theme-color=green], body[data-theme-color=green] *) {
  --color-1: rgb(var(--color-green-rgb) / 40%);
  --color-2: rgb(var(--color-ochre-rgb) / 15%);
}
.p-facility-deco:where(body[data-theme-color=blue], body[data-theme-color=blue] *) {
  --color-1: rgb(var(--color-ultramarine-rgb) / 40%);
  --color-2: rgb(var(--color-cherry-rgb) / 15%);
}
@media (max-width: 1024px) {
  .p-facility-deco {
    font-size: 8rem;
  }
}
@media (max-width: 525px) {
  .p-facility-deco {
    font-size: 4.2rem;
  }
}
.p-facility-deco .swiper-wrapper {
  transition-timing-function: linear;
}
.p-facility-deco__item {
  display: flex;
  width: fit-content;
  white-space: nowrap;
}
.p-facility-deco__text:nth-child(odd) {
  color: var(--color-1);
}
.p-facility-deco__text:nth-child(even) {
  color: var(--color-2);
}

.p-facility-slider .swiper-wrapper {
  transition-timing-function: linear;
}

.p-outline-section {
  --heading-color: var(--color-orange);
  --section-bg-color: var(--color-pale-ivory);
  --statement-bg-color: var(--color-linen);
  --sns-button-color: var(--color-orange);
  padding-top: 9rem;
  padding-bottom: 8rem;
  overflow: hidden;
  background-color: var(--section-bg-color);
}
.p-outline-section:where(body[data-theme-color=green], body[data-theme-color=green] *) {
  --section-bg-color: var(--color-smoke);
  --heading-color: var(--color-green);
  --statement-bg-color: var(--color-light-sage);
  --sns-button-color: var(--color-green);
}
.p-outline-section:where(body[data-theme-color=blue], body[data-theme-color=blue] *) {
  --section-bg-color: var(--color-fog-white);
  --heading-color: var(--color-ultramarine);
  --statement-bg-color: var(--color-mist-gray);
  --sns-button-color: var(--color-ultramarine);
}
@media (max-width: 1024px) {
  .p-outline-section {
    padding-top: 5rem;
    padding-bottom: 5rem;
  }
}
.p-outline-section__main {
  display: grid;
  grid-template-columns: auto 1fr;
  column-gap: 4.5rem;
  align-items: center;
}
@media (max-width: 1024px) {
  .p-outline-section__main {
    grid-template-columns: 1fr;
    row-gap: 3rem;
    justify-content: center;
  }
}
.p-outline-section__header {
  --text-color-main: var(--heading-color);
}
@media (min-width: 1025px) {
  .p-outline-section__header {
    margin-left: -5rem;
    font-size: 5rem;
  }
}
.p-outline-section__nap {
  padding: 3rem 4rem;
  background-color: var(--color-bg-base);
  border: var(--border-md) solid var(--color-text-heading);
  border-radius: var(--radius-md);
}
@media (max-width: 1024px) {
  .p-outline-section__nap {
    padding: 2rem 1.75rem;
  }
}
.p-outline-section__statement {
  margin-top: 4.5rem;
}
.p-outline-section__statement .l-statement {
  --column-gap: 3rem;
}
@media (max-width: 1024px) {
  .p-outline-section__statement .l-statement {
    --column-count: 1;
    --row-gap: 1.6rem;
  }
}
.p-outline-section__statement .l-statement__item {
  display: grid;
  grid-template-rows: auto 1fr;
  row-gap: 0.75rem;
  column-gap: 2.5rem;
  padding: 2rem;
  background-color: var(--statement-bg-color);
  border-radius: var(--radius-md);
}
@media (min-width: 526px) and (max-width: 1024px) {
  .p-outline-section__statement .l-statement__item {
    display: grid;
    grid-template-rows: unset;
    grid-template-columns: 18rem 1fr;
    column-gap: 2.5rem;
    align-items: center;
  }
}
.p-outline-section__statement .l-statement__heading {
  font-size: 2.2rem;
  font-weight: var(--font-weight-bold);
  color: var(--color-text-heading);
  text-align: center;
}
@media (max-width: 1024px) {
  .p-outline-section__statement .l-statement__heading {
    font-size: 1.8rem;
  }
}
.p-outline-section__banner {
  margin-top: 5rem;
}
@media (max-width: 525px) {
  .p-outline-section__banner {
    margin-top: 3.5rem;
  }
}
.p-outline-section__banner .c-tile {
  justify-content: center;
}
@media (max-width: 1024px) {
  .p-outline-section__banner .c-tile {
    --column-count: 2;
    --column-gap: 1.6rem;
    --row-gap: 1.6rem;
  }
}
@media (max-width: 525px) {
  .p-outline-section__banner .c-tile {
    --column-count: 1;
  }
}
@media (hover: hover) {
  .p-outline-section__banner a {
    transition: opacity 0.2s;
  }
  .p-outline-section__banner a:hover {
    opacity: 0.75;
  }
}
.p-outline-section__banner img {
  width: 100%;
}
.p-outline-section__sns {
  margin-top: 5rem;
}
@media (max-width: 525px) {
  .p-outline-section__sns {
    margin-top: 3.5rem;
  }
}
.p-outline-section__sns .l-sns {
  display: flex;
  flex-wrap: wrap;
  row-gap: 1.6rem;
  column-gap: 2rem;
  justify-content: center;
  font-size: 1.8rem;
  color: var(--color-text-contrast);
}
.p-outline-section__sns .l-sns__item {
  flex-grow: 1;
  flex-shrink: 0;
}
@media (max-width: 525px) {
  .p-outline-section__sns .l-sns__item {
    max-width: 70%;
  }
}
.p-outline-section__sns .l-sns__link {
  display: flex;
  flex-wrap: nowrap;
  column-gap: 0.75em;
  align-items: center;
  justify-content: center;
  padding: 0.8em 1em 0.62em;
  line-height: 1;
  background-color: var(--sns-button-color);
  border-radius: var(--radius-md);
}
@media (hover: hover) {
  .p-outline-section__sns .l-sns__link {
    transition: opacity 0.22s;
  }
  .p-outline-section__sns .l-sns__link:hover {
    opacity: 0.75;
  }
}
.p-outline-section__sns .l-sns__icon {
  font-size: 1.68em;
}
.p-outline-section__sns .l-sns__text {
  min-width: 8em;
  font-family: var(--font-english);
  font-weight: var(--font-weight-bold);
  text-align: center;
  text-transform: uppercase;
  letter-spacing: 0.11em;
}

.p-map {
  aspect-ratio: 1/0.26;
}
@media (max-width: 1024px) {
  .p-map {
    aspect-ratio: 1/0.5;
  }
}
@media (max-width: 525px) {
  .p-map {
    aspect-ratio: 1/0.88;
  }
}
.p-map iframe {
  width: 100%;
  height: 100%;
}

/*    追記   */
/* .marker-gr {
    background: linear-gradient(transparent 50%, rgba(0, 156, 31, 0.2) 50%);
} */

.marker-gr {
    background: linear-gradient(transparent 50%, rgba(243, 157, 62, 0.6) 50%);
}

.marker-or {
    background: linear-gradient(transparent 50%, rgba(243, 157, 62, 0.6) 50%);
}

/* .marker-blu {
    background: linear-gradient(transparent 50%, rgba(153, 177, 248, 0.3) 50%);
} */

.marker-blu {
    background: linear-gradient(transparent 50%, rgba(243, 157, 62, 0.6) 50%);
}


.p-outline-credit{
text-align: center;
padding-top:60px;
}

.p-outline-credit p{
margin-top:30px;
margin-bottom:30px;

}
.c-heading02{
  font-size: 3.2rem;
}

.c-recruit-banner{
  text-align:center;
  margin-top:30px;
  margin-right:auto;
  margin-bottom:30px;
  margin-left:auto;
  max-width:90%;
}

/*    追記   */