@charset "UTF-8";
/*====================================================================================================
//////////////////////////////////////////////////////////////////////////////////////////////////////

    version: 1.0
    created: 2025/08/06
    update : -

//////////////////////////////////////////////////////////////////////////////////////////////////////
====================================================================================================*/
:root {
  --contentWidth: 1024px;
  --maxContentWidth: 1200px;
  --spContentWidth: 320px;
  --rwdBreakPoint01: 1024px;
  --rwdBreakPoint02: 980px;
}

:root {
  --colorText: #565450;
  --colorRed: #d42d26;
  --colorYellow: #ecbd01;
  --colorGreen: #7fc617;
  --colorBlue: #43a1cb;
  --colorBg: #f2f2f2;
  --colorBg02: #f5f0e5;
  --colorBgRed: #fbeae9;
  --colorBgYellow: #fffbd9;
  --colorBgGreen: #eff8e3;
  --colorLine: #eae0c9;
  --colorBgGray: #eae0c9;
  --colorPlaceholder: #cccccc;
}

/*====================================================================================================

format

====================================================================================================*/
input::placeholder,
textarea::placeholder {
  color: var(--colorPlaceholder);
  opacity: 1;
}

input:placeholder-shown,
textarea:placeholder-shown {
  color: var(--colorPlaceholder);
}

input::-webkit-input-placeholder,
textarea::-webkit-input-placeholder {
  color: var(--colorPlaceholder);
}

:where(dialog) {
  inline-size: unset;
  max-inline-size: unset;
  block-size: unset;
  max-block-size: unset;
  padding: unset;
  margin: unset;
  color: unset;
  background-color: unset;
  border: unset;
  overflow: unset;
}

:focus:not(:focus-visible) {
  outline: none;
}

:where(:root[data-mousedown] dialog *) {
  outline: none;
}

[data-modal-open]:where(:root[data-mousedown] *) {
  outline: none;
}

:where(em) {
  font-style: normal;
  font-weight: inherit;
}

/*====================================================================================================

    libs

====================================================================================================*/
/* colorbox
--------------------------------------------------------------------------------------------------- */
/* slick
--------------------------------------------------------------------------------------------------- */
/* modal
--------------------------------------------------------------------------------------------------- */
/* swiper
--------------------------------------------------------------------------------------------------- */
/**
 * Swiper 11.2.6
 * Most modern mobile touch slider and framework with hardware accelerated transitions
 * https://swiperjs.com
 *
 * Copyright 2014-2025 Vladimir Kharlampidi
 *
 * Released under the MIT License
 *
 * Released on: March 19, 2025
 */
/* FONT_START */
@font-face {
  font-family: "swiper-icons";
  src: url("data:application/font-woff;charset=utf-8;base64, d09GRgABAAAAAAZgABAAAAAADAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABGRlRNAAAGRAAAABoAAAAci6qHkUdERUYAAAWgAAAAIwAAACQAYABXR1BPUwAABhQAAAAuAAAANuAY7+xHU1VCAAAFxAAAAFAAAABm2fPczU9TLzIAAAHcAAAASgAAAGBP9V5RY21hcAAAAkQAAACIAAABYt6F0cBjdnQgAAACzAAAAAQAAAAEABEBRGdhc3AAAAWYAAAACAAAAAj//wADZ2x5ZgAAAywAAADMAAAD2MHtryVoZWFkAAABbAAAADAAAAA2E2+eoWhoZWEAAAGcAAAAHwAAACQC9gDzaG10eAAAAigAAAAZAAAArgJkABFsb2NhAAAC0AAAAFoAAABaFQAUGG1heHAAAAG8AAAAHwAAACAAcABAbmFtZQAAA/gAAAE5AAACXvFdBwlwb3N0AAAFNAAAAGIAAACE5s74hXjaY2BkYGAAYpf5Hu/j+W2+MnAzMYDAzaX6QjD6/4//Bxj5GA8AuRwMYGkAPywL13jaY2BkYGA88P8Agx4j+/8fQDYfA1AEBWgDAIB2BOoAeNpjYGRgYNBh4GdgYgABEMnIABJzYNADCQAACWgAsQB42mNgYfzCOIGBlYGB0YcxjYGBwR1Kf2WQZGhhYGBiYGVmgAFGBiQQkOaawtDAoMBQxXjg/wEGPcYDDA4wNUA2CCgwsAAAO4EL6gAAeNpj2M0gyAACqxgGNWBkZ2D4/wMA+xkDdgAAAHjaY2BgYGaAYBkGRgYQiAHyGMF8FgYHIM3DwMHABGQrMOgyWDLEM1T9/w8UBfEMgLzE////P/5//f/V/xv+r4eaAAeMbAxwIUYmIMHEgKYAYjUcsDAwsLKxc3BycfPw8jEQA/gZBASFhEVExcQlJKWkZWTl5BUUlZRVVNXUNTQZBgMAAMR+E+gAEQFEAAAAKgAqACoANAA+AEgAUgBcAGYAcAB6AIQAjgCYAKIArAC2AMAAygDUAN4A6ADyAPwBBgEQARoBJAEuATgBQgFMAVYBYAFqAXQBfgGIAZIBnAGmAbIBzgHsAAB42u2NMQ6CUAyGW568x9AneYYgm4MJbhKFaExIOAVX8ApewSt4Bic4AfeAid3VOBixDxfPYEza5O+Xfi04YADggiUIULCuEJK8VhO4bSvpdnktHI5QCYtdi2sl8ZnXaHlqUrNKzdKcT8cjlq+rwZSvIVczNiezsfnP/uznmfPFBNODM2K7MTQ45YEAZqGP81AmGGcF3iPqOop0r1SPTaTbVkfUe4HXj97wYE+yNwWYxwWu4v1ugWHgo3S1XdZEVqWM7ET0cfnLGxWfkgR42o2PvWrDMBSFj/IHLaF0zKjRgdiVMwScNRAoWUoH78Y2icB/yIY09An6AH2Bdu/UB+yxopYshQiEvnvu0dURgDt8QeC8PDw7Fpji3fEA4z/PEJ6YOB5hKh4dj3EvXhxPqH/SKUY3rJ7srZ4FZnh1PMAtPhwP6fl2PMJMPDgeQ4rY8YT6Gzao0eAEA409DuggmTnFnOcSCiEiLMgxCiTI6Cq5DZUd3Qmp10vO0LaLTd2cjN4fOumlc7lUYbSQcZFkutRG7g6JKZKy0RmdLY680CDnEJ+UMkpFFe1RN7nxdVpXrC4aTtnaurOnYercZg2YVmLN/d/gczfEimrE/fs/bOuq29Zmn8tloORaXgZgGa78yO9/cnXm2BpaGvq25Dv9S4E9+5SIc9PqupJKhYFSSl47+Qcr1mYNAAAAeNptw0cKwkAAAMDZJA8Q7OUJvkLsPfZ6zFVERPy8qHh2YER+3i/BP83vIBLLySsoKimrqKqpa2hp6+jq6RsYGhmbmJqZSy0sraxtbO3sHRydnEMU4uR6yx7JJXveP7WrDycAAAAAAAH//wACeNpjYGRgYOABYhkgZgJCZgZNBkYGLQZtIJsFLMYAAAw3ALgAeNolizEKgDAQBCchRbC2sFER0YD6qVQiBCv/H9ezGI6Z5XBAw8CBK/m5iQQVauVbXLnOrMZv2oLdKFa8Pjuru2hJzGabmOSLzNMzvutpB3N42mNgZGBg4GKQYzBhYMxJLMlj4GBgAYow/P/PAJJhLM6sSoWKfWCAAwDAjgbRAAB42mNgYGBkAIIbCZo5IPrmUn0hGA0AO8EFTQAA");
  font-weight: 400;
  font-style: normal;
}
/* FONT_END */
:root {
  --swiper-theme-color: #007aff;
  /*
  --swiper-preloader-color: var(--swiper-theme-color);
  --swiper-wrapper-transition-timing-function: initial;
  */
}

:host {
  position: relative;
  display: block;
  margin-left: auto;
  margin-right: auto;
  z-index: 1;
}

.swiper {
  margin-left: auto;
  margin-right: auto;
  position: relative;
  overflow: hidden;
  list-style: none;
  padding: 0;
  /* Fix of Webkit flickering */
  z-index: 1;
  display: block;
}

.swiper-vertical > .swiper-wrapper {
  flex-direction: column;
}

.swiper-wrapper {
  position: relative;
  width: 100%;
  height: 100%;
  z-index: 1;
  display: flex;
  transition-property: transform;
  transition-timing-function: var(--swiper-wrapper-transition-timing-function, initial);
  box-sizing: content-box;
}

.swiper-android .swiper-slide,
.swiper-ios .swiper-slide,
.swiper-wrapper {
  transform: translate3d(0px, 0, 0);
}

.swiper-horizontal {
  touch-action: pan-y;
}

.swiper-vertical {
  touch-action: pan-x;
}

.swiper-slide {
  flex-shrink: 0;
  width: 100%;
  height: 100%;
  position: relative;
  transition-property: transform;
  display: block;
}

.swiper-slide-invisible-blank {
  visibility: hidden;
}

/* Auto Height */
.swiper-autoheight,
.swiper-autoheight .swiper-slide {
  height: auto;
}

.swiper-autoheight .swiper-wrapper {
  align-items: flex-start;
  transition-property: transform, height;
}

.swiper-backface-hidden .swiper-slide {
  transform: translateZ(0);
  backface-visibility: hidden;
}

/* 3D Effects */
.swiper-3d.swiper-css-mode .swiper-wrapper {
  perspective: 1200px;
}

.swiper-3d .swiper-wrapper {
  transform-style: preserve-3d;
}

.swiper-3d {
  perspective: 1200px;
}

.swiper-3d .swiper-slide,
.swiper-3d .swiper-cube-shadow {
  transform-style: preserve-3d;
}

/* CSS Mode */
.swiper-css-mode > .swiper-wrapper {
  overflow: auto;
  scrollbar-width: none;
  /* For Firefox */
  -ms-overflow-style: none;
  /* For Internet Explorer and Edge */
}

.swiper-css-mode > .swiper-wrapper::-webkit-scrollbar {
  display: none;
}

.swiper-css-mode > .swiper-wrapper > .swiper-slide {
  scroll-snap-align: start start;
}

.swiper-css-mode.swiper-horizontal > .swiper-wrapper {
  scroll-snap-type: x mandatory;
}

.swiper-css-mode.swiper-vertical > .swiper-wrapper {
  scroll-snap-type: y mandatory;
}

.swiper-css-mode.swiper-free-mode > .swiper-wrapper {
  scroll-snap-type: none;
}

.swiper-css-mode.swiper-free-mode > .swiper-wrapper > .swiper-slide {
  scroll-snap-align: none;
}

.swiper-css-mode.swiper-centered > .swiper-wrapper::before {
  content: "";
  flex-shrink: 0;
  order: 9999;
}

.swiper-css-mode.swiper-centered > .swiper-wrapper > .swiper-slide {
  scroll-snap-align: center center;
  scroll-snap-stop: always;
}

.swiper-css-mode.swiper-centered.swiper-horizontal > .swiper-wrapper > .swiper-slide:first-child {
  margin-inline-start: var(--swiper-centered-offset-before);
}

.swiper-css-mode.swiper-centered.swiper-horizontal > .swiper-wrapper::before {
  height: 100%;
  min-height: 1px;
  width: var(--swiper-centered-offset-after);
}

.swiper-css-mode.swiper-centered.swiper-vertical > .swiper-wrapper > .swiper-slide:first-child {
  margin-block-start: var(--swiper-centered-offset-before);
}

.swiper-css-mode.swiper-centered.swiper-vertical > .swiper-wrapper::before {
  width: 100%;
  min-width: 1px;
  height: var(--swiper-centered-offset-after);
}

/* Slide styles start */
/* 3D Shadows */
.swiper-3d .swiper-slide-shadow,
.swiper-3d .swiper-slide-shadow-left,
.swiper-3d .swiper-slide-shadow-right,
.swiper-3d .swiper-slide-shadow-top,
.swiper-3d .swiper-slide-shadow-bottom,
.swiper-3d .swiper-slide-shadow,
.swiper-3d .swiper-slide-shadow-left,
.swiper-3d .swiper-slide-shadow-right,
.swiper-3d .swiper-slide-shadow-top,
.swiper-3d .swiper-slide-shadow-bottom {
  position: absolute;
  left: 0;
  top: 0;
  width: 100%;
  height: 100%;
  pointer-events: none;
  z-index: 10;
}

.swiper-3d .swiper-slide-shadow {
  background: rgba(0, 0, 0, 0.15);
}

.swiper-3d .swiper-slide-shadow-left {
  background-image: linear-gradient(to left, rgba(0, 0, 0, 0.5), rgba(0, 0, 0, 0));
}

.swiper-3d .swiper-slide-shadow-right {
  background-image: linear-gradient(to right, rgba(0, 0, 0, 0.5), rgba(0, 0, 0, 0));
}

.swiper-3d .swiper-slide-shadow-top {
  background-image: linear-gradient(to top, rgba(0, 0, 0, 0.5), rgba(0, 0, 0, 0));
}

.swiper-3d .swiper-slide-shadow-bottom {
  background-image: linear-gradient(to bottom, rgba(0, 0, 0, 0.5), rgba(0, 0, 0, 0));
}

.swiper-lazy-preloader {
  width: 42px;
  height: 42px;
  position: absolute;
  left: 50%;
  top: 50%;
  margin-left: -21px;
  margin-top: -21px;
  z-index: 10;
  transform-origin: 50%;
  box-sizing: border-box;
  border: 4px solid var(--swiper-preloader-color, var(--swiper-theme-color));
  border-radius: 50%;
  border-top-color: transparent;
}

.swiper:not(.swiper-watch-progress) .swiper-lazy-preloader,
.swiper-watch-progress .swiper-slide-visible .swiper-lazy-preloader {
  animation: swiper-preloader-spin 1s infinite linear;
}

.swiper-lazy-preloader-white {
  --swiper-preloader-color: #fff;
}

.swiper-lazy-preloader-black {
  --swiper-preloader-color: #000;
}

@keyframes swiper-preloader-spin {
  0% {
    transform: rotate(0deg);
  }
  100% {
    transform: rotate(360deg);
  }
}
/* Slide styles end */
.swiper-virtual .swiper-slide {
  -webkit-backface-visibility: hidden;
  transform: translateZ(0);
}

.swiper-virtual.swiper-css-mode .swiper-wrapper::after {
  content: "";
  position: absolute;
  left: 0;
  top: 0;
  pointer-events: none;
}

.swiper-virtual.swiper-css-mode.swiper-horizontal .swiper-wrapper::after {
  height: 1px;
  width: var(--swiper-virtual-size);
}

.swiper-virtual.swiper-css-mode.swiper-vertical .swiper-wrapper::after {
  width: 1px;
  height: var(--swiper-virtual-size);
}

:root {
  --swiper-navigation-size: 44px;
  /*
  --swiper-navigation-top-offset: 50%;
  --swiper-navigation-sides-offset: 10px;
  --swiper-navigation-color: var(--swiper-theme-color);
  */
}

.swiper-button-prev,
.swiper-button-next {
  position: absolute;
  top: var(--swiper-navigation-top-offset, 50%);
  width: calc(var(--swiper-navigation-size) / 44 * 27);
  height: var(--swiper-navigation-size);
  margin-top: calc(0px - var(--swiper-navigation-size) / 2);
  z-index: 10;
  cursor: pointer;
  display: flex;
  align-items: center;
  justify-content: center;
  color: var(--swiper-navigation-color, var(--swiper-theme-color));
}

.swiper-button-prev.swiper-button-disabled,
.swiper-button-next.swiper-button-disabled {
  opacity: 0.35;
  cursor: auto;
  pointer-events: none;
}

.swiper-button-prev.swiper-button-hidden,
.swiper-button-next.swiper-button-hidden {
  opacity: 0;
  cursor: auto;
  pointer-events: none;
}

.swiper-navigation-disabled .swiper-button-prev,
.swiper-navigation-disabled .swiper-button-next {
  display: none !important;
}

.swiper-button-prev svg,
.swiper-button-next svg {
  width: 100%;
  height: 100%;
  object-fit: contain;
  transform-origin: center;
}

.swiper-rtl .swiper-button-prev svg,
.swiper-rtl .swiper-button-next svg {
  transform: rotate(180deg);
}

.swiper-button-prev,
.swiper-rtl .swiper-button-next {
  left: var(--swiper-navigation-sides-offset, 10px);
  right: auto;
}

.swiper-button-next,
.swiper-rtl .swiper-button-prev {
  right: var(--swiper-navigation-sides-offset, 10px);
  left: auto;
}

.swiper-button-lock {
  display: none;
}

/* Navigation font start */
.swiper-button-prev:after,
.swiper-button-next:after {
  font-family: swiper-icons;
  font-size: var(--swiper-navigation-size);
  text-transform: none !important;
  letter-spacing: 0;
  font-variant: initial;
  line-height: 1;
}

.swiper-button-prev:after,
.swiper-rtl .swiper-button-next:after {
  content: "prev";
}

.swiper-button-next,
.swiper-rtl .swiper-button-prev {
  right: var(--swiper-navigation-sides-offset, 10px);
  left: auto;
}

.swiper-button-next:after,
.swiper-rtl .swiper-button-prev:after {
  content: "next";
}

/* Navigation font end */
:root {
  /*
  --swiper-pagination-color: var(--swiper-theme-color);
  --swiper-pagination-left: auto;
  --swiper-pagination-right: 8px;
  --swiper-pagination-bottom: 8px;
  --swiper-pagination-top: auto;
  --swiper-pagination-fraction-color: inherit;
  --swiper-pagination-progressbar-bg-color: rgba(0,0,0,0.25);
  --swiper-pagination-progressbar-size: 4px;
  --swiper-pagination-bullet-size: 8px;
  --swiper-pagination-bullet-width: 8px;
  --swiper-pagination-bullet-height: 8px;
  --swiper-pagination-bullet-border-radius: 50%;
  --swiper-pagination-bullet-inactive-color: #000;
  --swiper-pagination-bullet-inactive-opacity: 0.2;
  --swiper-pagination-bullet-opacity: 1;
  --swiper-pagination-bullet-horizontal-gap: 4px;
  --swiper-pagination-bullet-vertical-gap: 6px;
  */
}

.swiper-pagination {
  position: absolute;
  text-align: center;
  transition: 300ms opacity;
  transform: translate3d(0, 0, 0);
  z-index: 10;
}

.swiper-pagination.swiper-pagination-hidden {
  opacity: 0;
}

.swiper-pagination-disabled > .swiper-pagination,
.swiper-pagination.swiper-pagination-disabled {
  display: none !important;
}

/* Common Styles */
.swiper-pagination-fraction,
.swiper-pagination-custom,
.swiper-horizontal > .swiper-pagination-bullets,
.swiper-pagination-bullets.swiper-pagination-horizontal {
  bottom: var(--swiper-pagination-bottom, 8px);
  top: var(--swiper-pagination-top, auto);
  left: 0;
  width: 100%;
}

/* Bullets */
.swiper-pagination-bullets-dynamic {
  overflow: hidden;
  font-size: 0;
}

.swiper-pagination-bullets-dynamic .swiper-pagination-bullet {
  transform: scale(0.33);
  position: relative;
}

.swiper-pagination-bullets-dynamic .swiper-pagination-bullet-active {
  transform: scale(1);
}

.swiper-pagination-bullets-dynamic .swiper-pagination-bullet-active-main {
  transform: scale(1);
}

.swiper-pagination-bullets-dynamic .swiper-pagination-bullet-active-prev {
  transform: scale(0.66);
}

.swiper-pagination-bullets-dynamic .swiper-pagination-bullet-active-prev-prev {
  transform: scale(0.33);
}

.swiper-pagination-bullets-dynamic .swiper-pagination-bullet-active-next {
  transform: scale(0.66);
}

.swiper-pagination-bullets-dynamic .swiper-pagination-bullet-active-next-next {
  transform: scale(0.33);
}

.swiper-pagination-bullet {
  width: var(--swiper-pagination-bullet-width, var(--swiper-pagination-bullet-size, 8px));
  height: var(--swiper-pagination-bullet-height, var(--swiper-pagination-bullet-size, 8px));
  display: inline-block;
  border-radius: var(--swiper-pagination-bullet-border-radius, 50%);
  background: var(--swiper-pagination-bullet-inactive-color, #000);
  opacity: var(--swiper-pagination-bullet-inactive-opacity, 0.2);
}

button.swiper-pagination-bullet {
  border: none;
  margin: 0;
  padding: 0;
  box-shadow: none;
  appearance: none;
}

.swiper-pagination-clickable .swiper-pagination-bullet {
  cursor: pointer;
}

.swiper-pagination-bullet:only-child {
  display: none !important;
}

.swiper-pagination-bullet-active {
  opacity: var(--swiper-pagination-bullet-opacity, 1);
  background: var(--swiper-pagination-color, var(--swiper-theme-color));
}

.swiper-vertical > .swiper-pagination-bullets,
.swiper-pagination-vertical.swiper-pagination-bullets {
  right: var(--swiper-pagination-right, 8px);
  left: var(--swiper-pagination-left, auto);
  top: 50%;
  transform: translate3d(0px, -50%, 0);
}

.swiper-vertical > .swiper-pagination-bullets .swiper-pagination-bullet,
.swiper-pagination-vertical.swiper-pagination-bullets .swiper-pagination-bullet {
  margin: var(--swiper-pagination-bullet-vertical-gap, 6px) 0;
  display: block;
}

.swiper-vertical > .swiper-pagination-bullets.swiper-pagination-bullets-dynamic,
.swiper-pagination-vertical.swiper-pagination-bullets.swiper-pagination-bullets-dynamic {
  top: 50%;
  transform: translateY(-50%);
  width: 8px;
}

.swiper-vertical > .swiper-pagination-bullets.swiper-pagination-bullets-dynamic .swiper-pagination-bullet,
.swiper-pagination-vertical.swiper-pagination-bullets.swiper-pagination-bullets-dynamic .swiper-pagination-bullet {
  display: inline-block;
  transition: 200ms transform, 200ms top;
}

.swiper-horizontal > .swiper-pagination-bullets .swiper-pagination-bullet,
.swiper-pagination-horizontal.swiper-pagination-bullets .swiper-pagination-bullet {
  margin: 0 var(--swiper-pagination-bullet-horizontal-gap, 4px);
}

.swiper-horizontal > .swiper-pagination-bullets.swiper-pagination-bullets-dynamic,
.swiper-pagination-horizontal.swiper-pagination-bullets.swiper-pagination-bullets-dynamic {
  left: 50%;
  transform: translateX(-50%);
  white-space: nowrap;
}

.swiper-horizontal > .swiper-pagination-bullets.swiper-pagination-bullets-dynamic .swiper-pagination-bullet,
.swiper-pagination-horizontal.swiper-pagination-bullets.swiper-pagination-bullets-dynamic .swiper-pagination-bullet {
  transition: 200ms transform, 200ms left;
}

.swiper-horizontal.swiper-rtl > .swiper-pagination-bullets-dynamic .swiper-pagination-bullet {
  transition: 200ms transform, 200ms right;
}

/* Fraction */
.swiper-pagination-fraction {
  color: var(--swiper-pagination-fraction-color, inherit);
}

/* Progress */
.swiper-pagination-progressbar {
  background: var(--swiper-pagination-progressbar-bg-color, rgba(0, 0, 0, 0.25));
  position: absolute;
}

.swiper-pagination-progressbar .swiper-pagination-progressbar-fill {
  background: var(--swiper-pagination-color, var(--swiper-theme-color));
  position: absolute;
  left: 0;
  top: 0;
  width: 100%;
  height: 100%;
  transform: scale(0);
  transform-origin: left top;
}

.swiper-rtl .swiper-pagination-progressbar .swiper-pagination-progressbar-fill {
  transform-origin: right top;
}

.swiper-horizontal > .swiper-pagination-progressbar,
.swiper-pagination-progressbar.swiper-pagination-horizontal,
.swiper-vertical > .swiper-pagination-progressbar.swiper-pagination-progressbar-opposite,
.swiper-pagination-progressbar.swiper-pagination-vertical.swiper-pagination-progressbar-opposite {
  width: 100%;
  height: var(--swiper-pagination-progressbar-size, 4px);
  left: 0;
  top: 0;
}

.swiper-vertical > .swiper-pagination-progressbar,
.swiper-pagination-progressbar.swiper-pagination-vertical,
.swiper-horizontal > .swiper-pagination-progressbar.swiper-pagination-progressbar-opposite,
.swiper-pagination-progressbar.swiper-pagination-horizontal.swiper-pagination-progressbar-opposite {
  width: var(--swiper-pagination-progressbar-size, 4px);
  height: 100%;
  left: 0;
  top: 0;
}

.swiper-pagination-lock {
  display: none;
}

:root {
  /*
  --swiper-scrollbar-border-radius: 10px;
  --swiper-scrollbar-top: auto;
  --swiper-scrollbar-bottom: 4px;
  --swiper-scrollbar-left: auto;
  --swiper-scrollbar-right: 4px;
  --swiper-scrollbar-sides-offset: 1%;
  --swiper-scrollbar-bg-color: rgba(0, 0, 0, 0.1);
  --swiper-scrollbar-drag-bg-color: rgba(0, 0, 0, 0.5);
  --swiper-scrollbar-size: 4px;
  */
}

.swiper-scrollbar {
  border-radius: var(--swiper-scrollbar-border-radius, 10px);
  position: relative;
  touch-action: none;
  background: var(--swiper-scrollbar-bg-color, rgba(0, 0, 0, 0.1));
}

.swiper-scrollbar-disabled > .swiper-scrollbar,
.swiper-scrollbar.swiper-scrollbar-disabled {
  display: none !important;
}

.swiper-horizontal > .swiper-scrollbar,
.swiper-scrollbar.swiper-scrollbar-horizontal {
  position: absolute;
  left: var(--swiper-scrollbar-sides-offset, 1%);
  bottom: var(--swiper-scrollbar-bottom, 4px);
  top: var(--swiper-scrollbar-top, auto);
  z-index: 50;
  height: var(--swiper-scrollbar-size, 4px);
  width: calc(100% - 2 * var(--swiper-scrollbar-sides-offset, 1%));
}

.swiper-vertical > .swiper-scrollbar,
.swiper-scrollbar.swiper-scrollbar-vertical {
  position: absolute;
  left: var(--swiper-scrollbar-left, auto);
  right: var(--swiper-scrollbar-right, 4px);
  top: var(--swiper-scrollbar-sides-offset, 1%);
  z-index: 50;
  width: var(--swiper-scrollbar-size, 4px);
  height: calc(100% - 2 * var(--swiper-scrollbar-sides-offset, 1%));
}

.swiper-scrollbar-drag {
  height: 100%;
  width: 100%;
  position: relative;
  background: var(--swiper-scrollbar-drag-bg-color, rgba(0, 0, 0, 0.5));
  border-radius: var(--swiper-scrollbar-border-radius, 10px);
  left: 0;
  top: 0;
}

.swiper-scrollbar-cursor-drag {
  cursor: move;
}

.swiper-scrollbar-lock {
  display: none;
}

/* Zoom container styles start */
.swiper-zoom-container {
  width: 100%;
  height: 100%;
  display: flex;
  justify-content: center;
  align-items: center;
  text-align: center;
}

.swiper-zoom-container > img,
.swiper-zoom-container > svg,
.swiper-zoom-container > canvas {
  max-width: 100%;
  max-height: 100%;
  object-fit: contain;
}

/* Zoom container styles end */
.swiper-slide-zoomed {
  cursor: move;
  touch-action: none;
}

/* a11y */
.swiper .swiper-notification {
  position: absolute;
  left: 0;
  top: 0;
  pointer-events: none;
  opacity: 0;
  z-index: -1000;
}

.swiper-free-mode > .swiper-wrapper {
  transition-timing-function: ease-out;
  margin: 0 auto;
}

.swiper-grid > .swiper-wrapper {
  flex-wrap: wrap;
}

.swiper-grid-column > .swiper-wrapper {
  flex-wrap: wrap;
  flex-direction: column;
}

.swiper-fade.swiper-free-mode .swiper-slide {
  transition-timing-function: ease-out;
}

.swiper-fade .swiper-slide {
  pointer-events: none;
  transition-property: opacity;
}

.swiper-fade .swiper-slide .swiper-slide {
  pointer-events: none;
}

.swiper-fade .swiper-slide-active {
  pointer-events: auto;
}

.swiper-fade .swiper-slide-active .swiper-slide-active {
  pointer-events: auto;
}

.swiper.swiper-cube {
  overflow: visible;
}

.swiper-cube .swiper-slide {
  pointer-events: none;
  backface-visibility: hidden;
  z-index: 1;
  visibility: hidden;
  transform-origin: 0 0;
  width: 100%;
  height: 100%;
}

.swiper-cube .swiper-slide .swiper-slide {
  pointer-events: none;
}

.swiper-cube.swiper-rtl .swiper-slide {
  transform-origin: 100% 0;
}

.swiper-cube .swiper-slide-active,
.swiper-cube .swiper-slide-active .swiper-slide-active {
  pointer-events: auto;
}

.swiper-cube .swiper-slide-active,
.swiper-cube .swiper-slide-next,
.swiper-cube .swiper-slide-prev {
  pointer-events: auto;
  visibility: visible;
}

.swiper-cube .swiper-cube-shadow {
  position: absolute;
  left: 0;
  bottom: 0px;
  width: 100%;
  height: 100%;
  opacity: 0.6;
  z-index: 0;
}

.swiper-cube .swiper-cube-shadow:before {
  content: "";
  background: #000;
  position: absolute;
  left: 0;
  top: 0;
  bottom: 0;
  right: 0;
  filter: blur(50px);
}

.swiper-cube .swiper-slide-next + .swiper-slide {
  pointer-events: auto;
  visibility: visible;
}

/* Cube slide shadows start */
.swiper-cube .swiper-slide-shadow-cube.swiper-slide-shadow-top,
.swiper-cube .swiper-slide-shadow-cube.swiper-slide-shadow-bottom,
.swiper-cube .swiper-slide-shadow-cube.swiper-slide-shadow-left,
.swiper-cube .swiper-slide-shadow-cube.swiper-slide-shadow-right {
  z-index: 0;
  backface-visibility: hidden;
}

/* Cube slide shadows end */
.swiper.swiper-flip {
  overflow: visible;
}

.swiper-flip .swiper-slide {
  pointer-events: none;
  backface-visibility: hidden;
  z-index: 1;
}

.swiper-flip .swiper-slide .swiper-slide {
  pointer-events: none;
}

.swiper-flip .swiper-slide-active,
.swiper-flip .swiper-slide-active .swiper-slide-active {
  pointer-events: auto;
}

/* Flip slide shadows start */
.swiper-flip .swiper-slide-shadow-flip.swiper-slide-shadow-top,
.swiper-flip .swiper-slide-shadow-flip.swiper-slide-shadow-bottom,
.swiper-flip .swiper-slide-shadow-flip.swiper-slide-shadow-left,
.swiper-flip .swiper-slide-shadow-flip.swiper-slide-shadow-right {
  z-index: 0;
  backface-visibility: hidden;
}

/* Flip slide shadows end */
.swiper-creative .swiper-slide {
  backface-visibility: hidden;
  overflow: hidden;
  transition-property: transform, opacity, height;
}

.swiper.swiper-cards {
  overflow: visible;
}

.swiper-cards .swiper-slide {
  transform-origin: center bottom;
  backface-visibility: hidden;
  overflow: hidden;
}

/* Header
--------------------------------------------------------------------------------------------------- */
@media screen and (max-width: 1023px) {
  .header {
    position: relative;
    z-index: 1050;
  }
}

/* GlobalNavigation
--------------------------------------------------------------------------------------------------- */
/* Breadcrumb
--------------------------------------------------------------------------------------------------- */
.breadcrumb {
  position: relative;
  z-index: 5;
}
.breadcrumb__list {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  margin: 0;
  font-weight: 700;
}
.breadcrumb__item {
  display: flex;
  align-items: center;
}
.breadcrumb__item:nth-child(n+2)::before {
  content: "";
  display: block;
  border: solid var(--colorRed);
  border-color: transparent transparent transparent var(--colorRed);
  border-width: 0 0 0 0;
  width: 0;
  line-height: 1;
}
.breadcrumb__link {
  color: var(--colorRed);
}
.breadcrumb em {
  font-weight: inherit;
  font-style: inherit;
}
@media (min-width: 1024px) {
  .breadcrumb {
    margin-block: 12px 58px;
    margin-inline: 48px;
  }
  .breadcrumb__list {
    font-size: 0.8125rem;
  }
  .breadcrumb__item:nth-child(n+2)::before {
    margin-inline: 10px;
    border-width: 4px 0 4px 6px;
  }
}
@media screen and (max-width: 1023px) {
  .breadcrumb {
    margin-block: 23px 48px;
    margin-inline: 15px;
  }
  .breadcrumb__list {
    font-size: 0.703125rem;
  }
  .breadcrumb__item:nth-child(n+2)::before {
    margin-inline: 9px;
    border-width: 3px 0 3px 4px;
  }
}

/* MainContents
--------------------------------------------------------------------------------------------------- */
@font-face {
  font-family: "icon";
  src: url("/assets/fonts/icon.woff?251002");
}
.mod_ico_01_arrow::after {
  font-family: "icon";
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  font-style: normal;
  font-variant: normal;
  font-weight: 400;
  speak: none;
  text-decoration: none;
  text-transform: none;
  content: "\e001";
  vertical-align: middle;
}

.mod_ico_02_blank::after {
  font-family: "icon";
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  font-style: normal;
  font-variant: normal;
  font-weight: 400;
  speak: none;
  text-decoration: none;
  text-transform: none;
  content: "\e002";
  vertical-align: middle;
}

.mod_ico_03_pdf::after {
  font-family: "icon";
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  font-style: normal;
  font-variant: normal;
  font-weight: 400;
  speak: none;
  text-decoration: none;
  text-transform: none;
  content: "\e003";
  vertical-align: middle;
}

.mod_ico_04_search::after {
  font-family: "icon";
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  font-style: normal;
  font-variant: normal;
  font-weight: 400;
  speak: none;
  text-decoration: none;
  text-transform: none;
  content: "\e004";
  vertical-align: middle;
}

.mod_ico_05_twitter::after {
  font-family: "icon";
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  font-style: normal;
  font-variant: normal;
  font-weight: 400;
  speak: none;
  text-decoration: none;
  text-transform: none;
  content: "\e005";
  vertical-align: middle;
}

.mod_ico_06_facebook::after {
  font-family: "icon";
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  font-style: normal;
  font-variant: normal;
  font-weight: 400;
  speak: none;
  text-decoration: none;
  text-transform: none;
  content: "\e006";
  vertical-align: middle;
}

.mod_ico_07_arrow::after {
  font-family: "icon";
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  font-style: normal;
  font-variant: normal;
  font-weight: 400;
  speak: none;
  text-decoration: none;
  text-transform: none;
  content: "\e007";
  vertical-align: middle;
}

.mod_ico_08_arrow::after {
  font-family: "icon";
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  font-style: normal;
  font-variant: normal;
  font-weight: 400;
  speak: none;
  text-decoration: none;
  text-transform: none;
  content: "\e008";
  vertical-align: middle;
}

.mod_ico_09_return::after {
  font-family: "icon";
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  font-style: normal;
  font-variant: normal;
  font-weight: 400;
  speak: none;
  text-decoration: none;
  text-transform: none;
  content: "\e009";
  vertical-align: middle;
}

.mod_ico_10_yen::after {
  font-family: "icon";
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  font-style: normal;
  font-variant: normal;
  font-weight: 400;
  speak: none;
  text-decoration: none;
  text-transform: none;
  content: "\e00a";
  vertical-align: middle;
}

.mod_ico_11_close::after {
  font-family: "icon";
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  font-style: normal;
  font-variant: normal;
  font-weight: 400;
  speak: none;
  text-decoration: none;
  text-transform: none;
  content: "\e00b";
  vertical-align: middle;
}

.mod_ico_12_calendar::after {
  font-family: "icon";
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  font-style: normal;
  font-variant: normal;
  font-weight: 400;
  speak: none;
  text-decoration: none;
  text-transform: none;
  content: "\e00c";
  vertical-align: middle;
}

.mod_ico_13_map::after {
  font-family: "icon";
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  font-style: normal;
  font-variant: normal;
  font-weight: 400;
  speak: none;
  text-decoration: none;
  text-transform: none;
  content: "\e00d";
  vertical-align: middle;
}

.mod_ico_14_arrow::after {
  font-family: "icon";
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  font-style: normal;
  font-variant: normal;
  font-weight: 400;
  speak: none;
  text-decoration: none;
  text-transform: none;
  content: "\e00e";
  vertical-align: middle;
}

.mod_ico_15_minus::after {
  font-family: "icon";
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  font-style: normal;
  font-variant: normal;
  font-weight: 400;
  speak: none;
  text-decoration: none;
  text-transform: none;
  content: "\e00f";
  vertical-align: middle;
}

.mod_ico_16_plus::after {
  font-family: "icon";
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  font-style: normal;
  font-variant: normal;
  font-weight: 400;
  speak: none;
  text-decoration: none;
  text-transform: none;
  content: "\e010";
  vertical-align: middle;
}

.mod_ico_17_picture::after {
  font-family: "icon";
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  font-style: normal;
  font-variant: normal;
  font-weight: 400;
  speak: none;
  text-decoration: none;
  text-transform: none;
  content: "\e011";
  vertical-align: middle;
}

.mod_ico_18_download::after {
  font-family: "icon";
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  font-style: normal;
  font-variant: normal;
  font-weight: 400;
  speak: none;
  text-decoration: none;
  text-transform: none;
  content: "\e012";
  vertical-align: middle;
}

.wrapper {
  position: relative;
}
@media (min-width: 1024px) {
  .wrapper {
    padding-block-end: 550px;
    background: url(/assets/img/common/bg_wrapper.webp) no-repeat 50% calc(100% + 1px)/1527px 629px;
  }
}
@media screen and (max-width: 1023px) {
  .wrapper {
    padding-block-end: 300px;
    background: url(/assets/img/common/bg_wrapper_sp.webp) no-repeat calc(50% + 7px) 100%/524px 191px;
  }
}

.pagetop {
  position: absolute;
  right: 0;
  left: 0;
  margin-inline: auto;
  width: fit-content;
  font-family: "Righteous", sans-serif;
}
.pagetop::after {
  display: block;
  content: "";
  background: no-repeat 0 0/cover;
}
.pagetop a {
  color: var(--colorRed);
  transition: transform 0.2s cubic-bezier(0.215, 0.61, 0.355, 1);
  transform-origin: center center;
  will-change: transform;
}
.pagetop a::after {
  font-family: "icon";
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  font-style: normal;
  font-variant: normal;
  font-weight: 400;
  speak: none;
  text-decoration: none;
  text-transform: none;
  content: "\e007";
  vertical-align: middle;
  margin-inline-start: 12px;
}
.pagetop__copyright {
  position: absolute;
  color: #808080;
  font-family: "M PLUS 1", sans-serif;
  font-weight: 700;
  line-height: 1.6;
  white-space: nowrap;
  pointer-events: none;
}
@media (min-width: 1024px) {
  .pagetop {
    bottom: 112px;
    font-size: 1.25rem;
  }
  .pagetop::after {
    margin-block-start: 12px;
    width: 86px;
    height: 148px;
    font-size: 17px;
    background-image: url(/assets/img/common/img_pagetop.webp);
  }
  .pagetop__copyright {
    top: 148px;
    left: 81px;
    font-size: 8px;
  }
}
@media (hover: hover) {
  .pagetop a:hover {
    transform: scale(1.1);
  }
}
@media screen and (max-width: 1023px) {
  .pagetop {
    bottom: 56px;
    font-size: 0.9375rem;
  }
  .pagetop::after {
    margin-block-start: 11px;
    width: 64.5px;
    height: 111px;
    font-size: 12px;
    background-image: url(/assets/img/common/img_pagetop_sp.webp);
  }
  .pagetop__copyright {
    top: 115px;
    left: 54px;
    font-size: 5px;
  }
}

.container {
  width: unset;
}
@media (min-width: 640px) {
  .container {
    max-width: unset;
  }
}
@media (min-width: 768px) {
  .container {
    max-width: unset;
  }
}
@media (min-width: 1024px) {
  .container {
    max-width: unset;
  }
}
@media (min-width: 1280px) {
  .container {
    max-width: 1296px;
  }
}
@media (min-width: 1536px) {
  .container {
    max-width: 1296px;
  }
}

/* SubContents
--------------------------------------------------------------------------------------------------- */
.fp-tickets.is_hide {
  opacity: 0;
  pointer-events: none;
}
@media (min-width: 1024px) {
  .fp-tickets {
    top: calc(100svh - 16.5277777778vw);
  }
}
/* Footer
--------------------------------------------------------------------------------------------------- */
/*====================================================================================================

    module

====================================================================================================*/
/* section module
--------------------------------------------------------------------------------------------------- */
.section__inner {
  background: #ffffff;
}
.section .text {
  line-height: 2;
  font-weight: 500;
}
.section .text__link {
  color: var(--colorRed);
  text-decoration: underline;
}
.section .text__link[href*=".pdf"][target=_blank]::after {
  display: inline-block;
  font-family: "icon";
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  font-style: normal;
  font-variant: normal;
  font-weight: 400;
  speak: none;
  text-decoration: none;
  text-transform: none;
  content: "\e003";
  vertical-align: middle;
}
.section .text:first-child {
  margin-block: 0;
}
@media (min-width: 1024px) {
  .section__inner {
    margin-block: 8px 0;
    padding-block: 65px;
    padding-inline: 60px;
    border-radius: 24px;
  }
  :not(.container) > .section {
    margin-inline: auto;
    padding-inline: 48px;
    max-width: 1296px;
  }
  .section .text__link[href*=".pdf"][target=_blank]::after {
    margin-inline-start: 12px;
    font-size: 20px;
  }
}
@media (hover: hover) {
  .section .text__link:hover {
    text-decoration: none;
  }
}
@media screen and (max-width: 1023px) {
  .section__inner {
    margin-block: 6px 0;
    margin-inline: -12px;
    padding-block: 52px;
    padding-inline: 24px;
    border-radius: 24px;
  }
  .section .text__link[href*=".pdf"][target=_blank]::after {
    margin-inline-start: 9px;
    font-size: 16px;
  }
  :not(.container) > .section {
    padding-inline: 24px;
  }
}

/* heading module
--------------------------------------------------------------------------------------------------- */
.pagetitle {
  position: relative;
  display: grid;
  font-weight: 700;
  text-align: center;
  background: no-repeat 50% 0;
  margin-block: 0;
  z-index: 0;
}
.pagetitle::after {
  overflow: hidden;
  position: absolute;
  left: 0;
  right: 0;
  color: #ffffff;
  content: "OYATSU TOWN";
  speak: none;
  font-family: "Righteous", sans-serif;
  line-height: 1;
  white-space: nowrap;
  letter-spacing: -0.02em;
  z-index: -1;
  pointer-events: none;
  outline: none;
}
.pagetitle__label {
  position: relative;
  grid-column: 1;
  grid-row: 1;
  line-height: 1.33;
  z-index: 1;
}
.pagetitle__bg {
  grid-column: 1;
  grid-row: 1/3;
  align-self: end;
  margin-inline: auto;
  pointer-events: none;
}
.pagetitle__bg img {
  object-fit: cover;
}
@media (min-width: 1024px) {
  .pagetitle {
    font-size: 2rem;
  }
  .pagetitle::after {
    top: -18px;
    font-size: 20rem;
    text-indent: -160px;
  }
  .pagetitle__label {
    margin-block-start: 74px;
  }
  .pagetitle__bg img {
    width: 1200px;
    height: 300px;
  }
}
@media screen and (max-width: 1023px) {
  .pagetitle {
    font-size: 1.5rem;
    line-height: 0.0554166667;
  }
  .pagetitle::after {
    bottom: -3px;
    left: calc(50% - 420px);
    font-size: 7.5rem;
  }
  .pagetitle__label {
    padding-block-end: 84px;
  }
  .pagetitle__bg img {
    width: 375px;
    height: auto;
  }
}

.en-label-heading {
  position: relative;
  margin-block: 0;
  font-weight: 700;
  line-height: 1;
  z-index: 1;
}
.en-label-heading:first-child {
  margin-block-start: 0;
}
.en-label-heading__text {
  font-weight: 400;
  font-family: "Righteous", sans-serif;
}
.en-label-heading__text > *:nth-of-type(3n+1) {
  color: var(--colorRed);
}
.en-label-heading__text > *:nth-of-type(3n+2) {
  color: var(--colorGreen);
}
.en-label-heading__text > *:nth-of-type(3n) {
  color: var(--colorYellow);
}
@media (min-width: 1024px) {
  .en-label-heading {
    margin-block: 108px 0;
    font-size: 1.25rem;
    letter-spacing: -0.04em;
  }
  .en-label-heading__text {
    display: inline-block;
    margin-inline-end: 0.2em;
    height: 64px;
    font-size: 4rem;
  }
}
@media screen and (max-width: 1023px) {
  .en-label-heading {
    font-size: 1.09375rem;
  }
  .en-label-heading__text {
    display: block;
    margin-block-end: 10px;
    height: 50px;
    font-size: 3.125rem;
    letter-spacing: normal;
  }
  .en-label-heading.--spVertical .en-label-heading__text {
    margin-block-end: 0;
    margin-inline: 0 10px;
    display: inline-block;
  }
}

.text-heading {
  font-weight: 800;
  line-height: 1.33;
}
.text-heading.--red {
  color: var(--colorRed);
}
.text-heading.--green {
  color: var(--colorGreen);
}
.text-heading.--yellow {
  color: var(--colorYellow);
}
.text-heading:first-child {
  margin-block-start: 0 !important;
}
.text-heading:not(.--red):not(.--green):not(.--yellow) {
  font-weight: 700;
}
.text-heading.--title {
  text-align: center;
}
@media (min-width: 1024px) {
  .text-heading {
    margin-block: 56px 0;
    font-size: 1.5rem;
  }
  .en-label-heading + .text-heading {
    margin-block-start: 28px;
  }
  .text-heading:not(.--red):not(.--green):not(.--yellow) {
    margin-block: 42px 0;
    font-size: 1.25rem;
  }
  .text-heading:not(.--red):not(.--green):not(.--yellow).--title {
    font-size: 2.5rem;
  }
}
@media screen and (max-width: 1023px) {
  .text-heading {
    margin-block: 46px 0;
    font-size: 1.3125rem;
  }
  .en-label-heading + .text-heading {
    margin-block-start: 34px;
  }
  .text-heading:not(.--red):not(.--green):not(.--yellow) {
    margin-block: 24px 0;
    font-size: 1.09375rem;
  }
  .text-heading:not(.--red):not(.--green):not(.--yellow).--title {
    font-size: 1.75rem;
  }
}

@media (min-width: 1024px) {
  .image-heading {
    margin-block: 15px 0;
  }
  .en-label-heading + .image-heading {
    margin-block-start: 28px;
  }
}
@media screen and (max-width: 1023px) {
  .image-heading {
    margin-block: 20px 0;
  }
  .en-label-heading + .image-heading {
    margin-block-start: 42px;
  }
}

.visual-heading {
  position: relative;
  display: grid;
}
.visual-heading__title {
  position: relative;
  align-self: end;
  font-weight: 700;
}
.visual-heading__title span:not([class]) {
  position: relative;
  z-index: 1;
}
.visual-heading__title__en-label {
  pointer-events: none;
  display: block;
  margin-inline-end: 0.2em;
  font-weight: 400;
  font-family: "Righteous", sans-serif;
  text-transform: uppercase;
}
.visual-heading__image {
  overflow: hidden;
  position: relative;
  pointer-events: none;
  mask-repeat: no-repeat;
  mask-position: center;
  mask-size: cover;
}
.visual-heading__image img {
  width: 100%;
  max-width: unset;
  height: auto;
}
.visual-heading__obj {
  pointer-events: none;
}
.visual-heading__obj > * {
  position: absolute;
}
.visual-heading__obj > * img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}
.visual-heading [class*=visual-heading__cloud] {
  z-index: 1;
}
@media (min-width: 1024px) {
  .visual-heading {
    grid-template-columns: 19.4444444444vw 1fr;
    grid-template-rows: 1fr 5.5555555556vw;
    padding-inline: 44px 48px;
    margin-block-start: -90px;
  }
  .visual-heading__title {
    grid-column: 1/3;
    grid-row: 1;
    font-size: 2.2222222222vw;
    letter-spacing: -0.04em;
  }
  .visual-heading__title::before {
    overflow: hidden;
    position: absolute;
    top: -10.1388888889vw;
    left: -10.4861111111vw;
    width: 29.5833333333vw;
    color: #ffffff;
    content: "OYATSU TOWN";
    font-weight: 400;
    font-size: 22.2222222222vw;
    font-family: "Righteous", sans-serif;
    line-height: 16.1805555556vw;
    white-space: nowrap;
    letter-spacing: -0.05em;
    z-index: -1;
  }
  .visual-heading__title__en-label {
    margin-block-start: 3.125vw;
    font-size: 8.3333333333vw;
    line-height: 5.9027777778vw;
    letter-spacing: -0.014em;
  }
  .visual-heading__title__en-label > *:nth-of-type(3n+1) {
    color: var(--colorRed);
  }
  .visual-heading__title__en-label > *:nth-of-type(3n+2) {
    color: var(--colorGreen);
  }
  .visual-heading__title__en-label > *:nth-of-type(3n) {
    color: var(--colorYellow);
  }
  .visual-heading__image {
    grid-column: 2;
    grid-row: 1/3;
    mask-image: url(/assets/img/common/bg_mask_visual-heading.svg);
  }
  .visual-heading__image img {
    aspect-ratio: 1065/560;
  }
  .visual-heading .visual-heading__cloud01 {
    top: -9.0972222222vw;
    right: -10.6944444444vw;
    width: 29.2361111111vw;
    height: 23.3333333333vw;
  }
  .visual-heading .visual-heading__cloud02 {
    top: -3.8194444444vw;
    left: -7.3611111111vw;
    width: 26.6666666667vw;
    height: 19.4444444444vw;
  }
  .visual-heading .visual-heading__cloud03 {
    right: -2.9166666667vw;
    bottom: -14.4444444444vw;
    width: 36.9444444444vw;
    height: 23.8888888889vw;
  }
  .visual-heading .visual-heading__star01 {
    right: 14.5833333333vw;
    bottom: -5.1388888889vw;
    width: 8.6111111111vw;
    height: 8.75vw;
  }
  .visual-heading .visual-heading__star02 {
    top: 13.8888888889vw;
    left: 6.3888888889vw;
    width: 2.0138888889vw;
    height: 2.0833333333vw;
    z-index: 2;
  }
  .visual-heading .visual-heading__star03 {
    top: 10.9027777778vw;
    left: 19.2361111111vw;
    width: 2.0833333333vw;
    height: 2.0833333333vw;
    z-index: 3;
  }
  .visual-heading .visual-heading__star04 {
    top: 15.3472222222vw;
    left: 10.625vw;
    width: 4.9305555556vw;
    height: 4.9305555556vw;
    z-index: 2;
  }
  .visual-heading .visual-heading__star05 {
    top: 3.6805555556vw;
    left: 14.5138888889vw;
    width: 13.8888888889vw;
    height: 14.2361111111vw;
    z-index: 0;
  }
}
@media screen and (max-width: 1023px) {
  .visual-heading {
    margin-block-start: -26px;
  }
  .visual-heading__title {
    grid-column: 1;
    grid-row: 1;
    margin-inline: 5.6vw 0;
    margin-block-end: 6.6666666667vw;
    font-size: 6.4vw;
    color: #ffffff;
  }
  .visual-heading__title__en-label {
    margin-block-start: -0.6666666667vw;
    font-size: 14.4vw;
    height: 14.4vw;
    letter-spacing: -0.014em;
  }
  .visual-heading__image {
    overflow: hidden;
    grid-column: 1;
    grid-row: 1;
    mask-image: url(/assets/img/common/bg_mask_visual-heading_sp.svg);
  }
  .visual-heading__image img {
    aspect-ratio: 375/320;
  }
  .visual-heading .visual-heading__cloud01 {
    top: -17.6vw;
    right: -34.1333333333vw;
    width: 56.1333333333vw;
    height: 44.8vw;
  }
  .visual-heading .visual-heading__cloud02 {
    top: -14.4vw;
    left: -22.1333333333vw;
    width: 51.2vw;
    height: 37.3333333333vw;
  }
  .visual-heading .visual-heading__cloud03 {
    right: -19.2vw;
    bottom: -29.0666666667vw;
    width: 70.9333333333vw;
    height: 45.8666666667vw;
  }
  .visual-heading .visual-heading__star01 {
    right: 5.3333333333vw;
    bottom: -9.8666666667vw;
    width: 16.5333333333vw;
    height: 16.8vw;
  }
  .visual-heading .visual-heading__star02 {
    top: -3.4666666667vw;
    left: 16.2666666667vw;
    width: 4vw;
    height: 4vw;
  }
  .visual-heading .visual-heading__star03,
  .visual-heading .visual-heading__star04 {
    display: none;
  }
  .visual-heading .visual-heading__star05 {
    top: -4vw;
    left: -13.8666666667vw;
    width: 26.6666666667vw;
    height: 27.3333333333vw;
  }
}

.color-heading {
  font-weight: 800;
}
.color-heading:first-child {
  margin-block-start: 0;
}
.color-heading > *:nth-of-type(3n+1) {
  color: var(--colorRed);
}
.color-heading > *:nth-of-type(3n+2) {
  color: var(--colorGreen);
}
.color-heading > *:nth-of-type(3n) {
  color: var(--colorYellow);
}
@media (min-width: 1024px) {
  .color-heading {
    margin-block: 40px 0;
    font-size: 2.5rem;
  }
  .color-heading + .section {
    margin-block: 48px 0;
  }
}
@media screen and (max-width: 1023px) {
  .color-heading {
    margin-block: 17px 0;
    font-size: 1.875rem;
  }
  .color-heading + .section {
    margin-block: 23px 0;
  }
}

/* box module
--------------------------------------------------------------------------------------------------- */
.entry__heading {
  display: grid;
  color: var(--colorRed);
  letter-spacing: 0.04em;
}
.entry__heading__title {
  grid-row: 2;
  font-weight: 800;
}
.entry__heading__update {
  margin-block: 0;
  grid-row: 1;
  font-weight: 600;
}
.entry__body {
  font-weight: 600;
  line-height: 2;
  overflow-wrap: anywhere;
  word-break: normal;
  line-break: strict;
}
.entry__body :where(p) {
  margin-block: 2em;
}
.entry__body :where(p):first-child {
  margin-block-start: 0;
}
.entry__body :where(a) {
  color: var(--colorRed);
  text-decoration: underline;
}
.entry__body a[target=_blank]::after,
.entry__body a[href^="http://"]:not([href*="oyatsu-town.com/"])::after,
.entry__body a[href^="https://"]:not([href*="oyatsu-town.com/"])::after {
  display: inline-block;
  font-family: "icon";
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  font-style: normal;
  font-variant: normal;
  font-weight: 400;
  speak: none;
  text-decoration: none;
  text-transform: none;
  content: "\e002";
  vertical-align: middle;
  margin-inline: 0.4em;
}
.entry__body :where(ul:has(img)) {
  margin-block: 2em;
}
.entry__body :where(ul:has(img)) > li {
  container-type: inline-size;
}
.entry__body :where(ul:has(img)) > li img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}
.entry__body :where(figure) {
  margin-block: 2em;
}
.entry__body :where(figure) img {
  margin-inline: auto;
  width: fit-content;
  max-width: 100%;
  height: auto;
}
.entry__body :where(iframe) {
  display: block;
  margin-inline: auto;
}
.entry__body .wp-block-embed {
  margin-inline: auto;
  width: fit-content;
}
@media (min-width: 1024px) {
  .entry {
    margin-block: 52px 0;
  }
  .entry__heading__title {
    margin-block: 10px 0;
    font-size: 2rem;
    line-height: 1.28;
  }
  .entry__heading__update {
    font-size: 0.875rem;
  }
  .entry__body {
    margin-block: 24px 0;
  }
  .entry__body :where(ul:has(img)) {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    gap: 64px;
  }
  .entry__body :where(ul:has(img)) > li img {
    border-radius: 16px;
  }
  .entry__body :where(ul:has(> li:nth-of-type(3))) {
    grid-template-columns: repeat(3, 1fr);
  }
  .entry__body :where(figure) img {
    border-radius: 16px;
  }
  .entry__body__button.button {
    margin-block: 72px 0;
  }
}
@media (hover: hover) {
  .entry__body :where(a:hover) {
    text-decoration: none;
  }
}
@media screen and (max-width: 1023px) {
  .entry {
    margin-block: 24px 0;
  }
  .entry__heading__title {
    margin-block: 8px 0;
    font-size: 1.5rem;
  }
  .entry__update {
    font-size: 0.75rem;
  }
  .entry__body {
    margin-block: 24px 0;
  }
  .entry__body :where(ul:has(img)) > li:nth-of-type(n+2) {
    margin-block-start: 30px;
  }
  .entry__body :where(ul:has(img)) img {
    border-radius: 12px;
  }
  .entry__body :where(figure) img {
    border-radius: 12px;
  }
  .entry__body__button.button {
    margin-block: 60px 0;
  }
}

.notice {
  background: #ffffff;
  font-weight: 700;
}
.notice__heading {
  margin-block: 0;
  font-weight: 700;
}
.notice__heading.--green {
  color: var(--colorGreen);
}
.notice__heading.--red {
  color: var(--colorRed);
}
.notice__heading.--yellow {
  color: var(--colorYellow);
}
@media (min-width: 1024px) {
  .notice {
    display: flex;
    align-items: center;
    margin-block: 60px 0;
    padding-block: 32px;
    padding-inline: 40px;
    border-radius: 24px;
  }
  .notice__heading {
    font-size: 1.25rem;
  }
  .notice__text {
    margin-block: 0;
    margin-inline-start: 30px;
    padding-inline-start: 30px;
    padding-block: 9px;
    border-left: 1px solid var(--colorLine);
  }
  .notice__button.button {
    margin-block: 0;
    margin-inline: auto 0;
  }
}
@media screen and (max-width: 1023px) {
  .notice {
    margin-block: 23px 0;
    padding-block: 23px;
    padding-inline: 24px;
    border-radius: 12px;
  }
  .notice__heading {
    font-size: 1.125rem;
  }
  .notice__text {
    margin-block: 15px 0;
    padding-block-start: 13px;
    border-top: 1px solid var(--colorLine);
  }
  .notice__button.button {
    margin-block: 15px 0;
    margin-inline-start: 0;
  }
}

.calendar-box {
  background: #ffffff;
}
.calendar-box__date {
  position: relative;
  font-weight: 700;
  z-index: 0;
}
.calendar-box__date::before {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  background: var(--colorBgYellow);
  transition: transform 0.2s cubic-bezier(0.215, 0.61, 0.355, 1);
  will-change: transform;
  z-index: -1;
}
.calendar-box__date__date {
  position: relative;
  display: inline-block;
  font-family: "Righteous", sans-serif;
  font-weight: 500;
  z-index: 0;
}
.calendar-box__date__type {
  color: var(--colorYellow);
  letter-spacing: -0.02em;
}
.calendar-box__date__type::after {
  font-family: "icon";
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  font-style: normal;
  font-variant: normal;
  font-weight: 400;
  speak: none;
  text-decoration: none;
  text-transform: none;
  content: "\e00a";
  vertical-align: middle;
  margin-inline-start: 0.2em;
}
.calendar-box__date__time {
  letter-spacing: 0.05em;
}
.calendar-box__date.calendar-box__date--last-month, .calendar-box__date.calendar-box__date--next-month {
  pointer-events: none;
  color: #ebe2cc;
}
.calendar-box__date.calendar-box__date--last-month::before, .calendar-box__date.calendar-box__date--next-month::before {
  background-color: transparent;
}
.calendar-box__date.calendar-box__date--past {
  pointer-events: none;
  color: #ebe2cc;
}
.calendar-box__date.calendar-box__date--past::before {
  background-color: #f9f6ef;
}
.calendar-box__date.calendar-box__date--past .calendar-box__date__type,
.calendar-box__date.calendar-box__date--past .calendar-box__date__time {
  opacity: 0;
}
.calendar-box__date.calendar-box__date--value::before {
  background: var(--colorBgGreen);
}
.calendar-box__date.calendar-box__date--value .calendar-box__date__type {
  color: var(--colorGreen);
}
.calendar-box__date.calendar-box__date--peak::before {
  background: var(--colorBgRed);
}
.calendar-box__date.calendar-box__date--peak .calendar-box__date__type {
  color: var(--colorRed);
}
.calendar-box__date.calendar-box__date--closed::before {
  background-color: #f0f0f0;
}
.calendar-box__date.calendar-box__date--closed .calendar-box__date__type {
  color: revert;
}
.calendar-box__date.calendar-box__date--closed .calendar-box__date__type::after {
  content: none;
}
.calendar-box__date:not(.calendar-box__date--last-month):not(.calendar-box__date--past):first-child .calendar-box__date__date, .calendar-box__date--holiday .calendar-box__date__date {
  color: var(--colorRed);
}
.calendar-box__date:not(.calendar-box__date--next-month):not(.calendar-box__date--past):last-child .calendar-box__date__date {
  color: #4c7d92;
}
.calendar-box__date[aria-current]::before {
  border: solid var(--colorYellow);
}
.calendar-box__date[aria-current] .calendar-box__date__date {
  color: #ffffff;
}
.calendar-box__date[data-modal-open] {
  cursor: pointer;
}
.calendar-box__note {
  margin-block: 20px 0;
  letter-spacing: -0.04em;
}
.calendar-box__modal__heading::after {
  font-family: "icon";
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  font-style: normal;
  font-variant: normal;
  font-weight: 400;
  speak: none;
  text-decoration: none;
  text-transform: none;
  content: "\e00a";
  vertical-align: middle;
  margin-inline-start: 0.4em;
  transform: translateY(3px);
}
.calendar-box__modal__list {
  display: grid;
  font-weight: 700;
}
.calendar-box__modal__item {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  text-align: center;
}
.calendar-box__modal__item__price {
  color: var(--colorYellow);
}
.calendar-box__modal__item__price > span:not(.calendar-box__modal__item__price__unit) {
  font-weight: 500;
  font-family: "Righteous", sans-serif;
}
.calendar-box__modal__notes-list {
  line-height: 2;
  font-weight: 500;
}
.calendar-box__modal__notes-item {
  padding-inline-start: 1em;
  text-indent: -1em;
}
.calendar-box__modal__notes-item::before {
  content: "※";
}
.calendar-box__modal__button.button .button__link {
  color: #ffffff;
}
#regular .calendar-box__modal__heading {
  color: var(--colorYellow);
  background: var(--colorBgYellow);
}
#regular .calendar-box__modal__item {
  background-color: var(--colorBgYellow);
}
#regular .calendar-box__modal__item__price {
  color: var(--colorYellow);
}
#regular .calendar-box__modal__button.button .button__link {
  background-color: var(--colorYellow);
}
#regular .calendar-box__modal__button.button .button__link::before {
  background-color: var(--colorYellow);
}
#value .calendar-box__modal__heading {
  color: var(--colorGreen);
  background: var(--colorBgGreen);
}
#value .calendar-box__modal__item {
  background-color: var(--colorBgGreen);
}
#value .calendar-box__modal__item__price {
  color: var(--colorGreen);
}
#value .calendar-box__modal__button.button .button__link {
  background-color: var(--colorGreen);
}
#value .calendar-box__modal__button.button .button__link::before {
  background-color: var(--colorGreen);
}
#peak .calendar-box__modal__heading {
  color: var(--colorRed);
  background: var(--colorBgRed);
}
#peak .calendar-box__modal__item {
  background-color: var(--colorBgRed);
}
#peak .calendar-box__modal__item__price {
  color: var(--colorRed);
}
#peak .calendar-box__modal__button.button .button__link {
  background-color: var(--colorRed);
}
#peak .calendar-box__modal__button.button .button__link::before {
  background-color: var(--colorRed);
}
@media (min-width: 1024px) {
  .calendar-box {
    margin-block-start: 43px;
    padding-block: 25px 40px;
    padding-inline: 40px;
    border-radius: 24px;
  }
  .calendar-box__table {
    border-collapse: separate;
    table-layout: fixed;
    margin-block: 0;
    margin-inline: -8px;
    border-spacing: 8px;
    width: calc(100% + 16px);
  }
  .calendar-box__day, .calendar-box__date {
    position: relative;
    text-align: center;
    vertical-align: top;
    line-height: 1;
  }
  .calendar-box__day {
    font-size: 1.25rem;
    padding-block-end: 34px;
  }
  .calendar-box__day::before {
    position: absolute;
    bottom: 12px;
    content: "";
    background: no-repeat 0 0/cover;
  }
  .calendar-box__day:nth-of-type(1)::before {
    left: -5px;
    width: 80px;
    height: 43px;
    background-image: url(/assets/img/calendar/img_illust.webp);
  }
  .calendar-box__day:nth-of-type(2)::before {
    left: 12px;
    width: 54px;
    height: 41px;
    background-image: url(/assets/img/calendar/img_illust_02.webp);
  }
  .calendar-box__day:nth-of-type(3)::before {
    left: 5px;
    width: 57px;
    height: 53px;
    background-image: url(/assets/img/calendar/img_illust_03.webp);
  }
  .calendar-box__day:nth-of-type(4)::before {
    left: 7px;
    width: 53px;
    height: 54px;
    background-image: url(/assets/img/calendar/img_illust_04.webp);
  }
  .calendar-box__day:nth-of-type(5)::before {
    left: 9px;
    width: 50px;
    height: 40px;
    background-image: url(/assets/img/calendar/img_illust_05.webp);
  }
  .calendar-box__day:nth-of-type(6)::before {
    left: 8px;
    width: 51px;
    height: 53px;
    background-image: url(/assets/img/calendar/img_illust_06.webp);
  }
  .calendar-box__day:nth-of-type(7)::before {
    left: 12px;
    width: 48px;
    height: 54px;
    background-image: url(/assets/img/calendar/img_illust_07.webp);
  }
  .calendar-box__day::after {
    position: absolute;
    left: 0;
    right: 0;
    bottom: 8px;
    border-radius: calc(infinity * 1px);
    content: "";
    background: #eae0c9;
    height: 4px;
  }
  .calendar-box__day:first-child {
    color: var(--colorRed);
  }
  .calendar-box__day:first-child::after {
    background-color: #f4cac9;
  }
  .calendar-box__day:last-child {
    color: #4c7d92;
  }
  .calendar-box__day:last-child::after {
    background-color: #d2dee4;
  }
  .calendar-box__date {
    height: 96px;
    padding-block: 13px 2px;
  }
  .calendar-box__date::before {
    border-radius: 12px;
  }
  .calendar-box__date__date {
    margin-block: 0;
    font-size: 1.5rem;
  }
  .calendar-box__date__type {
    margin-block: 6px 0;
    letter-spacing: -0.04em;
  }
  .calendar-box__date__time {
    margin-block: 7px 0;
    font-size: 0.8125rem;
  }
  .calendar-box__date--closed .calendar-box__date__type {
    font-size: 1.25rem;
  }
  .calendar-box__date[aria-current]::before {
    border-width: 3px;
  }
  .calendar-box__date[aria-current] .calendar-box__date__date::before {
    --size: 32px;
    position: absolute;
    top: 50%;
    left: 50%;
    border-radius: 50%;
    width: var(--size);
    height: var(--size);
    background: var(--colorYellow);
    content: "";
    transform: translate(-50%, -50%);
    z-index: -1;
  }
  .calendar-box__date:hover::before {
    transform: scale(1.08);
  }
  .calendar-box__note {
    font-size: 0.875rem;
  }
  .calendar-box__modal {
    width: 800px;
  }
  .calendar-box__modal__list {
    grid-template-columns: repeat(4, 1fr);
    gap: 7px;
    margin-block: 40px 0;
  }
  .calendar-box__modal__item {
    border-radius: 12px;
    min-height: 168px;
  }
  .calendar-box__modal__item__price {
    margin-block: 4px 0;
    font-size: 1.75rem;
  }
  .calendar-box__modal__item__price:has(span) {
    font-size: 2rem;
  }
  .calendar-box__modal__item__price__unit {
    font-size: 1rem;
  }
  .calendar-box__modal__notes-list {
    margin-block: 22px 0;
    font-size: 0.875rem;
    line-height: 2.2;
  }
  .calendar-box__modal__button.button {
    margin-block: 26px 0;
  }
}
@media screen and (max-width: 1023px) {
  .calendar-box {
    margin-block-start: 32px;
    margin-inline: -8px;
    border-radius: 12px;
    padding-block: 20px;
    padding-inline: 20px;
  }
  .calendar-box table,
  .calendar-box tbody,
  .calendar-box tr {
    display: grid;
    gap: 10px;
  }
  .calendar-box table {
    grid-template-columns: 1fr;
  }
  .calendar-box thead, .calendar-box__date--past, .calendar-box__date--last-month, .calendar-box__date--next-month {
    display: none !important;
  }
  .calendar-box__date {
    display: grid;
    grid-template-columns: 99px 1fr;
    min-height: 72px;
    gap: 0 15px;
  }
  .calendar-box__date::before {
    border-radius: 6px;
  }
  .calendar-box__date__date {
    grid-column: 1;
    grid-row: 1/3;
    display: flex;
    align-items: center;
    margin-block: -1px;
    margin-inline-start: -1px;
    padding-inline-start: 18px;
    border-radius: 6px 0 0 6px;
    font-size: 1.3125rem;
    font-weight: 700;
  }
  .calendar-box__date__date::before {
    position: absolute;
    right: 0;
    top: 12px;
    bottom: 12px;
    width: 3px;
    border-radius: calc(infinity * 1px);
    content: "";
    background: #ffffff;
  }
  .calendar-box__date__date::after {
    font-size: 0.84375rem;
    speak: none;
    pointer-events: none;
    transform: translateY(3px);
  }
  .calendar-box__date__type {
    grid-column: 2;
    grid-row: 1;
    margin-block: 0;
    align-self: end;
    font-size: 0.9375rem;
  }
  .calendar-box__date__time {
    grid-column: 2;
    grid-row: 2;
    margin-block: 5px 0;
    font-size: 0.75rem;
  }
  .calendar-box__date[aria-current]::before {
    border-width: 2px;
  }
  .calendar-box__date[aria-current] .calendar-box__date__date {
    background: var(--colorYellow);
  }
  .calendar-box__date[aria-current] .calendar-box__date__date::before {
    background: inherit;
  }
  .calendar-box__date:nth-of-type(1) .calendar-box__date__date::after {
    content: "日（日）";
  }
  .calendar-box__date:nth-of-type(2) .calendar-box__date__date::after {
    content: "日（月）";
  }
  .calendar-box__date:nth-of-type(3) .calendar-box__date__date::after {
    content: "日（火）";
  }
  .calendar-box__date:nth-of-type(4) .calendar-box__date__date::after {
    content: "日（水）";
  }
  .calendar-box__date:nth-of-type(5) .calendar-box__date__date::after {
    content: "日（木）";
  }
  .calendar-box__date:nth-of-type(6) .calendar-box__date__date::after {
    content: "日（金）";
  }
  .calendar-box__date:nth-of-type(7) .calendar-box__date__date::after {
    content: "日（土）";
  }
  .calendar-box__note {
    font-size: 0.75rem;
  }
  .calendar-box__modal__list {
    container-type: inline-size;
    grid-template-columns: repeat(2, 1fr);
    gap: 6px;
    margin-block: 30px 0;
  }
  .calendar-box__modal__item {
    border-radius: 12px;
    min-height: 33.6vw;
  }
  .calendar-box__modal__item__price {
    margin-block: 0;
    font-size: 1.3125rem;
  }
  .calendar-box__modal__item__price:has(span) {
    font-size: 1.5rem;
  }
  .calendar-box__modal__item__price__unit {
    font-size: 0.75rem;
  }
  .calendar-box__modal__notes-list {
    margin-block: 18px 0;
    font-size: 0.75rem;
  }
  .calendar-box__modal__button.button {
    margin-block: 20px 0;
  }
}

.calendar-nav {
  line-height: 1;
}
.calendar-nav__year, .calendar-nav__month {
  font-weight: 500;
  font-family: "Righteous", sans-serif;
}
.calendar-nav__year:nth-of-type(3n+1), .calendar-nav__month {
  color: var(--colorRed);
}
.calendar-nav__year:nth-of-type(3n+2) {
  color: var(--colorGreen);
}
.calendar-nav__year:nth-of-type(3n) {
  color: var(--colorYellow);
}
.calendar-nav__list {
  display: grid;
  align-items: flex-end;
  margin-inline: auto;
  width: fit-content;
}
.calendar-nav__item {
  font-weight: 700;
}
.calendar-nav__item:has(.calendar-nav__link--prev) {
  grid-column: 1;
}
.calendar-nav__item[aria-current=date] {
  grid-column: 2;
}
.calendar-nav__item:has(.calendar-nav__link--next) {
  grid-column: 3;
}
.calendar-nav__link {
  position: relative;
  display: flex;
  align-items: center;
  border-radius: calc(infinity * 1px);
  background: #ffffff;
  color: var(--colorRed);
  font-weight: 700;
  z-index: 0;
}
.calendar-nav__link::before {
  position: absolute;
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;
  border-radius: calc(infinity * 1px);
  content: "";
  background: #ffffff;
  transition: transform 0.2s cubic-bezier(0.215, 0.61, 0.355, 1);
  will-change: transform;
  z-index: -1;
}
.calendar-nav__link::after {
  position: absolute;
  top: 50%;
  content: "";
  display: block;
  border: solid currentColor;
  border-color: transparent currentColor transparent transparent;
  border-width: 4px 6px 4px 0;
  width: 0;
  line-height: 1;
}
.calendar-nav__link__month {
  font-weight: 500;
  font-family: "Righteous", sans-serif;
}
.calendar-nav__link--prev {
  justify-content: flex-end;
}
.calendar-nav__link--prev::after {
  transform: translateY(-50%);
  left: var(--pos);
}
.calendar-nav__link--next::after {
  transform: translateY(-50%) scale(-1, 1);
  right: var(--pos);
}
@media (min-width: 1024px) {
  .calendar-nav {
    margin-block-start: 50px;
  }
  .calendar-nav__list {
    grid-template-columns: 104px auto 104px;
    gap: 41px;
  }
  .calendar-nav__item {
    font-size: 2rem;
  }
  .calendar-nav__item:has(.calendar-nav__link) {
    margin-block-end: 5px;
  }
  .calendar-nav__year {
    font-size: 2.25rem;
  }
  .calendar-nav__month {
    font-size: 4rem;
  }
  .calendar-nav__link {
    font-size: 1rem;
    width: 104px;
    height: 40px;
    padding-inline: 15px;
  }
  .calendar-nav__link__month {
    font-size: 1.25rem;
  }
  .calendar-nav__link--prev::after, .calendar-nav__link--next::after {
    --pos: 16px;
  }
}
@media (hover: hover) {
  .calendar-nav__link:hover::before {
    transform: scale(1.1);
  }
}
@media screen and (max-width: 1023px) {
  .calendar-nav {
    margin-block-start: 47px;
    margin-inline: -8px;
  }
  .calendar-nav__list {
    grid-template-columns: min(72px, 19.2vw) auto min(72px, 19.2vw);
    gap: min(15px, 4vw);
    justify-content: center;
  }
  .calendar-nav__item {
    font-size: min(24px, 6.4vw);
  }
  .calendar-nav__year {
    font-size: min(27px, 7.2vw);
  }
  .calendar-nav__month {
    font-size: min(48px, 12.8vw);
  }
  .calendar-nav__link {
    font-size: min(12px, 3.2vw);
    width: min(72px, 19.2vw);
    height: 30px;
    padding-inline: min(11px, 2.9333333333vw);
  }
  .calendar-nav__link__month {
    font-size: min(15px, 4vw);
  }
  .calendar-nav__link--prev::after, .calendar-nav__link--next::after {
    --pos: 12px;
  }
}

.modal {
  overflow: visible;
  position: relative;
  border: unset;
  margin: auto;
  width: fit-content;
  height: fit-content;
  z-index: 1000;
  color: var(--colorText);
  transition: opacity 0.2s cubic-bezier(0.215, 0.61, 0.355, 1), scale 0.2s cubic-bezier(0.215, 0.61, 0.355, 1);
  outline: 0;
}
.modal::backdrop {
  background-color: rgba(245, 240, 228, 0.9);
}
.modal__container {
  overflow: hidden;
  background: #ffffff;
  border: solid var(--colorLine);
}
.modal__heading {
  display: flex;
  align-items: center;
  justify-content: center;
  margin-block: 0;
  text-align: center;
  font-weight: 700;
}
.modal__inner {
  overflow: auto;
  overscroll-behavior: contain;
  container-type: inline-size;
}
.modal__inner iframe {
  display: block;
  width: 100%;
  height: 56.25cqw;
}
.modal__inner p:nth-of-type(n+2) {
  margin-top: 1.5em;
}
.modal__inner .movie {
  width: 100%;
  height: 56.25cqw;
}
.modal__inner .movie video {
  width: 100%;
  height: 100%;
  object-fit: cover;
}
.modal__close {
  position: absolute;
  display: block;
}
.modal__close::before {
  display: block;
  width: fit-content;
  margin-block: 0;
  margin-inline: auto;
  font-family: "icon";
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  font-style: normal;
  font-variant: normal;
  font-weight: 400;
  speak: none;
  text-decoration: none;
  text-transform: none;
  content: "\e00b";
  vertical-align: middle;
}
.modal__close::after {
  display: block;
  margin-block: 1px 0;
  content: "CLOSE";
  font-weight: 500;
  font-family: "Righteous", sans-serif;
  speak: none;
  pointer-events: none;
}
.modal__close span {
  position: absolute !important;
  width: 1px !important;
  height: 1px !important;
  padding: 0 !important;
  margin: -1px !important;
  overflow: hidden !important;
  clip: rect(0, 0, 0, 0) !important;
  white-space: nowrap !important;
  border: 0 !important;
}
.modal:not([data-active=true]) {
  opacity: 0;
  scale: 0.95;
}
.modal:not([data-active=true])::backdrop {
  opacity: 0;
}
.modal .media:first-child {
  margin-block-start: 0;
}
.modal .--red .modal__heading {
  color: var(--colorRed);
  background: var(--colorBgRed);
}
.modal .--green .modal__heading {
  color: var(--colorGreen);
  background: var(--colorBgGreen);
}
.modal .--yellow .modal__heading {
  color: var(--colorYellow);
  background: var(--colorBgYellow);
}
@media (min-width: 1024px) {
  .modal {
    border-radius: 24px;
  }
  .modal__container {
    border-width: 8px;
    border-radius: 24px;
    padding-block: 0 40px;
    padding-inline: 40px;
  }
  :where(.modal .modal__container) {
    width: 960px;
  }
  .modal__container.--w1080 {
    width: 1176px;
  }
  .modal__heading {
    min-height: 104px;
    margin-inline: -40px;
    padding-block: 15px;
    font-size: 2rem;
  }
  .modal__inner {
    margin-block: 0 -40px;
    margin-inline: -40px;
    padding-block: 40px;
    padding-inline: 40px;
    max-height: 80vh;
  }
  .modal__close {
    top: 44px;
    right: 32px;
  }
  .modal__close::before {
    font-size: 22px;
  }
  .modal__close::after {
    font-size: 0.75rem;
  }
  .modal .media {
    margin-block-start: 40px;
  }
}
@media screen and (max-width: 1023px) {
  .modal {
    border-radius: 12px;
  }
  .modal__container {
    border-width: 4px;
    border-radius: 12px;
    padding-block: 0 32px;
    padding-inline: 24px;
  }
  :where(.modal .modal__container) {
    width: 91.4666666667vw;
  }
  .modal__heading {
    min-height: 80px;
    margin-inline: -24px;
    padding-block: 10px;
    padding-inline: 0 13.3333333333vw;
    font-size: 1.5rem;
  }
  .modal__inner {
    overflow: auto;
    margin-block: 0 -32px;
    margin-inline: -24px;
    padding-block: 32px;
    padding-inline: 24px;
    max-height: 70vh;
  }
  .modal__close {
    top: 26px;
    right: 20px;
  }
  .modal__close::before {
    font-size: 16px;
  }
  .modal__close::after {
    font-size: 0.5625rem;
  }
  .modal .media {
    margin-block-start: 20px;
  }
}

.slider img,
.slider video {
  width: 100%;
  height: 100%;
  object-fit: cover;
}
.slider__main {
  overflow: visible;
}
.slider__main__item {
  overflow: hidden;
}
.slider__main__nav {
  position: absolute;
  z-index: 9;
}
.slider__main__nav.--prev::before, .slider__main__nav.--next::before {
  position: absolute;
  top: 50%;
  left: 50%;
  border: solid;
  border-width: 0 4px 7px 4px;
  content: "";
  transform: translate(-50%, -50%);
}
.slider__thumbnail {
  z-index: 0;
}
.slider__thumbnail__item {
  overflow: hidden;
}
.slider__thumbnail__item::before {
  position: absolute;
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;
  content: "";
  z-index: 0;
  opacity: 0;
  transition: opacity 0.2s cubic-bezier(0.215, 0.61, 0.355, 1);
  will-change: opacity;
}
.slider__thumbnail__item.swiper-slide-thumb-active, .slider__thumbnail__item.swiper-slide-thumb-active img {
  pointer-events: none;
}
.slider .swiper-slide-thumb-active::before {
  opacity: 0.7;
}
.slider.--red .slider__main__nav.--prev,
.slider.--red .slider__main__nav.--next {
  background: var(--colorBgRed);
}
.slider.--red .slider__main__nav.--prev::before,
.slider.--red .slider__main__nav.--next::before {
  border-color: transparent transparent var(--colorRed) transparent;
}
.slider.--red .slider__thumbnail {
  background: var(--colorBgRed);
}
.slider.--red .swiper-slide-thumb-active::before {
  background: var(--colorRed);
}
.slider.--yellow .slider__main__nav.--prev,
.slider.--yellow .slider__main__nav.--next {
  background: var(--colorBgYellow);
}
.slider.--yellow .slider__main__nav.--prev::before,
.slider.--yellow .slider__main__nav.--next::before {
  border-color: transparent transparent var(--colorYellow) transparent;
}
.slider.--yellow .slider__thumbnail {
  background: var(--colorBgYellow);
}
.slider.--yellow .swiper-slide-thumb-active::before {
  background: var(--colorYellow);
}
.slider.--green .slider__main__nav.--prev,
.slider.--green .slider__main__nav.--next {
  background: var(--colorBgGreen);
}
.slider.--green .slider__main__nav.--prev::before,
.slider.--green .slider__main__nav.--next::before {
  border-color: transparent transparent var(--colorGreen) transparent;
}
.slider.--green .slider__thumbnail {
  background: var(--colorBgGreen);
}
.slider.--green .swiper-slide-thumb-active::before {
  background: var(--colorGreen);
}
@media (min-width: 1024px) {
  .slider {
    display: grid;
    grid-template-columns: 80.9523809524% 18.0952380952%;
    max-width: 840px;
    margin-inline: auto;
    gap: 8px;
  }
  .slider__main {
    grid-column: 1;
    grid-row: 1;
    width: 680px;
  }
  .slider__main__item {
    border-radius: 12px;
  }
  .slider__main__nav.--prev, .slider__main__nav.--next {
    right: -160px;
    height: 24px;
    width: 152px;
    border-radius: 16px;
  }
  .slider__main__nav.--prev::before, .slider__main__nav.--next::before {
    top: 50%;
    left: 50%;
  }
  .slider__main__nav.--prev {
    top: 0;
  }
  .slider__main__nav.--next {
    bottom: 0;
    transform: scale(1, -1);
  }
  .slider__thumbnail {
    grid-column: 2;
    grid-row: 1;
    height: 384px;
    border-radius: 16px;
    padding-block: 24px;
    padding-inline: 8px;
  }
  .slider__thumbnail__item {
    border-radius: 10px;
    height: 76px;
  }
}
@media screen and (max-width: 1023px) {
  .slider__main__item {
    border-radius: 6px;
  }
  .slider__main__nav.--prev, .slider__main__nav.--next {
    bottom: 0;
    height: calc(12.1333333333vw + 12px);
    width: 20px;
    border-radius: 8px;
  }
  .slider__main__nav.--prev::before, .slider__main__nav.--next::before {
    top: 50%;
    left: 50%;
    transform: rotate(-90deg) translateX(3px) translateY(-3px);
  }
  .slider__main__nav.--prev {
    left: 0;
    transform: translateY(calc(100% + 6px));
  }
  .slider__main__nav.--next {
    right: 0;
    transform: translateY(calc(100% + 6px)) scale(-1, 1);
  }
  .slider__thumbnail {
    margin-block-start: 6px;
    border-radius: 8px;
    padding-block: 6px;
    padding-inline: 20px;
  }
  .slider__thumbnail__item {
    border-radius: 5px;
    height: 12.1333333333vw;
  }
}

.media {
  display: grid;
  align-items: start;
}
.media__heading {
  font-weight: 800;
}
.media__img img {
  width: 100%;
  height: 100%;
  max-width: 100%;
  max-height: 100%;
  border-radius: 16px;
  object-fit: cover;
}
.media__body {
  line-height: 2;
  font-weight: 500;
}
.media__body > *:last-child {
  margin-bottom: 0 !important;
}
.media__body > *:not(:first-child) {
  margin-block-start: 2em;
}
.media .--red .media__heading, .media__heading.--red {
  color: var(--colorRed);
}
.media .--green .media__heading, .media__heading.--green {
  color: var(--colorGreen);
}
.media .--yellow .media__heading, .media__heading.--yellow {
  color: var(--colorYellow);
}
@media (min-width: 1024px) {
  .media {
    grid-template-columns: repeat(2, 1fr);
    grid-template-rows: min-content 1fr;
    gap: min(32px, 2.6666666667vw);
  }
  .media__heading {
    grid-column: 1;
    grid-row: 1;
    font-size: 1.5rem;
    line-height: 1.67;
  }
  .media__img {
    grid-column: 2;
    grid-row: 1/3;
  }
  .media__img__caption {
    margin-block: 12px 0;
    font-size: 0.875rem;
  }
  .media__body {
    grid-column: 1;
    grid-row: 2;
    margin-block-start: 12px;
  }
  .media:not(:has(.media__heading)) .media__body {
    grid-row: 1;
    margin-block-start: 0;
  }
  .media.--flipped .media__heading,
  .media.--flipped .media__body {
    grid-column: 2;
  }
  .media.--flipped .media__img {
    grid-column: 1;
  }
  .text-heading + .media {
    margin-block-start: 24px;
  }
}
@media screen and (max-width: 1023px) {
  .media__heading {
    margin-block: 20px 0;
    font-size: 1.125rem;
    line-height: 1.67;
  }
  .media__img__caption {
    margin-block: 9px 0;
    font-size: 0.75rem;
  }
  .media__body {
    margin-block: 20px 0;
    font-size: 0.875rem;
    line-height: 1.71;
  }
  .media__body:first-child {
    margin-block-start: 0;
  }
  .media.--spType01 .media__img {
    grid-row: 1;
  }
  .media.--spType01 .media__heading {
    grid-row: 2;
  }
  .media.--spType01 .media__body {
    grid-row: 3;
  }
}

.fp-event-card__view-stars {
  container-type: inline-size;
}

.fp-event-card__view-star01 .ico-star {
  width: 29.6890772322cqw;
  height: 27.9493910614cqw;
}

.fp-event-card__view-star02 .ico-star {
  width: 6.2451130216cqw;
  height: 5.8805311532cqw;
}

.fp-event-card__view-star03 .ico-star {
  width: 6.2451130216cqw;
  height: 5.8805311532cqw;
}

.fp-event-card__view-star04 .ico-star {
  width: 39.6896085105cqw;
  height: 37.3613598222cqw;
}

.fp-event-card__view-star05 .ico-star {
  width: 26.5586921805cqw;
  height: 25.0065472228cqw;
}

.fp-event-card__view-star06 .ico-star {
  width: 19.688545954cqw;
  height: 18.532234525cqw;
}

.fp-event-card__view-star07 .ico-star {
  width: 10.0005312782cqw;
  height: 9.4119687608cqw;
}

.fp-event-card__view-star08 .ico-star {
  width: 10.0005312782cqw;
  height: 9.4119687608cqw;
}

.fp-event-card__view-star09 .ico-star {
  width: 15.6258301222cqw;
  height: 14.7091251723cqw;
}

.fp-event-card__view-star10 .ico-star {
  width: 15.6258301222cqw;
  height: 14.7091251723cqw;
}

.fp-event-card__view-star01 {
  transform: translate3d(0, 10.9cqh, 0);
  left: unset;
  top: unset;
  right: 27cqw;
  bottom: 8.6cqh;
}

.fp-event-card__view-star02 {
  transform: translate3d(10.7cqw, 2.3cqh, 0);
  left: unset;
  top: unset;
  right: 10.4cqw;
  bottom: 10.2cqh;
}

.fp-event-card__view-star03 {
  transform: translate3d(0.2cqw, 3.3cqh, 0);
  left: unset;
  top: unset;
  right: 36.3cqw;
  bottom: 3cqh;
}

.fp-event-card__view-star04 {
  transform: translate3d(-15.8cqw, 5.3cqh, 0);
  left: -15cqw;
  top: unset;
  bottom: 6.7cqh;
}

.fp-event-card__view-star05 {
  transform: translate3d(-15.8cqw, 5.5cqh, 0);
  left: -9.7cqw;
  top: unset;
  bottom: 6.2cqh;
}

.fp-event-card__view-star06 {
  transform: translate3d(15.7cqw, 5.6cqh, 0);
  left: unset;
  top: unset;
  right: 13.1cqw;
  bottom: 5.3cqh;
}

.fp-event-card__view-star07 {
  transform: translate3d(15.1cqw, 9.9cqh, 0);
  left: unset;
  top: unset;
  right: 17cqw;
  bottom: 8.7cqh;
}

.fp-event-card__view-star08 {
  transform: translate3d(-15.4cqw, 9.6cqh, 0);
  left: 5.2cqw;
  top: unset;
  bottom: 9.1cqh;
}

.fp-event-card__view-star09 {
  transform: translate3d(9.7cqw, 3.3cqh, 0);
  left: unset;
  top: unset;
  right: 27.9cqw;
  bottom: 3.3cqh;
}

.fp-event-card__view-star10 {
  transform: translate3d(-9.6cqw, 3cqh, 0);
  left: 17.3cqw;
  top: unset;
  bottom: 2.9cqh;
}

/* paragraph module
--------------------------------------------------------------------------------------------------- */
.lead-text {
  font-weight: 600;
  line-height: 2;
}
@media (min-width: 1024px) {
  .lead-text {
    margin-block: 60px 0;
  }
  .en-label-heading + .lead-text {
    margin-block-start: 32px;
  }
}
@media screen and (max-width: 1023px) {
  .lead-text {
    margin-block: 24px 0;
  }
}

/* list module
--------------------------------------------------------------------------------------------------- */
.index-list .index-list__item {
  overflow: hidden;
  position: relative;
  background: #ffffff;
}
.index-list .index-list__image {
  position: relative;
  overflow: hidden;
}
.index-list .index-list__image img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}
.index-list .index-list__title {
  line-height: 1.6;
}
.index-list .index-list__title a {
  color: var(--colorGreen);
  font-weight: 800;
}
.index-list .index-list__title a::before {
  position: absolute;
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;
  content: "";
}
.index-list .index-list__title a::after {
  position: absolute;
  font-family: "icon";
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  font-style: normal;
  font-variant: normal;
  font-weight: 400;
  speak: none;
  text-decoration: none;
  text-transform: none;
  content: "\e008";
  vertical-align: middle;
  line-height: 1;
  transform-origin: 0 50%;
  transition: transform 0.2s cubic-bezier(0.215, 0.61, 0.355, 1);
}
.index-list .index-list__update {
  font-weight: 500;
}
.index-list .index-list__desc {
  margin-block: 0;
  font-weight: 700;
  -webkit-line-clamp: 3;
  display: -webkit-box;
  -webkit-box-orient: vertical;
  overflow: hidden;
}
@media (min-width: 1024px) {
  .index-list {
    --innerGap: 8px;
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    gap: 32px;
    margin-block: 40px;
  }
  .index-list .index-list__item {
    padding-block: 32px 72px;
    padding-inline: 32px;
    border-radius: 24px;
    line-height: 2;
  }
  .index-list .index-list__image {
    border-radius: 16px;
  }
  .index-list .index-list__image img {
    max-width: 520px;
    max-height: 320px;
  }
  .index-list .index-list__title {
    margin-block: 29px 0;
    margin-inline: 8px;
    font-size: 1.25rem;
  }
  .index-list .index-list__title a::after {
    right: 38px;
    bottom: 39px;
    font-size: 8px;
  }
  .index-list .index-list__update {
    margin-block: 12px 0;
    margin-inline: var(--innerGap);
    font-size: 0.875rem;
  }
  .index-list .index-list__desc {
    margin-block: 3px 0;
    margin-inline: var(--innerGap);
  }
}
@media (hover: hover) {
  .index-list .index-list__item:hover .fp-event-card__view-star {
    transform: translateZ(0);
  }
  .index-list .index-list__item:hover .index-list__title a::after {
    transform: scale(1.2);
  }
}
@media screen and (max-width: 1023px) {
  .index-list {
    --innerGap: 5px;
    margin-block: 30px;
    margin-inline: -12px;
  }
  .index-list .index-list__item {
    padding-block: 19px 60px;
    padding-inline: 19px;
    border-radius: 12px;
    line-height: 1.7;
  }
  .index-list .index-list__item:nth-of-type(n+2) {
    margin-block-start: 24px;
  }
  .index-list .index-list__image {
    container-type: inline-size;
  }
  .index-list .index-list__image img {
    border-radius: 8px;
    width: 100%;
    height: 61.5852682146cqw;
  }
  .index-list .index-list__title {
    margin-block: 22px 0;
    margin-inline: var(--innerGap);
    font-size: 1.125rem;
  }
  .index-list .index-list__title a::after {
    right: 30px;
    bottom: 30px;
    font-size: 6px;
  }
  .index-list .index-list__update {
    margin-block: 8px 0;
    margin-inline: var(--innerGap);
    font-size: 0.75rem;
  }
  .index-list .index-list__desc {
    margin-block: 0;
    margin-inline: var(--innerGap);
  }
}

.news-list {
  display: grid;
  grid-template-columns: auto 1fr;
  grid-column: 1;
}
.news-list .news-list__item {
  overflow: hidden;
  position: relative;
  display: grid;
  grid-column: 1/3;
  grid-template-columns: subgrid;
  background: #ffffff;
}
.news-list .news-list__image {
  position: relative;
  overflow: hidden;
  grid-column: 1;
  align-self: start;
}
.news-list .news-list__image img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}
.news-list .news-list__title {
  grid-column: 2;
  grid-row: 2;
  font-weight: 800;
}
.news-list .news-list__title a {
  color: var(--colorRed);
}
.news-list .news-list__title a::before {
  position: absolute;
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;
  content: "";
  z-index: 0;
}
.news-list .news-list__title a::after {
  position: absolute;
  font-family: "icon";
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  font-style: normal;
  font-variant: normal;
  font-weight: 400;
  speak: none;
  text-decoration: none;
  text-transform: none;
  content: "\e008";
  font-size: 8px;
  line-height: 8px;
  vertical-align: middle;
  transform-origin: 0 50%;
  transition: transform 0.2s cubic-bezier(0.215, 0.61, 0.355, 1);
  line-height: 1;
}
.news-list .news-list__update {
  grid-column: 2;
  grid-row: 1;
  margin-block: 0;
  font-weight: 500;
}
.news-list .news-list__desc {
  font-weight: 700;
}
@media (min-width: 1024px) {
  .news-list {
    gap: 8px 0;
    margin-block: 59px 0;
  }
  .news-list .news-list__item {
    grid-template-rows: auto auto 1fr;
    gap: 0 32px;
    border-radius: 24px;
    padding: 32px;
  }
  .news-list .news-list__image {
    grid-row: 1/4;
    width: 160px;
    height: 160px;
    border-radius: 16px;
  }
  .news-list .news-list__title {
    margin-block: 11px 0;
    font-size: 1.25rem;
  }
  .news-list .news-list__title a::after {
    right: 39px;
    bottom: 30px;
  }
  .news-list .news-list__update {
    font-size: 0.875rem;
  }
  .news-list .news-list__desc {
    grid-column: 2;
    grid-row: 3;
    margin-block: 9px 0;
    padding-inline-end: 60px;
    line-height: 2;
  }
}
@media (hover: hover) {
  .news-list .news-list__item:hover .fp-event-card__view-star {
    transform: translateZ(0);
  }
  .news-list .news-list__item:hover .news-list__title a::after {
    transform: scale(1.2);
  }
}
@media screen and (max-width: 1023px) {
  .news-list {
    gap: 6px 0;
    margin-block: 26px 0;
    margin-inline: -12px;
  }
  .news-list .news-list__item {
    grid-template-rows: auto 1fr auto;
    gap: 0 20px;
    border-radius: 12px;
    padding-block: 24px 60px;
    padding-inline: 24px;
  }
  .news-list .news-list__image {
    grid-row: 1/3;
    width: 120px;
    height: 120px;
    border-radius: 8px;
  }
  .news-list .news-list__title {
    margin-block: 6px 0;
    font-size: 1.125rem;
    line-height: 1.67;
  }
  .news-list .news-list__title a::after {
    right: 24px;
    bottom: 30px;
    font-size: 6px;
  }
  .news-list .news-list__update {
    font-size: 0.75rem;
  }
  .news-list .news-list__desc {
    grid-column: 1/3;
    grid-row: 3;
    margin-block: 12px 0;
    line-height: 1.7;
  }
}

.normal-list {
  margin: 0;
  line-height: 2;
  font-weight: 500;
}
.normal-list > li {
  position: relative;
  padding-left: 1em;
}
.normal-list > li > *:last-child {
  margin-bottom: 0 !important;
}
.normal-list > li:before {
  position: absolute;
  left: 0;
  content: "・";
}
.normal-list[class*=_unstyled] > li {
  padding: 0;
}
.normal-list[class*=_unstyled] > li::before {
  content: none;
}

.notes-list {
  font-weight: 400;
}
.notes-list > li {
  display: table-row;
}
.notes-list > li > *:last-child {
  margin-bottom: 0 !important;
}
.notes-list > li::before {
  display: table-cell;
  content: "※";
  text-align: center;
}
.notes-list[class*=_small] > li::before, .notes-list > li[class*=_small]::before {
  content: "*";
}
.notes-list[class*=_mark] > li .mark, .notes-list > li[class*=_mark] .mark {
  display: table-cell;
  text-align: right;
}
.notes-list[class*=_mark] > li::before, .notes-list > li[class*=_mark]::before {
  content: none;
}
@media (min-width: 1024px) {
  .notes-list {
    font-size: 0.875rem;
    line-height: 2;
  }
}
@media screen and (max-width: 1023px) {
  .notes-list {
    font-size: 0.75rem;
    line-height: 1.75;
  }
}

.number-list {
  counter-reset: num;
  margin: 0;
  line-height: 2;
  font-weight: 500;
}
.number-list > li {
  position: relative;
  counter-increment: num;
}
.number-list > li > *:last-child {
  margin-bottom: 0 !important;
}
.number-list > li:before {
  position: absolute;
  left: 0;
  display: flex;
  align-items: center;
  justify-content: center;
  border-radius: 50%;
  content: counter(num);
  color: #ffffff;
  background: var(--colorText);
  font-family: "Righteous", sans-serif;
  font-weight: 400;
  width: var(--size);
  height: var(--size);
}
@media (min-width: 1024px) {
  .number-list > li {
    padding-inline-start: 32px;
  }
  .number-list > li::before {
    --size: 24px;
    top: 0.25em;
  }
}
@media screen and (max-width: 1023px) {
  .number-list > li {
    padding-inline-start: 26px;
  }
  .number-list > li::before {
    --size: 18px;
    top: 0.4em;
  }
}

.download-list {
  overflow: hidden;
  border: 1px solid var(--colorLine);
  font-weight: 500;
  margin-block: 0;
  background: #ffffff;
}
.download-list__item:nth-of-type(n+2) {
  border-top: 1px solid var(--colorLine);
}
.download-list__item .pdf::after {
  color: var(--colorRed);
  font-family: "icon";
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  font-style: normal;
  font-variant: normal;
  font-weight: 400;
  speak: none;
  text-decoration: none;
  text-transform: none;
  content: "\e003";
  vertical-align: middle;
}
.download-list__item .picture::after {
  color: var(--colorRed);
  font-family: "icon";
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  font-style: normal;
  font-variant: normal;
  font-weight: 400;
  speak: none;
  text-decoration: none;
  text-transform: none;
  content: "\e011";
  vertical-align: middle;
}
@media (min-width: 1024px) {
  .download-list {
    display: grid;
    grid-template-columns: 1fr auto;
    border-radius: 12px;
  }
  .download-list__item {
    display: grid;
    grid-template-columns: subgrid;
    grid-column: 1/3;
    align-items: center;
    padding-block: 12px;
    padding-inline: 28px;
  }
  .download-list__item .pdf::after {
    margin-inline-start: 16px;
    font-size: 20px;
  }
  .download-list__item .picture::after {
    margin-inline-start: 16px;
    font-size: 17px;
  }
  .download-list .button {
    margin-block-start: 0;
  }
  .download-list .button__link {
    height: 36px;
    min-width: 200px;
    font-size: 0.875rem;
  }
}
@media screen and (max-width: 1023px) {
  .download-list {
    border-radius: 9px;
  }
  .download-list__item {
    padding-block: 13px 21px;
    padding-inline: 18px;
  }
  .download-list__item .pdf::after {
    margin-inline-start: 12px;
    font-size: 15px;
  }
  .download-list__item .picture::after {
    margin-inline-start: 12px;
    font-size: 13px;
  }
  .download-list .button {
    margin-block-start: 4px;
  }
  .download-list .button__link {
    height: 30px;
    min-width: 150px;
    font-size: 0.75rem;
  }
}

.link-list {
  font-weight: 500;
}
.link-list__link {
  position: relative;
  color: var(--colorRed);
}
.link-list__link::before {
  position: absolute;
  left: 0;
  font-family: "icon";
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  font-style: normal;
  font-variant: normal;
  font-weight: 400;
  speak: none;
  text-decoration: none;
  text-transform: none;
  content: "\e00e";
  vertical-align: middle;
}
.link-list__link span {
  position: relative;
}
.link-list__link span::after {
  content: "";
  position: absolute;
  left: 0;
  bottom: 0;
  width: 100%;
  height: 1px;
  background-color: currentColor;
  transform: scaleX(0);
  transform-origin: right center; /* 初期：右基準で縮む準備 */
  transition: transform 0.3s ease;
}
@media (min-width: 1024px) {
  .link-list {
    font-size: 1.125rem;
  }
  .link-list__link {
    padding-inline-start: 40px;
  }
  .link-list__link::before {
    top: -0.1em;
    font-size: 24px;
  }
  .link-list__item:nth-of-type(n+2) {
    margin-block-start: 11px;
  }
}
@media (hover: hover) {
  .link-list__link:hover span::after {
    transform: scaleX(1);
    transform-origin: left center;
  }
}
@media screen and (max-width: 1023px) {
  .link-list {
    font-size: 1rem;
  }
  .link-list__link {
    padding-inline-start: 29px;
  }
  .link-list__link::before {
    top: 0.1em;
    font-size: 18px;
  }
  .link-list__item:nth-of-type(n+2) {
    margin-block-start: 6px;
  }
}

[class*=List][class*=_horizontal] > li {
  margin-right: 20px;
  display: inline-block;
  vertical-align: top;
}

/* table module
--------------------------------------------------------------------------------------------------- */
.table {
  overflow: hidden;
  box-sizing: border-box;
  border: 1px solid var(--colorLine);
  border-radius: 12px;
  container-type: inline-size;
}
.table table {
  margin: -1px;
  width: calc(100% + 2px);
  border-collapse: collapse;
}
.table th,
.table td {
  border: 1px solid var(--colorLine);
  vertical-align: baseline;
  font-weight: 700;
}
.table th {
  background: var(--colorBg02);
}
.table-list__item {
  padding-left: 1em;
  text-indent: -1em;
}
.table-list__item::before {
  content: "・";
}
@media (min-width: 1024px) {
  .table th,
  .table td {
    padding-block: 16px;
    padding-inline: 30px;
    line-height: 2;
  }
}
@media screen and (max-width: 1023px) {
  .table th,
  .table td {
    padding-block: 11px;
    padding-inline: 15px;
    line-height: 1.71;
  }
}

/* navigation module
--------------------------------------------------------------------------------------------------- */
.button {
  display: flex;
  justify-content: center;
  align-items: center;
  gap: 10px 30px;
  margin-inline: auto;
  width: fit-content;
  text-align: center;
  font-weight: 700;
}
.button__link {
  position: relative;
  box-sizing: border-box;
  display: flex;
  align-items: center;
  justify-content: center;
  border: 0;
  border-radius: calc(infinity * 1px);
  padding-block: 0;
  padding-inline: 20px;
  width: fit-content;
  background: #ffffff;
  color: var(--colorRed);
  text-decoration: none;
  z-index: 0;
}
.button__link::before {
  position: absolute;
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;
  content: "";
  border-radius: calc(infinity * 1px);
  transition: transform 0.2s cubic-bezier(0.215, 0.61, 0.355, 1);
  will-change: transform;
  z-index: -1;
}
.button__link::after {
  position: absolute;
  top: 50%;
  content: "";
  display: block;
  border: solid currentColor;
  border-color: transparent transparent transparent currentColor;
  border-width: 4px 0 4px 7px;
  width: 0;
  line-height: 1;
}
.button__link--back::after {
  font-family: "icon";
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  font-style: normal;
  font-variant: normal;
  font-weight: 400;
  speak: none;
  text-decoration: none;
  text-transform: none;
  content: "\e009";
  vertical-align: middle;
  border-width: 0;
  width: unset;
  line-height: 1;
}
.button__link--green {
  color: #ffffff;
  background: var(--colorGreen);
}
.button__link--green::before {
  background: var(--colorGreen);
}
.button__link--lightGreen {
  color: var(--colorGreen);
  background: #e2efd0;
}
.button__link--lightGreen::before {
  background: #e2efd0;
}
.button__link.--red, .button__link--red {
  color: #ffffff;
  background: var(--colorRed);
}
.button__link.--red::before, .button__link--red::before {
  background: var(--colorRed);
}
.button__link--lightRed {
  color: var(--colorRed);
  background: var(--colorBgRed);
}
.button__link--lightRed::before {
  background: var(--colorBgRed);
}
.button__link--yellow {
  color: #ffffff;
  background: var(--colorYellow);
}
.button__link--yellow::before {
  background: var(--colorYellow);
}
.button__link--lightYellow {
  color: var(--colorYellow);
  background: var(--colorBgYellow);
}
.button__link--lightYellow::before {
  background: var(--colorBgYellow);
}
.button__link--white {
  color: var(--colorRed);
  background: #ffffff;
}
.button__link--white::before {
  background: #ffffff;
}
.button__link[target=_blank]::after {
  position: absolute;
  top: 50%;
  right: 20px;
  border-width: 0;
  width: unset;
  font-family: "icon";
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  font-style: normal;
  font-variant: normal;
  font-weight: 400;
  speak: none;
  text-decoration: none;
  text-transform: none;
  content: "\e002";
  vertical-align: middle;
  transform: translateY(-50%);
}
.button__link[target=_blank][href*=".pdf"]::after {
  content: "\e003";
}
.button__link[download]::after {
  font-family: "icon";
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  font-style: normal;
  font-variant: normal;
  font-weight: 400;
  speak: none;
  text-decoration: none;
  text-transform: none;
  content: "\e012";
  vertical-align: middle;
  border-width: 0;
  width: unset;
  line-height: 1;
}
.button__link.is_disabled, .button__link[disabled] {
  background: #cccccc;
  pointer-events: none;
}
.button:last-child {
  margin-block-end: 0 !important;
}
@media (min-width: 1024px) {
  .button {
    margin-block: 32px;
  }
  .button__link {
    min-width: 240px;
    height: 40px;
    transition: opacity 0.2s cubic-bezier(0.215, 0.61, 0.355, 1);
  }
  .button__link::after {
    right: 20px;
    transform: translateY(-50%);
  }
  .button__link--small {
    min-width: 133px;
    height: 32px;
    font-size: 0.875rem;
  }
  .button__link--small::after {
    right: 12px;
  }
  .button__link--medium {
    min-width: 240px;
    height: 56px;
  }
  .button__link--medium::after {
    right: 19px;
  }
  .button__link--back::after {
    right: 17px;
    font-size: 12px;
    transform: translateY(-50%) translateY(2px);
  }
  .button__link[download]::after {
    right: 18px;
    font-size: 13px;
    transform: translateY(-50%) translateY(2px);
  }
}
@media (hover: hover) {
  .button__link:hover::before {
    transform: scale(1.1);
  }
}
@media screen and (max-width: 1023px) {
  .button {
    margin-block: 24px;
  }
  .button__link {
    min-width: 180px;
    height: 30px;
  }
  .button__link::after {
    right: 9px;
    transform: translateY(-50%);
  }
  .button__link--back::after {
    right: 11px;
    font-size: 9px;
    transform: translateY(-50%) translateY(1px);
  }
  .button__link--small {
    padding-block-end: 2px;
    min-width: 100px;
    height: 24px;
    font-size: 0.75rem;
  }
  .button__link--small::after {
    right: 8px;
    border-width: 3px 0 3px 5px;
  }
  .button__link--medium {
    min-width: 180px;
    height: 41px;
  }
  .button__link--medium::after {
    right: 14px;
  }
  .button__link[target=_blank]::after {
    right: 15px;
    font-size: 11px;
  }
  .button:has(> li) {
    flex-direction: column;
    align-items: center;
  }
}

.button-list {
  display: flex;
  align-items: center;
  justify-content: center;
  font-weight: 700;
}
.button-list__link {
  position: relative;
  display: flex;
  align-items: center;
  justify-content: center;
  background: #ffffff;
  color: var(--colorRed);
  z-index: 0;
}
.button-list__link::after {
  position: absolute;
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;
  content: "";
  z-index: -1;
  background: #ffffff;
  transition: transform 0.2s cubic-bezier(0.215, 0.61, 0.355, 1);
  will-change: transform;
}
.button-list__item.--prev .button-list__link::before, .button-list__item.--next .button-list__link::before {
  position: absolute;
  top: 50%;
  content: "";
  display: block;
  border: solid currentColor;
  border-color: transparent currentColor transparent transparent;
  border-width: 4px 7px 4px 0;
  width: 0;
  line-height: 1;
  content: "";
}
.button-list__item.--prev .button-list__link::before {
  transform: translateY(-50%);
}
.button-list__item.--next .button-list__link::before {
  transform: translateY(-50%) scale(-1, 1);
}
.button-list__item.--home .button-list__link::before {
  font-family: "icon";
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  font-style: normal;
  font-variant: normal;
  font-weight: 400;
  speak: none;
  text-decoration: none;
  text-transform: none;
  content: "\e00d";
  vertical-align: middle;
}
@media (min-width: 1024px) {
  .button-list {
    gap: 16px;
  }
  .button-list__link {
    gap: 14px;
    border-radius: 12px;
    height: 48px;
    width: 240px;
  }
  .button-list__link::after {
    border-radius: 12px;
  }
  .button-list__item.--prev, .button-list__item.--next {
    font-size: 1.25rem;
  }
  .button-list__item.--prev .button-list__link, .button-list__item.--next .button-list__link {
    width: 200px;
  }
  .button-list__item.--prev .button-list__link::before {
    left: 20px;
  }
  .button-list__item.--next .button-list__link::before {
    right: 20px;
  }
  .button-list__item.--home .button-list__link::before {
    font-size: 16px;
    height: 16px;
  }
}
@media (hover: hover) {
  .button-list__link:hover::after {
    transform: scale(1.1);
  }
}
@media screen and (max-width: 1023px) {
  .button-list {
    --arrowPos: 10px;
    gap: min(8px, 2vw);
  }
  .button-list__link {
    gap: 8px;
    border-radius: 9px;
    padding-inline: min(8px, 2.1333333333vw);
    height: 46px;
    width: min(152px, 40.5333333333vw);
    font-size: min(14px, 3.7333333333vw);
  }
  .button-list__item.--prev .button-list__link, .button-list__item.--next .button-list__link {
    width: min(92px, 24.5333333333vw);
    font-size: min(17px, 4.5333333333vw);
  }
  .button-list__item.--prev .button-list__link {
    padding-inline-start: 22px;
  }
  .button-list__item.--prev .button-list__link::before {
    left: var(--arrowPos);
  }
  .button-list__item.--next .button-list__link {
    padding-inline-end: 22px;
  }
  .button-list__item.--next .button-list__link::before {
    right: var(--arrowPos);
  }
  .button-list__item.--home .button-list__link::before {
    font-size: min(12px, 3.2vw);
    height: 12px;
  }
}
@media screen and (max-width: 374px) {
  .button-list__item.--prev, .button-list__item.--next {
    font-size: 4.6666666667vw;
  }
}

.pager {
  display: flex;
  justify-content: center;
  align-items: center;
  font-family: "Righteous", sans-serif;
}
.pager .pager__item .pager__link {
  box-sizing: border-box;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  border-radius: calc(infinity * 1px);
  color: var(--colorRed);
  background: #ffffff;
  text-decoration: none;
}
.pager .pager__item .pager__link > span:not([class]) {
  position: absolute !important;
  width: 1px !important;
  height: 1px !important;
  padding: 0 !important;
  margin: -1px !important;
  overflow: hidden !important;
  clip: rect(0, 0, 0, 0) !important;
  white-space: nowrap !important;
  border: 0 !important;
}
.pager .pager__item:has(> span) {
  transform: translateY(-0.3em);
}
.pager .pager__item[data-current=true] .pager__link {
  background: var(--colorRed);
  color: #ffffff;
}
.pager .pager__item.s_ellipsis {
  flex-shrink: 0;
}
.pager .pager__item.s_ellipsis::after {
  display: inline-block;
  content: "…";
  margin-left: 10px;
}
.pager .pager__item[data-page=prev] .pager__link::before, .pager .pager__item[data-page=next] .pager__link::after {
  content: "";
  display: block;
  border: solid currentColor;
  border-color: transparent currentColor transparent transparent;
  border-width: 4px 7px 4px 0;
  width: 0;
  line-height: 1;
}
.pager .pager__item[data-page=next] .pager__link::after {
  transform: scale(-1, 1);
}
@media (min-width: 1024px) {
  .pager {
    gap: 8px;
    margin-block: 80px 0;
    font-size: 1.125rem;
  }
  .pager .pager__item .pager__link {
    width: 48px;
    height: 48px;
    transition: color 0.2s cubic-bezier(0.215, 0.61, 0.355, 1), background-color 0.2s cubic-bezier(0.215, 0.61, 0.355, 1);
  }
  .pager .pager__item .pager__link:hover {
    color: #ffffff;
    background-color: var(--colorRed);
  }
  .pager .pager__item:has(> span) {
    margin-inline: 12px;
  }
}
@media screen and (max-width: 1023px) {
  .pager {
    gap: 6px;
    margin-block: 60px 0;
    font-size: 1rem;
  }
  .pager .pager__item .pager__link {
    width: 36px;
    height: 36px;
  }
  .pager .pager__item:has(> span) {
    margin-inline: 10px;
  }
}

.related-links .related-links__item {
  position: relative;
  display: grid;
  font-weight: 700;
  container-type: inline-size;
}
.related-links .related-links__image {
  grid-column: 1;
  grid-row: 1;
}
.related-links .related-links__image img {
  max-width: unset;
  height: auto;
  object-fit: cover;
}
.related-links .related-links__text {
  position: relative;
  grid-column: 2;
  grid-row: 1;
  z-index: 2;
}
.related-links .related-links__link {
  display: block;
  container-type: inline-size;
}
.related-links .related-links__link::after {
  position: absolute;
  top: 0;
  right: 0;
  bottom: 0;
  left: -100cqi;
  content: "";
}
.related-links .related-links__link > span {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  height: 100cqw;
  background-color: var(--colorRed);
  color: #ffffff;
  text-align: center;
}
.related-links .related-links__link > span::after {
  position: absolute;
  font-family: "icon";
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  font-style: normal;
  font-variant: normal;
  font-weight: 400;
  speak: none;
  text-decoration: none;
  text-transform: none;
  content: "\e008";
  vertical-align: middle;
  line-height: 1;
}
@media (min-width: 1024px) {
  .related-links {
    margin-block-start: 91px;
    margin-inline: auto;
    padding-inline: 48px;
    max-width: 1440px;
  }
  .related-links .related-links__list {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    gap: min(64px, 4.4444444444vw);
  }
  .related-links .related-links__item {
    position: relative;
    grid-template-columns: 1fr 1fr;
  }
  .related-links .related-links__item:hover .related-links__link::before,
  .related-links .related-links__item:hover .related-links__image img {
    transform: scale(1.040625);
  }
  .related-links .related-links__image img {
    margin-inline-end: -15px;
    border-radius: 16px 0 0 16px;
    width: calc(100% + 15px);
    transition: transform 0.2s cubic-bezier(0.215, 0.61, 0.355, 1);
  }
  .related-links .related-links__link {
    font-size: min(1.5rem, 1.8518518519vw);
    line-height: 2;
  }
  .related-links .related-links__link::before {
    position: absolute;
    top: 0;
    right: 0;
    bottom: 0;
    left: 0;
    content: "";
    z-index: -1;
    background-color: var(--colorRed);
    border-radius: 16px;
    transition: transform 0.2s cubic-bezier(0.215, 0.61, 0.355, 1);
  }
  .related-links .related-links__link > span {
    border-radius: 16px;
  }
  .related-links .related-links__link > span::after {
    right: 40px;
    bottom: 40px;
    font-size: 8px;
  }
  .related-links .related-links__link > span .note {
    font-size: min(1.125rem, 1.3888888889vw);
  }
  .related-links .related-links__float {
    display: none;
  }
}
@media screen and (max-width: 1023px) {
  .related-links {
    margin-block: 60px 0;
    padding-inline: 24px;
  }
  .related-links .related-links__list {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
  }
  .related-links .related-links__item {
    grid-template-columns: subgrid;
    grid-column: span 2;
  }
  .related-links .related-links__item:nth-of-type(n+2) {
    margin-block-start: 36px;
  }
  .related-links .related-links__image {
    container-type: inline-size;
  }
  .related-links .related-links__image img {
    border-radius: 8px 0 0 8px;
    margin-inline-end: -8px;
    width: calc(100cqi + 8px);
  }
  .related-links .related-links__text {
    width: 100%;
  }
  .related-links .related-links__link {
    font-size: 4.8vw;
  }
  .related-links .related-links__link > span {
    border-radius: 8px;
  }
  .related-links .related-links__link > span::after {
    right: 30px;
    bottom: 30px;
    font-size: 6px;
  }
  .related-links .related-links__link > span .note {
    margin-block: 6px 0;
    font-size: 3.2vw;
  }
  .related-links .related-links__float {
    position: fixed;
    right: 8px;
    bottom: 8px;
    left: 8px;
    z-index: 9;
  }
  .related-links .related-links__float img {
    width: 100%;
    max-width: unset;
  }
}

.anc-nav {
  font-weight: 700;
}
.anc-nav__link {
  position: relative;
  display: flex;
  align-items: center;
  justify-content: center;
  border-radius: calc(infinity * 1px);
  background: #ffffff;
  z-index: 0;
}
.anc-nav__link::before {
  position: absolute;
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;
  content: "";
  z-index: -1;
  background: #ffffff;
  border-radius: calc(infinity * 1px);
  transition: transform 0.2s cubic-bezier(0.215, 0.61, 0.355, 1);
}
.anc-nav__link::after {
  position: absolute;
  top: 50%;
  content: "";
  display: block;
  border: solid currentColor;
  border-color: currentColor transparent transparent;
  border-width: 6px 4px 0;
  width: 0;
  line-height: 1;
  transform: translateY(-50%);
}
.anc-nav__item:nth-of-type(3n+1) .anc-nav__link {
  color: var(--colorRed);
}
.anc-nav__item:nth-of-type(3n+2) .anc-nav__link {
  color: var(--colorGreen);
}
.anc-nav__item:nth-of-type(3n) .anc-nav__link {
  color: var(--colorYellow);
}
@media (min-width: 1024px) {
  .anc-nav {
    display: flex;
    flex-wrap: wrap;
    gap: 16px 33px;
    font-size: 1.125rem;
  }
  .anc-nav__item {
    min-width: 275px;
  }
  .anc-nav__link {
    height: 48px;
    padding-inline: 40px;
    width: 100%;
  }
  .anc-nav__link::after {
    right: 20px;
  }
}
@media (hover: hover) {
  .anc-nav__link:hover::before {
    transform: scale(1.1);
  }
}
@media screen and (max-width: 1023px) {
  .anc-nav {
    display: flex;
    flex-direction: column;
    gap: 6px;
    font-size: 1rem;
  }
  .anc-nav__link {
    height: 42px;
  }
  .anc-nav__link::after {
    right: 18px;
  }
}

/* form module
--------------------------------------------------------------------------------------------------- */
.checkbox__item {
  position: absolute !important;
  width: 1px !important;
  height: 1px !important;
  padding: 0 !important;
  margin: -1px !important;
  overflow: hidden !important;
  clip: rect(0, 0, 0, 0) !important;
  white-space: nowrap !important;
  border: 0 !important;
}
.checkbox__item:checked + .checkbox__label::before {
  background-color: var(--colorRed);
}
.checkbox__item:checked + .checkbox__label::after {
  opacity: 1;
}
.checkbox__label {
  position: relative;
  display: inline-block;
  padding-left: 36px;
}
.checkbox__label::before {
  position: absolute;
  top: 4px;
  left: 0;
  border-radius: 4px;
  background: #ffffff;
  width: 20px;
  height: 20px;
  content: "";
  transition: background-color 0.2s cubic-bezier(0.215, 0.61, 0.355, 1);
}
.checkbox__label::after {
  position: absolute;
  top: 9px;
  left: 5px;
  width: 10px;
  height: 8px;
  border: solid #ffffff;
  border-width: 0 0 3px 3px;
  content: "";
  opacity: 0;
  transform: rotate(-45deg);
  transition: opacity 0.2s cubic-bezier(0.215, 0.61, 0.355, 1);
}
.radio__item {
  position: absolute !important;
  width: 1px !important;
  height: 1px !important;
  padding: 0 !important;
  margin: -1px !important;
  overflow: hidden !important;
  clip: rect(0, 0, 0, 0) !important;
  white-space: nowrap !important;
  border: 0 !important;
}
.radio__item:checked + .radio__label::before {
  background-color: var(--colorRed);
}
.radio__item:checked + .radio__label::after {
  opacity: 1;
}
.radio__label {
  position: relative;
  display: inline-block;
  padding-left: 35px;
}
.radio__label::before {
  position: absolute;
  left: 0;
  border-radius: 50%;
  width: 20px;
  height: 20px;
  content: "";
  background: var(--colorBg);
}
.radio__label::after {
  position: absolute;
  left: 6px;
  border-radius: 50%;
  width: 8px;
  height: 8px;
  content: "";
  background: #ffffff;
  opacity: 0;
  transition: opacity 0.2s cubic-bezier(0.215, 0.61, 0.355, 1);
}
@media (min-width: 1024px) {
  .radio__label::before {
    top: 3px;
  }
  .radio__label::after {
    top: 9px;
  }
}
@media screen and (max-width: 1023px) {
  .radio__label::before {
    top: 2px;
  }
  .radio__label::after {
    top: 8px;
  }
}

.input-text {
  position: relative;
  box-sizing: border-box;
  display: flex;
  align-items: center;
  gap: 0 10px;
}
.input-text .textlabel {
  flex-basis: 2.5em;
}
.input-text__item {
  flex-grow: 1;
  border: none;
  border-radius: 8px;
  width: 100%;
  background: var(--colorBg);
  color: inherit;
  font-size: 1rem;
  font-weight: 500;
  font-family: inherit;
  letter-spacing: 0.08em;
}
.input-text.--date::after {
  position: absolute;
  top: 50%;
  right: 16px;
  font-family: "icon";
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  font-style: normal;
  font-variant: normal;
  font-weight: 400;
  speak: none;
  text-decoration: none;
  text-transform: none;
  content: "\e00c";
  vertical-align: middle;
  transform: translateY(-50%);
  color: var(--colorRed);
}
.input-text:has(+ .form__item__error) .input-text__item {
  background-color: var(--colorBgRed);
}
@media (min-width: 1024px) {
  .input-text__item {
    padding-inline: 20px;
    height: 48px;
  }
  .notes-list + .input-text {
    margin-block-start: 20px;
  }
  .input-text.--date::after {
    font-size: 18px;
  }
  .input-text.--zip {
    width: 192px;
  }
}
@media screen and (max-width: 1023px) {
  .input-text__item {
    padding-inline: 15px;
    height: 36px;
  }
  .notes-list + .input-text {
    margin-block-start: 12px;
  }
  .input-text.--date::after {
    font-size: 14px;
  }
  .input-text.--zip {
    width: 10em;
  }
}

.textarea {
  display: inline-flex;
  width: 100%;
}
.textarea__item {
  box-sizing: border-box;
  border: none;
  border-radius: 8px;
  padding: 10px 20px;
  width: 100%;
  color: inherit;
  font-size: 1rem;
  font-weight: 500;
  background: var(--colorBg);
  font-family: inherit;
  letter-spacing: 0.08em;
}
@media (min-width: 1024px) {
  .textarea__item {
    height: 168px;
  }
}
@media screen and (max-width: 1023px) {
  .textarea__item {
    height: 126px;
  }
}

.select {
  position: relative;
  border-radius: 8px;
  background: var(--colorBg);
}
.select::before {
  position: absolute;
  top: 50%;
  content: "";
  display: block;
  border: solid var(--colorRed);
  border-color: var(--colorRed) transparent transparent;
  border-width: 6px 4px 0;
  width: 0;
  line-height: 1;
  transform: translateY(-50%);
  z-index: 0;
}
.select::after {
  position: absolute;
  top: 0;
  bottom: 0;
  content: "";
  border-left: 1px solid #ffffff;
}
.select__item {
  position: relative;
  display: block;
  border: none;
  background: none;
  color: inherit;
  font-size: 1rem;
  font-weight: 500;
  font-family: inherit;
  letter-spacing: 0.08em;
  z-index: 1;
}
.select__item:invalid {
  color: var(--colorPlaceholder);
}
.select:has(+ .form__item__error) {
  background-color: var(--colorBgRed);
}
@media (min-width: 1024px) {
  .select {
    --size: 48px;
    width: 85%;
    container-type: inline-size;
  }
  .select::before {
    right: 20px;
  }
  .select::after {
    right: var(--size);
  }
  .select__item {
    padding: 5px var(--size) 5px 20px;
    width: 100cqw;
    height: var(--size);
  }
}
@media screen and (max-width: 1023px) {
  .select {
    --size: 36px;
    width: fit-content;
  }
  .select::before {
    right: 16px;
  }
  .select::after {
    right: var(--size);
  }
  .select__item {
    padding: 5px 40px 5px 20px;
    width: fit-content;
    height: var(--size);
  }
}

.m_inputList[class*=_col] {
  display: flex;
  flex-wrap: wrap;
  gap: 10px 20px;
}
.m_inputList[class*=_col2] > li {
  width: calc(50% - 10px);
}
.m_inputList[class*=_col3] > li {
  width: calc(33.3333333333% - 13.3333333333px);
}
.m_inputList[class*=_col4] > li {
  width: calc(25% - 15px);
}
.m_inputList[class*=_media] {
  flex-wrap: wrap;
  justify-content: center;
  gap: 20px 25px;
}
.m_inputList[class*=_media] > li {
  position: relative;
}
.m_inputList[class*=_media] > li .image {
  margin: 0 0 10px;
}
.m_inputList[class*=_media] > li .image img {
  width: 100%;
  height: 100%;
  min-width: 100%;
  min-height: 100%;
  object-fit: cover;
}
.m_inputList[class*=_media] > li .descripion {
  margin: 10px 0 0;
  font-size: 0.875rem;
}
@media (min-width: 1024px) {
  .m_inputList[class*=_media] > li {
    width: 255px;
  }
}
.m_step {
  display: flex;
  justify-content: center;
  align-items: center;
  text-align: center;
}
.m_step > li {
  position: relative;
  border: 1px solid #000000;
}
.m_step > li.is_current {
  background: #000000;
  color: #ffffff;
}
.m_step > li:nth-of-type(n+2)::before {
  position: absolute;
  top: 50%;
  left: -21px;
  width: 20px;
  content: "";
  border-top: 1px solid #000000;
}
@media (min-width: 1024px) {
  .m_step {
    gap: 0 20px;
  }
  .m_step > li {
    width: 200px;
  }
}
@media screen and (max-width: 1023px) {
  .m_step {
    gap: 0 20px;
  }
  .m_step > li {
    width: 50px;
  }
  .m_step > li.is_current {
    flex-grow: 1;
  }
  .m_step > li:not(.is_current) .omissionLabel {
    position: absolute !important;
    width: 1px !important;
    height: 1px !important;
    padding: 0 !important;
    margin: -1px !important;
    overflow: hidden !important;
    clip: rect(0, 0, 0, 0) !important;
    white-space: nowrap !important;
    border: 0 !important;
  }
}

.form {
  background: #ffffff no-repeat 50% 0/100% auto;
  overflow-wrap: anywhere;
  word-break: normal;
  line-break: strict;
}
.form__step {
  position: relative;
}
.form__step__image {
  position: absolute;
}
.form__step__list {
  display: flex;
}
.form__step__item {
  display: flex;
  align-items: center;
  justify-content: center;
  background: #ffffff;
  border-radius: calc(infinity * 1px);
  font-weight: 700;
}
.form__step__item:nth-of-type(1) {
  color: var(--colorGreen);
}
.form__step__item:nth-of-type(1)[aria-current] {
  background-color: var(--colorGreen);
}
.form__step__item:nth-of-type(2) {
  color: var(--colorYellow);
}
.form__step__item:nth-of-type(2)[aria-current] {
  background-color: var(--colorYellow);
}
.form__step__item:nth-of-type(3) {
  color: var(--colorRed);
}
.form__step__item:nth-of-type(3)[aria-current] {
  background-color: var(--colorRed);
}
.form__step__item[aria-current] {
  color: #ffffff;
}
.form__step em {
  font-weight: inherit;
  font-style: inherit;
}
.form__desc {
  font-weight: 500;
  line-height: 2;
}
.form__item__head {
  display: flex;
  align-items: center;
  font-weight: 700;
  letter-spacing: 0.08em;
}
.form__item__head__required {
  position: relative;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  color: #ffffff;
  background: var(--colorRed);
  font-weight: 500;
  line-height: 1;
  vertical-align: middle;
  letter-spacing: 0.1em;
}
.form__item__head__required::before, .form__item__head__required::after {
  position: absolute;
  top: 0;
  bottom: 0;
  margin-block: auto;
  content: "";
  display: block;
  border: solid #ffffff;
  border-color: transparent transparent transparent #ffffff;
  border-width: 5px 0 5px 10px;
  width: 0;
  line-height: 1;
  z-index: 10;
}
.form__item__head__required::before {
  left: 0;
}
.form__item__head__required::after {
  right: 0;
  transform: scale(-1, 1);
}
.form__item__data {
  font-weight: 700;
}
.form__item__column {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
}
.form__item__column__item {
  gap: 0 17px;
}
.form__item__column__item:not(:has(.input-text:first-child)) {
  display: flex;
  align-items: center;
  flex-wrap: wrap;
  align-self: flex-start;
}
.form__item__error {
  color: var(--colorRed);
  width: 100%;
}
.form__agree {
  background: #f5f0e4;
  text-align: center;
  font-weight: 500;
}
.form__agree a:not(.button__link) {
  display: inline;
  color: var(--colorRed);
  -webkit-text-decoration: revert;
          text-decoration: revert;
}
.form__thanks {
  text-align: center;
}
.form__thanks__text {
  font-weight: 600;
}
@media (min-width: 1024px) {
  .form {
    margin-block: 60px 0;
    border-radius: 24px;
    padding-block: 60px;
    padding-inline: 60px;
    background-image: url(/assets/img/contact/bg_form.webp);
  }
  .form__step__list {
    padding-inline-start: 201px;
  }
  .form__step__item {
    width: 120px;
    height: 32px;
  }
  .form__step__item:nth-of-type(2) {
    margin-inline-start: 160px;
  }
  .form__step__item:nth-of-type(3) {
    margin-inline-start: 170px;
  }
  .form__step__image {
    top: -103px;
    left: 52px;
  }
  .form__desc {
    margin-block: 96px 0;
  }
  .form__desc .form__item__head__required {
    margin-inline-end: 10px;
  }
  .form__list {
    display: grid;
    grid-template-columns: 308px auto;
    gap: 32px;
    align-items: center;
    margin-block: 50px 0;
  }
  .form__item {
    display: grid;
    grid-template-columns: subgrid;
    grid-column: 1/3;
  }
  .form__item__head {
    align-self: start;
  }
  .form__item__head__required {
    margin-inline-start: auto;
    width: 44px;
    height: 20px;
    padding-block: 0 2px;
    font-size: 0.625rem;
  }
  .form__item__head__required::before, .form__item__head__required::after {
    border-width: 10px 0 10px 4px;
  }
  .form__item__column {
    gap: 28px;
  }
  .form__item__column.--pcCol3 {
    grid-template-columns: repeat(3, 1fr);
    gap: 17px;
  }
  .form__item__error {
    margin-block-start: 8px;
  }
  .form__item:has(.input-text) .form__item__head {
    padding-block-start: 12px;
  }
  .form__item:has(.form__input-list) .form__item__head, .form__item:has(.form__input-list) .form__item__data, .form__item:has(.preferred-dates) .form__item__data {
    padding-block: 12px;
  }
  .form__item .notes-list {
    margin-block-start: 10px;
  }
  .form__input-list {
    display: grid;
    grid-template-columns: auto auto;
    gap: 16px 55px;
    justify-content: start;
  }
  .form__agree {
    margin-block-start: 48px;
    border-radius: 12px;
    padding-block: 46px;
    padding-inline: 40px;
  }
  .form__agree__check {
    margin-block: 24px 0;
  }
  .form__agree__button {
    margin-block: 28px 0;
  }
  .form__thanks__image {
    margin-block: 104px 0;
  }
  .form__thanks__text {
    margin-block: 1.78em 0;
    font-size: 1.125rem;
    line-height: 1.78;
  }
  .form__thanks__text:first-of-type {
    margin-block-start: 24px;
  }
  .form__thanks__button.button {
    margin-block: 80px 0;
  }
}
@media screen and (max-width: 1023px) {
  .form {
    margin-block: 44px 0;
    margin-inline: -12px;
    border-radius: 12px;
    padding-block: 45px 60px;
    padding-inline: 24px;
    background-image: url(/assets/img/contact/bg_form_sp.webp);
  }
  .form__step__list {
    justify-content: center;
    gap: 5.3333333333vw;
    font-size: 0.84375rem;
  }
  .form__step__item {
    width: 90px;
    height: 24px;
  }
  .form__step__image {
    top: -77px;
    left: 50%;
    width: 100vw;
    transform: translateX(-50%);
    text-align: center;
  }
  .form__step__image img {
    width: 420px;
    height: 76px;
    object-fit: cover;
  }
  .form__desc {
    margin-block: 77px 0;
  }
  .form__desc .form__item__head__required {
    margin-inline: 0 5px;
    vertical-align: 3px;
  }
  .form__list {
    display: flex;
    flex-direction: column;
    gap: 25px;
    margin-block: 36px 0;
  }
  .form__item__head__required {
    margin-inline-start: 10px;
    width: 34px;
    height: 15px;
    padding-block: 0 1px;
    font-size: 0.5rem;
  }
  .form__item__head__required::before, .form__item__head__required::after {
    border-width: 7.5px 0 7.5px 3px;
  }
  .form__item__data {
    display: flex;
    flex-direction: column;
    min-height: 36px;
    justify-content: center;
    margin-block-start: 10px;
    font-size: 0.75rem;
  }
  .form__item__column {
    gap: 20px;
  }
  .form__item__column.--spCol1, .form__item__column:has(.form_item__column__item:only-child) {
    grid-template-columns: 1fr;
    gap: 14px;
  }
  .form__item__error {
    margin-block-start: 6px;
  }
  .form__item .notes-list {
    margin-block-start: 6px;
    line-height: 2.27;
  }
  .form__input-list {
    display: flex;
    flex-direction: column;
    gap: 20px;
  }
  .form__agree {
    margin-block-start: 36px;
    border-radius: 9px;
    padding-block: 34px 36px;
    padding-inline: 26px;
    line-height: 2;
    letter-spacing: -0.04em;
  }
  .form__agree__check {
    margin-block: 18px 0;
  }
  .form__agree__button {
    margin-block: 20px 0;
  }
  .form__thanks__image {
    margin-block: 70px 0;
  }
  .form__thanks__text {
    margin-block: 1.5em 0;
    font-size: 1rem;
  }
  .form__thanks__text:first-of-type {
    margin-block-start: 12px;
  }
  .form__thanks__button.button {
    margin-block: 56px 0;
  }
}

.preferred-dates {
  display: grid;
}
.preferred-dates__col {
  display: grid;
}
.preferred-dates__item {
  align-items: center;
  white-space: nowrap;
}
@media (min-width: 1024px) {
  .preferred-dates {
    grid-template-columns: 4.4em auto auto;
    margin-block: 26px 0;
    gap: 16px 0;
  }
  .preferred-dates__col {
    grid-template-columns: subgrid;
    grid-column: 1/4;
    align-items: first baseline;
    gap: 18px;
  }
  .preferred-dates__item {
    display: grid;
    grid-template-columns: auto 1fr;
    gap: 0 18px;
    flex-wrap: wrap;
  }
  .preferred-dates__item .input-text,
  .preferred-dates__item .form__item__error {
    grid-column: 2;
  }
  .preferred-dates__item__date {
    width: minFunc(358, 1296);
  }
  .preferred-dates__item__time {
    width: minFunc(344, 1296);
  }
}
@media screen and (max-width: 1023px) {
  .preferred-dates {
    grid-template-columns: auto auto auto;
    margin-block: 16px 0;
    gap: 14px 15px;
  }
  .preferred-dates__col {
    grid-template-columns: subgrid;
    grid-column: 1/4;
    align-items: first baseline;
    gap: 18px;
  }
  .preferred-dates__label {
    grid-column: 1;
    grid-row: span 2;
    white-space: nowrap;
  }
  .preferred-dates__item {
    display: grid;
    grid-template-columns: subgrid;
    grid-column: 2/4;
  }
}

/* inline module
--------------------------------------------------------------------------------------------------- */
.br[class*=_before]::before,
.br::after {
  content: "\a";
  white-space: pre;
}

.br[class*=_before]::after {
  content: none;
}

@media (min-width: 1024px) {
  .pcHide {
    display: none !important;
  }
  .pcbr[class*=_before]::before,
  .pcbr::after {
    content: "\a";
    white-space: pre;
  }
  .pcbr[class*=_before]::after {
    content: none;
  }
}
@media screen and (max-width: 1023px) {
  .spHide {
    display: none !important;
  }
  .spbr[class*=_before]::before,
  .spbr::after {
    content: "\a";
    white-space: pre;
  }
  .spbr[class*=_before]::after {
    content: none;
  }
}
/* modifier module
--------------------------------------------------------------------------------------------------- */
/* text align */
[class*="--alignLeft"] {
  text-align: left !important;
}

@media (min-width: 1024px) {
  [class*="--pcAlignLeft"] {
    text-align: left !important;
  }
}
@media screen and (max-width: 1023px) {
  [class*="--spAlignLeft"] {
    text-align: left !important;
  }
}
[class*="--alignCenter"] {
  text-align: center !important;
}

@media (min-width: 1024px) {
  [class*="--pcAlignCenter"] {
    text-align: center !important;
  }
}
@media screen and (max-width: 1023px) {
  [class*="--spAlignCenter"] {
    text-align: center !important;
  }
}
[class*="--alignRight"] {
  text-align: right !important;
}

@media (min-width: 1024px) {
  [class*="--pcAlignRight"] {
    text-align: right !important;
  }
}
@media screen and (max-width: 1023px) {
  [class*="--spAlignRight"] {
    text-align: right !important;
  }
}
[class*="--alignTop"] {
  vertical-align: top !important;
}

@media (min-width: 1024px) {
  [class*="--pcAlignTop"] {
    vertical-align: top !important;
  }
}
@media screen and (max-width: 1023px) {
  [class*="--spAlignTop"] {
    vertical-align: top !important;
  }
}
[class*="--alignMiddle"] {
  vertical-align: middle !important;
}

@media (min-width: 1024px) {
  [class*="--pcAlignMiddle"] {
    vertical-align: middle !important;
  }
}
@media screen and (max-width: 1023px) {
  [class*="--spAlignMiddle"] {
    vertical-align: middle !important;
  }
}
[class*="--alignBottom"] {
  vertical-align: bottom !important;
}

@media (min-width: 1024px) {
  [class*="--pcAlignBottom"] {
    vertical-align: bottom !important;
  }
}
@media screen and (max-width: 1023px) {
  [class*="--spAlignBottom"] {
    vertical-align: bottom !important;
  }
}
/* font style */
[class*=_fontBold] {
  font-weight: 700;
}

[class*=_fontItalic] {
  font-style: italic;
}

[class*=_fontNormal] {
  font-weight: 400 !important;
  font-style: normal !important;
}

/* fontColor */
[class*=text-color--red] {
  color: var(--colorRed) !important;
}

[class*=text-color--green] {
  color: var(--colorGreen) !important;
}

[class*=text-color--yellow] {
  color: var(--colorYellow) !important;
}

/* block width */
/* ※※ module
--------------------------------------------------------------------------------------------------- */
/*====================================================================================================

    unique

====================================================================================================*/
/* enjoy
--------------------------------------------------------------------------------------------------- */
.wrapper.enjoy .lead-box {
  overflow: hidden;
  position: relative;
  text-align: center;
  font-weight: 700;
}
.wrapper.enjoy .lead-box__heading {
  margin-block: 0;
}
.wrapper.enjoy .lead-box__bg-text {
  position: absolute;
  left: 0;
  right: 0;
  color: #ffffff;
  font-weight: 400;
  font-family: "Righteous", sans-serif;
  white-space: nowrap;
  z-index: -1;
}
@media (min-width: 1024px) {
  .wrapper.enjoy .lead-box {
    margin-block: 75px 0;
    line-height: 2;
    font-size: 1.125rem;
  }
  .wrapper.enjoy .lead-box__heading img {
    aspect-ratio: 577/189;
    width: 577px;
    height: 189px;
  }
  .wrapper.enjoy .lead-box__text {
    margin-block: 2em 0;
  }
  .wrapper.enjoy .lead-box__text:first-of-type {
    margin-block-start: 20px;
  }
  .wrapper.enjoy .lead-box__bg-text {
    top: 110px;
    font-size: 25rem;
    height: 298px;
    line-height: 298px;
  }
}
@media screen and (max-width: 1023px) {
  .wrapper.enjoy .lead-box {
    margin-block: 59px 0;
    line-height: 1.88;
    font-size: 1rem;
  }
  .wrapper.enjoy .lead-box__heading img {
    aspect-ratio: 721/356;
    width: 360.5px;
    height: 178px;
  }
  .wrapper.enjoy .lead-box__text {
    margin-block: 1.88em 0;
    padding-inline: 27px;
  }
  .wrapper.enjoy .lead-box__text:first-of-type {
    margin-block-start: 17px;
  }
  .wrapper.enjoy .lead-box__bg-text {
    top: 131px;
    font-size: 9.375rem;
    height: 112px;
    line-height: 112px;
  }
}
.wrapper.enjoy .grid-slider {
  overflow: hidden;
  display: flex;
  width: 100vw;
  gap: var(--gap);
  pointer-events: none;
}
.wrapper.enjoy .grid-slider .grid-slider__list {
  animation: loop 30s infinite linear;
  will-change: transform;
  display: grid;
  gap: var(--gap);
}
.wrapper.enjoy .grid-slider__item__01 {
  grid-column: 1/3;
  grid-row: 1/3;
}
.wrapper.enjoy .grid-slider__item__02 {
  grid-column: 3;
  grid-row: 1/3;
}
.wrapper.enjoy .grid-slider__item__03 {
  grid-column: 4/6;
}
.wrapper.enjoy .grid-slider__item__04 {
  grid-column: 4;
  grid-row: 2;
}
.wrapper.enjoy .grid-slider__item__05 {
  grid-column: 5;
  grid-row: 2;
}
.wrapper.enjoy .grid-slider__item__06 {
  grid-column: 6/8;
  grid-row: 1/3;
}
.wrapper.enjoy .grid-slider__item__07 {
  grid-column: 8/10;
  grid-row: 1/3;
}
.wrapper.enjoy .grid-slider__item__08 {
  grid-column: 10/12;
}
.wrapper.enjoy .grid-slider__item__09 {
  grid-column: 10;
  grid-row: 2;
}
.wrapper.enjoy .grid-slider__item__10 {
  grid-column: 11;
  grid-row: 2;
}
.wrapper.enjoy .grid-slider__item__11 {
  grid-column: 12;
  grid-row: 1/3;
}
.wrapper.enjoy .grid-slider__item__12 {
  grid-column: 13/15;
  grid-row: 1/3;
}
@media (min-width: 1024px) {
  .wrapper.enjoy .grid-slider {
    --gap: 16px;
    margin-block: 76px 0;
  }
  .wrapper.enjoy .grid-slider .grid-slider__list {
    grid-template-columns: repeat(12, 232px);
    grid-template-rows: repeat(2, 232px);
    width: 6912px;
    height: 480px;
  }
  .wrapper.enjoy .grid-slider__item img {
    border-radius: 16px;
  }
  .wrapper.enjoy .grid-slider__item__01, .wrapper.enjoy .grid-slider__item__03, .wrapper.enjoy .grid-slider__item__06, .wrapper.enjoy .grid-slider__item__07, .wrapper.enjoy .grid-slider__item__08, .wrapper.enjoy .grid-slider__item__12 {
    width: 480px;
  }
}
@media screen and (max-width: 1023px) {
  .wrapper.enjoy .grid-slider {
    --gap: 12px;
    margin-block: 56px 0;
  }
  .wrapper.enjoy .grid-slider .grid-slider__list {
    grid-template-columns: repeat(7, 174px);
    grid-template-rows: repeat(2, 174px);
    width: 5184px;
    height: 360px;
  }
  .wrapper.enjoy .grid-slider__item img {
    border-radius: 12px;
  }
  .wrapper.enjoy .grid-slider__item__01, .wrapper.enjoy .grid-slider__item__03, .wrapper.enjoy .grid-slider__item__06, .wrapper.enjoy .grid-slider__item__07, .wrapper.enjoy .grid-slider__item__08, .wrapper.enjoy .grid-slider__item__12 {
    width: 360px;
  }
}
.wrapper.enjoy .enjoy-point__heading {
  display: flex;
  align-items: start;
  margin-block: 0;
  font-weight: 800;
  letter-spacing: -0.04em;
}
.wrapper.enjoy .enjoy-point__heading__ico {
  flex-shrink: 0;
  width: var(--size);
  height: var(--size);
}
.wrapper.enjoy .enjoy-point__heading__text > span:nth-of-type(3n+1) {
  color: var(--colorRed);
}
.wrapper.enjoy .enjoy-point__heading__text > span:nth-of-type(3n+2) {
  color: var(--colorGreen);
}
.wrapper.enjoy .enjoy-point__heading__text > span:nth-of-type(3n) {
  color: var(--colorYellow);
}
.wrapper.enjoy .enjoy-point__image {
  position: relative;
  pointer-events: none;
}
.wrapper.enjoy .enjoy-point__image .enjoy-point__obj, .wrapper.enjoy .enjoy-point__image__illust {
  position: absolute;
  z-index: 10;
}
.wrapper.enjoy .enjoy-point__image__mask {
  mask-repeat: no-repeat;
  mask-position: center;
  mask-size: cover;
}
.wrapper.enjoy .enjoy-point__body {
  font-weight: 500;
  line-height: 2;
}
.wrapper.enjoy .enjoy-point__box:nth-child(4n+1) .enjoy-point__heading {
  margin-inline-end: -0.6em;
}
.wrapper.enjoy .enjoy-point__box:nth-child(4n+1) .enjoy-point__image__mask {
  mask-image: url(/assets/img/enjoy/bg_mask.svg);
}
.wrapper.enjoy .enjoy-point__box:nth-child(4n+2) .enjoy-point__image__mask {
  mask-image: url(/assets/img/enjoy/bg_mask_02.svg);
}
.wrapper.enjoy .enjoy-point__box:nth-child(4n+3) .enjoy-point__image__mask {
  mask-image: url(/assets/img/enjoy/bg_mask_03.svg);
}
.wrapper.enjoy .enjoy-point__box:nth-child(4n+4) .enjoy-point__image__mask {
  mask-image: url(/assets/img/enjoy/bg_mask_04.svg);
}
@media (min-width: 1024px) {
  .wrapper.enjoy .enjoy-point {
    margin-block: 120px 0;
    margin-inline: auto;
    padding-inline: 48px;
    max-width: 1296px;
  }
  .wrapper.enjoy .enjoy-point__heading {
    grid-row: 1;
    gap: 19px;
    font-size: 2rem;
    font-size: minFts(32);
    line-height: 1.75;
  }
  .wrapper.enjoy .enjoy-point__heading__ico {
    --size: 100px;
  }
  .wrapper.enjoy .enjoy-point__heading__text {
    margin-block-start: -8px;
  }
  .wrapper.enjoy .enjoy-point__image {
    grid-row: 1/3;
    align-self: start;
  }
  .wrapper.enjoy .enjoy-point__body {
    grid-row: 2;
    margin-block: 20px 0;
  }
  .wrapper.enjoy .enjoy-point__body .link-list {
    margin-block: 32px 0;
  }
  .wrapper.enjoy .enjoy-point__box {
    display: grid;
    grid-template-rows: auto 1fr;
    gap: 0 min(64px, 4.9382716049vw);
  }
  .wrapper.enjoy .enjoy-point__box:nth-child(4n+1), .wrapper.enjoy .enjoy-point__box:nth-child(4n+2) {
    grid-template-columns: min(568px, 43.8271604938vw) auto;
  }
  .wrapper.enjoy .enjoy-point__box:nth-child(4n+1) .enjoy-point__heading,
  .wrapper.enjoy .enjoy-point__box:nth-child(4n+1) .enjoy-point__body, .wrapper.enjoy .enjoy-point__box:nth-child(4n+2) .enjoy-point__heading,
  .wrapper.enjoy .enjoy-point__box:nth-child(4n+2) .enjoy-point__body {
    grid-column: 2;
  }
  .wrapper.enjoy .enjoy-point__box:nth-child(4n+1) .enjoy-point__image, .wrapper.enjoy .enjoy-point__box:nth-child(4n+2) .enjoy-point__image {
    grid-column: 1;
  }
  .wrapper.enjoy .enjoy-point__box:nth-child(4n+3), .wrapper.enjoy .enjoy-point__box:nth-child(4n) {
    grid-template-columns: auto min(568px, 43.8271604938vw);
  }
  .wrapper.enjoy .enjoy-point__box:nth-child(4n+3) .enjoy-point__heading,
  .wrapper.enjoy .enjoy-point__box:nth-child(4n+3) .enjoy-point__body, .wrapper.enjoy .enjoy-point__box:nth-child(4n) .enjoy-point__heading,
  .wrapper.enjoy .enjoy-point__box:nth-child(4n) .enjoy-point__body {
    grid-column: 1;
  }
  .wrapper.enjoy .enjoy-point__box:nth-child(4n+3) .enjoy-point__image, .wrapper.enjoy .enjoy-point__box:nth-child(4n) .enjoy-point__image {
    grid-column: 2;
  }
  .wrapper.enjoy .enjoy-point__box:nth-child(4n+1) .enjoy-point__image__illust {
    bottom: 0;
    left: -19px;
    width: 182px;
    height: 184px;
  }
  .wrapper.enjoy .enjoy-point__box:nth-child(4n+1) .enjoy-point__obj01 {
    bottom: -96px;
    left: -49px;
    width: 268px;
    height: 186px;
  }
  .wrapper.enjoy .enjoy-point__box:nth-child(4n+1) .enjoy-point__obj02 {
    top: -128px;
    right: -115px;
    width: 321px;
    height: 318px;
  }
  .wrapper.enjoy .enjoy-point__box:nth-child(4n+2) .enjoy-point__image__illust {
    bottom: 0;
    right: -16px;
    width: 156px;
    height: 179px;
  }
  .wrapper.enjoy .enjoy-point__box:nth-child(4n+2) .enjoy-point__obj01 {
    top: -68px;
    left: -120px;
    width: 260px;
    height: 195px;
  }
  .wrapper.enjoy .enjoy-point__box:nth-child(4n+2) .enjoy-point__obj02 {
    bottom: -106px;
    right: -149px;
    width: 318px;
    height: 321px;
  }
  .wrapper.enjoy .enjoy-point__box:nth-child(4n+3) .enjoy-point__image__illust {
    bottom: 0;
    left: -18px;
    width: 142px;
    height: 199px;
  }
  .wrapper.enjoy .enjoy-point__box:nth-child(4n+3) .enjoy-point__obj01 {
    top: -119px;
    right: -67px;
    width: 222px;
    height: 245px;
  }
  .wrapper.enjoy .enjoy-point__box:nth-child(4n+3) .enjoy-point__obj02 {
    bottom: -110px;
    left: -137px;
    width: 360px;
    height: 247px;
  }
  .wrapper.enjoy .enjoy-point__box:nth-child(4n) .enjoy-point__image__illust {
    bottom: 0;
    right: -32px;
    width: 191px;
    height: 197px;
  }
  .wrapper.enjoy .enjoy-point__box:nth-child(4n) .enjoy-point__obj01 {
    top: -67px;
    left: -44px;
    width: 260px;
    height: 195px;
  }
  .wrapper.enjoy .enjoy-point__box:nth-child(4n) .enjoy-point__obj02 {
    bottom: -181px;
    right: -122px;
    width: 359px;
    height: 251px;
  }
  .wrapper.enjoy .enjoy-point__box:nth-child(n+2) {
    margin-block: 64px 0;
  }
}
@media screen and (max-width: 1023px) {
  .wrapper.enjoy .enjoy-point {
    overflow: hidden;
    margin-block: 62px 0;
    padding-inline: 12px;
  }
  .wrapper.enjoy .enjoy-point__heading {
    gap: 2.5333333333vw;
    padding-inline-start: 3.2vw;
    font-size: 7.4666666667vw;
    line-height: 1.36;
  }
  .wrapper.enjoy .enjoy-point__heading__ico {
    --size: 20vw;
  }
  .wrapper.enjoy .enjoy-point__heading__text {
    margin-block-start: -5px;
  }
  .wrapper.enjoy .enjoy-point__image {
    margin-block: 19px 0;
  }
  .wrapper.enjoy .enjoy-point__body {
    margin-block: 16px 0;
    padding-inline: 12px;
  }
  .wrapper.enjoy .enjoy-point__body .link-list {
    margin-block: 20px 0;
  }
  .wrapper.enjoy .enjoy-point__box:nth-child(4n+1) .enjoy-point__image__illust {
    bottom: 0;
    left: -2.6666666667vw;
    width: 30vw;
    height: 30.4vw;
  }
  .wrapper.enjoy .enjoy-point__box:nth-child(4n+1) .enjoy-point__obj01 {
    bottom: -17.6vw;
    left: -4.2666666667vw;
    width: 39.3333333333vw;
    height: 30.6666666667vw;
  }
  .wrapper.enjoy .enjoy-point__box:nth-child(4n+1) .enjoy-point__obj02 {
    top: -20.2666666667vw;
    right: -18.9333333333vw;
    width: 52.8vw;
    height: 52.2666666667vw;
  }
  .wrapper.enjoy .enjoy-point__box:nth-child(4n+2) .enjoy-point__image__illust {
    bottom: 0;
    right: -2.6666666667vw;
    width: 25.7333333333vw;
    height: 29.6vw;
  }
  .wrapper.enjoy .enjoy-point__box:nth-child(4n+2) .enjoy-point__obj01 {
    top: -11.4666666667vw;
    left: -19.2vw;
    width: 42.9333333333vw;
    height: 32.1333333333vw;
  }
  .wrapper.enjoy .enjoy-point__box:nth-child(4n+2) .enjoy-point__obj02 {
    bottom: -16.8vw;
    right: -24vw;
    width: 52.2666666667vw;
    height: 52.8vw;
  }
  .wrapper.enjoy .enjoy-point__box:nth-child(4n+3) .enjoy-point__image__illust {
    bottom: 0;
    left: -2.4vw;
    width: 23.4666666667vw;
    height: 32.9333333333vw;
  }
  .wrapper.enjoy .enjoy-point__box:nth-child(4n+3) .enjoy-point__obj01 {
    top: -19.7333333333vw;
    right: -11.2vw;
    width: 36.6666666667vw;
    height: 40.4vw;
  }
  .wrapper.enjoy .enjoy-point__box:nth-child(4n+3) .enjoy-point__obj02 {
    bottom: -17.8666666667vw;
    left: -22.4vw;
    width: 59.3333333333vw;
    height: 40.6666666667vw;
  }
  .wrapper.enjoy .enjoy-point__box:nth-child(4n) .enjoy-point__image__illust {
    bottom: 0;
    right: -5.3333333333vw;
    width: 31.4666666667vw;
    height: 32.5333333333vw;
  }
  .wrapper.enjoy .enjoy-point__box:nth-child(4n) .enjoy-point__obj01 {
    top: -10.9333333333vw;
    left: -6.9333333333vw;
    width: 42.9333333333vw;
    height: 32.1333333333vw;
  }
  .wrapper.enjoy .enjoy-point__box:nth-child(4n) .enjoy-point__obj02 {
    bottom: -29.8666666667vw;
    right: -20vw;
    width: 59.2vw;
    height: 41.3333333333vw;
  }
  .wrapper.enjoy .enjoy-point__box:nth-child(n+2) {
    margin-block: 44px 0;
  }
}

@keyframes loop {
  0% {
    transform: translateX(0);
  }
  100% {
    transform: translateX(calc(-100% - var(--gap)));
  }
}
/* floorguide
--------------------------------------------------------------------------------------------------- */
.wrapper[class*=floorguide] .pagetitle {
  z-index: 1;
}
.wrapper[class*=floorguide] .pagetitle__copyright {
  position: absolute;
  white-space: nowrap;
  color: #808080;
  font-weight: 700;
  text-align: left;
}
@media (min-width: 1024px) {
  .wrapper[class*=floorguide] .pagetitle__copyright {
    top: 264px;
    left: calc(50% + 240px);
    font-size: 0.5625rem;
    line-height: 1.8;
  }
}
@media screen and (max-width: 1023px) {
  .wrapper[class*=floorguide] .pagetitle__copyright {
    top: 108px;
    left: calc(50% + 85px);
    font-size: 0.3125rem;
    line-height: 1.4;
  }
}

.wrapper[class*=floorguide-] .modal__heading {
  text-align: left;
}
.wrapper[class*=floorguide-] .modal .notes-list {
  margin-block: 1.5em 0;
}
.wrapper[class*=floorguide-] .modal-trigger {
  pointer-events: none;
  visibility: hidden;
  position: absolute;
  z-index: -100;
}
@media (min-width: 1024px) {
  .wrapper[class*=floorguide-] .modal__heading {
    justify-content: start;
    gap: 30px;
    padding-inline: 40px 80px;
    font-size: 1.75rem;
  }
  .wrapper[class*=floorguide-] .modal__heading img {
    max-width: 150px;
    max-height: 72px;
  }
  .wrapper[class*=floorguide-] .modal__inner {
    font-size: 0.875rem;
    line-height: 2;
  }
  .wrapper[class*=floorguide-] .modal .column-box {
    display: grid;
    gap: 0 100px;
    grid-template-columns: 1fr auto;
  }
  .wrapper[class*=floorguide-] .modal .button {
    align-self: end;
    margin-block: 0;
  }
  .wrapper[class*=floorguide-] .modal .slider,
  .wrapper[class*=floorguide-] .modal .movie {
    margin-block-start: 32px;
  }
}
@media screen and (max-width: 1023px) {
  .wrapper[class*=floorguide-] .modal__heading {
    flex-direction: column;
    align-items: flex-start;
    gap: 8px;
    padding-inline: 20px 40px;
    font-size: 1.3125rem;
  }
  .wrapper[class*=floorguide-] .modal__heading img {
    max-width: 120px;
    max-height: 54px;
  }
  .wrapper[class*=floorguide-] .modal__inner {
    font-size: 0.75rem;
    line-height: 1.75;
  }
  .wrapper[class*=floorguide-] .modal .slider,
  .wrapper[class*=floorguide-] .modal .movie {
    margin-block-start: 22px;
  }
  .wrapper[class*=floorguide-] .modal#adventure .modal__inner {
    display: flex;
    flex-direction: column;
  }
  .wrapper[class*=floorguide-] .modal#adventure .modal__inner .column-box {
    display: contents;
  }
  .wrapper[class*=floorguide-] .modal#adventure .modal__inner .column-box .text {
    order: 1;
  }
  .wrapper[class*=floorguide-] .modal#adventure .modal__inner .column-box .button {
    margin-block-start: 30px;
    order: 3;
  }
  .wrapper[class*=floorguide-] .modal#adventure .modal__inner .slider {
    order: 2;
  }
}
@media (min-width: 1024px) {
  .wrapper[class*=floorguide-] .button-list {
    margin-block-start: 0;
  }
}
@media screen and (max-width: 1023px) {
  .wrapper[class*=floorguide-] .button-list {
    margin-block-start: 0;
  }
}

@media (min-width: 1024px) {
  .wrapper.floorguide-play .button-list {
    margin-block-start: -69px;
  }
}
/* character
--------------------------------------------------------------------------------------------------- */
.wrapper.character .lead-box {
  text-align: center;
  font-weight: 500;
  line-height: 2;
}
@media (min-width: 1024px) {
  .wrapper.character .lead-box {
    margin-block: 70px 0;
    letter-spacing: 0.04em;
  }
}
@media screen and (max-width: 1023px) {
  .wrapper.character .lead-box {
    margin-block: 50px 0;
    padding-inline: 24px;
  }
}
.wrapper.character .profile__heading {
  color: var(--colorBlue);
  font-weight: 700;
  text-align: center;
}
.wrapper.character .profile__heading__en-label {
  display: block;
  font-family: "Righteous", sans-serif;
  font-weight: 500;
}
.wrapper.character .profile__lead {
  font-weight: 700;
  color: var(--colorBlue);
  text-align: center;
}
.wrapper.character .profile__name {
  margin-block: 0;
  border-top: 1px solid #eae0c9;
  font-weight: 700;
}
.wrapper.character .profile__desc {
  border-bottom: 1px solid #eae0c9;
}
.wrapper.character .profile .--green .profile__image img {
  aspect-ratio: 633/620;
}
.wrapper.character .profile .--green .profile__name {
  color: #5eb00c;
}
.wrapper.character .profile .--blue .profile__image img {
  aspect-ratio: 608/646;
}
.wrapper.character .profile .--blue .profile__name {
  color: var(--colorBlue);
}
.wrapper.character .profile .--red .profile__image img {
  aspect-ratio: 626/561;
}
.wrapper.character .profile .--red .profile__name {
  color: #ea543a;
}
@media (min-width: 1024px) {
  .wrapper.character .profile {
    margin-block: 57px 0;
    padding-block: 63px 0;
    background: url(/assets/img/character/bg_profile_02.webp) no-repeat calc(50% + 80px) 0/1804px auto, url(/assets/img/character/bg_profile.webp) repeat-x 50% 0/1200px 1000px;
  }
  .wrapper.character .profile__heading {
    font-size: 1.25rem;
  }
  .wrapper.character .profile__heading__en-label {
    margin-block-end: 20px;
    font-size: 4rem;
    height: 64px;
  }
  .wrapper.character .profile__lead {
    margin-block: 31px 0;
    font-size: 1.125rem;
    line-height: 2;
    letter-spacing: 0.04em;
  }
  .wrapper.character .profile__list {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    grid-template-rows: auto auto;
    gap: 0 min(60px, 4.1666666667vw);
    margin-block: 36px 0;
    margin-inline: auto;
    padding-inline: 10px;
    max-width: 1220px;
  }
  .wrapper.character .profile__item {
    display: grid;
    grid-template-rows: subgrid;
    grid-row: 3 span;
  }
  .wrapper.character .profile__image {
    display: flex;
    align-items: center;
    justify-content: center;
    padding-block: 22px;
  }
  .wrapper.character .profile__name {
    padding-block: 20px 0;
    font-size: 1.125rem;
  }
  .wrapper.character .profile__desc {
    margin-block: 20px 0;
    padding-block: 0 34px;
    line-height: 2;
  }
  .wrapper.character .profile .--green .profile__image img {
    width: min(316px, 26.3333333333vw);
    height: min(310px, 25.8333333333vw);
  }
  .wrapper.character .profile .--blue .profile__image img {
    width: min(304px, 25.3333333333vw);
    height: min(323px, 26.9166666667vw);
  }
  .wrapper.character .profile .--red .profile__image img {
    width: min(313px, 26.0833333333vw);
    height: min(280px, 23.3333333333vw);
  }
}
@media screen and (max-width: 1023px) {
  .wrapper.character .profile {
    margin-block: 42px 0;
    padding-block: 46px 0;
    padding-inline: 24px;
    background: url(/assets/img/character/bg_profile_sp.webp) no-repeat 50% 0/100% auto;
  }
  .wrapper.character .profile__heading {
    font-size: 1.09375rem;
  }
  .wrapper.character .profile__heading__en-label {
    margin-block-end: 18px;
    font-size: 3.5rem;
    height: 56px;
  }
  .wrapper.character .profile__lead {
    margin-block: 23px 0;
    font-size: 1rem;
    line-height: 1.97;
  }
  .wrapper.character .profile__list {
    display: flex;
    flex-direction: column;
    gap: 34px;
    margin-block: 19px 0;
  }
  .wrapper.character .profile__image {
    padding-block-end: 20px;
    text-align: center;
  }
  .wrapper.character .profile__name {
    padding-block: 17px 0;
    font-size: 1rem;
  }
  .wrapper.character .profile__desc {
    margin-block: 10px 0;
    padding-block: 0 25px;
    line-height: 1.86;
  }
  .wrapper.character .profile .--green .profile__image img {
    width: min(456px, 60.8vw);
    height: min(465px, 62vw);
  }
  .wrapper.character .profile .--blue {
    order: -1;
  }
  .wrapper.character .profile .--blue .profile__image img {
    width: min(456px, 60.8vw);
    height: min(486px, 64.8vw);
  }
  .wrapper.character .profile .--red .profile__image img {
    width: min(456px, 60.8vw);
    height: min(421px, 56.1333333333vw);
  }
}
.wrapper.character .show__heading-wrap {
  overflow: hidden;
  background: no-repeat 50% 0/cover;
  color: #ffffff;
}
.wrapper.character .show__heading {
  font-weight: 700;
}
.wrapper.character .show__heading__en-label {
  display: block;
  font-family: "Righteous", sans-serif;
  font-weight: 500;
}
.wrapper.character .show__heading02 {
  font-weight: 700;
}
.wrapper.character .show__note-list {
  margin-block: 0;
}
.wrapper.character .show__note-item {
  padding-inline-start: 1em;
  text-indent: -1em;
}
.wrapper.character .show__note-item::before {
  content: "※";
}
.wrapper.character .show__section {
  background: #ffffff;
}
.wrapper.character .show__text {
  font-weight: 700;
  line-height: 2;
}
.wrapper.character .show__item {
  position: relative;
  background: #f5f0e4;
}
.wrapper.character .show__label {
  display: block;
  text-align: center;
  font-weight: 800;
  color: var(--colorRed);
}
.wrapper.character .show__image img {
  aspect-ratio: 298/168;
  width: 100%;
  height: auto;
}
.wrapper.character .show__button02 .button::before {
  position: absolute;
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;
  content: "";
  z-index: 0;
}
@media (min-width: 1024px) {
  .wrapper.character .show {
    margin-block: 119px 0;
    margin-inline: auto;
    padding-inline: 10px;
    max-width: 1364px;
  }
  .wrapper.character .show__heading-wrap {
    border-radius: 24px 24px 0 0;
    padding-block: 64px 80px;
    padding-inline: 70px;
    background-image: url(/assets/img/character/bg_show.webp);
  }
  .wrapper.character .show__heading {
    font-size: 1.25rem;
  }
  .wrapper.character .show__heading__en-label {
    margin-block-end: 20px;
    font-size: 4rem;
    height: 64px;
  }
  .wrapper.character .show__heading02 {
    margin-block: 14px 0;
    font-size: 2rem;
    line-height: 1.75;
  }
  .wrapper.character .show__lead {
    margin-block: 24px 0;
    line-height: 2;
  }
  .wrapper.character .show__note-list {
    font-size: 0.875rem;
    line-height: 2;
  }
  .wrapper.character .show__button {
    margin-inline-start: 0;
    margin-block: 37px 0;
  }
  .wrapper.character .show__section {
    padding-block: 71px 80px;
    padding-inline: 70px;
    border-radius: 0 0 24px 24px;
  }
  .wrapper.character .show__text {
    margin-block: 30px 0;
  }
  .wrapper.character .show__list {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: min(33px, 2.4553571429vw);
    margin-block: 42px 0;
  }
  .wrapper.character .show__item {
    padding-block: 32px;
    padding-inline: 40px;
    border-radius: 16px;
  }
  .wrapper.character .show__label {
    font-size: 1.5rem;
  }
  .wrapper.character .show__image {
    margin-block: 22px 0;
  }
  .wrapper.character .show__button02 {
    margin-block: 32px 0;
  }
  .wrapper.character .show__button02 .button__link {
    min-width: 200px;
  }
}
@media (hover: hover) {
  .wrapper.character .show__item:hover .button__link::before {
    transform: scale(1.1);
  }
}
@media screen and (max-width: 1023px) {
  .wrapper.character .show {
    margin-block: 90px 0;
    margin-inline: 12px;
  }
  .wrapper.character .show__heading-wrap {
    border-radius: 18px 18px 0 0;
    padding-block: 47px 280px;
    padding-inline: 25px;
    background-image: url(/assets/img/character/bg_show_sp.webp);
  }
  .wrapper.character .show__heading {
    font-size: 1.09375rem;
  }
  .wrapper.character .show__heading__en-label {
    margin-block-end: 12px;
    font-size: 3.125rem;
    height: 50px;
  }
  .wrapper.character .show__heading02 {
    margin-block: 9px 0;
    font-size: 1.75rem;
    line-height: 1.43;
  }
  .wrapper.character .show__lead {
    margin-block: 8px 0;
    line-height: 1.83;
  }
  .wrapper.character .show__button {
    margin-block: 12px 0;
  }
  .wrapper.character .show__note-list {
    font-size: 0.75rem;
    line-height: 1.86;
  }
  .wrapper.character .show__section {
    padding-block: 52px 40px;
    padding-inline: 24px;
    border-radius: 0 0 18px 18px;
    background: #ffffff;
  }
  .wrapper.character .show__text {
    margin-block: 26px 0;
  }
  .wrapper.character .show__list {
    display: flex;
    flex-direction: column;
    gap: 24px;
    margin-block: 27px 0;
  }
  .wrapper.character .show__list__inner {
    position: relative;
  }
  .wrapper.character .show__item {
    padding-block: 18px;
    padding-inline: 30px;
    border-radius: 12px;
  }
  .wrapper.character .show__label {
    position: relative;
    font-size: 1.3125rem;
  }
  .wrapper.character .show__label::after {
    position: absolute;
    top: 0;
    bottom: 0;
    margin: auto;
    right: -6px;
    font-family: "icon";
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale;
    font-style: normal;
    font-variant: normal;
    font-weight: 400;
    speak: none;
    text-decoration: none;
    text-transform: none;
    content: "\e010";
    font-size: 16px;
    line-height: 16px;
    vertical-align: middle;
    height: 16px;
  }
  .wrapper.character .show__label.is-open::after {
    content: "\e00f";
    font-size: 3px;
    height: 3px;
    line-height: 3px;
  }
  .wrapper.character .show__image {
    margin-block: 18px 0;
  }
  .wrapper.character .show__button02 {
    margin-block: 22px 0;
  }
  .wrapper.character .show__button02 .button {
    margin-block-start: 0;
  }
  .wrapper.character .show__button02 .button__link {
    min-width: 160px;
  }
  .wrapper.character .show__label.js-accordion + .show__list__inner {
    overflow: hidden;
    transition: height 0.2s cubic-bezier(0.215, 0.61, 0.355, 1);
  }
}
.wrapper.character .quiz__heading {
  color: var(--colorBlue);
  font-weight: 700;
}
.wrapper.character .quiz__heading__en-label {
  position: relative;
  display: block;
  font-family: "Righteous", sans-serif;
  font-weight: 500;
  letter-spacing: normal;
}
.wrapper.character .quiz__heading__en-label::before {
  position: absolute;
  content: "";
  z-index: 1;
  background: no-repeat center/cover;
}
.wrapper.character .quiz__text {
  font-weight: 700;
  line-height: 2;
}
.wrapper.character .quiz__box {
  position: relative;
  background: no-repeat center/cover;
}
.wrapper.character .quiz__box__scene {
  position: absolute;
  z-index: 0;
  opacity: 0;
  pointer-events: none;
  transition: opacity 0.5s cubic-bezier(0.215, 0.61, 0.355, 1), transform 0.5s cubic-bezier(0.215, 0.61, 0.355, 1);
}
.wrapper.character .quiz__box__scene__question, .wrapper.character .quiz__box__scene__text {
  margin-block: 0;
  text-align: center;
  color: var(--colorBlue);
  font-weight: 700;
}
.wrapper.character .quiz__box__scene__question .label, .wrapper.character .quiz__box__scene__text .label {
  display: block;
  font-family: "Righteous", sans-serif;
  font-weight: 400;
}
.wrapper.character .quiz__box__scene__question .sub {
  display: block;
  color: var(--colorText);
}
.wrapper.character .quiz__box__scene__image {
  position: absolute;
  pointer-events: none;
}
.wrapper.character .quiz__box__scene__answer {
  position: relative;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  font-weight: 700;
}
.wrapper.character .quiz__box__scene__answer.--good::before {
  position: absolute;
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;
  content: "";
  z-index: 0;
  border: solid #d0e0ec;
  content: "";
}
.wrapper.character .quiz__box__scene__answer.--good .label {
  color: #1266a2;
}
.wrapper.character .quiz__box__scene__answer.--bad::before, .wrapper.character .quiz__box__scene__answer.--bad::after {
  position: absolute;
  top: 50%;
  left: 50%;
  background: #f9dcdb;
  content: "";
  z-index: -1;
  display: block;
}
.wrapper.character .quiz__box__scene__answer.--bad::before {
  transform: translate(-50%, -50%) rotate(45deg);
}
.wrapper.character .quiz__box__scene__answer.--bad::after {
  transform: translate(-50%, -50%) rotate(-45deg);
}
.wrapper.character .quiz__box__scene__answer.--bad .label {
  color: #e0504a;
}
.wrapper.character .quiz__box__scene__text02 {
  font-weight: 700;
  text-align: center;
}
.wrapper.character .quiz__box__scene.is-visible {
  z-index: 1;
  opacity: 1;
  pointer-events: all;
}
.wrapper.character .quiz__box__counter {
  position: absolute;
  display: flex;
  align-items: flex-start;
  justify-content: center;
  flex-direction: column;
  background: #d1ebf7;
  border-radius: 50%;
  color: var(--colorBlue);
  font-family: "Righteous", sans-serif;
  z-index: -1;
  pointer-events: none;
}
.wrapper.character .quiz__box__counter__label {
  display: block;
}
.wrapper.character .quiz__box__counter .slash {
  font-weight: 200;
  font-family: "M PLUS 1", sans-serif;
}
.wrapper.character .quiz-page__list, .wrapper.character .quiz-page__list02 {
  font-weight: 700;
}
.wrapper.character .quiz-page__list03 {
  display: flex;
  justify-content: center;
  font-weight: 700;
}
.wrapper.character .quiz-page__list {
  grid-template-columns: repeat(3, 1fr);
}
.wrapper.character .quiz-page__list02 {
  grid-template-columns: repeat(4, 1fr);
}
.wrapper.character .quiz-page__item, .wrapper.character .quiz-page__item02 {
  container-type: inline-size;
}
.wrapper.character .quiz-page__item03.is-hide {
  display: none;
}
.wrapper.character .quiz-page__button, .wrapper.character .quiz-page__button02, .wrapper.character .quiz-page__button03, .wrapper.character .quiz-page__button04 {
  position: relative;
  text-align: center;
  width: 100%;
  z-index: 0;
}
.wrapper.character .quiz-page__button::before, .wrapper.character .quiz-page__button02::before, .wrapper.character .quiz-page__button03::before, .wrapper.character .quiz-page__button04::before {
  position: absolute;
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;
  content: "";
  transition: transform 0.2s cubic-bezier(0.215, 0.61, 0.355, 1);
  will-change: transform;
  z-index: -1;
}
.wrapper.character .quiz-page__button::after, .wrapper.character .quiz-page__button02::after, .wrapper.character .quiz-page__button03::after, .wrapper.character .quiz-page__button04::after {
  position: absolute;
  font-family: "icon";
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  font-style: normal;
  font-variant: normal;
  font-weight: 400;
  speak: none;
  text-decoration: none;
  text-transform: none;
  content: "\e00e";
  vertical-align: middle;
}
.wrapper.character .quiz-page__button03, .wrapper.character .quiz-page__button04 {
  height: 100%;
}
.wrapper.character .quiz-page__button {
  background: var(--colorBlue);
  color: #ffffff;
}
.wrapper.character .quiz-page__button::before {
  background: var(--colorBlue);
}
.wrapper.character .quiz-page__button img {
  position: absolute;
  pointer-events: none;
}
.wrapper.character .quiz-page__button02 {
  flex-direction: column;
  align-items: center;
  border: 2px solid #d1ebf7;
  background: #ffffff;
}
.wrapper.character .quiz-page__button02::before {
  top: -2px;
  right: -2px;
  bottom: -2px;
  left: -2px;
  border: 2px solid #d1ebf7;
  background: #ffffff;
}
.wrapper.character .quiz-page__button02::after {
  color: var(--colorBlue);
}
.wrapper.character .quiz-page__button02 .label {
  display: block;
  color: #ef8f89;
  font-family: "Righteous", sans-serif;
  font-weight: 400;
}
.wrapper.character .quiz-page__button03 {
  align-items: center;
  justify-content: center;
  background: var(--colorBlue);
  color: #ffffff;
}
.wrapper.character .quiz-page__button03::before {
  background: var(--colorBlue);
}
.wrapper.character .quiz-page__button04 {
  align-items: center;
  justify-content: center;
  background: var(--colorBgGray);
  color: var(--colorText);
}
.wrapper.character .quiz-page__button04::before {
  background: var(--colorBgGray);
}
@media (min-width: 1024px) {
  .wrapper.character .quiz {
    display: grid;
    grid-template-columns: min(300px, 23.1481481481vw) 1fr;
    grid-template-rows: auto 1fr;
    gap: 0 102px;
    margin-block: 86px 0;
    margin-inline: auto;
    padding-inline: 48px;
    max-width: 1296px;
  }
  .wrapper.character .quiz__heading {
    grid-column: 1;
    font-size: 1.25rem;
    letter-spacing: -0.08em;
  }
  .wrapper.character .quiz__heading__en-label {
    margin-block-end: 40px;
    padding-inline-start: 90px;
    height: 120px;
    font-size: 7.5rem;
    letter-spacing: normal;
  }
  .wrapper.character .quiz__heading__en-label::before {
    top: -6px;
    left: -43px;
    width: 518px;
    height: 155px;
    background-image: url(/assets/img/character/bg_heading_quiz.webp);
  }
  .wrapper.character .quiz__text {
    grid-column: 1;
    grid-row: 2;
    margin-block: 17px 0;
  }
  .wrapper.character .quiz__box {
    grid-row: 2 span;
    margin-block-start: min(34px, 2.6234567901vw);
    width: min(768px, 59.2592592593vw);
    height: min(768px, 59.2592592593vw);
    background-image: url(/assets/img/character/bg_quiz.webp);
  }
  .wrapper.character .quiz__box__scene {
    top: 0;
    left: -32px;
    right: -32px;
    width: min(832px, 64.1975308642vw);
    height: min(768px, 59.2592592593vw);
  }
  .wrapper.character .quiz__box__scene__question {
    font-size: 1.5rem;
    line-height: 1.67;
  }
  .wrapper.character .quiz__box__scene__question .label {
    font-size: 2.5rem;
  }
  .wrapper.character .quiz__box__scene__question .sub {
    margin-block-start: min(13px, 1.0030864198vw);
    font-size: 1rem;
  }
  .wrapper.character .quiz__box__scene__text {
    font-size: 1.25rem;
    line-height: 2;
  }
  .wrapper.character .quiz__box__scene__text .label {
    margin-block-end: -4px;
    font-size: 2.5rem;
  }
  .wrapper.character .quiz__box__scene__answer.--good, .wrapper.character .quiz__box__scene__answer.--bad {
    margin-block: min(10px, 0.7716049383vw) 0;
    margin-inline: auto;
    padding-block-end: min(10px, 0.7716049383vw);
    font-size: 1.5rem;
  }
  .wrapper.character .quiz__box__scene__answer.--good .label, .wrapper.character .quiz__box__scene__answer.--bad .label {
    font-size: 2.5rem;
  }
  .wrapper.character .quiz__box__scene__answer.--good {
    width: min(300px, 23.1481481481vw);
    height: min(300px, 23.1481481481vw);
    font-size: 1.5rem;
  }
  .wrapper.character .quiz__box__scene__answer.--good::before {
    border-radius: 50%;
    border-width: min(44px, 3.3950617284vw);
  }
  .wrapper.character .quiz__box__scene__answer.--bad {
    width: min(290px, 22.3765432099vw);
    height: min(290px, 22.3765432099vw);
    font-size: 1.5rem;
  }
  .wrapper.character .quiz__box__scene__answer.--bad::before, .wrapper.character .quiz__box__scene__answer.--bad::after {
    width: 54px;
    height: 358px;
  }
  .wrapper.character .quiz__box__scene.question {
    padding-block-start: min(97px, 7.4845679012vw);
  }
  .wrapper.character .quiz__box__scene.question .quiz-page__list02 {
    margin-block-start: min(26px, 2.0061728395vw);
  }
  .wrapper.character .quiz__box__scene.question .quiz__box__scene__image {
    bottom: 0;
  }
  .wrapper.character .quiz__box__scene.answer {
    padding-block-start: min(90px, 6.9444444444vw);
  }
  .wrapper.character .quiz__box__scene__text02 {
    margin-block: min(10px, 0.7716049383vw) 0;
  }
  .wrapper.character .quiz__box__scene.question01 .quiz__box__scene__image {
    left: min(279px, 21.5277777778vw);
    width: min(272px, 20.987654321vw);
    height: min(296px, 22.8395061728vw);
  }
  .wrapper.character .quiz__box__scene.question02 .quiz__box__scene__image {
    left: min(262px, 20.2160493827vw);
    width: min(298px, 22.9938271605vw);
    height: min(237px, 18.287037037vw);
  }
  .wrapper.character .quiz__box__scene.question03 .quiz__box__scene__image {
    left: min(291px, 22.4537037037vw);
    width: min(255px, 19.6759259259vw);
    height: min(307px, 23.6882716049vw);
  }
  .wrapper.character .quiz__box__counter {
    bottom: min(40px, 3.0864197531vw);
    left: max(-160px, -12.3456790123vw);
    width: min(280px, 21.6049382716vw);
    height: min(280px, 21.6049382716vw);
    padding-inline-start: min(58px, 4.475308642vw);
    line-height: 1;
  }
  .wrapper.character .quiz__box__counter__label {
    font-size: 1.5rem;
  }
  .wrapper.character .quiz__box__counter__text {
    margin-block-start: 10px;
    font-size: 3rem;
  }
  .wrapper.character .quiz-page__list, .wrapper.character .quiz-page__list02 {
    display: grid;
    gap: min(32px, 2.4691358025vw);
    font-size: 1.25rem;
    line-height: 1.6;
  }
  .wrapper.character .quiz-page__list03 {
    gap: min(24px, 1.8518518519vw);
    margin-block: 18px 0;
    margin-inline: auto;
    max-width: min(624px, 48.1481481481vw);
  }
  .wrapper.character .quiz-page__list {
    margin-block: min(279px, 21.5277777778vw) 0;
  }
  .wrapper.character .quiz-page__button, .wrapper.character .quiz-page__button02, .wrapper.character .quiz-page__button03, .wrapper.character .quiz-page__button04 {
    display: flex;
    border-radius: 16px;
    line-height: inherit;
  }
  .wrapper.character .quiz-page__button::before, .wrapper.character .quiz-page__button02::before, .wrapper.character .quiz-page__button03::before, .wrapper.character .quiz-page__button04::before {
    border-radius: 16px;
  }
  .wrapper.character .quiz-page__button::after, .wrapper.character .quiz-page__button02::after, .wrapper.character .quiz-page__button03::after, .wrapper.character .quiz-page__button04::after {
    right: 17px;
    bottom: 20px;
    font-size: 20px;
    height: 20px;
  }
  .wrapper.character .quiz-page__button {
    align-items: flex-end;
    justify-content: center;
    height: 100cqw;
    padding-block-end: min(38px, 2.9320987654vw);
  }
  .wrapper.character .quiz-page__button img {
    right: 0;
    bottom: min(118px, 9.1049382716vw);
    left: 0;
    margin-inline: auto;
  }
  .wrapper.character .quiz-page__button[data-scene=question01] img {
    transform: translateX(19px);
  }
  .wrapper.character .quiz-page__button[data-scene=question03] img {
    transform: translateX(-10px);
  }
  .wrapper.character .quiz-page__button02 {
    height: 100cqw;
  }
  .wrapper.character .quiz-page__button02 .label {
    margin-block: min(27px, 2.0833333333vw) min(25px, 1.9290123457vw);
    font-size: 1.5rem;
  }
  .wrapper.character .quiz-page__button03, .wrapper.character .quiz-page__button04 {
    width: min(192px, 14.8148148148vw);
    height: min(88px, 6.7901234568vw);
  }
  .wrapper.character .quiz-page__button03::after, .wrapper.character .quiz-page__button04::after {
    right: 13px;
    bottom: 13px;
    font-size: 16px;
    height: 16px;
  }
}
@media (hover: hover) {
  .wrapper.character .quiz-page__button:hover::before, .wrapper.character .quiz-page__button02:hover::before, .wrapper.character .quiz-page__button03:hover::before, .wrapper.character .quiz-page__button04:hover::before {
    transform: scale(1.1);
  }
}
@media screen and (max-width: 1023px) {
  .wrapper.character .quiz {
    margin-block: 85px 0;
    padding-inline: 24px;
  }
  .wrapper.character .quiz__heading {
    font-size: 1.09375rem;
    text-align: center;
  }
  .wrapper.character .quiz__heading__en-label {
    margin-block-end: 26px;
    height: 90px;
    font-size: 5.625rem;
  }
  .wrapper.character .quiz__heading__en-label::before {
    top: -3px;
    left: -37px;
    max-width: 388px;
    width: calc(100vw + 13px);
    height: 116px;
    background-image: url(/assets/img/character/bg_heading_quiz_sp.webp);
  }
  .wrapper.character .quiz__text {
    margin-block: 10px 0;
  }
  .wrapper.character .quiz__box {
    margin-block-start: 5px;
    margin-inline: -24px;
    height: 174.6666666667vw;
    background-image: url(/assets/img/character/bg_quiz.webp);
    background-size: cover;
  }
  .wrapper.character .quiz__box__scene {
    top: 0;
    left: 0;
    right: 0;
    height: 174.6666666667vw;
  }
  .wrapper.character .quiz__box__scene__question {
    font-size: 1.3125rem;
    line-height: 1.43;
  }
  .wrapper.character .quiz__box__scene__question .label {
    font-size: 2.4375rem;
    margin-block-end: 10px;
  }
  .wrapper.character .quiz__box__scene__question .sub {
    margin-block-start: min(7px, 1.8666666667vw);
    font-size: 0.875rem;
  }
  .wrapper.character .quiz__box__scene__text {
    font-size: 1.125rem;
    line-height: 1.56;
  }
  .wrapper.character .quiz__box__scene__text .label {
    margin-block-end: 8px;
    font-size: 2.4375rem;
  }
  .wrapper.character .quiz__box__scene__answer.--good, .wrapper.character .quiz__box__scene__answer.--bad {
    margin-block: 5.3333333333vw 0;
    margin-inline: auto;
    font-size: 1.125rem;
    line-height: 1.5;
  }
  .wrapper.character .quiz__box__scene__answer.--good .label, .wrapper.character .quiz__box__scene__answer.--bad .label {
    font-size: 1.875rem;
  }
  .wrapper.character .quiz__box__scene__answer.--good {
    width: 60vw;
    height: 60vw;
  }
  .wrapper.character .quiz__box__scene__answer.--good::before {
    border-radius: 50%;
    border-width: 8.8vw;
  }
  .wrapper.character .quiz__box__scene__answer.--bad {
    width: 58.1333333333vw;
    height: 58.1333333333vw;
  }
  .wrapper.character .quiz__box__scene__answer.--bad::before, .wrapper.character .quiz__box__scene__answer.--bad::after {
    width: 11.2vw;
    height: 72vw;
  }
  .wrapper.character .quiz__box__scene.question {
    padding-block-start: 18.6666666667vw;
  }
  .wrapper.character .quiz__box__scene.question .quiz-page__list02 {
    margin-block-start: 5.8666666667vw;
  }
  .wrapper.character .quiz__box__scene.question .quiz__box__scene__image {
    bottom: -2.1333333333vw;
  }
  .wrapper.character .quiz__box__scene.answer {
    padding-block-start: 17.8666666667vw;
  }
  .wrapper.character .quiz__box__scene__text02 {
    margin-block: 4.8vw 0;
  }
  .wrapper.character .quiz__box__scene.question01 .quiz__box__scene__image {
    left: 31.7333333333vw;
    width: 36.2666666667vw;
    height: 39.4666666667vw;
  }
  .wrapper.character .quiz__box__scene.question02 .quiz__box__scene__image {
    left: 30.4vw;
    width: 39.7333333333vw;
    height: 31.4666666667vw;
  }
  .wrapper.character .quiz__box__scene.question03 .quiz__box__scene__image {
    left: 33.6vw;
    width: 33.6vw;
    height: 41.0666666667vw;
  }
  .wrapper.character .quiz__box__counter {
    bottom: max(-143px, -19.0666666667vw);
    left: max(-10px, -1.3333333333vw);
    width: min(280px, 37.3333333333vw);
    height: min(280px, 37.3333333333vw);
    padding-inline-start: min(58px, 7.7333333333vw);
    line-height: 1;
  }
  .wrapper.character .quiz__box__counter__label {
    font-size: 0.75rem;
  }
  .wrapper.character .quiz__box__counter__text {
    margin-block-start: 4px;
    font-size: 1.5rem;
  }
  .wrapper.character .quiz-page__list {
    display: flex;
    flex-direction: column;
    gap: min(20px, 5.3333333333vw);
    font-size: 1.125rem;
    line-height: 1.78;
    margin-block: min(108px, 28.8vw) 0;
    margin-inline: 24px;
  }
  .wrapper.character .quiz-page__list02 {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    gap: min(16px, 4.2666666667vw);
    margin-block: min(15px, 4vw);
    margin-inline: min(24px, 6.4vw);
  }
  .wrapper.character .quiz-page__list03 {
    gap: 2.1333333333vw;
    margin-block: 16px 0;
    margin-inline: 3.2vw;
  }
  .wrapper.character .quiz-page__button, .wrapper.character .quiz-page__button02, .wrapper.character .quiz-page__button03, .wrapper.character .quiz-page__button04 {
    border-radius: 8px;
    line-height: inherit;
  }
  .wrapper.character .quiz-page__button::before, .wrapper.character .quiz-page__button02::before, .wrapper.character .quiz-page__button03::before, .wrapper.character .quiz-page__button04::before {
    border-radius: 8px;
  }
  .wrapper.character .quiz-page__button::after, .wrapper.character .quiz-page__button02::after, .wrapper.character .quiz-page__button03::after, .wrapper.character .quiz-page__button04::after {
    right: 10px;
    bottom: 11px;
    font-size: 15px;
    height: 15px;
  }
  .wrapper.character .quiz-page__button {
    align-items: center;
    padding-inline-start: 35.7333333333vw;
    border-radius: 12px;
    height: 35.2vw;
    text-align: left;
    font-size: 1.125rem;
  }
  .wrapper.character .quiz-page__button::after {
    right: 13px;
    bottom: 16px;
  }
  .wrapper.character .quiz-page__button[data-scene=question01] img {
    top: 0;
    left: 6.2666666667vw;
    width: 22.8vw;
    height: 31.3333333333vw;
  }
  .wrapper.character .quiz-page__button[data-scene=question02] img {
    top: 10.5333333333vw;
    left: 5.2vw;
    width: 24.9333333333vw;
    height: 21.3333333333vw;
  }
  .wrapper.character .quiz-page__button[data-scene=question03] img {
    top: -1.4666666667vw;
    left: 6.9333333333vw;
    width: 21.3333333333vw;
    height: 33.2vw;
  }
  .wrapper.character .quiz-page__button02 {
    display: flex;
    border-radius: 12px;
    height: 36.2666666667vw;
    font-size: 1.125rem;
  }
  .wrapper.character .quiz-page__button02 .label {
    margin-block: 6.1333333333vw 4.2666666667vw;
    font-size: 1.3125rem;
  }
  .wrapper.character .quiz-page__button03, .wrapper.character .quiz-page__button04 {
    width: 29.8666666667vw;
    height: 22.4vw;
    font-size: 0.875rem;
    line-height: 1.29;
  }
  .wrapper.character .quiz-page__button03::after, .wrapper.character .quiz-page__button04::after {
    right: 10px;
    bottom: 11px;
    font-size: 11.5px;
    height: 11.5px;
  }
}
.wrapper.character .puzzle-solving {
  font-weight: 700;
}
.wrapper.character .puzzle-solving__heading {
  margin-block: 0;
  text-align: center;
}
.wrapper.character .puzzle-solving__lead, .wrapper.character .puzzle-solving__text {
  text-align: center;
}
.wrapper.character .puzzle-solving__text {
  line-height: 2;
}
.wrapper.character .puzzle-solving__box__heading {
  font-weight: 800;
}
.wrapper.character .puzzle-solving__box__heading.--orange {
  color: #f09701;
}
.wrapper.character .puzzle-solving__box__heading.--green {
  color: #1cab39;
}
.wrapper.character .puzzle-solving__box__heading.--dark {
  color: #263e48;
}
.wrapper.character .puzzle-solving__inner {
  background: #ffffff;
}
.wrapper.character .puzzle-solving__list {
  display: grid;
}
.wrapper.character .puzzle-solving__item {
  line-height: 2;
}
.wrapper.character .puzzle-solving__item .notes-list {
  font-weight: inherit;
}
.wrapper.character .puzzle-solving__inner img {
  width: 100%;
  height: auto;
}
@media (min-width: 1024px) {
  .wrapper.character .puzzle-solving {
    margin-block: 120px 0;
    margin-inline: auto;
    padding-inline: 48px;
    max-width: 1296px;
  }
  .wrapper.character .puzzle-solving__lead {
    margin-block: 37px 0;
    font-size: 1.5rem;
  }
  .wrapper.character .puzzle-solving__text {
    margin-block: 25px 0;
    font-size: 1rem;
  }
  .wrapper.character .puzzle-solving__box__heading {
    font-size: 1.5rem;
    line-height: 1.33;
  }
  .wrapper.character .puzzle-solving__box:first-of-type {
    margin-block-start: 34px;
  }
  .wrapper.character .puzzle-solving__box:nth-of-type(n+2) {
    margin-block-start: 40px;
  }
  .wrapper.character .puzzle-solving__inner {
    display: grid;
    grid-template-columns: min(464px, 35.8024691358vw) auto auto;
    grid-template-rows: auto 1fr;
    margin-block: 26px 0;
    border-radius: 12px;
  }
  .wrapper.character .puzzle-solving__image {
    grid-column: 1;
    padding-block: 32px;
    padding-inline: 32px;
  }
  .wrapper.character .puzzle-solving__button {
    grid-column: 1;
    grid-row: 2;
    align-self: start;
    margin-block: 0;
    margin-inline-start: 32px;
  }
  .wrapper.character .puzzle-solving__button02 {
    display: none;
  }
  .wrapper.character .puzzle-solving__list {
    grid-template-columns: subgrid;
    grid-column: span 2;
    grid-row: span 2;
    border-left: 1px solid #eae0c9;
  }
  .wrapper.character .puzzle-solving__item {
    display: grid;
    grid-template-columns: subgrid;
    grid-column: span 2;
    gap: 0 42px;
    padding: 17px 30px;
  }
  .wrapper.character .puzzle-solving__item:nth-of-type(n+2) {
    border-top: 1px solid #eae0c9;
  }
  .wrapper.character .puzzle-solving__item .notes-list {
    font-size: 0.875rem;
  }
}
@media screen and (max-width: 1023px) {
  .wrapper.character .puzzle-solving {
    margin-block: 85px 0;
    padding-inline: 24px;
    max-width: 1220px;
  }
  .wrapper.character .puzzle-solving__lead {
    margin-block: 26px 0;
    font-size: 1.3125rem;
  }
  .wrapper.character .puzzle-solving__text {
    margin-block: 18px 0;
    font-size: 0.875rem;
  }
  .wrapper.character .puzzle-solving__box__heading {
    font-size: 1.3125rem;
    line-height: 1.71;
    letter-spacing: -0.04em;
  }
  .wrapper.character .puzzle-solving__box:first-of-type {
    margin-block-start: 34px;
  }
  .wrapper.character .puzzle-solving__box:nth-of-type(n+2) {
    margin-block-start: 32px;
  }
  .wrapper.character .puzzle-solving__inner {
    margin-block: 16px 0;
    border-radius: 9px;
    padding-block: 20px 4px;
    padding-inline: 20px;
  }
  .wrapper.character .puzzle-solving__button {
    margin-block: 16px;
    margin-inline-start: auto;
  }
  .wrapper.character .puzzle-solving__button02 {
    position: relative;
    display: block;
    width: 100%;
    color: var(--colorRed);
    font-weight: 700;
    font-size: 1rem;
    margin-block: 16px;
    text-align: left;
    cursor: pointer;
  }
  .wrapper.character .puzzle-solving__button02::after {
    --size: 16px;
    position: absolute;
    top: 0;
    bottom: 0;
    margin: auto;
    right: 0;
    font-family: "icon";
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale;
    font-style: normal;
    font-variant: normal;
    font-weight: 400;
    speak: none;
    text-decoration: none;
    text-transform: none;
    content: "\e010";
    font-size: var(--size);
    line-height: var(--size);
    vertical-align: middle;
    height: var(--size);
  }
  .wrapper.character .puzzle-solving__button02.is-open::after {
    --size: 3px;
    content: "\e00f";
    font-size: var(--size);
    height: var(--size);
    line-height: var(--size);
  }
  .wrapper.character .puzzle-solving__list {
    overflow: hidden;
    display: grid;
    grid-template-columns: auto 1fr;
    margin-block: 0 4px;
    transition: height 0.2s cubic-bezier(0.215, 0.61, 0.355, 1);
  }
  .wrapper.character .puzzle-solving__list[style="height: 0px;"] {
    margin-block-start: 0;
  }
  .wrapper.character .puzzle-solving__item {
    display: grid;
    grid-template-columns: subgrid;
    grid-column: span 2;
    margin-inline: -20px;
    gap: 0 22px;
    padding: 14px 20px 13px;
    border-top: 1px solid #eae0c9;
  }
  .wrapper.character .puzzle-solving__item .notes-list {
    font-size: 0.75rem;
  }
}
.wrapper.character .character {
  text-align: center;
}
.wrapper.character .character__list {
  font-weight: 700;
}
.wrapper.character .character__image {
  position: relative;
  display: flex;
  align-items: flex-end;
  justify-content: center;
}
.wrapper.character .character__caption {
  position: absolute;
  margin-block: 0;
  margin-inline: auto;
  width: fit-content;
  color: #808080;
  font-weight: 700;
  text-align: left;
  white-space: nowrap;
}
.wrapper.character .character__link .button__link {
  width: 100%;
}
.wrapper.character .character__note {
  margin-block: 0;
}
@media (min-width: 1024px) {
  .wrapper.character .character {
    display: grid;
    grid-template-columns: 1fr min(600px, 46.2962962963vw) min(600px, 46.2962962963vw) 1fr;
    margin-block: 120px 0;
    height: min(520px, 40.1234567901vw);
    background: url(/assets/img/character/bg_character.webp) no-repeat 50% 50%/cover;
  }
  .wrapper.character .character__list {
    display: grid;
    grid-template-columns: subgrid;
    grid-column: 2/4;
    padding-block: min(43px, 3.3179012346vw) min(46px, 3.549382716vw);
  }
  .wrapper.character .character__item {
    display: grid;
    grid-template-rows: subgrid;
    grid-row: 1/5;
  }
  .wrapper.character .character__item:nth-of-type(1) img {
    width: min(215px, 16.5895061728vw);
  }
  .wrapper.character .character__item:nth-of-type(2) img {
    width: min(192px, 14.8148148148vw);
  }
  .wrapper.character .character__name {
    margin-block: 0 7px;
    font-size: 1.25rem;
  }
  .wrapper.character .character__caption {
    bottom: -1px;
    left: calc(50% + 84px);
    font-size: 0.5625rem;
    line-height: 1.6;
  }
  .wrapper.character .character__link {
    width: 400px;
    margin-block-end: 21px;
  }
  .wrapper.character .character__note {
    font-size: 0.875rem;
  }
}
@media screen and (max-width: 1023px) {
  .wrapper.character .character {
    margin-block: 90px 0;
  }
  .wrapper.character .character__item {
    padding-block: min(29px, 7.7333333333vw) min(33px, 8.8vw);
    background: no-repeat 50% 0/cover;
  }
  .wrapper.character .character__item:nth-of-type(1) {
    background-image: url(/assets/img/character/bg_character_sp.webp);
  }
  .wrapper.character .character__item:nth-of-type(1) img {
    width: 37.8666666667vw;
  }
  .wrapper.character .character__item:nth-of-type(2) {
    border-top: 1px solid rgba(236, 189, 1, 0.5);
    background-image: url(/assets/img/character/bg_character_02_sp.webp);
  }
  .wrapper.character .character__item:nth-of-type(2) img {
    width: 33.6vw;
  }
  .wrapper.character .character__name {
    font-size: min(16px, 4.2666666667vw);
    margin-block: 0 17px;
  }
  .wrapper.character .character__caption {
    bottom: -3px;
    left: calc(50% + 15.7333333333vw);
    font-size: 0.5625rem;
    line-height: 1.6;
    font-size: 1.8666666667vw;
  }
  .wrapper.character .character__link {
    margin-block: 22px 14px;
    width: 87.2vw;
    font-size: 3.7333333333vw;
  }
  .wrapper.character .character__note {
    margin-block: 0;
    font-size: 0.75rem;
  }
}

/* restaurant
--------------------------------------------------------------------------------------------------- */
.wrapper.restaurant .lead-box {
  letter-spacing: -0.016em;
}
.wrapper.restaurant .lead-box__text {
  font-weight: 700;
}
@media (min-width: 1024px) {
  .wrapper.restaurant .lead-box {
    display: grid;
    grid-template-columns: 1fr min(562px, 43.3641975309vw);
    gap: 20px;
    margin-block-start: 74px;
  }
  .wrapper.restaurant .lead-box__text {
    grid-column: 1;
    margin-block-end: 42px;
    font-size: 1.125rem;
    line-height: 2;
  }
  .wrapper.restaurant .lead-box__text p:nth-of-type(n+2) {
    margin-block: 2em 0;
  }
  .wrapper.restaurant .lead-box__image {
    grid-column: 2;
    margin-block-end: max(-121px, -9.3364197531vw);
  }
  .wrapper.restaurant .lead-box__image img {
    margin-block-start: -15px;
    margin-inline-end: -81px;
    aspect-ratio: 639/547;
    width: min(639px, 44.375vw);
    max-width: unset;
  }
}
@media screen and (max-width: 1023px) {
  .wrapper.restaurant .lead-box {
    overflow: hidden;
    margin-block: 50px 0;
    margin-inline: -24px;
    padding-inline: 24px;
  }
  .wrapper.restaurant .lead-box__text {
    grid-column: 1;
    font-size: 1rem;
    line-height: 1.88;
  }
  .wrapper.restaurant .lead-box__text p:nth-of-type(n+2) {
    margin-block: 1.88em 0;
  }
  .wrapper.restaurant .lead-box__image {
    margin-block-start: 20px;
    margin-inline: -9px -50px;
  }
}
.wrapper.restaurant .area .image-section {
  display: grid;
  font-weight: 700;
}
.wrapper.restaurant .area .image-section img {
  max-width: unset;
  width: 100%;
}
.wrapper.restaurant .area .image-section__main img {
  aspect-ratio: 568/756;
}
.wrapper.restaurant .area .image-section__image img {
  aspect-ratio: 236/236;
}
.wrapper.restaurant .area .image-heading.mbm--darken {
  mix-blend-mode: darken;
}
@media (min-width: 1024px) {
  .wrapper.restaurant .area {
    margin-block: 108px 0;
  }
  .wrapper.restaurant .area .image-section {
    display: grid;
    grid-template-columns: min(600px, 46.2962962963vw) min(236px, 18.2098765432vw) min(236px, 18.2098765432vw);
    gap: 0 min(32px, 2.4691358025vw);
    margin-block: 40px 0;
    line-height: 2;
    letter-spacing: -0.05em;
  }
  .wrapper.restaurant .area .image-section__main {
    grid-column: 1;
    grid-row: span 999;
    margin-inline-end: min(32px, 2.4691358025vw);
  }
  .wrapper.restaurant .area .image-section__lead {
    grid-column: 2/4;
  }
  .wrapper.restaurant .area .image-section__image {
    margin-block-start: 28px;
  }
  .wrapper.restaurant .area .image-section__caption {
    margin-block: 16px 0;
  }
  .wrapper.restaurant .area .image-section img {
    border-radius: 16px;
  }
  .wrapper.restaurant .area.--restaurant {
    margin-block-start: 0;
  }
}
@media screen and (max-width: 1023px) {
  .wrapper.restaurant .area {
    margin-block: 70px 0;
  }
  .wrapper.restaurant .area .image-section {
    grid-template-columns: repeat(2, 1fr);
    gap: 0 min(16px, 4.2666666667vw);
    margin-block: 34px 0;
    line-height: 2;
    letter-spacing: -0.06em;
  }
  .wrapper.restaurant .area .image-section__main {
    grid-column: 1/3;
  }
  .wrapper.restaurant .area .image-section__lead {
    grid-column: 1/3;
    margin-block: 21px 7px;
  }
  .wrapper.restaurant .area .image-section__image {
    margin-block-start: 14px;
  }
  .wrapper.restaurant .area .image-section__caption {
    margin-block: 4px 0;
  }
  .wrapper.restaurant .area .image-section img {
    border-radius: 12px;
  }
  .wrapper.restaurant .area.--restaurant {
    margin-block-start: 85px;
  }
  .wrapper.restaurant .area .image-heading img[src*="/img_logo_dinning"] {
    width: 252px;
  }
  .wrapper.restaurant .area .image-heading img[src*="/img_logo_sweetsbar"] {
    width: 216px;
  }
  .wrapper.restaurant .area .image-heading img[src*="/img_logo_marche"] {
    width: 211px;
  }
}

/* recruit
--------------------------------------------------------------------------------------------------- */
.header.header--recruit {
  position: fixed;
  top: 0;
  right: 0;
  left: 0;
  z-index: 1000;
}
.header.header--recruit .header__logo {
  margin-block-start: 0;
  margin-inline-start: 0;
}
@media (min-width: 1024px) {
  .header.header--recruit {
    display: flex;
    padding-block: 32px 0;
    padding-inline: 48px;
    flex-wrap: wrap;
  }
  .header.header--recruit .header__logo img {
    width: 324px;
  }
  .header.header--recruit .header__nav {
    display: flex;
    align-items: center;
    gap: 8px;
    font-size: 1rem;
    font-weight: 700;
  }
  .header.header--recruit .header__list {
    overflow: hidden;
    gap: 0;
    background: #ffffff;
    border-radius: calc(infinity * 1px);
  }
  .header.header--recruit .header__item:not(:last-child)::after {
    top: 14px;
    width: 1px;
    height: 20px;
  }
  .header.header--recruit .header__item--form a {
    position: relative;
    color: #ffffff;
  }
  .header.header--recruit .header__item--form a::before {
    position: absolute;
    top: 0;
    right: 0;
    bottom: 0;
    left: 0;
    content: "";
    z-index: -1;
    margin: unset;
    background: unset;
    width: unset;
    height: unset;
    opacity: unset;
    transform: unset;
    background-color: var(--colorRed);
    border-radius: calc(infinity * 1px);
  }
  .header.header--recruit .header__item--form:hover a::before {
    transform: scale(1.1);
  }
  .header.header--recruit .header__link {
    height: 48px;
    width: 160px;
  }
  .header.header--recruit .header__link::before {
    content: unset;
  }
}
@media screen and (max-width: 1280px) {
  .header.header--recruit .header__logo img {
    width: min(324px, 25.3125vw);
  }
  .header.header--recruit .header__link {
    width: min(160px, 12.5vw);
  }
}
@media screen and (max-width: 1024px) {
  .header.header--recruit .header__nav {
    display: none;
  }
}
@media screen and (max-width: 1023px) {
  .header.header--recruit {
    padding-block: 0;
    padding-inline: 0;
  }
  .header.header--recruit .header__logo {
    padding-block: 23px 0;
    padding-inline: 12px 0;
  }
  .header.header--recruit .header__logo img {
    width: 203px;
    height: 25px;
  }
  .header.header--recruit .btn-ham {
    background-color: #ffffff;
    color: var(--colorRed);
  }
  .header.header--recruit .menu__inner {
    padding-inline: 0;
  }
  .header.header--recruit .menu__list {
    display: flex;
    flex-direction: column;
    margin-block: 23px 0;
    border-top: 1px dashed rgba(67, 65, 61, 0.2);
    font-size: 0.875rem;
    font-weight: 700;
  }
  .header.header--recruit .menu__item {
    border-bottom: 1px dashed rgba(67, 65, 61, 0.2);
  }
  .header.header--recruit .menu__item .menu__link {
    align-items: normal;
    border-radius: 0;
    padding-block-start: 0;
    padding-inline: 20px;
    height: 50px;
  }
  .header.header--recruit .menu__item .menu__link::before {
    content: unset;
  }
  .header.header--recruit .menu__item .menu__link::after {
    position: absolute;
    right: 20px;
    content: "";
    display: block;
    border: solid #000000;
    border-color: #000000 transparent transparent;
    border-width: 5px 3px 0;
    width: 0;
    line-height: 1;
  }
  .header.header--recruit .menu__item:nth-of-type(3n+1) .menu__link::after {
    border-top-color: var(--colorRed);
  }
  .header.header--recruit .menu__item:nth-of-type(3n+2) .menu__link::after {
    border-top-color: var(--colorGreen);
  }
  .header.header--recruit .menu__item:nth-of-type(3n) .menu__link::after {
    border-top-color: var(--colorYellow);
  }
  .header.header--recruit .menu__banners .menu__banner__item:nth-of-type(n+2) {
    margin-block-start: 10px;
  }
}

.footer.footer--recruit .footer__main {
  background-position-y: 100%;
}
@media (min-width: 1024px) {
  .footer.footer--recruit .footer__main {
    background-image: url(/assets/img/common/footer_bg_recruit.webp);
    background-size: 1108px 222px;
  }
  .footer.footer--recruit .footer__main-inner {
    padding-block: 80px 200px;
  }
  .footer.footer--recruit .footer__nav {
    grid-template-columns: 1fr;
    padding-block-start: 0;
  }
  .footer.footer--recruit .footer__nav__item {
    position: relative;
    margin-inline: auto 0;
    z-index: 0;
  }
  .footer.footer--recruit .footer__nav__item a::before {
    position: absolute;
    top: 0;
    right: 0;
    bottom: 0;
    left: 0;
    content: "";
    z-index: -1;
    background: #ffffff;
    border-radius: 16px;
    transition: transform 0.2s cubic-bezier(0.215, 0.61, 0.355, 1);
  }
  .footer.footer--recruit .footer__nav__item:hover a::before {
    transform: scale(1.0731707317);
  }
  .footer.footer--recruit .footer__sub {
    padding-block: 36px;
  }
  .footer.footer--recruit .footer__copy {
    margin-block-start: 0;
  }
}
@media screen and (max-width: 1023px) {
  .footer.footer--recruit .footer__main {
    background-image: url(/assets/img/common/footer_bg_recruit_sp.webp);
    background-size: 100% auto;
  }
  .footer.footer--recruit .footer__main-inner {
    padding-block-end: 0;
  }
  .footer.footer--recruit .footer__nav {
    display: block;
    padding-block: 60px 150px;
    padding-inline: 41px;
  }
}

.wrapper[class*=recruit] {
  background-image: none;
}
@media (min-width: 1024px) {
  .wrapper[class*=recruit] {
    padding-block: 110px 160px;
  }
}
@media screen and (max-width: 1023px) {
  .wrapper[class*=recruit] {
    padding-block: 70px 80px;
  }
}

.wrapper.recruit {
  overflow: hidden;
  padding-block-start: 0;
}
@media screen and (max-width: 1023px) {
  .wrapper.recruit {
    padding-block-end: 21.3333333333vw;
  }
}
.wrapper.recruit .section__heading {
  position: relative;
  margin-block: 0;
  font-weight: 700;
  line-height: 1;
  z-index: 1;
}
.wrapper.recruit .section__heading .en-label {
  display: inline-block;
  margin-inline-end: 0.2em;
  font-weight: 400;
  font-family: "Righteous", sans-serif;
}
.wrapper.recruit .section__heading .en-label > *:nth-of-type(3n+1) {
  color: var(--colorRed);
}
.wrapper.recruit .section__heading .en-label > *:nth-of-type(3n+2) {
  color: var(--colorGreen);
}
.wrapper.recruit .section__heading .en-label > *:nth-of-type(3n) {
  color: var(--colorYellow);
}
.wrapper.recruit .section__lead {
  line-height: 2;
  font-weight: 700;
}
@media (min-width: 1024px) {
  .wrapper.recruit .section {
    margin-inline: auto;
    padding-inline: 48px;
    max-width: 1296px;
  }
  .wrapper.recruit .section__heading {
    font-size: 1.25rem;
    letter-spacing: -0.04em;
  }
  .wrapper.recruit .section__heading .en-label {
    font-size: 4rem;
  }
  .wrapper.recruit .section__lead {
    margin-block: 30px 0;
  }
}
@media screen and (max-width: 1200px) {
  .wrapper.recruit .section {
    overflow: hidden;
  }
}
@media screen and (max-width: 1023px) {
  .wrapper.recruit .section {
    padding-inline: 24px;
  }
  .wrapper.recruit .section__heading {
    font-size: 1.125rem;
    letter-spacing: -0.06em;
  }
  .wrapper.recruit .section__heading .en-label {
    font-size: 3rem;
  }
  .wrapper.recruit .section__lead {
    margin-block: 22px 0;
    line-height: 1.71;
  }
}
.wrapper.recruit .mainvisual {
  display: grid;
  margin-inline: auto;
}
.wrapper.recruit .mainvisual__heading {
  position: relative;
  z-index: 5;
}
.wrapper.recruit .mainvisual__heading img {
  object-fit: cover;
}
.wrapper.recruit .mainvisual__text {
  font-weight: 700;
  line-height: 2;
  letter-spacing: -0.06em;
}
.wrapper.recruit .mainvisual__text > *:nth-of-type(n+2) {
  margin-block-start: 2em;
}
.wrapper.recruit .mainvisual__img img, .wrapper.recruit .mainvisual__bg img {
  display: inline-block;
  margin-inline: auto;
  object-fit: cover;
}
.wrapper.recruit .mainvisual__bg {
  pointer-events: none;
  position: relative;
}
.wrapper.recruit .mainvisual__bg::before, .wrapper.recruit .mainvisual__bg::after {
  position: absolute;
  left: 50%;
  font-family: "Righteous", sans-serif;
  color: #ffffff;
  line-height: 1;
  white-space: nowrap;
  z-index: -1;
  letter-spacing: -0.01em;
  speak: none;
}
.wrapper.recruit .mainvisual__bg::before {
  content: "RECRUITMENT";
}
.wrapper.recruit .mainvisual__bg::after {
  content: "OYATSU TOWN OYATSU TOWN";
}
@media (min-width: 1024px) {
  .wrapper.recruit .mainvisual {
    grid-template-columns: auto auto;
    max-width: var(--maxContentWidth);
  }
  .wrapper.recruit .mainvisual__heading {
    grid-column: 2;
    grid-row: 1;
    margin-block: 587px 0;
    margin-inline: 67px -35px;
  }
  .wrapper.recruit .mainvisual__heading img {
    aspect-ratio: 594/112;
    width: 594px;
  }
  .wrapper.recruit .mainvisual__img {
    grid-column: 1;
    grid-row: 2;
  }
  .wrapper.recruit .mainvisual__img img {
    margin-block-start: -96px;
    margin-inline: -88px 0;
    width: 663px;
    max-width: unset;
  }
  .wrapper.recruit .mainvisual__text {
    grid-column: 2;
    grid-row: 2;
    margin-block: 26px 0;
    margin-inline-start: 39px;
    font-size: 1.5rem;
  }
  .wrapper.recruit .mainvisual__bg {
    grid-column: 1/3;
    grid-row: 1;
    z-index: -1;
  }
  .wrapper.recruit .mainvisual__bg::before {
    top: 158px;
    font-size: 30rem;
    transform: translateX(-50%) translateX(809px);
  }
  .wrapper.recruit .mainvisual__bg::after {
    top: 570px;
    font-size: 9rem;
    transform: translateX(-50%) translateX(271px);
  }
  .wrapper.recruit .mainvisual__bg picture {
    margin-inline: auto;
    width: fit-content;
  }
  .wrapper.recruit .mainvisual__bg picture img {
    aspect-ratio: 1163/852;
    width: 1163px;
    transform: translateX(-27px);
  }
}
@media screen and (max-width: 1200px) {
  .wrapper.recruit .mainvisual__heading {
    margin-inline-end: 0;
  }
  .wrapper.recruit .mainvisual__heading img {
    width: 100%;
  }
  .wrapper.recruit .mainvisual__img img {
    width: calc(100% + 72px);
  }
  .wrapper.recruit .mainvisual__bg::before {
    top: 10.9722222222vw;
    font-size: 33.3333333333vw;
    transform: translateX(-50%) translateX(56.1805555556vw);
  }
  .wrapper.recruit .mainvisual__bg::after {
    top: 39.5833333333vw;
    font-size: 10vw;
    transform: translateX(-50%) translateX(18.8194444444vw);
  }
}
@media screen and (max-width: 1023px) {
  .wrapper.recruit .mainvisual {
    grid-template-columns: 1fr;
    margin-block-start: 55px;
  }
  .wrapper.recruit .mainvisual__heading {
    grid-column: 1;
    grid-row: 1;
    align-self: end;
    justify-self: center;
    margin-block: 0 -34px;
    text-align: center;
  }
  .wrapper.recruit .mainvisual__heading img {
    aspect-ratio: 661/130;
    width: 88.1333333333vw;
  }
  .wrapper.recruit .mainvisual__img {
    grid-column: 1;
    grid-row: 2;
    margin-block-start: 85px;
    margin-inline: -100px;
    text-align: center;
  }
  .wrapper.recruit .mainvisual__img img {
    transform: translateX(9px);
    width: unset;
  }
  .wrapper.recruit .mainvisual__text {
    grid-column: 1;
    grid-row: 3;
    margin-block: 20px 0;
    margin-inline: 23px 20px;
    font-size: 1.125rem;
  }
  .wrapper.recruit .mainvisual__bg {
    grid-column: 1;
    grid-row: 1;
    text-align: center;
    margin-inline: -28px;
  }
  .wrapper.recruit .mainvisual__bg::before {
    top: 21.0666666667vw;
    font-size: 64vw;
    transform: translateX(-50%) translateX(107.8666666667vw);
  }
  .wrapper.recruit .mainvisual__bg::after {
    top: 76vw;
    font-size: 19.2vw;
    transform: translateX(-50%) translateX(36.1333333333vw);
  }
  .wrapper.recruit .mainvisual__bg img {
    transform: translateX(-12px);
    width: 124.8vw;
    aspect-ratio: 468/426;
  }
}
.wrapper.recruit .section.section--jobs {
  position: relative;
}
.wrapper.recruit .section.section--jobs::before {
  position: absolute;
  content: "";
  background: url(/assets/img/recruit/bg_jobs.webp);
  mix-blend-mode: multiply;
  z-index: -1;
}
.wrapper.recruit .section.section--jobs .jobs__item {
  position: relative;
  font-weight: 700;
  background: #ffffff;
}
.wrapper.recruit .section.section--jobs .jobs__image {
  overflow: hidden;
  position: relative;
  aspect-ratio: 1/1;
}
.wrapper.recruit .section.section--jobs .jobs__label {
  color: var(--colorGreen);
  font-weight: 800;
  line-height: 1.5;
}
.wrapper.recruit .section.section--jobs .jobs__button {
  color: #ffffff;
}
.wrapper.recruit .section.section--jobs .jobs__button::before {
  position: absolute;
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;
  content: "";
  z-index: 10;
}
.wrapper.recruit .section.section--jobs .jobs__button > span {
  position: relative;
  display: flex;
  align-items: center;
  justify-content: center;
  border-radius: calc(infinity * 1px);
  background-color: var(--colorGreen);
}
.wrapper.recruit .section.section--jobs .jobs__button > span::after {
  position: absolute;
  right: 19px;
  content: "";
  display: block;
  border: solid currentColor;
  border-color: transparent transparent transparent currentColor;
  border-width: 4px 0 4px 7px;
  width: 0;
  line-height: 1;
}
@media (min-width: 1024px) {
  .wrapper.recruit .section.section--jobs {
    margin-block: 73px 0;
    padding-block: 33px 137px;
  }
  .wrapper.recruit .section.section--jobs::before {
    top: 0;
    left: 50%;
    bottom: 0;
    width: 100vw;
    transform: translateX(-50%);
  }
  .wrapper.recruit .section.section--jobs .jobs__list {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    gap: 32px;
    margin-block-start: 38px;
  }
  .wrapper.recruit .section.section--jobs .jobs__item {
    position: relative;
    container-type: inline-size;
    display: grid;
    grid-template-columns: 1fr auto;
    grid-template-rows: min-content 1fr auto;
    border-radius: 24px;
    padding-block: 32px;
    padding-inline: 40px 32px;
    gap: 0 32px;
    z-index: 0;
  }
  .wrapper.recruit .section.section--jobs .jobs__item::before {
    position: absolute;
    top: 0;
    right: 0;
    bottom: 0;
    left: 0;
    content: "";
    z-index: -1;
    border-radius: 24px;
    background: #ffffff;
    transition: transform 0.2s cubic-bezier(0.215, 0.61, 0.355, 1);
  }
  .wrapper.recruit .section.section--jobs .jobs__image {
    --contentWidth: 1296;
    grid-column: 2;
    grid-row: 1/4;
    border-radius: 16px;
    width: 54.6875cqw;
  }
  .wrapper.recruit .section.section--jobs .jobs__image img {
    width: 100%;
  }
  .wrapper.recruit .section.section--jobs .jobs__label {
    grid-column: 1;
    grid-row: 1;
    font-size: 1.5rem;
    margin-block: -2px 0;
  }
  .wrapper.recruit .section.section--jobs .jobs__desc {
    grid-column: 1;
    grid-row: 2;
    margin-block: 14px 0;
    line-height: 2;
  }
  .wrapper.recruit .section.section--jobs .jobs__button {
    grid-column: 1;
    grid-row: 3;
    align-items: end;
  }
  .wrapper.recruit .section.section--jobs .jobs__button > span {
    height: 40px;
    z-index: 0;
  }
  .wrapper.recruit .section.section--jobs .jobs__button > span::before {
    position: absolute;
    top: 0;
    right: 0;
    bottom: 0;
    left: 0;
    content: "";
    z-index: -1;
    background: var(--colorGreen);
    border-radius: calc(infinity * 1px);
    transition: transform 0.2s cubic-bezier(0.215, 0.61, 0.355, 1);
  }
}
@media (hover: hover) {
  .wrapper.recruit .section.section--jobs .jobs__item:hover::before {
    transform: scale(1.0342465753);
  }
  .wrapper.recruit .section.section--jobs .jobs__item:hover .fp-event-card__view-star {
    transform: translateZ(0);
  }
  .wrapper.recruit .section.section--jobs .jobs__item:hover .jobs__button > span::before {
    transform: scale(1.12);
  }
}
@media screen and (max-width: 1023px) {
  .wrapper.recruit .section.section--jobs {
    margin-block: 43px 0;
    padding-block: 21px 108px;
  }
  .wrapper.recruit .section.section--jobs::before {
    top: 0;
    left: 0;
    bottom: 0;
    width: 100vw;
    background-size: 100vw auto;
  }
  .wrapper.recruit .section.section--jobs .jobs__list {
    display: flex;
    flex-direction: column;
    gap: 24px;
    margin-block: 29px 0;
  }
  .wrapper.recruit .section.section--jobs .jobs__item {
    border-radius: 12px;
    padding-block: 24px 32px;
    padding-inline: 24px;
  }
  .wrapper.recruit .section.section--jobs .jobs__image {
    border-radius: 8px;
  }
  .wrapper.recruit .section.section--jobs .jobs__image img {
    width: 100%;
  }
  .wrapper.recruit .section.section--jobs .jobs__label {
    font-size: 1.125rem;
    margin-block: 16px 0;
  }
  .wrapper.recruit .section.section--jobs .jobs__desc {
    margin-block: 8px 0;
    font-size: 0.875rem;
    line-height: 1.71;
  }
  .wrapper.recruit .section.section--jobs .jobs__button {
    display: block;
    margin-block: 20px 0;
    margin-inline: auto;
  }
  .wrapper.recruit .section.section--jobs .jobs__button > span {
    width: 150px;
    height: 30px;
    font-size: 0.75rem;
  }
}
.wrapper.recruit .section.section--benefits .benefits__list {
  font-weight: 700;
  line-height: 2;
}
.wrapper.recruit .section.section--benefits .benefits__item {
  position: relative;
}
.wrapper.recruit .section.section--benefits .benefits__item::before {
  position: absolute;
  content: "";
  background: no-repeat 0 0/cover;
  z-index: -1;
}
.wrapper.recruit .section.section--benefits .benefits__item:nth-of-type(1)::before {
  background-image: url(/assets/img/recruit/bg_cloud.svg);
}
.wrapper.recruit .section.section--benefits .benefits__item:nth-of-type(2)::before {
  background-image: url(/assets/img/recruit/bg_cloud_02.svg);
}
.wrapper.recruit .section.section--benefits .benefits__item:nth-of-type(3)::before {
  background-image: url(/assets/img/recruit/bg_cloud_03.svg);
}
.wrapper.recruit .section.section--benefits .benefits__label img {
  aspect-ratio: 356/451;
}
@media (min-width: 1024px) {
  .wrapper.recruit .section.section--benefits {
    margin-block: -28px 0;
    padding-block-start: 33px;
  }
  .wrapper.recruit .section.section--benefits .benefits__list {
    display: grid;
    gap: 89px;
    grid-template-columns: repeat(3, 1fr);
    margin-block: 36px 0;
  }
  .wrapper.recruit .section.section--benefits .benefits__item {
    display: grid;
    grid-template-columns: 1fr;
    grid-template-rows: min-content 1fr;
  }
  .wrapper.recruit .section.section--benefits .benefits__item:nth-of-type(1)::before {
    top: 299px;
    left: -56px;
    width: 339px;
    height: 174px;
  }
  .wrapper.recruit .section.section--benefits .benefits__item:nth-of-type(2) {
    margin-block-start: 86px;
  }
  .wrapper.recruit .section.section--benefits .benefits__item:nth-of-type(2)::before {
    top: -61px;
    left: -43px;
    width: 244px;
    height: 139px;
  }
  .wrapper.recruit .section.section--benefits .benefits__item:nth-of-type(3)::before {
    top: 292px;
    left: 43px;
    width: 356px;
    height: 200px;
  }
  .wrapper.recruit .section.section--benefits .benefits__label img {
    margin-inline: -8px;
    width: min(356px, 27.4691358025vw);
    max-width: unset;
  }
  .wrapper.recruit .section.section--benefits .benefits__desc {
    margin-block: 16px 0;
  }
}
@media screen and (max-width: 1023px) {
  .wrapper.recruit .section.section--benefits {
    margin-block: -35px 0;
    padding-block-start: 21px;
  }
  .wrapper.recruit .section.section--benefits .benefits__list {
    margin-block: 32px 0;
  }
  .wrapper.recruit .section.section--benefits .benefits__item:nth-of-type(1)::before {
    top: 227px;
    left: -7px;
    width: 255px;
    height: 131px;
  }
  .wrapper.recruit .section.section--benefits .benefits__item:nth-of-type(2)::before {
    top: -46px;
    left: 0;
    width: 184px;
    height: 105px;
  }
  .wrapper.recruit .section.section--benefits .benefits__item:nth-of-type(3)::before {
    top: 219px;
    left: 69px;
    width: 268px;
    height: 151px;
  }
  .wrapper.recruit .section.section--benefits .benefits__item:nth-of-type(n+2) {
    margin-block-start: 32px;
  }
  .wrapper.recruit .section.section--benefits .benefits__label {
    text-align: center;
  }
  .wrapper.recruit .section.section--benefits .benefits__label img {
    width: 70.4vw;
  }
  .wrapper.recruit .section.section--benefits .benefits__desc {
    margin-block: 12px 0;
    line-height: 1.71;
  }
}
.wrapper.recruit .section.section--flow .flow-step__img img {
  object-fit: cover;
}
.wrapper.recruit .section.section--flow .flow-step__list {
  position: relative;
  font-weight: 700;
  line-height: 2;
  background: no-repeat 0;
  z-index: 10;
}
.wrapper.recruit .section.section--flow .flow-step__item:nth-of-type(3n+1) .flow-step__label {
  color: var(--colorGreen);
}
.wrapper.recruit .section.section--flow .flow-step__item:nth-of-type(3n+2) .flow-step__label {
  color: var(--colorYellow);
}
.wrapper.recruit .section.section--flow .flow-step__item:nth-of-type(3n) .flow-step__label {
  color: var(--colorRed);
}
.wrapper.recruit .section.section--flow .flow-step__label {
  display: flex;
  align-items: center;
  justify-content: center;
  border-radius: 8px;
  background: #ffffff;
  font-weight: inherit;
}
@media (min-width: 1024px) {
  .wrapper.recruit .section.section--flow {
    margin-block: 100px 0;
    padding-block-start: 33px;
  }
  .wrapper.recruit .section.section--flow .flow-step__nav__button {
    display: none;
  }
  .wrapper.recruit .section.section--flow .flow-step__img {
    margin-block: -12px 0;
    margin-inline: -38px -42px;
    width: 1280px;
    height: 246px;
  }
  .wrapper.recruit .section.section--flow .flow-step__list {
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    gap: 80px;
    margin-block: -46px 0;
  }
  .wrapper.recruit .section.section--flow .flow-step__item:nth-of-type(2n) {
    margin-block-start: 24px;
  }
  .wrapper.recruit .section.section--flow .flow-step__label {
    font-size: 1.375rem;
    line-height: 1.3636363636;
    min-height: 40px;
    padding-block: 5px;
    padding-inline: 10px;
  }
  .wrapper.recruit .section.section--flow .flow-step__desc {
    margin-block: 20px 0;
  }
}
@media screen and (max-width: 1300px) {
  .wrapper.recruit .section.section--flow .flow-step__img {
    width: calc(100% + 80px);
  }
}
@media screen and (max-width: 1023px) {
  .wrapper.recruit .section.section--flow {
    margin-block: 68px 0;
    padding-block-start: 21px;
  }
  .wrapper.recruit .section.section--flow .flow-step {
    position: relative;
    overflow: hidden;
    margin-block: -14px 0;
    margin-inline: -24px;
    padding-block: 37px 0px;
    padding-inline: 24px;
    background: url(/assets/img/recruit/bg_flow.webp) no-repeat 50% 0/960px auto;
    z-index: 0;
  }
  .wrapper.recruit .section.section--flow .flow-step__nav__button {
    position: absolute;
    top: 86px;
    z-index: 10;
  }
  .wrapper.recruit .section.section--flow .flow-step__nav__button button {
    --size: 36px;
    position: relative;
    display: block;
    border: none;
    border-radius: 50%;
    width: var(--size);
    height: var(--size);
    background: #ffffff;
  }
  .wrapper.recruit .section.section--flow .flow-step__nav__button button::before {
    position: absolute;
    top: 50%;
    left: 50%;
    content: "";
    display: block;
    border: solid var(--colorGreen);
    border-color: transparent var(--colorGreen) transparent transparent;
    border-width: 4px 7px 4px 0;
    width: 0;
    line-height: 1;
    transform: translate(-50%, -50%) translateX(-2px);
  }
  .wrapper.recruit .section.section--flow .flow-step__nav__button button span {
    position: absolute !important;
    width: 1px !important;
    height: 1px !important;
    padding: 0 !important;
    margin: -1px !important;
    overflow: hidden !important;
    clip: rect(0, 0, 0, 0) !important;
    white-space: nowrap !important;
    border: 0 !important;
  }
  .wrapper.recruit .section.section--flow .flow-step__nav__button button:disabled {
    pointer-events: none;
    opacity: 0.5;
  }
  .wrapper.recruit .section.section--flow .flow-step__nav__button:has([data-nav-direction=prev]) {
    left: 12px;
  }
  .wrapper.recruit .section.section--flow .flow-step__nav__button:has([data-nav-direction=next]) {
    right: 12px;
  }
  .wrapper.recruit .section.section--flow .flow-step__nav__button:has([data-nav-direction=next]) button {
    transform: scale(-1, 1);
  }
  .wrapper.recruit .section.section--flow .flow-step__img {
    margin-inline-start: 30.8vw;
  }
  .wrapper.recruit .section.section--flow .flow-step__img img {
    width: 225.3333333333vw;
  }
  .wrapper.recruit .section.section--flow .flow-step__inner {
    transition: transform 0.3s ease-out;
  }
  .wrapper.recruit .section.section--flow img {
    max-width: unset;
  }
  .wrapper.recruit .section.section--flow .flow-step__list {
    position: relative;
    display: flex;
    flex-wrap: nowrap;
    gap: 16vw;
    margin-inline-start: calc(26vw - 24px);
    z-index: 1;
  }
  .wrapper.recruit .section.section--flow .flow-step__item {
    flex-shrink: 0;
    flex-basis: 48vw;
  }
  .wrapper.recruit .section.section--flow .flow-step__label {
    font-size: 1.0625rem;
    line-height: 1;
    height: 30px;
  }
  .wrapper.recruit .section.section--flow .flow-step__desc {
    margin-block: 18px 0;
    font-size: 0.875rem;
    line-height: 1.71;
  }
}

@media screen and (max-width: 1023px) {
  .wrapper.recruit-summary .breadcrumb {
    margin-block-end: 47px;
  }
}
.wrapper.recruit-summary .section {
  position: relative;
  background: #ffffff;
}
.wrapper.recruit-summary .section .table-img {
  position: absolute;
}
@media (min-width: 1024px) {
  .wrapper.recruit-summary .section {
    margin-block: 123px 80px;
    border-radius: 24px;
    padding-block: 80px 64px;
    padding-inline: 60px;
  }
  .wrapper.recruit-summary .section .table-img {
    top: max(-160px, -11.9047619048vw);
    left: min(226px, 16.8154761905vw);
    width: min(770px, 57.2916666667vw);
  }
}
@media screen and (max-width: 1023px) {
  .wrapper.recruit-summary .section {
    margin-block: 80px 44px;
    margin-inline: -12px;
    border-radius: 12px;
    padding-block: 40px 48px;
    padding-inline: 12px;
  }
  .wrapper.recruit-summary .section .table-img {
    top: max(-98px, -26.1333333333vw);
    left: max(-17px, -4.5333333333vw);
    width: min(385px, 102.6666666667vw);
  }
}
@media (min-width: 1024px) {
  .wrapper.recruit-summary .table th:empty, .wrapper.recruit-summary .table td:empty {
    height: 144px;
  }
  .wrapper.recruit-summary .table th {
    width: min(228px, 16.9642857143vw);
  }
}
@media screen and (max-width: 1023px) {
  .wrapper.recruit-summary .table th:empty, .wrapper.recruit-summary .table td:empty {
    height: 56px;
  }
  .wrapper.recruit-summary .table th {
    width: min(104px, 27.7333333333vw);
  }
}

@media (min-width: 1024px) {
  .wrapper.recruit .form__list,
  .wrapper.recruit-form .form__list {
    grid-template-columns: 218px auto;
  }
}
/* faq
--------------------------------------------------------------------------------------------------- */
@media (min-width: 1024px) {
  .wrapper.faq .anc-nav {
    margin-block: 60px 0;
  }
}
@media screen and (max-width: 1023px) {
  .wrapper.faq .anc-nav {
    margin-block: 25px 0;
  }
}
@media (min-width: 1024px) {
  .wrapper.faq .text-heading {
    margin-block-start: 75px;
  }
}
@media screen and (max-width: 1023px) {
  .wrapper.faq .text-heading {
    margin-block-start: 56px;
  }
}
.wrapper.faq .faq-list {
  display: flex;
  flex-direction: column;
  font-weight: 700;
}
.wrapper.faq .faq-list .ico {
  position: absolute;
  display: grid;
}
.wrapper.faq .faq-list .ico svg, .wrapper.faq .faq-list .ico__text {
  grid-column: 1;
  grid-row: 1;
}
.wrapper.faq .faq-list .ico__text {
  align-self: center;
  justify-self: center;
  font-family: "Righteous", sans-serif;
  font-weight: 400;
  line-height: 1;
}
.wrapper.faq .faq-list__item {
  overflow: hidden;
  background: #ffffff;
}
.wrapper.faq .faq-list__question {
  position: relative;
  transition: background-color 0.2s cubic-bezier(0.215, 0.61, 0.355, 1);
}
.wrapper.faq .faq-list__question .ico__text {
  color: #ffffff;
}
.wrapper.faq .faq-list__question::after {
  --size: 22px;
  position: absolute;
  top: 0;
  bottom: 0;
  margin: auto;
  right: 0;
  font-family: "icon";
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  font-style: normal;
  font-variant: normal;
  font-weight: 400;
  speak: none;
  text-decoration: none;
  text-transform: none;
  content: "\e010";
  font-size: var(--size);
  line-height: var(--size);
  vertical-align: middle;
  height: var(--size);
}
.wrapper.faq .faq-list__question.is-open::after {
  --size: 4px;
  content: "\e00f";
  font-size: var(--size);
  height: var(--size);
  line-height: var(--size);
}
.wrapper.faq .faq-list__answer {
  overflow: hidden;
}
.wrapper.faq .faq-list__answer__inner {
  position: relative;
  border-top: 1px solid var(--colorBgGray);
}
.wrapper.faq .faq-list__answer__inner > *:last-child {
  margin-bottom: 0 !important;
}
.wrapper.faq .faq-list__answer__inner > * {
  line-height: 2;
}
.wrapper.faq .faq-list__answer__inner > *:nth-child(n+3) {
  margin-block-start: 2em;
}
.wrapper.faq .faq-list__answer .ico__text {
  color: #ffffff;
}
.wrapper.faq .faq-list.--red .faq-list__question {
  color: var(--colorRed);
}
.wrapper.faq .faq-list.--red .faq-list__question .ico__img {
  fill: var(--colorRed);
}
.wrapper.faq .faq-list.--red .faq-list__answer .ico__img {
  fill: var(--colorBgRed);
}
.wrapper.faq .faq-list.--red .faq-list__answer a,
.wrapper.faq .faq-list.--red .faq-list__answer .ico__text {
  color: var(--colorRed);
}
.wrapper.faq .faq-list.--green .faq-list__question {
  color: var(--colorGreen);
}
.wrapper.faq .faq-list.--green .faq-list__question .ico__img {
  fill: var(--colorGreen);
}
.wrapper.faq .faq-list.--green .faq-list__answer .ico__img {
  fill: var(--colorBgGreen);
}
.wrapper.faq .faq-list.--green .faq-list__answer a,
.wrapper.faq .faq-list.--green .faq-list__answer .ico__text {
  color: var(--colorGreen);
}
.wrapper.faq .faq-list.--yellow .faq-list__question {
  color: var(--colorYellow);
}
.wrapper.faq .faq-list.--yellow .faq-list__question .ico__img {
  fill: var(--colorYellow);
}
.wrapper.faq .faq-list.--yellow .faq-list__answer .ico__img {
  fill: var(--colorBgYellow);
}
.wrapper.faq .faq-list.--yellow .faq-list__answer a,
.wrapper.faq .faq-list.--yellow .faq-list__answer .ico__text {
  color: var(--colorYellow);
}
.wrapper.faq .faq-list__item.js-faqAccordion .faq-list__question {
  cursor: pointer;
}
.wrapper.faq .faq-list__item.js-faqAccordion .faq-list__answer {
  transition: height 0.2s cubic-bezier(0.215, 0.61, 0.355, 1);
}
@media (min-width: 1024px) {
  .wrapper.faq .faq-list {
    gap: 8px;
    margin-block: 20px 0;
  }
  .wrapper.faq .faq-list__item {
    border-radius: 24px;
  }
  .wrapper.faq .faq-list__question {
    padding-block: 33px;
    padding-inline: 101px 101px;
    font-size: 1.125rem;
  }
  .wrapper.faq .faq-list__question::after {
    right: 40px;
  }
  .wrapper.faq .faq-list__answer__inner {
    padding-block: 33px;
    padding-inline: 101px 101px;
  }
  .wrapper.faq .faq-list .ico {
    top: 26px;
    left: 31px;
    width: 48px;
    height: 46px;
  }
  .wrapper.faq .faq-list .ico svg {
    width: 48px;
    height: 46px;
  }
  .wrapper.faq .faq-list .ico .ico__text {
    font-size: 1.75rem;
  }
}
@media (hover: hover) {
  .wrapper.faq .faq-list .faq-list__answer a:hover {
    text-decoration: underline;
  }
  .wrapper.faq .faq-list.--red .faq-list__item:hover .faq-list__question:not(.is-open) {
    background-color: var(--colorBgRed);
  }
  .wrapper.faq .faq-list.--green .faq-list__item:hover .faq-list__question:not(.is-open) {
    background-color: var(--colorBgGreen);
  }
  .wrapper.faq .faq-list.--yellow .faq-list__item:hover .faq-list__question:not(.is-open) {
    background-color: var(--colorBgYellow);
  }
}
@media screen and (max-width: 1023px) {
  .wrapper.faq .faq-list {
    gap: 6px;
    margin-block: 18px 0;
    margin-inline: -12px;
  }
  .wrapper.faq .faq-list__item {
    border-radius: 18px;
  }
  .wrapper.faq .faq-list__question {
    padding-block: 24px;
    padding-inline: 71px 46px;
    font-size: 1rem;
  }
  .wrapper.faq .faq-list__question::after {
    right: 24px;
  }
  .wrapper.faq .faq-list__answer__inner {
    padding-block: 24px;
    padding-inline: 71px 46px;
  }
  .wrapper.faq .faq-list .ico {
    top: 20px;
    left: 24px;
    width: 36px;
    height: 34px;
  }
  .wrapper.faq .faq-list .ico svg {
    width: 36px;
    height: 34px;
  }
  .wrapper.faq .faq-list .ico .ico__text {
    font-size: 1.375rem;
  }
}
.wrapper.faq .menu-back {
  text-align: center;
  font-weight: 700;
}
.wrapper.faq .menu-back__link {
  position: relative;
  display: inline-block;
}
.wrapper.faq .menu-back__link::before {
  position: absolute;
  left: 0;
  top: 50%;
  content: "";
  display: block;
  border: solid currentColor;
  border-color: transparent transparent currentColor;
  border-width: 0 4px 7px;
  width: 0;
  line-height: 1;
  transform: translateY(-50%);
}
.wrapper.faq .menu-back__link span {
  position: relative;
}
.wrapper.faq .menu-back__link span::after {
  content: "";
  position: absolute;
  left: 0;
  bottom: 0;
  width: 100%;
  height: 1px;
  background-color: currentColor;
  transform: scaleX(0);
  transform-origin: right center; /* 初期：右基準で縮む準備 */
  transition: transform 0.3s ease;
}
.wrapper.faq .menu-back.--red .menu-back__link {
  color: var(--colorRed);
}
.wrapper.faq .menu-back.--green .menu-back__link {
  color: var(--colorGreen);
}
.wrapper.faq .menu-back.--yellow .menu-back__link {
  color: var(--colorYellow);
}
@media (min-width: 1024px) {
  .wrapper.faq .menu-back {
    margin-block: 36px 0;
  }
  .wrapper.faq .menu-back__link {
    padding-inline-start: 20px;
  }
}
@media (hover: hover) {
  .wrapper.faq .menu-back__link:hover span::after {
    transform: scaleX(1);
    transform-origin: left center;
  }
}
@media screen and (max-width: 1023px) {
  .wrapper.faq .menu-back {
    margin-block: 30px 0;
  }
  .wrapper.faq .menu-back__link {
    padding-inline-start: 18px;
  }
}

/* reserve
--------------------------------------------------------------------------------------------------- */
.wrapper.reserve .lead {
  text-align: center;
}
.wrapper.reserve .lead__text02 {
  font-weight: 500;
}
.wrapper.reserve .lead__step-list {
  display: grid;
  counter-reset: num;
  background: no-repeat 50% 0/100% auto;
}
.wrapper.reserve .lead__step-list__label {
  position: relative;
  display: block;
  background: #ffffff;
  font-weight: 700;
  z-index: 1;
}
.wrapper.reserve .lead__step-list__image {
  position: absolute;
}
.wrapper.reserve .lead__step-list__image img {
  width: 100%;
  height: auto;
}
.wrapper.reserve .lead__step-list__item {
  position: relative;
  counter-increment: num;
}
.wrapper.reserve .lead__step-list__item::before {
  display: block;
  content: counter(num, decimal-leading-zero);
  font-family: "Righteous", sans-serif;
  color: #ffffff;
  font-weight: 400;
  text-align: left;
}
.wrapper.reserve .lead__step-list__item:nth-of-type(3n+1) {
  color: var(--colorGreen);
}
.wrapper.reserve .lead__step-list__item:nth-of-type(3n+2) {
  color: var(--colorYellow);
}
.wrapper.reserve .lead__step-list__item:nth-of-type(3n) {
  color: var(--colorRed);
}
@media (min-width: 1024px) {
  .wrapper.reserve .lead__text {
    margin-block: 78px 0;
  }
  .wrapper.reserve .lead__text img {
    aspect-ratio: 338/64;
    width: 388px;
    height: 64px;
  }
  .wrapper.reserve .lead__text02 {
    margin-block: 24px 0;
  }
  .wrapper.reserve .lead__step-list {
    grid-template-columns: repeat(5, min(192px, 14.8148148148vw));
    gap: min(60px, 4.6296296296vw);
    margin-inline: max(-48px, -3.75vw);
    margin-block: 32px 0;
    padding-block: 42px 0;
    padding-inline: 40px;
    background-image: url(/assets/img/reserve/bg_lead.webp);
    font-size: min(1.125rem, 1.3888888889vw);
  }
  .wrapper.reserve .lead__step-list__label {
    margin-block: min(40px, 3.0864197531vw) 0;
    border-radius: 8px;
    padding-block: 7px;
  }
  .wrapper.reserve .lead__step-list__item::before {
    font-size: min(10rem, 12.3456790123vw);
    height: 116px;
    line-height: 116px;
  }
  .wrapper.reserve .lead__step-list__item:nth-of-type(2n) {
    margin-top: 24px;
  }
  .wrapper.reserve .lead__step-list__item:nth-of-type(1) .lead__step-list__image {
    top: min(17px, 1.3117283951vw);
    left: min(27px, 2.0833333333vw);
    width: min(175px, 13.5030864198vw);
  }
  .wrapper.reserve .lead__step-list__item:nth-of-type(2) .lead__step-list__image {
    top: min(32px, 2.4691358025vw);
    left: 0;
    width: min(175px, 13.5030864198vw);
  }
  .wrapper.reserve .lead__step-list__item:nth-of-type(3) .lead__step-list__image {
    top: min(35px, 2.700617284vw);
    right: 0;
    width: min(199px, 15.3549382716vw);
  }
  .wrapper.reserve .lead__step-list__item:nth-of-type(4) .lead__step-list__image {
    top: min(40px, 3.0864197531vw);
    left: 0;
    width: min(146px, 11.2654320988vw);
  }
  .wrapper.reserve .lead__step-list__item:nth-of-type(5) .lead__step-list__image {
    top: min(10px, 0.7716049383vw);
    left: min(13px, 1.0030864198vw);
    width: min(206px, 15.8950617284vw);
  }
}
@media screen and (max-width: 1023px) {
  .wrapper.reserve .lead {
    margin-inline: -24px;
  }
  .wrapper.reserve .lead__text {
    margin-block: 60px 0;
  }
  .wrapper.reserve .lead__text img {
    aspect-ratio: 290/48;
    width: 290px;
    height: 48px;
  }
  .wrapper.reserve .lead__text02 {
    margin-block: 16px 0;
    margin-inline: 20px;
    line-height: 1.71;
  }
  .wrapper.reserve .lead__step-list {
    grid-template-columns: repeat(2, 1fr);
    gap: 11.7333333333vw 6.1333333333vw;
    margin-block: 3px 0;
    padding-block: 8.8vw 0;
    padding-inline: 3.2vw;
    height: 156.8vw;
    background-image: url(/assets/img/reserve/bg_lead_sp.webp);
    font-size: min(1.09375rem, 4.6666666667vw);
  }
  .wrapper.reserve .lead__step-list__label {
    margin-block: 8vw 0;
    border-radius: 6px;
    padding-block: 1.3333333333vw;
  }
  .wrapper.reserve .lead__step-list__item {
    width: 43.7333333333vw;
  }
  .wrapper.reserve .lead__step-list__item::before {
    font-size: 32vw;
    height: 23.2vw;
    line-height: 23.2vw;
  }
  .wrapper.reserve .lead__step-list__item:nth-of-type(2n) {
    transform: translateY(28.2666666667vw);
  }
  .wrapper.reserve .lead__step-list__item:nth-of-type(1) .lead__step-list__image {
    top: 3.4666666667vw;
    left: 8.2666666667vw;
    width: 34.9333333333vw;
  }
  .wrapper.reserve .lead__step-list__item:nth-of-type(2) .lead__step-list__image {
    top: 6.4vw;
    left: 2.4vw;
    width: 35.4666666667vw;
  }
  .wrapper.reserve .lead__step-list__item:nth-of-type(3) .lead__step-list__image {
    top: 6.1333333333vw;
    right: 2.4vw;
    width: 40.2666666667vw;
  }
  .wrapper.reserve .lead__step-list__item:nth-of-type(4) .lead__step-list__image {
    top: 8vw;
    left: 2.6666666667vw;
    width: 29.3333333333vw;
  }
  .wrapper.reserve .lead__step-list__item:nth-of-type(5) .lead__step-list__image {
    top: 1.8666666667vw;
    left: 5.0666666667vw;
    width: 39.2vw;
  }
}
.wrapper.reserve .nav__item img {
  width: 100%;
  height: auto;
}
@media (min-width: 1024px) {
  .wrapper.reserve .nav {
    margin-block: 48px 0;
  }
  .wrapper.reserve .nav__list {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    gap: min(32px, 2.4691358025vw);
  }
  .wrapper.reserve .nav__link {
    position: relative;
    color: #ffffff;
  }
  .wrapper.reserve .nav__link img {
    transition: transform 0.2s cubic-bezier(0.215, 0.61, 0.355, 1);
  }
  .wrapper.reserve .nav__item:nth-of-type(1) {
    grid-column: 1/3;
  }
  .wrapper.reserve .nav__item:nth-of-type(1) img {
    margin-block-start: max(-13px, -1.0030864198vw);
    aspect-ratio: 1200/237;
  }
  .wrapper.reserve .nav__item:nth-of-type(2) img {
    aspect-ratio: 584/224;
  }
  .wrapper.reserve .nav__item:nth-of-type(3) img {
    margin-block-start: max(-23px, -1.774691358vw);
    aspect-ratio: 584/247;
  }
}
@media (hover: hover) {
  .wrapper.reserve .nav__link:hover img {
    transform: scale(1.05);
  }
}
@media screen and (max-width: 1023px) {
  .wrapper.reserve .nav {
    margin-block: 36px 0;
  }
  .wrapper.reserve .nav__item:nth-of-type(n+2) {
    margin-block-start: 12px;
  }
}
.wrapper.reserve .reservation {
  font-weight: 700;
}
.wrapper.reserve .reservation__notes {
  line-height: 2;
}
.wrapper.reserve .reservation__notes__label, .wrapper.reserve .reservation__notes__list {
  margin-block: 0;
}
.wrapper.reserve .reservation__notes__item {
  padding-left: 1em;
  text-indent: -1em;
}
.wrapper.reserve .reservation__notes__item::before {
  content: "・";
  speak: none;
}
.wrapper.reserve .reservation .reservation-box {
  overflow: hidden;
  background: #ffffff;
}
.wrapper.reserve .reservation .reservation-box__heading {
  position: relative;
  margin-block: 0;
  font-weight: 700;
  transition: background-color 0.2s cubic-bezier(0.215, 0.61, 0.355, 1);
}
.wrapper.reserve .reservation .reservation-box__heading::after {
  position: absolute;
  top: 0;
  bottom: 0;
  margin: auto;
  right: 0;
  font-family: "icon";
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  font-style: normal;
  font-variant: normal;
  font-weight: 400;
  speak: none;
  text-decoration: none;
  text-transform: none;
  content: "\e010";
  font-size: var(--size);
  line-height: var(--size);
  vertical-align: middle;
  height: var(--size);
}
.wrapper.reserve .reservation .reservation-box__heading.is-open::after {
  --size: 4px;
  content: "\e00f";
  font-size: var(--size);
  height: var(--size);
  line-height: var(--size);
}
.wrapper.reserve .reservation .reservation-box__body {
  overflow: hidden;
  transition: height 0.2s cubic-bezier(0.215, 0.61, 0.355, 1);
  font-weight: 500;
}
.wrapper.reserve .reservation .reservation-box__step {
  counter-reset: num;
  border-top: 1px solid var(--colorBgGray);
}
.wrapper.reserve .reservation .reservation-box__step__item {
  counter-increment: num;
}
.wrapper.reserve .reservation .reservation-box__step__body {
  line-height: 2em;
}
.wrapper.reserve .reservation .reservation-box__step__label {
  position: relative;
  display: block;
}
.wrapper.reserve .reservation .reservation-box__step__label::before {
  position: absolute;
  left: 0;
  display: flex;
  align-items: center;
  justify-content: center;
  border-radius: 50%;
  width: var(--size);
  height: var(--size);
  content: counter(num);
  color: #ffffff;
  font-family: "Righteous", sans-serif;
  font-weight: 400;
}
.wrapper.reserve .reservation .reservation-box__step__image {
  text-align: center;
}
.wrapper.reserve .reservation .reservation-box__step__image img {
  max-width: 100%;
  height: auto;
}
.wrapper.reserve .reservation .reservation-box.--red .reservation-box__heading {
  color: var(--colorRed);
}
.wrapper.reserve .reservation .reservation-box.--red .reservation-box__step__label::before {
  background-color: var(--colorRed);
}
.wrapper.reserve .reservation .reservation-box.--green .reservation-box__heading {
  color: var(--colorGreen);
}
.wrapper.reserve .reservation .reservation-box.--green .reservation-box__step__label::before {
  background-color: var(--colorGreen);
}
.wrapper.reserve .reservation .reservation-box.--yellow .reservation-box__heading {
  color: var(--colorYellow);
}
.wrapper.reserve .reservation .reservation-box.--yellow .reservation-box__step__label::before {
  background-color: var(--colorYellow);
}
@media (min-width: 1024px) {
  .wrapper.reserve .reservation {
    margin-block: 78px 0;
  }
  .wrapper.reserve .reservation__notes {
    margin-block: 24px 0;
  }
  .wrapper.reserve .reservation .reservation-box {
    margin-block: 8px 0;
    border-radius: 24px;
  }
  .wrapper.reserve .reservation .reservation-box__heading {
    padding-block: 38px;
    padding-inline: 40px;
    font-size: 1.25rem;
  }
  .wrapper.reserve .reservation .reservation-box__heading::after {
    --size: 22px;
    right: 40px;
  }
  .wrapper.reserve .reservation .reservation-box__heading.is-open::after {
    --size: 4px;
  }
  .wrapper.reserve .reservation .reservation-box__step {
    padding-block: 38px;
    padding-inline: 40px;
  }
  .wrapper.reserve .reservation .reservation-box__step__item:nth-of-type(n+2) {
    margin-block-start: 44px;
  }
  .wrapper.reserve .reservation .reservation-box__step__label {
    padding-inline-start: 52px;
  }
  .wrapper.reserve .reservation .reservation-box__step__label::before {
    --size: 32px;
    top: -0.2em;
    font-size: 1.125rem;
  }
  .wrapper.reserve .reservation .reservation-box__step__body {
    margin-block: 36px 0;
    padding-inline-start: 52px;
  }
  .wrapper.reserve .reservation .reservation-box__step__image {
    margin-block: 36px 0;
  }
  .wrapper.reserve .reservation .reservation-box:nth-child(1 of .reservation-box) {
    margin-block-start: 32px;
  }
}
@media (hover: hover) {
  .wrapper.reserve .reservation .reservation-box.js_reserveAccordion .reservation-box__heading {
    cursor: pointer;
  }
  .wrapper.reserve .reservation .reservation-box.js_reserveAccordion.--red:hover .reservation-box__heading:not(.is-open) {
    background: var(--colorBgRed);
  }
  .wrapper.reserve .reservation .reservation-box.js_reserveAccordion.--green:hover .reservation-box__heading:not(.is-open) {
    background: var(--colorBgGreen);
  }
  .wrapper.reserve .reservation .reservation-box.js_reserveAccordion.--yellow:hover .reservation-box__heading:not(.is-open) {
    background: var(--colorBgYellow);
  }
}
@media screen and (max-width: 1023px) {
  .wrapper.reserve .reservation {
    margin-block: 54px 0;
  }
  .wrapper.reserve .reservation__notes {
    margin-block: 20px 0;
  }
  .wrapper.reserve .reservation .reservation-box {
    margin-block: 6px 0;
    margin-inline: -12px;
    border-radius: 18px;
  }
  .wrapper.reserve .reservation .reservation-box__heading {
    padding-block: 26px;
    padding-inline: 29px;
    font-size: 1rem;
  }
  .wrapper.reserve .reservation .reservation-box__heading::after {
    --size: 16px;
    right: 24px;
  }
  .wrapper.reserve .reservation .reservation-box__heading.is-open::after {
    --size: 3px;
  }
  .wrapper.reserve .reservation .reservation-box__step {
    padding-block: 38px;
    padding-inline: 40px;
  }
  .wrapper.reserve .reservation .reservation-box__step__item:nth-of-type(n+2) {
    margin-block-start: 44px;
  }
  .wrapper.reserve .reservation .reservation-box__step__label {
    padding-inline-start: 38px;
  }
  .wrapper.reserve .reservation .reservation-box__step__label::before {
    --size: 28px;
    top: -0.2em;
    font-size: 1rem;
  }
  .wrapper.reserve .reservation .reservation-box__step__body {
    margin-block: 18px 0;
  }
  .wrapper.reserve .reservation .reservation-box__step__image {
    margin-block: 18px 0;
  }
  .wrapper.reserve .reservation .reservation-box:nth-child(1 of .reservation-box) {
    margin-block-start: 32px;
  }
}

/* price
--------------------------------------------------------------------------------------------------- */
@media (min-width: 1024px) {
  .wrapper.price .text + .notes-list {
    margin-block: 0;
  }
  .wrapper.price .text + .table-wrap {
    margin-block: 38px 0;
  }
}
.wrapper.price .price {
  font-family: "Righteous", sans-serif;
  font-weight: 400;
}
.wrapper.price .price__unit {
  font-family: "M PLUS 1", sans-serif;
  font-weight: 500;
}
.wrapper.price .section__inner {
  background: #ffffff;
}
.wrapper.price .section .text-heading + .number-list,
.wrapper.price .section .text-heading + .normal-list,
.wrapper.price .section .text-heading + .text {
  margin-block: 14px 0;
}
@media (min-width: 1024px) {
  .wrapper.price .section {
    margin-block: 72px 0;
  }
  .wrapper.price .section__inner:first-of-type {
    margin-block-start: 40px;
  }
  .wrapper.price .section__inner .media :where(.notes-list) {
    margin-block: 28px 0;
  }
}
@media screen and (max-width: 1023px) {
  .wrapper.price .section {
    margin-block: 84px 0;
  }
  .wrapper.price .section__inner:first-of-type {
    margin-block-start: 24px;
  }
  .wrapper.price .section__inner :where(.notes-list) {
    margin-block: 18px 0;
  }
  .wrapper.price .section:first-of-type {
    margin-block-start: 48px;
  }
}
.wrapper.price :where(.table-wrap) {
  overflow: hidden;
  border: 1px solid var(--colorLine);
}
.wrapper.price :where(.table-wrap) table {
  margin: -1px;
  width: calc(100% + 2px);
  table-layout: fixed;
  border-collapse: collapse;
}
@media (min-width: 1024px) {
  .wrapper.price :where(.table-wrap) {
    margin-block-start: 48px;
    border-radius: 12px;
  }
  .wrapper.price :where(.table-wrap) table thead th {
    padding-block: 12px;
  }
  .wrapper.price :where(.table-wrap) table thead th:not([class]) {
    font-size: 1.25rem;
    text-align: left;
  }
  .wrapper.price :where(.table-wrap) table thead th[class] {
    color: #ffffff;
    text-align: center;
    font-size: 1.125rem;
    border-width: 0;
  }
  .wrapper.price :where(.table-wrap) table tbody th, .wrapper.price :where(.table-wrap) table tbody td {
    padding-block: 8px;
  }
  .wrapper.price :where(.table-wrap) table tbody th {
    background: #ffffff;
    text-align: left;
  }
  .wrapper.price :where(.table-wrap) table tbody td {
    text-align: center;
    border-width: 1px 0;
  }
  .wrapper.price :where(.table-wrap) table .regular {
    background: var(--colorBgYellow);
    color: var(--colorYellow);
  }
  .wrapper.price :where(.table-wrap) table .peak {
    background: var(--colorBgRed);
    color: var(--colorRed);
  }
  .wrapper.price :where(.table-wrap) table .value {
    background: var(--colorBgGreen);
    color: var(--colorGreen);
  }
  .wrapper.price :where(.table-wrap) table th.regular {
    background: var(--colorYellow);
  }
  .wrapper.price :where(.table-wrap) table th.peak {
    background: var(--colorRed);
  }
  .wrapper.price :where(.table-wrap) table th.value {
    background: var(--colorGreen);
  }
  .wrapper.price :where(.table-wrap).--small table th,
  .wrapper.price :where(.table-wrap).--small table td {
    padding-block: 8px;
    padding-inline: 27px;
    border-width: 1px 0;
  }
  .wrapper.price :where(.table-wrap).--small table td {
    width: 58%;
    background: var(--colorBg02);
  }
  .wrapper.price :where(.table-wrap) .price {
    font-size: 1.5rem;
  }
  .wrapper.price :where(.table-wrap) .price__unit {
    font-size: 1rem;
  }
  .wrapper.price :where(.table-wrap) .price__free {
    font-size: 1.25rem;
    font-weight: 700;
  }
  .wrapper.price :where(.table-wrap):first-child {
    margin-block-start: 0;
  }
}
@media screen and (max-width: 1023px) {
  .wrapper.price :where(.table-wrap) {
    margin-block: 36px 0;
    border-radius: 6px;
  }
  .wrapper.price :where(.table-wrap) .spPrice {
    margin-block: 0;
  }
  .wrapper.price :where(.table-wrap) .spPrice > .heading {
    margin-block: 0;
    padding-block: 10px;
    padding-inline: 20px;
    background: var(--colorBg02);
    font-size: 1.125rem;
    font-weight: 700;
  }
  .wrapper.price :where(.table-wrap) .spPrice__list {
    margin-block: 0;
  }
  .wrapper.price :where(.table-wrap) .spPrice__sub-list {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    font-weight: 500;
    margin-block: 0;
  }
  .wrapper.price :where(.table-wrap) .spPrice__sub-list__item {
    display: grid;
    grid-template-columns: subgrid;
    grid-column: 1/3;
    text-align: center;
  }
  .wrapper.price :where(.table-wrap) .spPrice__sub-list__item:nth-of-type(n+2) {
    border-top: 1px solid var(--colorLine);
  }
  .wrapper.price :where(.table-wrap) .spPrice__sub-list__label,
  .wrapper.price :where(.table-wrap) .spPrice__sub-list .price,
  .wrapper.price :where(.table-wrap) .spPrice__sub-list .price__free {
    padding-block: 12px;
  }
  .wrapper.price :where(.table-wrap) .spPrice__item .category {
    display: block;
    padding-block: 12px;
    font-size: 1rem;
    color: #ffffff;
    text-align: center;
  }
  .wrapper.price :where(.table-wrap) .spPrice__item.--regular .category {
    background: var(--colorYellow);
  }
  .wrapper.price :where(.table-wrap) .spPrice__item.--regular .spPrice__sub-list__item .price,
  .wrapper.price :where(.table-wrap) .spPrice__item.--regular .spPrice__sub-list__item .price__free {
    background: var(--colorBgYellow);
    color: var(--colorYellow);
  }
  .wrapper.price :where(.table-wrap) .spPrice__item.--peak .category {
    background: var(--colorRed);
  }
  .wrapper.price :where(.table-wrap) .spPrice__item.--peak .spPrice__sub-list__item .price,
  .wrapper.price :where(.table-wrap) .spPrice__item.--peak .spPrice__sub-list__item .price__free {
    background: var(--colorBgRed);
    color: var(--colorRed);
  }
  .wrapper.price :where(.table-wrap) .spPrice__item.--value .category {
    background: var(--colorGreen);
  }
  .wrapper.price :where(.table-wrap) .spPrice__item.--value .spPrice__sub-list__item .price,
  .wrapper.price :where(.table-wrap) .spPrice__item.--value .spPrice__sub-list__item .price__free {
    background: var(--colorBgGreen);
    color: var(--colorGreen);
  }
  .wrapper.price :where(.table-wrap) table th,
  .wrapper.price :where(.table-wrap) table td {
    padding-block: 8px;
    padding-inline: 10px;
    border-width: 1px 0;
  }
  .wrapper.price :where(.table-wrap) table td {
    background: var(--colorBg02);
  }
  .wrapper.price :where(.table-wrap) table tbody th {
    background: #ffffff;
    text-align: left;
  }
  .wrapper.price :where(.table-wrap) table tbody td {
    text-align: center;
    border-width: 1px 0;
  }
  .wrapper.price :where(.table-wrap) .price {
    font-size: 1.125rem;
  }
  .wrapper.price :where(.table-wrap) .price__unit {
    font-size: 0.75rem;
  }
  .wrapper.price :where(.table-wrap) .price__free {
    font-weight: 700;
    font-size: 1.125rem;
  }
  .wrapper.price :where(.table-wrap):first-of-type {
    margin-block-start: 32px;
  }
}
.wrapper.price .table-wrap02 {
  overflow: hidden;
  border: 1px solid var(--colorLine);
}
.wrapper.price .table-wrap02 table {
  margin: -1px;
  width: calc(100% + 2px);
  border-collapse: collapse;
}
.wrapper.price .table-wrap02 table .table__image {
  aspect-ratio: 238/148;
}
@media (min-width: 1024px) {
  .wrapper.price .table-wrap02 {
    margin-block-start: 48px;
    border-radius: 12px;
  }
  .wrapper.price .table-wrap02 table thead th {
    text-align: center;
    background: #ffffff;
    border-bottom-width: 0;
  }
  .wrapper.price .table-wrap02 table tbody th, .wrapper.price .table-wrap02 table tbody td {
    padding-block: 14px 32px;
    padding-inline: 32px;
    border-width: 0 1px;
  }
  .wrapper.price .table-wrap02 table tbody th {
    font-size: 1.25rem;
    text-align: center;
    width: min(320px, 26.6666666667vw);
  }
  .wrapper.price .table-wrap02 table tbody th .table__image {
    margin-block: 14px 0;
  }
  .wrapper.price .table-wrap02 table tbody td {
    vertical-align: middle;
  }
  .wrapper.price .table-wrap02 table tbody tr:nth-child(3n+1) th, .wrapper.price .table-wrap02 table tbody tr:nth-child(3n+1) td {
    background: var(--colorBgRed);
  }
  .wrapper.price .table-wrap02 table tbody tr:nth-child(3n+1) th,
  .wrapper.price .table-wrap02 table tbody tr:nth-child(3n+1) .price {
    color: var(--colorRed);
  }
  .wrapper.price .table-wrap02 table tbody tr:nth-child(3n+2) th, .wrapper.price .table-wrap02 table tbody tr:nth-child(3n+2) td {
    background: var(--colorBgGreen);
  }
  .wrapper.price .table-wrap02 table tbody tr:nth-child(3n+2) th,
  .wrapper.price .table-wrap02 table tbody tr:nth-child(3n+2) .price {
    color: var(--colorGreen);
  }
  .wrapper.price .table-wrap02 table tbody tr:nth-child(3n) th, .wrapper.price .table-wrap02 table tbody tr:nth-child(3n) td {
    background: var(--colorBgYellow);
  }
  .wrapper.price .table-wrap02 table tbody tr:nth-child(3n) th,
  .wrapper.price .table-wrap02 table tbody tr:nth-child(3n) .price {
    color: var(--colorYellow);
  }
  .wrapper.price .table-wrap02 table .price {
    font-size: 1.5rem;
    width: min(240px, 20vw);
    text-align: center;
  }
  .wrapper.price .table-wrap02 table .price__unit {
    font-size: 1rem;
  }
  .wrapper.price .table-wrap02 table .price__free {
    font-size: 1.25rem;
    font-weight: 700;
  }
}
@media screen and (max-width: 1023px) {
  .wrapper.price .table-wrap02 {
    margin-block-start: 32px;
    border-radius: 9px;
  }
  .wrapper.price .table-wrap02 table th {
    background: none;
  }
  .wrapper.price .table-wrap02 table td {
    width: min(219px, 58.4vw);
  }
  .wrapper.price .table-wrap02 table .table__image {
    margin-block: 12px 0;
  }
  .wrapper.price .table-wrap02 table .price {
    font-size: 1.125rem;
    text-align: center;
  }
  .wrapper.price .table-wrap02 table .price__unit {
    font-size: 0.75rem;
  }
  .wrapper.price .table-wrap02 table tr:nth-child(9n+1) td,
  .wrapper.price .table-wrap02 table tr:nth-child(9n+2) td,
  .wrapper.price .table-wrap02 table tr:nth-child(9n+3) td {
    background: var(--colorBgRed);
  }
  .wrapper.price .table-wrap02 table tr:nth-child(9n+4) td,
  .wrapper.price .table-wrap02 table tr:nth-child(9n+5) td,
  .wrapper.price .table-wrap02 table tr:nth-child(9n+6) td {
    background: var(--colorBgGreen);
  }
  .wrapper.price .table-wrap02 table tr:nth-child(9n+7) td,
  .wrapper.price .table-wrap02 table tr:nth-child(9n+8) td,
  .wrapper.price .table-wrap02 table tr:nth-child(9n+9) td {
    background: var(--colorBgYellow);
  }
  .wrapper.price .table-wrap02 table tr:nth-child(9n+3) td,
  .wrapper.price .table-wrap02 table tr:nth-child(9n+3) th,
  .wrapper.price .table-wrap02 table tr:nth-child(9n+6) td,
  .wrapper.price .table-wrap02 table tr:nth-child(9n+6) th,
  .wrapper.price .table-wrap02 table tr:nth-child(9n) td,
  .wrapper.price .table-wrap02 table tr:nth-child(9n) th {
    height: 98px;
    vertical-align: middle;
  }
  .wrapper.price .table-wrap02 table tr:nth-child(9n+1) td,
  .wrapper.price .table-wrap02 table tr:nth-child(9n+4) td,
  .wrapper.price .table-wrap02 table tr:nth-child(9n+7) td {
    font-size: 1.125rem;
  }
  .wrapper.price .table-wrap02 table tr:nth-child(9n+2) td,
  .wrapper.price .table-wrap02 table tr:nth-child(9n+5) td,
  .wrapper.price .table-wrap02 table tr:nth-child(9n+8) td {
    font-weight: 500;
  }
  .wrapper.price .table-wrap02 table tr:nth-child(9n+1) td,
  .wrapper.price .table-wrap02 table tr:nth-child(9n+3) td {
    color: var(--colorRed);
  }
  .wrapper.price .table-wrap02 table tr:nth-child(9n+4) td,
  .wrapper.price .table-wrap02 table tr:nth-child(9n+6) td {
    color: var(--colorGreen);
  }
  .wrapper.price .table-wrap02 table tr:nth-child(9n+7) td,
  .wrapper.price .table-wrap02 table tr:nth-child(9n) td {
    color: var(--colorYellow);
  }
}
.wrapper.price .banner img {
  width: 100%;
  height: auto;
}
@media (min-width: 1024px) {
  .wrapper.price .banner {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    gap: min(32px, 2.6666666667vw);
    margin-block: 48px 0;
  }
  .wrapper.price .banner img {
    aspect-ratio: 524/224;
  }
  .wrapper.price .banner li:only-child {
    grid-column: 1/3;
  }
  .wrapper.price .banner li:only-child img {
    aspect-ratio: 1080/184;
  }
  .wrapper.price .banner__link {
    position: relative;
    color: #ffffff;
  }
  .wrapper.price .banner__link img {
    transition: transform 0.2s cubic-bezier(0.215, 0.61, 0.355, 1);
  }
}
@media (hover: hover) {
  .wrapper.price .banner__link:hover img {
    transform: scale(1.05);
  }
}
@media screen and (max-width: 1023px) {
  .wrapper.price .banner {
    display: flex;
    flex-direction: column;
    gap: 12px;
    margin-block: 32px 0;
  }
}
@media (min-width: 1024px) {
  .wrapper.price .column-box {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    gap: min(64px, 5.3333333333vw);
    margin-block: 42px 0;
  }
}
@media screen and (max-width: 1023px) {
  .wrapper.price .column-box {
    margin-block: 24px 0;
  }
  .wrapper.price .column-box .text + .notes-list {
    margin-block-start: 30px;
  }
}
.wrapper.price .image-list {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
}
.wrapper.price .image-list img {
  width: 100%;
  height: auto;
  aspect-ratio: 238/148;
}
@media (min-width: 1024px) {
  .wrapper.price .image-list {
    gap: min(32px, 2.6666666667vw);
  }
  .wrapper.price .image-list + .text {
    margin-block: 42px 0;
  }
}
@media screen and (max-width: 1023px) {
  .wrapper.price .image-list {
    gap: min(16px, 4.2666666667vw);
  }
  .wrapper.price .image-list + .text {
    margin-block: 24px 0;
  }
}
.wrapper.price .media__body {
  font-weight: 700;
}
.wrapper.price .media__body .text-heading:not(.--red) + .text {
  margin-block: 0;
}
@media (min-width: 1024px) {
  .wrapper.price .media {
    display: grid;
    grid-template-rows: auto;
    gap: min(64px, 5.3333333333vw);
    margin-block: 42px 0;
  }
  .wrapper.price .media__image {
    grid-column: 1;
    grid-row: 1;
  }
  .wrapper.price .media__image img {
    border-radius: 16px;
  }
  .wrapper.price .media__body {
    margin-block-start: -8px;
    grid-column: 2;
    grid-row: 1;
  }
}
@media screen and (max-width: 1023px) {
  .wrapper.price .media {
    margin-block: 32px 0;
  }
  .wrapper.price .media__image img {
    border-radius: 8px;
  }
  .wrapper.price .media__body {
    margin-block: 25px 0;
  }
}

/* access
--------------------------------------------------------------------------------------------------- */
@media (min-width: 1024px) {
  .wrapper.access .container {
    margin-block: 76px 0;
  }
}
@media screen and (max-width: 1023px) {
  .wrapper.access .container {
    margin-block: 52px 0;
  }
}
.wrapper.access .map {
  position: relative;
}
.wrapper.access .map__obj, .wrapper.access .map__obj02 {
  position: absolute;
  pointer-events: none;
}
.wrapper.access .map__obj img {
  aspect-ratio: 132/182;
}
.wrapper.access .map__address {
  font-weight: 500;
}
@media (min-width: 1024px) {
  .wrapper.access .map {
    margin-block: 42px 0;
  }
  .wrapper.access .map iframe {
    width: 100%;
    height: min(480px, 37.037037037vw);
  }
  .wrapper.access .map__obj {
    top: 241px;
    left: -60px;
  }
  .wrapper.access .map__obj02 {
    top: 226px;
    right: -104px;
    width: 209px;
    height: 200px;
  }
  .wrapper.access .map__obj02 img {
    aspect-ratio: 209/200;
  }
  .wrapper.access .map__address {
    margin-block: 20px 0;
  }
}
@media screen and (max-width: 1023px) {
  .wrapper.access .map {
    margin-block: 25px 0;
  }
  .wrapper.access .map iframe {
    width: 100%;
    height: 96vw;
  }
  .wrapper.access .map__obj {
    top: 58.6666666667vw;
    left: -5.3333333333vw;
    width: 67.5px;
    height: 93.5px;
  }
  .wrapper.access .map__obj02 {
    top: 45.8666666667vw;
    right: -5.6vw;
    width: 77.5px;
    height: 132px;
  }
  .wrapper.access .map__obj02 img {
    aspect-ratio: 155/264;
  }
  .wrapper.access .map__address {
    margin-block: 12px 0;
  }
}
.wrapper.access .ico {
  vertical-align: middle;
}
.wrapper.access .root-car__map {
  container-type: inline-size;
}
.wrapper.access .root-car__map iframe {
  width: 100%;
  height: 100cqi;
}
.wrapper.access .root-car__list {
  margin-block: 0;
  font-weight: 700;
}
.wrapper.access .root-car__item .small {
  font-weight: 500;
}
.wrapper.access .root-car__item:nth-of-type(1) .point {
  color: var(--colorRed);
}
.wrapper.access .root-car__item:nth-of-type(2) .point {
  color: var(--colorGreen);
}
.wrapper.access .root-car__text {
  font-weight: 500;
  line-height: 2;
}
.wrapper.access .root-car__heading {
  font-weight: 700;
}
.wrapper.access .root-car__image-list img {
  width: 100%;
  height: auto;
  aspect-ratio: 276/197;
}
@media (min-width: 1024px) {
  .wrapper.access .root-car {
    display: grid;
    grid-template-columns: min(568px, 43.8271604938vw) auto;
    gap: 0 min(64px, 4.9382716049vw);
    margin-block: 63px 0;
  }
  .wrapper.access .root-car .text-heading {
    grid-column: 1/3;
  }
  .wrapper.access .root-car__map {
    grid-column: 1;
    margin-block: 28px 0;
  }
  .wrapper.access .root-car__body {
    grid-column: 2;
    margin-block: 31px 0;
  }
  .wrapper.access .root-car__list {
    font-size: 1.125rem;
  }
  .wrapper.access .root-car__item {
    margin-block: 0 18px;
  }
  .wrapper.access .root-car__item .small {
    font-size: 1rem;
  }
  .wrapper.access .root-car__item .ico {
    margin-inline-end: 12px;
    width: 20px;
  }
  .wrapper.access .root-car__text__note {
    font-size: 0.875rem;
  }
  .wrapper.access .root-car__heading {
    margin-block: 36px 0;
    font-size: 1.125rem;
  }
  .wrapper.access .root-car__heading .ico {
    margin-inline-end: 12px;
    width: 32px;
    height: 33px;
  }
  .wrapper.access .root-car__image-list {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    gap: min(16px, 1.2345679012vw);
    margin-block: 22px 0;
  }
  .wrapper.access .root-car__image-list img {
    border-radius: 16px;
  }
}
@media screen and (max-width: 1023px) {
  .wrapper.access .root-car {
    margin-block: 27px 0;
  }
  .wrapper.access .root-car__map {
    margin-block: 22px 0;
  }
  .wrapper.access .root-car__body {
    margin-block: 23px 0;
  }
  .wrapper.access .root-car__list {
    font-size: 1rem;
  }
  .wrapper.access .root-car__item {
    margin-block: 0 9px;
  }
  .wrapper.access .root-car__item .small {
    font-size: 0.75rem;
  }
  .wrapper.access .root-car__item .ico {
    margin-inline-end: 6px;
    width: 18px;
  }
  .wrapper.access .root-car__text {
    margin-block: 4px 0;
  }
  .wrapper.access .root-car__text__note {
    font-size: 0.75rem;
  }
  .wrapper.access .root-car__heading {
    margin-block: 21px 0;
    font-size: 1rem;
  }
  .wrapper.access .root-car__heading .ico {
    margin-inline-end: 6px;
    width: 25px;
    height: 25px;
  }
  .wrapper.access .root-car__image-list {
    display: flex;
    flex-direction: column;
    gap: 16px;
    margin-block: 15px;
  }
  .wrapper.access .root-car__image-list img {
    border-radius: 8px;
  }
}
.wrapper.access .root-train__heading {
  font-weight: 700;
  color: var(--colorRed);
}
.wrapper.access .root-train__list {
  display: flex;
  flex-direction: column;
}
.wrapper.access .root-train__body {
  grid-column: 2;
}
.wrapper.access .root-train__body .text {
  font-weight: 500;
  line-height: 2;
  margin-block: 2em 0;
}
.wrapper.access .root-train__body .text a {
  color: var(--colorRed);
  text-decoration: underline;
}
.wrapper.access .root-train__body .text:first-of-type {
  margin-block-start: 10px;
}
@media (min-width: 1024px) {
  .wrapper.access .root-train {
    display: grid;
    display: grid;
    grid-template-columns: min(568px, 43.8271604938vw) auto;
    gap: 0 min(64px, 4.9382716049vw);
    margin-block: 46px 0;
  }
  .wrapper.access .root-train .text-heading {
    grid-column: 1/3;
  }
  .wrapper.access .root-train__list {
    grid-column: 1;
    gap: 16px;
    margin-block: 32px 0;
  }
  .wrapper.access .root-train__body {
    margin-block: 32px;
  }
  .wrapper.access .root-train__body .text:first-of-type {
    margin-block-start: 14px;
  }
  .wrapper.access .root-train__heading {
    grid-column: 2;
    font-size: 1.125rem;
  }
  .wrapper.access .root-train__heading .ico {
    vertical-align: middle;
    width: 32px;
    margin-inline-end: 12px;
  }
}
@media (hover: hover) {
  .wrapper.access .root-train__body .text a:hover {
    text-decoration: none;
  }
}
@media screen and (max-width: 1023px) {
  .wrapper.access .root-train {
    margin-block: 31px 0;
  }
  .wrapper.access .root-train__list {
    gap: 9px;
    margin-block: 16px 0;
  }
  .wrapper.access .root-train__body .text:first-of-type {
    margin-block-start: 6px;
  }
  .wrapper.access .root-train__heading {
    margin-block: 25px 0;
    font-size: 1rem;
  }
  .wrapper.access .root-train__heading .ico {
    margin-inline-end: 3px;
    width: 25px;
  }
}

/* groupprogram
--------------------------------------------------------------------------------------------------- */
@media (min-width: 1024px) {
  .wrapper[class*=groupprogram] .container {
    margin-block-start: 48px;
  }
}
@media screen and (max-width: 1023px) {
  .wrapper[class*=groupprogram] .container {
    margin-block-start: 17px;
  }
}
.wrapper[class*=groupprogram] .section .text {
  margin-block: 0.8em 0;
}
.wrapper[class*=groupprogram] .section .notes-list + .text {
  margin-block-start: 0;
}
@media (min-width: 1024px) {
  .wrapper[class*=groupprogram] .section {
    margin-block: 42px 0;
  }
  .wrapper[class*=groupprogram] .section .notes-list {
    font-weight: 500;
  }
  .wrapper[class*=groupprogram] .section .text-heading:not(.--red) + .table {
    margin-block: 25px 0;
  }
  .wrapper[class*=groupprogram] .section .text-heading.--red + .text {
    margin-block: 34px 0;
  }
}
@media screen and (max-width: 1023px) {
  .wrapper[class*=groupprogram] .section {
    margin-block: 18px 0;
  }
  .wrapper[class*=groupprogram] .section .text-heading:not(.--red) + .table {
    margin-block: 22px 0;
  }
  .wrapper[class*=groupprogram] .section .text-heading.--red + .text {
    margin-block: 18px 0;
  }
}
.wrapper[class*=groupprogram] .contact {
  position: relative;
  z-index: 0;
}
.wrapper[class*=groupprogram] .contact__heading {
  position: relative;
  margin-block: 0;
  z-index: -1;
}
.wrapper[class*=groupprogram] .contact__businesstime {
  color: #ffffff;
  font-weight: 700;
}
.wrapper[class*=groupprogram] .contact__number-list {
  font-family: "Righteous", sans-serif;
  font-weight: 400;
  color: #ffffff;
}
@media (min-width: 1024px) {
  .wrapper[class*=groupprogram] .contact {
    display: grid;
    grid-template-columns: repeat(6, auto) 1fr;
    grid-template-rows: auto 1fr;
    align-items: center;
    margin-block: -21px 0;
    margin-inline: 0 min(-1.125rem, -1.3888888889vw);
    width: calc(100% + 1.3888888889vw);
  }
  .wrapper[class*=groupprogram] .contact__heading {
    grid-column: 1/8;
    grid-row: 1/3;
    align-self: start;
  }
  .wrapper[class*=groupprogram] .contact__businesstime {
    grid-column: 3/5;
    grid-row: 1;
    margin-block: min(3.5625rem, 4.3981481481vw) 0;
    margin-inline: min(1.6875rem, 2.0833333333vw) 0;
    font-size: min(1rem, 1.2345679012vw);
  }
  .wrapper[class*=groupprogram] .contact__number-list {
    display: grid;
    grid-template-columns: subgrid;
    grid-column: 1/7;
    grid-row: 2;
    margin-block: min(-0.4375rem, -0.5401234568vw) 0;
    font-size: min(1.5rem, 1.8518518519vw);
    line-height: 1.2;
    letter-spacing: 0.07em;
  }
  .wrapper[class*=groupprogram] .contact__number-list__item {
    padding-inline: min(2rem, 2.4691358025vw);
  }
  .wrapper[class*=groupprogram] .contact__number-list__item span {
    font-size: min(3rem, 3.7037037037vw);
  }
  .wrapper[class*=groupprogram] .contact__number-list__item:nth-of-type(1) {
    grid-column: 1/4;
    margin-inline-start: min(0.5rem, 0.6172839506vw);
  }
  .wrapper[class*=groupprogram] .contact__number-list__item:nth-of-type(2) {
    grid-column: 4/7;
    border-left: 2px solid currentColor;
  }
}
@media screen and (max-width: 1023px) {
  .wrapper[class*=groupprogram] .contact {
    display: grid;
    grid-template-rows: auto auto 1fr;
    margin-block: 22px 0;
    margin-inline: 0 max(-9px, -2.4vw);
    width: 83.2vw;
    height: 80vw;
  }
  .wrapper[class*=groupprogram] .contact__heading {
    grid-column: 1;
    grid-row: 1/4;
  }
  .wrapper[class*=groupprogram] .contact__businesstime {
    grid-column: 1;
    grid-row: 3;
    margin-block: 3.7333333333vw 0;
    margin-inline: 6.4vw;
    font-size: 3.7333333333vw;
  }
  .wrapper[class*=groupprogram] .contact__number-list {
    grid-column: 1;
    grid-row: 2;
    margin-block: 15.2vw 0;
    margin-inline: 6.4vw;
    font-size: 4.8vw;
    line-height: 1;
  }
  .wrapper[class*=groupprogram] .contact__number-list__item span {
    font-size: 8.5333333333vw;
  }
  .wrapper[class*=groupprogram] .contact__number-list__item:nth-of-type(n+2) {
    margin-block: 2.6666666667vw 0;
  }
}
.wrapper[class*=groupprogram] .price {
  font-family: "Righteous", sans-serif;
  font-weight: 400;
}
.wrapper[class*=groupprogram] .price__unit {
  font-family: "M PLUS 1", sans-serif;
  font-weight: 500;
}

@media screen and (max-width: 1023px) {
  .wrapper.groupprogram .related-links {
    padding-inline: 12px;
  }
  .wrapper.groupprogram .related-links__link {
    font-size: 5.6vw;
  }
  .wrapper.groupprogram .related-links__link > span::after {
    right: 23px;
    bottom: 23px;
  }
}

.wrapper.groupprogram-general .plan-list,
.wrapper.groupprogram-school .plan-list {
  display: flex;
  flex-direction: column;
}
@media (min-width: 1024px) {
  .wrapper.groupprogram-general .plan-list,
  .wrapper.groupprogram-school .plan-list {
    margin-block: 44px 0;
    gap: 28px;
  }
}
@media screen and (max-width: 1023px) {
  .wrapper.groupprogram-general .plan-list,
  .wrapper.groupprogram-school .plan-list {
    margin-block: 19px 0;
    gap: 26px;
  }
}
.wrapper.groupprogram-general .guideline .table th, .wrapper.groupprogram-general .guideline .table td,
.wrapper.groupprogram-school .guideline .table th,
.wrapper.groupprogram-school .guideline .table td {
  font-weight: 500;
}
.wrapper.groupprogram-general .guideline .table th,
.wrapper.groupprogram-school .guideline .table th {
  width: 50%;
}
.wrapper.groupprogram-general .food .media__body .notes-list,
.wrapper.groupprogram-school .food .media__body .notes-list {
  margin-block-start: 0;
}
@media (min-width: 1024px) {
  .wrapper.groupprogram-general .food .media,
  .wrapper.groupprogram-school .food .media {
    grid-template-columns: repeat(2, 1fr);
    gap: 0 min(64px, 4.9382716049vw);
  }
}
@media screen and (max-width: 1023px) {
  .wrapper.groupprogram-general .food .media,
  .wrapper.groupprogram-school .food .media {
    margin-block: 25px 0;
  }
  .wrapper.groupprogram-general .food .media__body,
  .wrapper.groupprogram-school .food .media__body {
    font-weight: 500;
    line-height: 2;
  }
}
.wrapper.groupprogram-general .plan .table table thead th,
.wrapper.groupprogram-school .plan .table table thead th {
  vertical-align: middle;
}
.wrapper.groupprogram-general .plan .table table thead th .num,
.wrapper.groupprogram-school .plan .table table thead th .num {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  border-radius: 50%;
  width: var(--size);
  height: var(--size);
  color: #ffffff;
  font-family: "Righteous", sans-serif;
  font-weight: 400;
}
.wrapper.groupprogram-general .plan .table table thead th .num.--red,
.wrapper.groupprogram-school .plan .table table thead th .num.--red {
  background: var(--colorRed);
}
.wrapper.groupprogram-general .plan .table table thead th .num.--green,
.wrapper.groupprogram-school .plan .table table thead th .num.--green {
  background: var(--colorGreen);
}
.wrapper.groupprogram-general .plan .table table thead th[class],
.wrapper.groupprogram-school .plan .table table thead th[class] {
  color: #ffffff;
}
.wrapper.groupprogram-general .plan .table table thead th.regular,
.wrapper.groupprogram-school .plan .table table thead th.regular {
  background: var(--colorYellow);
}
.wrapper.groupprogram-general .plan .table table thead th.peak,
.wrapper.groupprogram-school .plan .table table thead th.peak {
  background: var(--colorRed);
}
.wrapper.groupprogram-general .plan .table table thead th.value,
.wrapper.groupprogram-school .plan .table table thead th.value {
  background: var(--colorGreen);
}
.wrapper.groupprogram-general .plan .table table thead th:first-child,
.wrapper.groupprogram-school .plan .table table thead th:first-child {
  background: var(--colorBgGray);
}
.wrapper.groupprogram-general .plan .table table tbody th,
.wrapper.groupprogram-school .plan .table table tbody th {
  font-weight: 500;
  vertical-align: middle;
  text-align: left;
}
.wrapper.groupprogram-general .plan .table table tbody td,
.wrapper.groupprogram-school .plan .table table tbody td {
  vertical-align: middle;
  text-align: center;
}
.wrapper.groupprogram-general .plan .table table tbody td.regular,
.wrapper.groupprogram-school .plan .table table tbody td.regular {
  background: var(--colorBgYellow);
  color: var(--colorYellow);
}
.wrapper.groupprogram-general .plan .table table tbody td.peak,
.wrapper.groupprogram-school .plan .table table tbody td.peak {
  background: var(--colorBgRed);
  color: var(--colorRed);
}
.wrapper.groupprogram-general .plan .table table tbody td.value,
.wrapper.groupprogram-school .plan .table table tbody td.value {
  background: var(--colorBgGreen);
  color: var(--colorGreen);
}
.wrapper.groupprogram-general .plan .table table .price,
.wrapper.groupprogram-school .plan .table table .price {
  line-height: 1.4;
}
.wrapper.groupprogram-general .plan .table table .price .note,
.wrapper.groupprogram-school .plan .table table .price .note {
  display: inline-block;
  font-family: "M PLUS 1", sans-serif;
  font-weight: 500;
}
.wrapper.groupprogram-general .plan .table table head:has(th.value) th:first-child,
.wrapper.groupprogram-school .plan .table table head:has(th.value) th:first-child {
  background: #f5f0e4;
}
.wrapper.groupprogram-general .plan .table table tbody:has(td.value) th,
.wrapper.groupprogram-school .plan .table table tbody:has(td.value) th {
  background: #ffffff;
}
.wrapper.groupprogram-general .plan .table__caption,
.wrapper.groupprogram-school .plan .table__caption {
  display: flex;
  gap: 20px;
  counter-reset: num;
  font-weight: 700;
}
.wrapper.groupprogram-general .plan .table__caption__item,
.wrapper.groupprogram-school .plan .table__caption__item {
  display: flex;
  align-items: center;
  counter-increment: num;
}
.wrapper.groupprogram-general .plan .table__caption__item::before,
.wrapper.groupprogram-school .plan .table__caption__item::before {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  border-radius: 50%;
  width: var(--size);
  height: var(--size);
  color: #ffffff;
  font-family: "Righteous", sans-serif;
  font-weight: 400;
  content: counter(num);
}
.wrapper.groupprogram-general .plan .table__caption__item:nth-of-type(3n+1)::before,
.wrapper.groupprogram-school .plan .table__caption__item:nth-of-type(3n+1)::before {
  background: var(--colorRed);
}
.wrapper.groupprogram-general .plan .table__caption__item:nth-of-type(3n+2)::before,
.wrapper.groupprogram-school .plan .table__caption__item:nth-of-type(3n+2)::before {
  background: var(--colorGreen);
}
.wrapper.groupprogram-general .plan .table__caption__item:nth-of-type(3n)::before,
.wrapper.groupprogram-school .plan .table__caption__item:nth-of-type(3n)::before {
  background: var(--colorYellow);
}
@media (min-width: 1024px) {
  .wrapper.groupprogram-general .plan .table,
  .wrapper.groupprogram-school .plan .table {
    margin-block: 48px 0;
  }
  .wrapper.groupprogram-general .plan .table table,
  .wrapper.groupprogram-school .plan .table table {
    table-layout: fixed;
  }
  .wrapper.groupprogram-general .plan .table table thead th,
  .wrapper.groupprogram-school .plan .table table thead th {
    padding-inline: 10px;
  }
  .wrapper.groupprogram-general .plan .table table thead th .num,
  .wrapper.groupprogram-school .plan .table table thead th .num {
    --size: 28px;
  }
  .wrapper.groupprogram-general .plan .table table thead th:first-child,
  .wrapper.groupprogram-school .plan .table table thead th:first-child {
    font-size: 1.25rem;
  }
  .wrapper.groupprogram-general .plan .table table thead th.regular, .wrapper.groupprogram-general .plan .table table thead th.peak, .wrapper.groupprogram-general .plan .table table thead th.value,
  .wrapper.groupprogram-school .plan .table table thead th.regular,
  .wrapper.groupprogram-school .plan .table table thead th.peak,
  .wrapper.groupprogram-school .plan .table table thead th.value {
    padding-block: 12px;
    font-size: 1.125rem;
  }
  .wrapper.groupprogram-general .plan .table table tbody th,
  .wrapper.groupprogram-school .plan .table table tbody th {
    padding-block: 6px;
    padding-block: 15px;
    padding-inline: 29px;
  }
  .wrapper.groupprogram-general .plan .table table tbody td,
  .wrapper.groupprogram-school .plan .table table tbody td {
    padding-block: 8px;
  }
  .wrapper.groupprogram-general .plan .table table .price,
  .wrapper.groupprogram-school .plan .table table .price {
    font-size: 1.5rem;
  }
  .wrapper.groupprogram-general .plan .table table .price__unit,
  .wrapper.groupprogram-school .plan .table table .price__unit {
    font-size: 1rem;
  }
  .wrapper.groupprogram-general .plan .table table .price__free,
  .wrapper.groupprogram-school .plan .table table .price__free {
    font-size: 1.25rem;
  }
  .wrapper.groupprogram-general .plan .table table .price .note,
  .wrapper.groupprogram-school .plan .table table .price .note {
    margin-inline: 1em 0;
    font-size: 1rem;
  }
  .wrapper.groupprogram-general .plan .table table:has(td:nth-of-type(4)) th:first-child,
  .wrapper.groupprogram-school .plan .table table:has(td:nth-of-type(4)) th:first-child {
    width: min(200px, 15.4320987654vw);
    padding-inline: 20px;
  }
  .wrapper.groupprogram-general .plan .table table:has(td.regular) th:first-child,
  .wrapper.groupprogram-school .plan .table table:has(td.regular) th:first-child {
    padding-block: 12px;
    width: min(270px, 20.8333333333vw);
  }
  .wrapper.groupprogram-general .plan .table__caption,
  .wrapper.groupprogram-school .plan .table__caption {
    margin-block: 24px 0;
  }
  .wrapper.groupprogram-general .plan .table__caption__item::before,
  .wrapper.groupprogram-school .plan .table__caption__item::before {
    --size: 20px;
    font-size: 0.8125rem;
    margin-inline-end: 9px;
  }
  .wrapper.groupprogram-general .plan .media,
  .wrapper.groupprogram-school .plan .media {
    margin-block: 48px 0;
    grid-template-columns: 1fr min(180px, 13.8888888889vw);
  }
}
@media screen and (max-width: 1023px) {
  .wrapper.groupprogram-general .plan .table-wrap,
  .wrapper.groupprogram-school .plan .table-wrap {
    overflow: auto;
    margin-inline: 0 -24px;
  }
  .wrapper.groupprogram-general .plan .table-wrap .table,
  .wrapper.groupprogram-school .plan .table-wrap .table {
    width: 920px;
    margin-inline-end: 24px;
  }
  .wrapper.groupprogram-general .plan .table-wrap .table table,
  .wrapper.groupprogram-school .plan .table-wrap .table table {
    width: 920px;
  }
  .wrapper.groupprogram-general .plan .table,
  .wrapper.groupprogram-school .plan .table {
    margin-block: 36px 0;
  }
  .wrapper.groupprogram-general .plan .table table,
  .wrapper.groupprogram-school .plan .table table {
    table-layout: fixed;
  }
  .wrapper.groupprogram-general .plan .table table thead th,
  .wrapper.groupprogram-school .plan .table table thead th {
    padding-inline: 10px;
  }
  .wrapper.groupprogram-general .plan .table table thead th .num,
  .wrapper.groupprogram-school .plan .table table thead th .num {
    --size: 20px;
  }
  .wrapper.groupprogram-general .plan .table table thead th.regular, .wrapper.groupprogram-general .plan .table table thead th.peak, .wrapper.groupprogram-general .plan .table table thead th.value,
  .wrapper.groupprogram-school .plan .table table thead th.regular,
  .wrapper.groupprogram-school .plan .table table thead th.peak,
  .wrapper.groupprogram-school .plan .table table thead th.value {
    padding-block: 12px;
    font-size: 1rem;
  }
  .wrapper.groupprogram-general .plan .table table thead th:first-child,
  .wrapper.groupprogram-school .plan .table table thead th:first-child {
    font-size: 1.125rem;
  }
  .wrapper.groupprogram-general .plan .table table tbody th,
  .wrapper.groupprogram-school .plan .table table tbody th {
    padding-block: 6px;
    padding-inline: 10px;
  }
  .wrapper.groupprogram-general .plan .table table tbody td,
  .wrapper.groupprogram-school .plan .table table tbody td {
    padding-block: 8px;
    padding-inline: 10px;
  }
  .wrapper.groupprogram-general .plan .table table .price,
  .wrapper.groupprogram-school .plan .table table .price {
    font-size: 1.125rem;
    padding-inline: 6px;
  }
  .wrapper.groupprogram-general .plan .table table .price__unit,
  .wrapper.groupprogram-school .plan .table table .price__unit {
    font-size: 0.75rem;
  }
  .wrapper.groupprogram-general .plan .table table .price__free,
  .wrapper.groupprogram-school .plan .table table .price__free {
    font-size: 1.125rem;
  }
  .wrapper.groupprogram-general .plan .table table .price .note,
  .wrapper.groupprogram-school .plan .table table .price .note {
    font-size: 0.75rem;
  }
  .wrapper.groupprogram-general .plan .table table:has(td:nth-of-type(4)) th:first-child,
  .wrapper.groupprogram-school .plan .table table:has(td:nth-of-type(4)) th:first-child {
    width: 150px;
  }
  .wrapper.groupprogram-general .plan .table table:has(td.regular) th:first-child,
  .wrapper.groupprogram-school .plan .table table:has(td.regular) th:first-child {
    width: 210px;
    padding-inline: 20px;
  }
  .wrapper.groupprogram-general .plan .table__caption,
  .wrapper.groupprogram-school .plan .table__caption {
    margin-block: 19px 0;
  }
  .wrapper.groupprogram-general .plan .table__caption__item,
  .wrapper.groupprogram-school .plan .table__caption__item {
    flex-shrink: 0;
  }
  .wrapper.groupprogram-general .plan .table__caption__item::before,
  .wrapper.groupprogram-school .plan .table__caption__item::before {
    --size: 15px;
    font-size: 0.5625rem;
    margin-inline-end: 12px;
  }
  .wrapper.groupprogram-general .plan .media,
  .wrapper.groupprogram-school .plan .media {
    margin-block-start: 35px;
  }
  .wrapper.groupprogram-general .plan .media__img,
  .wrapper.groupprogram-school .plan .media__img {
    margin-block-start: 36px;
    margin-inline: auto;
    width: min(183px, 48.8vw);
  }
}

/* children
--------------------------------------------------------------------------------------------------- */
.wrapper.children .container .text {
  font-weight: 500;
  line-height: 2;
}
@media (min-width: 1024px) {
  .wrapper.children .container {
    margin-block: 52px 0;
  }
}
@media screen and (max-width: 1023px) {
  .wrapper.children .container {
    margin-block: 13px 0;
  }
}
.wrapper.children .media__heading {
  display: flex;
  align-items: center;
}
.wrapper.children .media__heading__label > span:nth-of-type(3n+1) {
  color: var(--colorRed);
}
.wrapper.children .media__heading__label > span:nth-of-type(3n+2) {
  color: var(--colorGreen);
}
.wrapper.children .media__heading__label > span:nth-of-type(3n) {
  color: var(--colorYellow);
}
.wrapper.children .media__heading__ico {
  aspect-ratio: 59/51;
}
@media (min-width: 1024px) {
  .wrapper.children .media {
    margin-block: 64px 0;
    gap: 0 min(64px, 4.9382716049vw);
  }
  .wrapper.children .media__heading {
    font-size: 2rem;
  }
  .wrapper.children .media__heading__ico {
    margin-inline-end: 8px;
  }
  .wrapper.children .media__heading__logo {
    margin-inline-start: 28px;
  }
  .wrapper.children .media:first-of-type {
    margin-block-start: 76px;
  }
}
@media screen and (max-width: 1023px) {
  .wrapper.children .media {
    margin-block: 30px 0;
  }
  .wrapper.children .media__heading {
    flex-wrap: wrap;
    font-size: 1.75rem;
  }
  .wrapper.children .media__heading__ico {
    margin-inline-end: 10px;
    width: 44.5px;
    height: 38.5px;
  }
  .wrapper.children .media__heading__logo {
    display: block;
    margin-block-start: 17px;
    width: 112px;
    height: 21px;
  }
  .wrapper.children .media__body {
    margin-block-start: 10px;
    line-height: 2;
  }
  .wrapper.children .media__img {
    margin-block-start: 18px;
  }
  .wrapper.children .media:first-of-type {
    margin-block-start: 50px;
  }
}

/* company
--------------------------------------------------------------------------------------------------- */
.wrapper.company .message__heading {
  display: flex;
  flex-direction: column;
  margin-block: 0;
  font-weight: 700;
  color: var(--colorRed);
}
.wrapper.company .message__heading::before {
  content: attr(data-en-label);
  speak: none;
  font-family: "Righteous", sans-serif;
  font-weight: 400;
  line-height: 1;
}
.wrapper.company .message__body {
  font-weight: 700;
}
.wrapper.company .message__body > * .wrapper.company .message__body:first-child {
  margin-block-start: 0;
}
@media (min-width: 1024px) {
  .wrapper.company .message {
    margin-block: 49px 0;
    background: url(/assets/img/company/bg_message.webp) no-repeat 0 0/100% 100%;
  }
  .wrapper.company .message__inner {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    grid-template-rows: auto 1fr;
    gap: 0 min(64px, 4.9382716049vw);
    margin-inline: auto;
    padding-inline: 48px;
    max-width: 1296px;
    margin-inline: auto;
  }
  .wrapper.company .message__heading {
    grid-column: 1;
    grid-row: 1;
    font-size: 1.25rem;
  }
  .wrapper.company .message__heading::before {
    margin-block-end: 12px;
    font-size: 4rem;
  }
  .wrapper.company .message__image {
    grid-column: 2;
    grid-row: 1/3;
    align-self: end;
  }
  .wrapper.company .message__image img {
    max-width: min(645px, 49.7685185185vw);
    margin-inline: max(-48px, -3.7037037037vw) max(-70px, -5.4012345679vw);
  }
  .wrapper.company .message__body {
    grid-column: 1;
    grid-row: 2;
    line-height: 2.25;
    margin-block: 32px 0;
    padding-block: 0 60px;
  }
  .wrapper.company .message__body > * {
    margin-block: 2.25em 0;
  }
  .wrapper.company .message .signature {
    margin-block: 30px 0;
    line-height: 1.8;
  }
  .wrapper.company .message .signature__name {
    font-size: 1.5rem;
  }
}
@media screen and (max-width: 1023px) {
  .wrapper.company .message {
    margin-block: 17px 0;
  }
  .wrapper.company .message__heading {
    padding-inline: 24px;
    font-size: 0.9375rem;
  }
  .wrapper.company .message__heading::before {
    margin-block-end: 9px;
    font-size: 3rem;
  }
  .wrapper.company .message__image {
    padding-inline: 24px;
    margin-block-start: -9px;
    background: url(/assets/img/company/bg_message_sp.webp) no-repeat 0 0/100% 100%;
  }
  .wrapper.company .message__body {
    padding-inline: 24px;
    line-height: 1.93;
    margin-block: 26px 0;
    padding-inline: 24px;
  }
  .wrapper.company .message__body > * {
    margin-block: 1.93em 0;
  }
  .wrapper.company .message .signature {
    margin-block: 24px 0;
    line-height: 1.8;
    font-size: 0.75rem;
  }
  .wrapper.company .message .signature__name {
    font-size: 1.125rem;
  }
}
.wrapper.company .about .table table th {
  background: #f9f6ef;
  text-align: left;
}
.wrapper.company .about .table table td {
  background: #ffffff;
}
@media (min-width: 1024px) {
  .wrapper.company .about {
    margin-block: 69px 0;
  }
  .wrapper.company .about .table {
    margin-block: 24px 0;
  }
  .wrapper.company .about .table th {
    width: min(210px, 16.2037037037vw);
  }
  .wrapper.company .about .download-list {
    margin-block: 48px 0;
  }
}
@media screen and (max-width: 1023px) {
  .wrapper.company .about {
    margin-block: 33px 0;
  }
  .wrapper.company .about .table {
    margin-block: 16px 0;
    margin-inline: -12px;
  }
  .wrapper.company .about .table th {
    width: 25.0666666667%;
  }
  .wrapper.company .about .download-list {
    margin-block: 36px 0;
    margin-inline: -12px;
  }
}

/* privacy
--------------------------------------------------------------------------------------------------- */
@media (min-width: 1024px) {
  .wrapper.privacy .pagetitle__bg img {
    width: 1344px;
  }
}
@media (min-width: 1024px) {
  .wrapper.privacy .container {
    margin-block: 49px 0;
  }
}
@media screen and (max-width: 1023px) {
  .wrapper.privacy .container {
    margin-block: 52px 0;
  }
}
.wrapper.privacy .container .text {
  font-weight: 500;
  line-height: 2;
}
.wrapper.privacy .container .text:nth-child(n+2) {
  margin-block: 2em 0;
}
.wrapper.privacy .container .text:first-child {
  margin-block-start: 0;
}
.wrapper.privacy .container .text:nth-child(2) {
  margin-block-start: 4em;
}

/* trade
--------------------------------------------------------------------------------------------------- */
@media (min-width: 1024px) {
  .wrapper.trade .pagetitle__bg img {
    width: 1344px;
  }
}
@media (min-width: 1024px) {
  .wrapper.trade .container {
    margin-block: 61px 0;
  }
}
@media screen and (max-width: 1023px) {
  .wrapper.trade .container {
    margin-block: 59px 0;
  }
}
.wrapper.trade .table th {
  background: #f9f6ef;
  text-align: left;
}
.wrapper.trade .table td {
  background: #ffffff;
}
@media (min-width: 1024px) {
  .wrapper.trade .table th {
    padding-inline-start: 40px;
    width: min(288px, 22.2222222222vw);
  }
  .wrapper.trade .table td {
    padding-inline-start: 40px;
  }
}
@media screen and (max-width: 1023px) {
  .wrapper.trade .table th {
    width: 28.8vw;
  }
}

/* download
--------------------------------------------------------------------------------------------------- */
@media (min-width: 1024px) {
  .wrapper.download .download-list {
    margin-block: 64px 0;
  }
}
@media screen and (max-width: 1023px) {
  .wrapper.download .download-list {
    margin-block: 60px 0;
  }
}

/* notfound
--------------------------------------------------------------------------------------------------- */
.wrapper.notfound .container {
  font-weight: 500;
}
.wrapper.notfound .container .text {
  line-height: 2;
}
@media (min-width: 1024px) {
  .wrapper.notfound .container {
    margin-block: 64px 0;
    margin-inline: auto;
    width: fit-content;
  }
  .wrapper.notfound .container .text {
    font-size: 1.125rem;
  }
  .wrapper.notfound .container .button {
    margin-block-start: 96px;
  }
}
@media screen and (max-width: 1023px) {
  .wrapper.notfound .container {
    margin-block: 54px 0;
  }
  .wrapper.notfound .container .text {
    font-size: 1rem;
  }
  .wrapper.notfound .container .button {
    margin-block-start: 64px;
  }
}
/*# sourceMappingURL=../../Templates/dev/sourcemap/lower.css.map */