/*
	Base
	-base
*/
html {
  font-size: 1rem;
}
@media (prefers-reduced-motion: no-preference) {
  html {
    scroll-behavior: smooth;
  }
}

body {
  font-family: "Noto Sans JP", sans-serif;
  font-optical-sizing: auto;
  font-size: 1rem;
  font-weight: normal;
  font-style: normal;
  font-variation-settings: "slnt" 0;
  color: rgb(51 51 51 / 1);
  line-height: 1;
  overflow-x: clip;
}
body :where(a) {
  color: inherit;
  text-decoration: none;
}
body :where(ul, ol) {
  list-style-type: "";
  padding: unset;
}
body :where(img) {
  width: 100%;
  max-width: 100%;
  height: auto;
  vertical-align: bottom;
}
body :where(button) {
  letter-spacing: 0.1em;
  touch-action: manipulation;
}

:lang(ja) {
  --leading-trim: calc((1em - 1lh) / 2);
}

:lang(en) {
  --leading-trim: calc((1cap - 1lh) / 2);
}

.leading-trim::before, .leading-trim::after {
  content: "";
  display: block;
  inline-size: 0;
  block-size: 1px;
}
.leading-trim::before {
  -webkit-margin-after: var(--leading-trim);
          margin-block-end: var(--leading-trim);
}
.leading-trim::after {
  -webkit-margin-before: var(--leading-trim);
          margin-block-start: var(--leading-trim);
}

/*
	Layouts
	-general
*/
/***********************************************
** section
***********************************************/
.l-section {
  position: relative;
  z-index: 0;
}
.l-section__header {
  display: none;
  position: fixed;
  inset: 0;
}
.l-section__contents {
  position: relative;
  margin-inline: auto;
  width: 100%;
  filter: drop-shadow(0px 0px 20px rgb(0 0 0 / 0.16));
  background-color: rgb(255 255 255 / 1);
  z-index: 10;
  overflow-x: clip;
}

@media print, screen and (min-width: 770px) and (max-width: 1023px) {
  .l-section__header {
    display: block;
    background: url(../img/common/header_illust_right_top.webp), url(../img/common/header_illust_right_bottom.webp), url(../img/common/header_illust_bottom.webp);
    background-repeat: no-repeat, no-repeat, repeat-x;
    background-size: 640px auto, 640px auto, 100%;
    background-position: top right, bottom right, bottom center;
  }
  .l-section__contents {
    margin-inline: 0 auto;
    width: 440px;
  }
}
@media print, screen and (min-width: 1024px) {
  .l-section__header {
    display: block;
    background: url(../img/common/header_illust_left_top.webp), url(../img/common/header_illust_right_top.webp), url(../img/common/header_illust_bottom.webp), rgb(255 255 255 / 1);
    background-repeat: no-repeat, no-repeat, repeat-x;
    background-size: 640px auto, 640px auto, 100%;
    background-position: top left, top right, bottom center;
  }
  .l-section__contents {
    width: 440px;
  }
}
/***********************************************
** outline
***********************************************/
.p-outline {
  display: grid;
  place-items: center;
  position: absolute;
  top: 0;
  bottom: 0;
  width: calc(50% - 220px);
  overflow-y: auto;
  scrollbar-width: none;
  -ms-overflow-style: none;
}
.p-outline::-webkit-scrollbar {
  display: none;
}
.p-outline.left {
  left: 0;
}
.p-outline.right {
  right: 0;
  align-content: center;
}
.p-outline.right .p-outline-in {
  margin-left: 61px;
}
.p-outline-in {
  width: 292px;
}
.p-outline__logo {
  margin-inline: auto;
  width: 99.3151%;
}
.p-outline__logo > img {
  width: 100%;
}
.p-outline__copy {
  padding-top: 1.25rem;
}
.p-outline__copy > img {
  width: 100%;
}
.p-outline-nav {
  width: 73.5931%;
}
.p-outline-nav-list {
  display: grid;
  gap: 1.3125rem;
}
.p-outline-nav-list__item a {
  position: relative;
  display: block;
}
.p-outline-nav-list__item a span {
  position: relative;
  display: block;
  transition: opacity 0s, transform 0.2s ease-in-out;
  will-change: opacity, transform;
  transform: translate3d(0, 0, 0);
}
.p-outline-nav-list__item a span > img {
  width: 100%;
}
.p-outline-nav-list__item a:focus-visible span {
  transform: translateY(-10px);
}
@media (any-hover: hover) {
  .p-outline-nav-list__item a:where(:-webkit-any-link, :enabled, summary):hover span {
    transform: translateY(-10px);
  }
  .p-outline-nav-list__item a:where(:-moz-any-link, :enabled, summary):hover span {
    transform: translateY(-10px);
  }
  .p-outline-nav-list__item a:where(:any-link, :enabled, summary):hover span {
    transform: translateY(-10px);
  }
}
@media (pointer: coarse), (hover: none) {
  @supports (touch-action: none) {
    .p-outline-nav-list__item a.touch-active span {
      transform: translateY(-10px);
    }
  }
}
.p-outline-btn {
  margin-top: 7.1918%;
  width: 64.9351%;
}
.p-outline-btn a {
  position: relative;
  display: block;
}
.p-outline-btn a span {
  --_border-radius: 100vmax;
  --_border-size: 1px;
  display: grid;
  padding: 4% 8% 4% 12.6667%;
  border-radius: var(--_border-radius);
  border: var(--_border-size) solid rgb(27 36 92 / 1);
  transition: background-color 0.2s ease-in-out, transform 0.2s ease-in-out;
  will-change: background-color, transform;
  transform: translate3d(0, 0, 0);
}
.p-outline-btn a span > img {
  width: 100%;
}
.p-outline-btn a:focus-visible span {
  background-color: rgb(255 255 255 / 1);
  transform: translateY(-10px);
}
@media (any-hover: hover) {
  .p-outline-btn a:where(:-webkit-any-link, :enabled, summary):hover span {
    background-color: rgb(255 255 255 / 1);
    transform: translateY(-10px);
  }
  .p-outline-btn a:where(:-moz-any-link, :enabled, summary):hover span {
    background-color: rgb(255 255 255 / 1);
    transform: translateY(-10px);
  }
  .p-outline-btn a:where(:any-link, :enabled, summary):hover span {
    background-color: rgb(255 255 255 / 1);
    transform: translateY(-10px);
  }
}
@media (pointer: coarse), (hover: none) {
  @supports (touch-action: none) {
    .p-outline-btn a.touch-active span {
      background-color: rgb(255 255 255 / 1);
      transform: translateY(-10px);
    }
  }
}

@media print, screen and (min-width: 770px) and (max-width: 1023px) {
  .p-outline {
    width: calc(100% - 440px);
  }
  .p-outline.left {
    display: none;
  }
}
/***********************************************
** footer
***********************************************/
.l-footer {
  position: relative;
  padding: 36px 0 12px;
  background-color: rgb(255 255 255 / 1);
}
.l-footer .p-footer-top {
  display: grid;
  grid-template-columns: 31.25% 60%;
  align-items: flex-end;
  justify-content: space-between;
  margin: 0 auto;
  width: 92%;
}
.l-footer .p-footer-top__logo img {
  width: 100%;
}
.l-footer .p-footer-top-sns {
  display: grid;
  grid-template-columns: repeat(5, 1fr);
  gap: 4.1666666667%;
}
.l-footer .p-footer-top-sns__item {
  position: relative;
  aspect-ratio: 1/1;
  display: flex;
  align-items: center;
  justify-content: center;
  width: 100%;
  background: linear-gradient(140deg, #FEF236 8.66%, #D6F31E 63.23%, #C1F311 91.34%);
}
.l-footer .p-footer-top-sns__item::before {
  position: absolute;
  z-index: 2;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  content: "";
  display: block;
  background: linear-gradient(135deg, #C7F1FB 15.77%, #F1F8FF 49.29%, #E4E4FB 82.8%);
  opacity: 0;
  transition: opacity 0.6s ease-in-out;
}
.l-footer .p-footer-top-sns__item:focus-visible::before {
  opacity: 1;
}
@media (any-hover: hover) {
  .l-footer .p-footer-top-sns__item:where(:-webkit-any-link, :enabled, summary):hover::before {
    opacity: 1;
  }
  .l-footer .p-footer-top-sns__item:where(:-moz-any-link, :enabled, summary):hover::before {
    opacity: 1;
  }
  .l-footer .p-footer-top-sns__item:where(:any-link, :enabled, summary):hover::before {
    opacity: 1;
  }
}
@media (pointer: coarse), (hover: none) {
  @supports (touch-action: none) {
    .l-footer .p-footer-top-sns__item.touch-active::before {
      opacity: 1;
    }
  }
}
.l-footer .p-footer-top-sns__item img {
  position: relative;
  z-index: 5;
}
.l-footer .p-footer-top-sns__item:nth-child(1) {
  -webkit-mask-image: url(../img/common/sns_bg01.svg);
          mask-image: url(../img/common/sns_bg01.svg);
  -webkit-mask-size: 100% auto;
          mask-size: 100% auto;
}
.l-footer .p-footer-top-sns__item:nth-child(1) img {
  width: 50%;
}
.l-footer .p-footer-top-sns__item:nth-child(2) {
  -webkit-mask-image: url(../img/common/sns_bg02.svg);
          mask-image: url(../img/common/sns_bg02.svg);
  -webkit-mask-size: 100% auto;
          mask-size: 100% auto;
}
.l-footer .p-footer-top-sns__item:nth-child(2) img {
  width: 46.875%;
}
.l-footer .p-footer-top-sns__item:nth-child(3) {
  -webkit-mask-image: url(../img/common/sns_bg03.svg);
          mask-image: url(../img/common/sns_bg03.svg);
  -webkit-mask-size: 100% auto;
          mask-size: 100% auto;
}
.l-footer .p-footer-top-sns__item:nth-child(3) img {
  width: 29.6875%;
}
.l-footer .p-footer-top-sns__item:nth-child(4) {
  -webkit-mask-image: url(../img/common/sns_bg04.svg);
          mask-image: url(../img/common/sns_bg04.svg);
  -webkit-mask-size: 100% auto;
          mask-size: 100% auto;
}
.l-footer .p-footer-top-sns__item:nth-child(4) img {
  width: 57.8125%;
}
.l-footer .p-footer-top-sns__item:nth-child(5) {
  -webkit-mask-image: url(../img/common/sns_bg05.svg);
          mask-image: url(../img/common/sns_bg05.svg);
  -webkit-mask-size: 100% auto;
          mask-size: 100% auto;
}
.l-footer .p-footer-top-sns__item:nth-child(5) img {
  width: 50%;
}
.l-footer .p-footer-bnr {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 1.25%;
  margin: 26px auto 0;
  width: 92%;
}
.l-footer .p-footer-bnr__item {
  transition: opacity 0.6s ease;
}
.l-footer .p-footer-bnr__item:focus-visible {
  opacity: 0.5;
}
@media (any-hover: hover) {
  .l-footer .p-footer-bnr__item:where(:-webkit-any-link, :enabled, summary):hover {
    opacity: 0.5;
  }
  .l-footer .p-footer-bnr__item:where(:-moz-any-link, :enabled, summary):hover {
    opacity: 0.5;
  }
  .l-footer .p-footer-bnr__item:where(:any-link, :enabled, summary):hover {
    opacity: 0.5;
  }
}
@media (pointer: coarse), (hover: none) {
  @supports (touch-action: none) {
    .l-footer .p-footer-bnr__item.touch-active {
      opacity: 0.5;
    }
  }
}
.l-footer .p-footer-bottom {
  margin-top: 24px;
  text-align: center;
}
.l-footer .p-footer-bottom__link {
  font-size: 18px;
  font-weight: 700;
  color: #1069C9;
  transition: opacity 0.6s ease;
}
.l-footer .p-footer-bottom__link:focus-visible {
  opacity: 0.5;
}
@media (any-hover: hover) {
  .l-footer .p-footer-bottom__link:where(:-webkit-any-link, :enabled, summary):hover {
    opacity: 0.5;
  }
  .l-footer .p-footer-bottom__link:where(:-moz-any-link, :enabled, summary):hover {
    opacity: 0.5;
  }
  .l-footer .p-footer-bottom__link:where(:any-link, :enabled, summary):hover {
    opacity: 0.5;
  }
}
@media (pointer: coarse), (hover: none) {
  @supports (touch-action: none) {
    .l-footer .p-footer-bottom__link.touch-active {
      opacity: 0.5;
    }
  }
}
.l-footer .p-footer-bottom__link::after {
  position: relative;
  top: -2px;
  margin-left: 8px;
  content: "";
  vertical-align: middle;
  display: inline-block;
  width: 22px;
  aspect-ratio: 1/1;
  background: url(../img/common/icon_blank2.svg) no-repeat center center/contain;
}
.l-footer .p-footer-bottom__address {
  margin-top: 16px;
  font-size: 16px;
  font-style: normal;
}
.l-footer .p-footer-bottom__copy {
  margin-top: 10px;
  font-size: 14px;
  color: #9C9C9C;
}
.l-footer .p-footer-bottom__copy small {
  font-size: 100%;
}

@media screen and (max-width: 767px) {
  .l-footer {
    padding-top: 9.6vw;
    padding-bottom: 3.2vw;
  }
  .l-footer .p-footer-bnr {
    margin-top: 6.9333333333vw;
  }
  .l-footer .p-footer-bottom {
    margin-top: 6.4vw;
  }
  .l-footer .p-footer-bottom__link {
    font-size: 4.8vw;
  }
  .l-footer .p-footer-bottom__link::after {
    top: -0.5333333333vw;
    margin-left: 2.1333333333vw;
    width: 5.8666666667vw;
  }
  .l-footer .p-footer-bottom__address {
    margin-top: 4.2666666667vw;
    font-size: 4.2666666667vw;
  }
  .l-footer .p-footer-bottom__copy {
    margin-top: 2.6666666667vw;
    font-size: 3.7333333333vw;
  }
}
/*
	Components
	-modal
*/
.splide__track {
  margin-inline: auto;
}
.splide__list {
  margin: unset;
}
.splide__slide {
  width: 68% !important;
}
.splide__slide .visual {
  opacity: 0;
  visibility: hidden;
}
.splide__slide .info {
  opacity: 0;
  visibility: hidden;
}
.splide__slide.is-active .visual {
  opacity: 1;
  visibility: visible;
  transition: opacity 0.4s cubic-bezier(0.25, 1, 0.5, 1), visibility 0.4s cubic-bezier(0.25, 1, 0.5, 1);
}
.splide__slide.is-active .info {
  opacity: 1;
  visibility: visible;
  transition: opacity 0.4s cubic-bezier(0.25, 1, 0.5, 1), visibility 0.4s cubic-bezier(0.25, 1, 0.5, 1);
}
.splide__arrows {
  position: absolute;
  top: 47.6%;
  left: 0;
  right: 0;
  pointer-events: none;
}
.splide__arrow {
  width: 12.6316%;
  aspect-ratio: 1;
  pointer-events: all;
}
.splide__arrow svg {
  display: none;
}
.splide__arrow--prev {
  position: absolute;
  left: -4.8%;
  background-image: url("../img/slide_arrow_unhover.svg");
  background-repeat: no-repeat;
  background-size: 100% 100%;
}
.splide__arrow--prev:focus-visible {
  background-image: url("../img/slide_arrow_hover.svg");
  background-repeat: no-repeat;
  background-size: 100% 100%;
}
@media (any-hover: hover) {
  .splide__arrow--prev:where(:-webkit-any-link, :enabled, summary):hover {
    background-image: url("../img/slide_arrow_hover.svg");
    background-repeat: no-repeat;
    background-size: 100% 100%;
  }
  .splide__arrow--prev:where(:-moz-any-link, :enabled, summary):hover {
    background-image: url("../img/slide_arrow_hover.svg");
    background-repeat: no-repeat;
    background-size: 100% 100%;
  }
  .splide__arrow--prev:where(:any-link, :enabled, summary):hover {
    background-image: url("../img/slide_arrow_hover.svg");
    background-repeat: no-repeat;
    background-size: 100% 100%;
  }
}
@media (pointer: coarse), (hover: none) {
  @supports (touch-action: none) {
    .splide__arrow--prev.touch-active {
      background-image: url("../img/slide_arrow_hover.svg");
      background-repeat: no-repeat;
      background-size: 100% 100%;
    }
  }
}
.splide__arrow--next {
  position: absolute;
  right: -4.8%;
  transform: scaleX(-1);
  background-image: url("../img/slide_arrow_unhover.svg");
  background-repeat: no-repeat;
  background-size: 100% 100%;
}
.splide__arrow--next:focus-visible {
  background-image: url("../img/slide_arrow_hover.svg");
  background-repeat: no-repeat;
  background-size: 100% 100%;
}
@media (any-hover: hover) {
  .splide__arrow--next:where(:-webkit-any-link, :enabled, summary):hover {
    background-image: url("../img/slide_arrow_hover.svg");
    background-repeat: no-repeat;
    background-size: 100% 100%;
  }
  .splide__arrow--next:where(:-moz-any-link, :enabled, summary):hover {
    background-image: url("../img/slide_arrow_hover.svg");
    background-repeat: no-repeat;
    background-size: 100% 100%;
  }
  .splide__arrow--next:where(:any-link, :enabled, summary):hover {
    background-image: url("../img/slide_arrow_hover.svg");
    background-repeat: no-repeat;
    background-size: 100% 100%;
  }
}
@media (pointer: coarse), (hover: none) {
  @supports (touch-action: none) {
    .splide__arrow--next.touch-active {
      background-image: url("../img/slide_arrow_hover.svg");
      background-repeat: no-repeat;
      background-size: 100% 100%;
    }
  }
}

/*
	Components
	-modal
*/
html.is-fixed,
body.is-fixed {
  overflow: hidden !important;
}

.modal-overlay {
  position: fixed;
  inset: 0;
  justify-content: center;
  background-color: rgb(227 0 127 / 0.9);
  opacity: 0;
  visibility: hidden;
  transition: opacity 0.4s ease-in, visibility 0.4s ease-in;
  pointer-events: none;
  z-index: 7000;
}
.modal-overlay[aria-hidden=false] {
  display: flex;
  opacity: 1;
  visibility: visible;
  transition: opacity 0.4s ease-in, visibility 0.4s ease-in;
  pointer-events: all;
}
.modal-overlay[aria-hidden=false] .modal-inner {
  opacity: 1;
}
.modal-overlay .modal-inner {
  position: relative;
  width: calc((375 / 375) * 100vw);
  padding: calc((30 / 375) * 100vw);
  opacity: 0;
}
.modal-overlay .modal-inner .modal-content {
  --_border-radius: 100vmax;
  padding: 23.1747% 15.8731% 25.7143%;
  height: 100%;
  color: rgb(27 36 92 / 1);
  background-color: rgb(255 255 255 / 1);
  border-radius: var(--_border-radius);
  overflow-y: auto;
  -ms-overflow-style: none;
  scrollbar-width: none;
}
.modal-overlay .modal-inner .modal-content::-webkit-scrollbar {
  display: none;
}
.modal-overlay .modal-inner .modal-popup__text {
  margin-top: 18.6047%;
  font-size: calc((14 / 375) * 100vw);
  line-height: 1.5;
  letter-spacing: 0.05em;
}
.modal-overlay .modal-inner .modal-popup-list {
  margin-top: 18.6047%;
}
.modal-overlay .modal-inner .modal-popup-item:not(:first-child) {
  margin-top: 11.1628%;
}
.modal-overlay .modal-inner .modal-popup-item figcaption {
  margin-top: 3.721%;
  font-size: calc((12 / 375) * 100vw);
  line-height: 1.5;
  letter-spacing: 0.05em;
  text-align: center;
}
.modal-overlay .modal-inner .modal-popup-btn {
  margin-top: 11.1628%;
}
.modal-overlay .modal-inner .modal-popup-btn a {
  display: block;
  margin-inline: auto;
  width: -webkit-fit-content;
  width: -moz-fit-content;
  width: fit-content;
  font-size: calc((14 / 375) * 100vw);
  line-height: 1.5;
  letter-spacing: 0.05em;
  text-decoration: underline;
  text-underline-offset: 2px;
  transition: opacity 0.2s ease-in-out;
}
.modal-overlay .modal-inner .modal-popup-btn a:focus-visible {
  opacity: 0.5;
}
@media (any-hover: hover) {
  .modal-overlay .modal-inner .modal-popup-btn a:where(:-webkit-any-link, :enabled, summary):hover {
    opacity: 0.5;
  }
  .modal-overlay .modal-inner .modal-popup-btn a:where(:-moz-any-link, :enabled, summary):hover {
    opacity: 0.5;
  }
  .modal-overlay .modal-inner .modal-popup-btn a:where(:any-link, :enabled, summary):hover {
    opacity: 0.5;
  }
}
@media (pointer: coarse), (hover: none) {
  @supports (touch-action: none) {
    .modal-overlay .modal-inner .modal-popup-btn a.touch-active {
      opacity: 0.5;
    }
  }
}

@media screen and (min-width: 769px) {
  .modal-overlay .modal-inner {
    width: calc((375 / 375 * 440) * 1px);
    padding: calc((30 / 375 * 440) * 1px);
  }
  .modal-overlay .modal-inner .modal-popup__text {
    font-size: calc((14 / 375 * 440) * 1px);
  }
  .modal-overlay .modal-inner .modal-popup-item figcaption {
    font-size: calc((12 / 375 * 440) * 1px);
  }
  .modal-overlay .modal-inner .modal-popup-btn a {
    font-size: calc((14 / 375 * 440) * 1px);
  }
}
.modal-close {
  position: absolute;
  top: 12px;
  right: 12px;
  width: calc((16 / 375) * 100vw);
  aspect-ratio: 1;
  background: url(../img/icon_modal_close.svg);
  background-repeat: no-repeat;
  background-size: contain;
}

@media screen and (min-width: 769px) {
  .modal-close {
    width: calc((16 / 375 * 440) * 1px);
  }
}
/*
	Utilities
	-font
*/
.u-font-hina {
  font-family: "Hina Mincho", serif;
}

.u-font-medium {
  font-weight: 500;
}

.u-font-bold {
  font-weight: 700;
}

/*
	Utilities
	-text
*/
.u-text-center {
  text-align: center;
}

/*
	Utilities
	-display
*/
.u-display-sp-only {
  display: none !important;
}

.u-display-pc-only {
  display: block !important;
}

@media screen and (max-width: 767px) {
  .u-display-sp-only {
    display: block !important;
  }
  .u-display-pc-only {
    display: none !important;
  }
}
.u-hidden {
  display: none !important;
}

/*
	Utilities
	-space
*/
.u-mt-72 {
  margin-top: 72px !important;
}

.u-mt-74 {
  margin-top: 74px !important;
}

@media screen and (max-width: 767px) {
  .u-mt-72 {
    margin-top: 17vw !important;
  }
  .u-mt-74 {
    margin-top: 24vw !important;
  }
}
/*
	Animation
	-an-main
*/
.fadeIn {
  --ease-out-cubic: cubic-bezier(0.33, 1, 0.68, 1);
  translate: 0 0.6em;
  opacity: 0;
}
.fadeIn.is-show {
  transition: opacity 0.8s var(--ease-out-cubic), translate 0.8s var(--ease-out-cubic);
  translate: 0;
  opacity: 1;
}

@-webkit-keyframes flow {
  0% {
    background-position: 0 0;
  }
  100% {
    background-position: calc((-338 / 375) * 100vw) 0;
  }
}

@keyframes flow {
  0% {
    background-position: 0 0;
  }
  100% {
    background-position: calc((-338 / 375) * 100vw) 0;
  }
}
@media screen and (min-width: 769px) {
  @-webkit-keyframes flow {
    0% {
      background-position: 0 0;
    }
    100% {
      background-position: calc((-338 / 375 * 440) * 1px) 0;
    }
  }
  @keyframes flow {
    0% {
      background-position: 0 0;
    }
    100% {
      background-position: calc((-338 / 375 * 440) * 1px) 0;
    }
  }
}
@-webkit-keyframes scaleInRight {
  0% {
    opacity: 0;
  }
  100% {
    transform: scale(1, 1);
    opacity: 1;
  }
}
@keyframes scaleInRight {
  0% {
    opacity: 0;
  }
  100% {
    transform: scale(1, 1);
    opacity: 1;
  }
}
@-webkit-keyframes scaleInLeft {
  0% {
    opacity: 0;
  }
  100% {
    transform: scale(1, 1);
    opacity: 1;
  }
}
@keyframes scaleInLeft {
  0% {
    opacity: 0;
  }
  100% {
    transform: scale(1, 1);
    opacity: 1;
  }
}
@-webkit-keyframes fadeDown {
  0% {
    translate: 0 -0.6em;
    opacity: 0;
  }
  80% {
    translate: 0 0;
    opacity: 1;
  }
  90% {
    translate: 0 -0.2em;
    opacity: 1;
  }
  100% {
    translate: 0 0;
    opacity: 1;
  }
}
@keyframes fadeDown {
  0% {
    translate: 0 -0.6em;
    opacity: 0;
  }
  80% {
    translate: 0 0;
    opacity: 1;
  }
  90% {
    translate: 0 -0.2em;
    opacity: 1;
  }
  100% {
    translate: 0 0;
    opacity: 1;
  }
}
@-webkit-keyframes fadeScale {
  0% {
    transform: scale(0);
  }
  100% {
    transform: scale(1);
  }
}
@keyframes fadeScale {
  0% {
    transform: scale(0);
  }
  100% {
    transform: scale(1);
  }
}
@-webkit-keyframes sway {
  0% {
    transform: translate(-50%, 0) rotate(0.5deg);
  }
  100% {
    transform: translate(-50%, 0) rotate(-0.5deg);
  }
}
@keyframes sway {
  0% {
    transform: translate(-50%, 0) rotate(0.5deg);
  }
  100% {
    transform: translate(-50%, 0) rotate(-0.5deg);
  }
}
@-webkit-keyframes smooth-bounce {
  0% {
    opacity: 0;
    transform: translate(0, 0) scale(0.9, 1.1);
    -webkit-animation-timing-function: cubic-bezier(0.5, 0, 0.7, 0.4);
            animation-timing-function: cubic-bezier(0.5, 0, 0.7, 0.4);
  }
  15% {
    opacity: 1;
    transform: translate(0, -10px) scale(0.95, 1.05);
    -webkit-animation-timing-function: cubic-bezier(0.3, 0, 0.6, 0.3);
            animation-timing-function: cubic-bezier(0.3, 0, 0.6, 0.3);
  }
  35% {
    opacity: 1;
    transform: translate(0, 8px) scale(1.1, 0.75);
    -webkit-animation-timing-function: cubic-bezier(0.2, 0.8, 0.4, 1);
            animation-timing-function: cubic-bezier(0.2, 0.8, 0.4, 1);
  }
  55% {
    transform: translate(0, -5px) scale(0.95, 1.05);
    -webkit-animation-timing-function: cubic-bezier(0.6, 0, 0.4, 1);
            animation-timing-function: cubic-bezier(0.6, 0, 0.4, 1);
  }
  75% {
    transform: translate(0, 5px) scale(1.05, 0.85);
    -webkit-animation-timing-function: cubic-bezier(0.2, 0.8, 0.4, 1);
            animation-timing-function: cubic-bezier(0.2, 0.8, 0.4, 1);
  }
  88% {
    transform: translate(0, -3px) scale(0.99, 1.01);
    -webkit-animation-timing-function: cubic-bezier(0.4, 0, 0.6, 1);
            animation-timing-function: cubic-bezier(0.4, 0, 0.6, 1);
  }
  100% {
    opacity: 1;
    transform: translate(0, 0) scale(1) rotate(0.5deg);
  }
}
@keyframes smooth-bounce {
  0% {
    opacity: 0;
    transform: translate(0, 0) scale(0.9, 1.1);
    -webkit-animation-timing-function: cubic-bezier(0.5, 0, 0.7, 0.4);
            animation-timing-function: cubic-bezier(0.5, 0, 0.7, 0.4);
  }
  15% {
    opacity: 1;
    transform: translate(0, -10px) scale(0.95, 1.05);
    -webkit-animation-timing-function: cubic-bezier(0.3, 0, 0.6, 0.3);
            animation-timing-function: cubic-bezier(0.3, 0, 0.6, 0.3);
  }
  35% {
    opacity: 1;
    transform: translate(0, 8px) scale(1.1, 0.75);
    -webkit-animation-timing-function: cubic-bezier(0.2, 0.8, 0.4, 1);
            animation-timing-function: cubic-bezier(0.2, 0.8, 0.4, 1);
  }
  55% {
    transform: translate(0, -5px) scale(0.95, 1.05);
    -webkit-animation-timing-function: cubic-bezier(0.6, 0, 0.4, 1);
            animation-timing-function: cubic-bezier(0.6, 0, 0.4, 1);
  }
  75% {
    transform: translate(0, 5px) scale(1.05, 0.85);
    -webkit-animation-timing-function: cubic-bezier(0.2, 0.8, 0.4, 1);
            animation-timing-function: cubic-bezier(0.2, 0.8, 0.4, 1);
  }
  88% {
    transform: translate(0, -3px) scale(0.99, 1.01);
    -webkit-animation-timing-function: cubic-bezier(0.4, 0, 0.6, 1);
            animation-timing-function: cubic-bezier(0.4, 0, 0.6, 1);
  }
  100% {
    opacity: 1;
    transform: translate(0, 0) scale(1) rotate(0.5deg);
  }
}
@-webkit-keyframes smooth-bounce-plus {
  0% {
    opacity: 0;
    transform: translate(-50%, -200px) scale(0.92, 1.08);
    -webkit-animation-timing-function: cubic-bezier(0.5, 0, 0.7, 0.4);
            animation-timing-function: cubic-bezier(0.5, 0, 0.7, 0.4);
  }
  15% {
    opacity: 1;
    transform: translate(-50%, -50px) scale(0.98, 1.02);
    -webkit-animation-timing-function: cubic-bezier(0.3, 0, 0.6, 0.3);
            animation-timing-function: cubic-bezier(0.3, 0, 0.6, 0.3);
  }
  35% {
    opacity: 1;
    transform: translate(-50%, 8px) scale(1.08, 0.85);
    -webkit-animation-timing-function: cubic-bezier(0.2, 0.8, 0.4, 1);
            animation-timing-function: cubic-bezier(0.2, 0.8, 0.4, 1);
  }
  55% {
    transform: translate(-50%, -18px) scale(0.98, 1.02);
    -webkit-animation-timing-function: cubic-bezier(0.6, 0, 0.4, 1);
            animation-timing-function: cubic-bezier(0.6, 0, 0.4, 1);
  }
  75% {
    transform: translate(-50%, 5px) scale(1.02, 0.9);
    -webkit-animation-timing-function: cubic-bezier(0.2, 0.8, 0.4, 1);
            animation-timing-function: cubic-bezier(0.2, 0.8, 0.4, 1);
  }
  88% {
    transform: translate(-50%, -3px) scale(0.99, 1.01);
    -webkit-animation-timing-function: cubic-bezier(0.4, 0, 0.6, 1);
            animation-timing-function: cubic-bezier(0.4, 0, 0.6, 1);
  }
  100% {
    opacity: 1;
    transform: translate(-50%, 0) scale(1) rotate(0.5deg);
  }
}
@keyframes smooth-bounce-plus {
  0% {
    opacity: 0;
    transform: translate(-50%, -200px) scale(0.92, 1.08);
    -webkit-animation-timing-function: cubic-bezier(0.5, 0, 0.7, 0.4);
            animation-timing-function: cubic-bezier(0.5, 0, 0.7, 0.4);
  }
  15% {
    opacity: 1;
    transform: translate(-50%, -50px) scale(0.98, 1.02);
    -webkit-animation-timing-function: cubic-bezier(0.3, 0, 0.6, 0.3);
            animation-timing-function: cubic-bezier(0.3, 0, 0.6, 0.3);
  }
  35% {
    opacity: 1;
    transform: translate(-50%, 8px) scale(1.08, 0.85);
    -webkit-animation-timing-function: cubic-bezier(0.2, 0.8, 0.4, 1);
            animation-timing-function: cubic-bezier(0.2, 0.8, 0.4, 1);
  }
  55% {
    transform: translate(-50%, -18px) scale(0.98, 1.02);
    -webkit-animation-timing-function: cubic-bezier(0.6, 0, 0.4, 1);
            animation-timing-function: cubic-bezier(0.6, 0, 0.4, 1);
  }
  75% {
    transform: translate(-50%, 5px) scale(1.02, 0.9);
    -webkit-animation-timing-function: cubic-bezier(0.2, 0.8, 0.4, 1);
            animation-timing-function: cubic-bezier(0.2, 0.8, 0.4, 1);
  }
  88% {
    transform: translate(-50%, -3px) scale(0.99, 1.01);
    -webkit-animation-timing-function: cubic-bezier(0.4, 0, 0.6, 1);
            animation-timing-function: cubic-bezier(0.4, 0, 0.6, 1);
  }
  100% {
    opacity: 1;
    transform: translate(-50%, 0) scale(1) rotate(0.5deg);
  }
}
@-webkit-keyframes smooth-bounce-minus {
  0% {
    opacity: 0;
    transform: translate(-50%, -200px) scale(0.92, 1.08);
    -webkit-animation-timing-function: cubic-bezier(0.5, 0, 0.7, 0.4);
            animation-timing-function: cubic-bezier(0.5, 0, 0.7, 0.4);
  }
  15% {
    opacity: 1;
    transform: translate(-50%, -50px) scale(0.98, 1.02);
    -webkit-animation-timing-function: cubic-bezier(0.3, 0, 0.6, 0.3);
            animation-timing-function: cubic-bezier(0.3, 0, 0.6, 0.3);
  }
  35% {
    opacity: 1;
    transform: translate(-50%, 8px) scale(1.08, 0.85);
    -webkit-animation-timing-function: cubic-bezier(0.2, 0.8, 0.4, 1);
            animation-timing-function: cubic-bezier(0.2, 0.8, 0.4, 1);
  }
  55% {
    transform: translate(-50%, -18px) scale(0.98, 1.02);
    -webkit-animation-timing-function: cubic-bezier(0.6, 0, 0.4, 1);
            animation-timing-function: cubic-bezier(0.6, 0, 0.4, 1);
  }
  75% {
    transform: translate(-50%, 5px) scale(1.02, 0.9);
    -webkit-animation-timing-function: cubic-bezier(0.2, 0.8, 0.4, 1);
            animation-timing-function: cubic-bezier(0.2, 0.8, 0.4, 1);
  }
  88% {
    transform: translate(-50%, -3px) scale(0.99, 1.01);
    -webkit-animation-timing-function: cubic-bezier(0.4, 0, 0.6, 1);
            animation-timing-function: cubic-bezier(0.4, 0, 0.6, 1);
  }
  100% {
    opacity: 1;
    transform: translate(-50%, 0) scale(1) rotate(-0.5deg);
  }
}
@keyframes smooth-bounce-minus {
  0% {
    opacity: 0;
    transform: translate(-50%, -200px) scale(0.92, 1.08);
    -webkit-animation-timing-function: cubic-bezier(0.5, 0, 0.7, 0.4);
            animation-timing-function: cubic-bezier(0.5, 0, 0.7, 0.4);
  }
  15% {
    opacity: 1;
    transform: translate(-50%, -50px) scale(0.98, 1.02);
    -webkit-animation-timing-function: cubic-bezier(0.3, 0, 0.6, 0.3);
            animation-timing-function: cubic-bezier(0.3, 0, 0.6, 0.3);
  }
  35% {
    opacity: 1;
    transform: translate(-50%, 8px) scale(1.08, 0.85);
    -webkit-animation-timing-function: cubic-bezier(0.2, 0.8, 0.4, 1);
            animation-timing-function: cubic-bezier(0.2, 0.8, 0.4, 1);
  }
  55% {
    transform: translate(-50%, -18px) scale(0.98, 1.02);
    -webkit-animation-timing-function: cubic-bezier(0.6, 0, 0.4, 1);
            animation-timing-function: cubic-bezier(0.6, 0, 0.4, 1);
  }
  75% {
    transform: translate(-50%, 5px) scale(1.02, 0.9);
    -webkit-animation-timing-function: cubic-bezier(0.2, 0.8, 0.4, 1);
            animation-timing-function: cubic-bezier(0.2, 0.8, 0.4, 1);
  }
  88% {
    transform: translate(-50%, -3px) scale(0.99, 1.01);
    -webkit-animation-timing-function: cubic-bezier(0.4, 0, 0.6, 1);
            animation-timing-function: cubic-bezier(0.4, 0, 0.6, 1);
  }
  100% {
    opacity: 1;
    transform: translate(-50%, 0) scale(1) rotate(-0.5deg);
  }
}
@-webkit-keyframes heartbeat {
  0%, 100% {
    transform: translate(-50%, 0) scale(1) rotate(0.5deg);
  }
  20% {
    transform: translate(-50%, 0) scale(0.975) rotate(0.5deg);
  }
  30% {
    transform: translate(-50%, 0) scale(1) rotate(0.5deg);
  }
  40% {
    transform: translate(-50%, 0) scale(0.975) rotate(0.5deg);
  }
  50% {
    transform: translate(-50%, 0) scale(1) rotate(0.5deg);
  }
}
@keyframes heartbeat {
  0%, 100% {
    transform: translate(-50%, 0) scale(1) rotate(0.5deg);
  }
  20% {
    transform: translate(-50%, 0) scale(0.975) rotate(0.5deg);
  }
  30% {
    transform: translate(-50%, 0) scale(1) rotate(0.5deg);
  }
  40% {
    transform: translate(-50%, 0) scale(0.975) rotate(0.5deg);
  }
  50% {
    transform: translate(-50%, 0) scale(1) rotate(0.5deg);
  }
}
[data-animate-category=rotate] {
  opacity: 0;
  transform: rotateY(-90deg);
  transition: opacity 0.6s ease-in-out, transform 0.6s ease-in-out;
}

[data-animate-category=rotate].is-show {
  opacity: 1;
  transform: rotateY(0deg);
}

[data-animate-category=fade] {
  opacity: 0;
  transition: opacity 0.2s ease-in-out;
}
[data-animate-category=fade][data-animate-speed=normal] {
  transition: opacity 0.4s ease-in-out;
}
[data-animate-category=fade].is-show {
  opacity: 1;
}

[data-animate-category=translate] {
  opacity: 0;
  transition: opacity 0.2s ease-in-out, transform 0.4s ease-in-out;
}
[data-animate-category=translate][data-animate-direction=left] {
  transform: translate(10px, 10px);
}
[data-animate-category=translate][data-animate-direction=right] {
  transform: translate(-10px, 10px);
}
[data-animate-category=translate].is-show {
  opacity: 1;
  transform: translate(0);
}

[data-animate-category=bounce] {
  opacity: 0;
}
[data-animate-category=bounce].is-show {
  opacity: 1;
  -webkit-animation: smooth-bounce 1.5s forwards;
          animation: smooth-bounce 1.5s forwards;
}

/*
	Pages
	-home
*/
.p-hh-header {
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  padding: 4%;
  z-index: 2;
}
.p-hh-header__top {
  width: 13.3334%;
}
.p-hh-header__top a {
  display: block;
  transition: opacity 0.2s ease-in-out;
}
.p-hh-header__top a:focus-visible {
  opacity: 0.5;
}
@media (any-hover: hover) {
  .p-hh-header__top a:where(:-webkit-any-link, :enabled, summary):hover {
    opacity: 0.5;
  }
  .p-hh-header__top a:where(:-moz-any-link, :enabled, summary):hover {
    opacity: 0.5;
  }
  .p-hh-header__top a:where(:any-link, :enabled, summary):hover {
    opacity: 0.5;
  }
}
@media (pointer: coarse), (hover: none) {
  @supports (touch-action: none) {
    .p-hh-header__top a.touch-active {
      opacity: 0.5;
    }
  }
}
.p-hh-header__top img {
  width: 100%;
}
.p-hh-header__10th {
  width: 17.3334%;
}
.p-hh-header__10th a {
  display: block;
  transition: opacity 0.2s ease-in-out;
}
.p-hh-header__10th a:focus-visible {
  opacity: 0.5;
}
@media (any-hover: hover) {
  .p-hh-header__10th a:where(:-webkit-any-link, :enabled, summary):hover {
    opacity: 0.5;
  }
  .p-hh-header__10th a:where(:-moz-any-link, :enabled, summary):hover {
    opacity: 0.5;
  }
  .p-hh-header__10th a:where(:any-link, :enabled, summary):hover {
    opacity: 0.5;
  }
}
@media (pointer: coarse), (hover: none) {
  @supports (touch-action: none) {
    .p-hh-header__10th a.touch-active {
      opacity: 0.5;
    }
  }
}
.p-hh-header__10th img {
  width: 100%;
}

.l-hero {
  position: relative;
}
.l-hero .p-hero-heading__title {
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  z-index: 2;
  transform: scale(0);
  -webkit-animation: fadeScale 0.5s 3s forwards;
          animation: fadeScale 0.5s 3s forwards;
}
.l-hero .p-hero-heading__text {
  position: absolute;
  top: 0;
  left: 0;
  z-index: 1;
}
.l-hero .p-hero-heading__text:nth-of-type(1) {
  top: calc((118 / 375) * 100vw);
  left: unset;
  right: 8%;
  width: 67.7334%;
  transform: scale(0.68898, 0.67533);
  transform-origin: right bottom;
  opacity: 0;
  -webkit-animation: scaleInRight 0.5s 2s ease-out forwards;
          animation: scaleInRight 0.5s 2s ease-out forwards;
}
.l-hero .p-hero-heading__text:nth-of-type(2) {
  top: calc((20 / 375) * 100vw);
  left: unset;
  right: 17.3334%;
  width: 45.8667%;
  transform: scale(0.5, 0.51613);
  transform-origin: left bottom;
  opacity: 0;
  -webkit-animation: scaleInLeft 0.5s 2.5s ease-out forwards;
          animation: scaleInLeft 0.5s 2.5s ease-out forwards;
}
.l-hero .p-hero-group {
  position: relative;
  width: 100%;
  aspect-ratio: 375/670;
}
.l-hero .p-hero-group__illust {
  position: absolute;
  top: 0;
  left: 50%;
  transform: translateX(-50%);
  transform-origin: center;
  width: calc((385 / 375) * 100vw);
  pointer-events: none;
  opacity: 0;
}
.l-hero .p-hero-group__illust:nth-of-type(1) {
  -webkit-animation: smooth-bounce-plus 2s 0.5s forwards, sway 1s 3.5s ease-in-out infinite alternate;
          animation: smooth-bounce-plus 2s 0.5s forwards, sway 1s 3.5s ease-in-out infinite alternate;
}
.l-hero .p-hero-group__illust:nth-of-type(2) {
  -webkit-animation: smooth-bounce-plus 2s 1s forwards, heartbeat 3s 3.5s linear infinite;
          animation: smooth-bounce-plus 2s 1s forwards, heartbeat 3s 3.5s linear infinite;
}
.l-hero .p-hero-group__illust:nth-of-type(3) {
  animation: smooth-bounce-minus 2s 1.5s forwards, sway 1s 3.5s ease-in-out infinite alternate-reverse;
}

@media screen and (min-width: 769px) {
  .l-hero .p-hero-heading__text:nth-of-type(1) {
    top: calc((118 / 375 * 440) * 1px);
  }
  .l-hero .p-hero-heading__text:nth-of-type(2) {
    top: calc((20 / 375 * 440) * 1px);
  }
  .l-hero .p-hero-group span {
    width: calc((385 / 375 * 440) * 1px);
  }
}
.l-float {
  display: block;
  position: fixed;
  bottom: 20px;
  left: 50%;
  transform: translateX(-50%);
  width: 100%;
  z-index: 3000;
  opacity: 0;
  visibility: hidden;
  transition: opacity 0.2s ease-in-out, visibility 0.2s ease-in-out;
}
.l-float.is-show {
  opacity: 1;
  visibility: visible;
}
.l-float.is-hidden {
  opacity: 0;
  visibility: hidden;
}
.l-float .p-float-btn {
  margin-inline: auto;
  width: 77.3334%;
  filter: drop-shadow(0 3px 6px rgb(0 0 0 / 0.16));
}
.l-float .p-float-btn a {
  position: relative;
  display: block;
}
.l-float .p-float-btn a span {
  position: relative;
  display: block;
  will-change: opacity, transform;
  transform: translate3d(0, 0, 0);
  transition: transform 0.2s ease-in-out;
}
.l-float .p-float-btn a span::after {
  content: "";
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  background-image: url(../img/btn_present_hover.svg);
  background-repeat: no-repeat;
  background-size: 100% 100%;
  opacity: 0;
  visibility: hidden;
}
.l-float .p-float-btn a span > img {
  width: 100%;
}
.l-float .p-float-btn a:focus-visible span {
  transform: translateY(-10px);
}
.l-float .p-float-btn a:focus-visible span::after {
  opacity: 1;
  visibility: visible;
}
@media (any-hover: hover) {
  .l-float .p-float-btn a:where(:-webkit-any-link, :enabled, summary):hover span {
    transform: translateY(-10px);
  }
  .l-float .p-float-btn a:where(:-moz-any-link, :enabled, summary):hover span {
    transform: translateY(-10px);
  }
  .l-float .p-float-btn a:where(:any-link, :enabled, summary):hover span {
    transform: translateY(-10px);
  }
  .l-float .p-float-btn a:where(:-webkit-any-link, :enabled, summary):hover span::after {
    opacity: 1;
    visibility: visible;
  }
  .l-float .p-float-btn a:where(:-moz-any-link, :enabled, summary):hover span::after {
    opacity: 1;
    visibility: visible;
  }
  .l-float .p-float-btn a:where(:any-link, :enabled, summary):hover span::after {
    opacity: 1;
    visibility: visible;
  }
}
@media (pointer: coarse), (hover: none) {
  @supports (touch-action: none) {
    .l-float .p-float-btn a.touch-active span {
      transform: translateY(-10px);
    }
    .l-float .p-float-btn a.touch-active span::after {
      opacity: 1;
      visibility: visible;
    }
  }
}

@media print, screen and (min-width: 770px) and (max-width: 1023px) {
  .l-float {
    left: 0;
    transform: translateX(0);
    width: 440px;
  }
}
@media print, screen and (min-width: 1024px) {
  .l-float {
    width: 440px;
  }
}
.p-section-heading__title {
  font-size: calc((30 / 375) * 100vw);
  line-height: 1.0667;
  letter-spacing: 0.2em;
  color: rgb(27 36 92 / 1);
  font-weight: 500;
  text-align: center;
}
.p-section-heading__title span {
  color: rgb(227 0 127 / 1);
}

@media screen and (min-width: 769px) {
  .p-section-heading__title {
    font-size: calc((30 / 375 * 440) * 1px);
  }
}
.l-intro {
  padding-block: 4.5334% 0;
}
.l-intro .p-intro-heading {
  margin-inline: auto;
  width: 92%;
}
.l-intro .p-intro-heading__title > img {
  width: 100%;
}
.l-intro .p-intro-heading__lead {
  margin: 6.087% auto 0;
  width: 91.3044%;
  font-size: calc((18 / 375) * 100vw);
  line-height: 1.5;
  letter-spacing: 0.05em;
  font-weight: 700;
  color: rgb(227 0 127 / 1);
}
.l-intro .p-intro-heading__lead span {
  letter-spacing: -0.2em;
}
.l-intro .p-intro-detail {
  position: relative;
  display: grid;
  gap: 1lh;
  margin: 5.8667% auto 0;
  width: 84%;
  color: rgb(27 36 92 / 1);
  z-index: 1;
}
.l-intro .p-intro-detail p {
  font-size: calc((14 / 375) * 100vw);
  line-height: 1.5;
  letter-spacing: 0.05em;
}
.l-intro .p-intro-visual {
  position: relative;
  margin-top: -7.2%;
}
.l-intro .p-intro-visual img {
  width: 100%;
}
.l-intro .p-intro-visual-btn {
  position: absolute;
  top: calc((43 / 375) * 100vw);
  left: 8%;
  width: 32%;
  aspect-ratio: 1;
}
.l-intro .p-intro-visual-btn img {
  width: 100%;
}
.l-intro .p-intro-visual-btn::after {
  content: "";
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  background-image: url(../img/btn_modal_hover.svg);
  background-repeat: no-repeat;
  background-size: 100% 100%;
  opacity: 0;
  visibility: hidden;
  transition: opacity 0.2s ease-out, visibility 0.2s ease-out;
}
.l-intro .p-intro-visual-btn:focus-visible::after {
  opacity: 1;
  visibility: visible;
}
@media (any-hover: hover) {
  .l-intro .p-intro-visual-btn:where(:-webkit-any-link, :enabled, summary):hover::after {
    opacity: 1;
    visibility: visible;
  }
  .l-intro .p-intro-visual-btn:where(:-moz-any-link, :enabled, summary):hover::after {
    opacity: 1;
    visibility: visible;
  }
  .l-intro .p-intro-visual-btn:where(:any-link, :enabled, summary):hover::after {
    opacity: 1;
    visibility: visible;
  }
}
@media (pointer: coarse), (hover: none) {
  @supports (touch-action: none) {
    .l-intro .p-intro-visual-btn.touch-active::after {
      opacity: 1;
      visibility: visible;
    }
  }
}

@media screen and (min-width: 769px) {
  .l-intro .p-intro-heading__lead {
    font-size: calc((18 / 375 * 440) * 1px);
  }
  .l-intro .p-intro-detail p {
    font-size: calc((14 / 375 * 440) * 1px);
  }
  .l-intro .p-intro-visual-btn {
    top: calc((43 / 375 * 440) * 1px);
  }
}
.l-skill {
  --_border-radius: 100vmax;
  position: relative;
  margin-bottom: 8.5334%;
  padding-block: 13.3334% 35.7334%;
  background: linear-gradient(180deg, transparent 0%, transparent 10%, rgb(243 239 231 / 1) 15%, rgb(243 239 231 / 1) 100%);
  border-radius: var(--_border-radius);
}
.l-skill::before {
  --_border-radius: 100vmax;
  content: "";
  position: absolute;
  top: calc((50 / 375) * 100vw);
  left: 0;
  right: 0;
  width: 100%;
  aspect-ratio: 375/480;
  background: url(../img/skill_bg.webp);
  background-repeat: no-repeat;
  background-size: contain;
  border-radius: var(--_border-radius) var(--_border-radius) 0 0;
}
.l-skill .p-skill-heading {
  position: relative;
  padding-top: 33.0667%;
}
.l-skill .p-skill-heading__illust {
  position: absolute;
  top: calc((-24 / 375) * 100vw);
  left: 0;
  right: 0;
}
.l-skill .p-skill-heading__illust img {
  width: 100%;
}
.l-skill .p-skill-list {
  margin-top: 8%;
}
.l-skill .p-skill-item {
  position: relative;
}
.l-skill .p-skill-item:nth-child(odd) .p-skill-item-heading {
  left: 8%;
}
.l-skill .p-skill-item:nth-child(even) .p-skill-item-heading {
  right: 8%;
}
.l-skill .p-skill-item:not(:first-child) {
  margin-top: 17.0667%;
}
.l-skill .p-skill-item:first-child .p-skill-item-heading::before {
  background-image: url(../img/icon_skill_heading_01.svg);
  background-repeat: no-repeat;
  background-size: contain;
}
.l-skill .p-skill-item:first-child .p-skill-item-heading__sub {
  color: rgb(227 0 127 / 1);
}
.l-skill .p-skill-item:first-child .p-skill-slide-item-info__name {
  color: rgb(227 0 127 / 1);
}
.l-skill .p-skill-item:nth-child(2) .p-skill-item-heading::before {
  background-image: url(../img/icon_skill_heading_02.svg);
  background-repeat: no-repeat;
  background-size: contain;
}
.l-skill .p-skill-item:nth-child(2) .p-skill-item-heading__sub {
  color: rgb(25 154 203 / 1);
}
.l-skill .p-skill-item:nth-child(2) .p-skill-slide-item-info__name {
  color: rgb(25 154 203 / 1);
}
.l-skill .p-skill-item:nth-child(3) .p-skill-item-heading::before {
  background-image: url(../img/icon_skill_heading_03.svg);
  background-repeat: no-repeat;
  background-size: contain;
}
.l-skill .p-skill-item:nth-child(3) .p-skill-item-heading__sub {
  color: rgb(238 120 1 / 1);
}
.l-skill .p-skill-item:nth-child(3) .p-skill-slide-item-info__name {
  color: rgb(238 120 1 / 1);
}
.l-skill .p-skill-item:nth-child(4) .p-skill-item-heading::before {
  background-image: url(../img/icon_skill_heading_04.svg);
  background-repeat: no-repeat;
  background-size: contain;
}
.l-skill .p-skill-item:nth-child(4) .p-skill-item-heading__sub {
  color: rgb(0 178 179 / 1);
}
.l-skill .p-skill-item:nth-child(4) .p-skill-slide-item-info__name {
  color: rgb(0 178 179 / 1);
}
.l-skill .p-skill-item-heading {
  position: absolute;
  top: calc((20 / 375) * 100vw);
  display: grid;
  grid-auto-flow: column;
  gap: calc((2 / 375) * 100vw);
  padding-top: calc((34 / 375) * 100vw);
  z-index: 2;
}
.l-skill .p-skill-item-heading::before {
  content: "";
  position: absolute;
  top: 0;
  left: 0.25lh;
  width: calc((32 / 375) * 100vw);
  aspect-ratio: 1;
}
.l-skill .p-skill-item-heading__sub {
  padding-top: 0.4em;
  font-size: calc((13 / 375) * 100vw);
  letter-spacing: 0.05em;
  font-weight: 700;
  color: rgb(227 0 127 / 1);
  writing-mode: vertical-lr;
  order: 1;
}
.l-skill .p-skill-item-heading__main {
  font-size: calc((36 / 375) * 100vw);
  letter-spacing: 0.05em;
  font-weight: 700;
  color: rgb(27 36 92 / 1);
  writing-mode: vertical-lr;
  order: 0;
}
.l-skill .p-skill-item__text {
  --_border-size: 1px;
  position: absolute;
  top: calc((315 / 375) * 100vw);
  left: 8%;
  right: 8%;
  padding-bottom: 4.2667%;
  border-bottom: var(--_border-size) solid rgb(27 36 92 / 1);
}
.l-skill .p-skill-slide {
  margin-inline: auto;
  width: 100%;
}
.l-skill .p-skill-slide-item {
  width: 100% !important;
}
.l-skill .p-skill-slide-item-info {
  margin: 27.4667% auto 0;
  width: 57.3334%;
}
.l-skill .p-skill-slide-item-info__name {
  font-size: calc((20 / 375) * 100vw);
  line-height: 1.5;
  letter-spacing: 0.05em;
  font-weight: 700;
  text-align: center;
}
.l-skill .splide__arrows {
  position: absolute;
  top: calc((460 / 375) * 100vw);
  left: 8%;
  right: 8%;
  pointer-events: none;
}
.l-skill .splide__arrow {
  width: 9.6%;
  aspect-ratio: 1;
  pointer-events: all;
}
.l-skill .splide__arrow svg {
  display: none;
}
.l-skill .splide__arrow--prev {
  position: absolute;
  left: 0;
  background-image: url("../img/slide_arrow_unhover.svg");
  background-repeat: no-repeat;
  background-size: 100% 100%;
}
.l-skill .splide__arrow--prev:focus-visible {
  background-image: url("../img/slide_arrow_hover.svg");
  background-repeat: no-repeat;
  background-size: 100% 100%;
}
@media (any-hover: hover) {
  .l-skill .splide__arrow--prev:where(:-webkit-any-link, :enabled, summary):hover {
    background-image: url("../img/slide_arrow_hover.svg");
    background-repeat: no-repeat;
    background-size: 100% 100%;
  }
  .l-skill .splide__arrow--prev:where(:-moz-any-link, :enabled, summary):hover {
    background-image: url("../img/slide_arrow_hover.svg");
    background-repeat: no-repeat;
    background-size: 100% 100%;
  }
  .l-skill .splide__arrow--prev:where(:any-link, :enabled, summary):hover {
    background-image: url("../img/slide_arrow_hover.svg");
    background-repeat: no-repeat;
    background-size: 100% 100%;
  }
}
@media (pointer: coarse), (hover: none) {
  @supports (touch-action: none) {
    .l-skill .splide__arrow--prev.touch-active {
      background-image: url("../img/slide_arrow_hover.svg");
      background-repeat: no-repeat;
      background-size: 100% 100%;
    }
  }
}
.l-skill .splide__arrow--next {
  position: absolute;
  right: 0;
  transform: scaleX(-1);
  background-image: url("../img/slide_arrow_unhover.svg");
  background-repeat: no-repeat;
  background-size: 100% 100%;
}
.l-skill .splide__arrow--next:focus-visible {
  background-image: url("../img/slide_arrow_hover.svg");
  background-repeat: no-repeat;
  background-size: 100% 100%;
}
@media (any-hover: hover) {
  .l-skill .splide__arrow--next:where(:-webkit-any-link, :enabled, summary):hover {
    background-image: url("../img/slide_arrow_hover.svg");
    background-repeat: no-repeat;
    background-size: 100% 100%;
  }
  .l-skill .splide__arrow--next:where(:-moz-any-link, :enabled, summary):hover {
    background-image: url("../img/slide_arrow_hover.svg");
    background-repeat: no-repeat;
    background-size: 100% 100%;
  }
  .l-skill .splide__arrow--next:where(:any-link, :enabled, summary):hover {
    background-image: url("../img/slide_arrow_hover.svg");
    background-repeat: no-repeat;
    background-size: 100% 100%;
  }
}
@media (pointer: coarse), (hover: none) {
  @supports (touch-action: none) {
    .l-skill .splide__arrow--next.touch-active {
      background-image: url("../img/slide_arrow_hover.svg");
      background-repeat: no-repeat;
      background-size: 100% 100%;
    }
  }
}

@media screen and (min-width: 769px) {
  .l-skill::before {
    top: calc((50 / 375 * 440) * 1px);
  }
  .l-skill .p-skill-heading__illust {
    top: calc((-24 / 375 * 440) * 1px);
  }
  .l-skill .p-skill-item {
    position: relative;
  }
  .l-skill .p-skill-item-heading {
    top: calc((20 / 375 * 440) * 1px);
    gap: calc((2 / 375 * 440) * 1px);
    padding-top: calc((34 / 375 * 440) * 1px);
  }
  .l-skill .p-skill-item-heading::before {
    width: calc((32 / 375 * 440) * 1px);
  }
  .l-skill .p-skill-item-heading__sub {
    font-size: calc((13 / 375 * 440) * 1px);
  }
  .l-skill .p-skill-item-heading__main {
    font-size: calc((36 / 375 * 440) * 1px);
  }
  .l-skill .p-skill-item__text {
    top: calc((315 / 375 * 440) * 1px);
  }
  .l-skill .p-skill-slide-item-info__name {
    font-size: calc((20 / 375 * 440) * 1px);
  }
  .l-skill .splide__arrows {
    top: calc((460 / 375 * 440) * 1px);
  }
}
.l-curator {
  --_border-radius: 100vmax;
  position: relative;
  margin-bottom: 8.5334%;
  padding-block: 18.6667% 0;
  color: rgb(27 36 92 / 1);
  background-color: rgb(255 255 255 / 1);
  border-radius: 0 0 var(--_border-radius) var(--_border-radius);
  overflow: clip;
}
.l-curator::before {
  --_border-radius: 100vmax;
  content: "";
  position: absolute;
  top: calc((70 / 375) * 100vw);
  left: 0;
  right: 0;
  width: 100%;
  aspect-ratio: 375/480;
  background: url(../img/curator_bg.webp);
  background-repeat: no-repeat;
  background-size: contain;
  border-radius: var(--_border-radius) var(--_border-radius) 0 0;
}
.l-curator .p-curator-heading {
  position: relative;
  padding-top: 33.0667%;
}
.l-curator .p-curator-heading__title {
  letter-spacing: 0.05em;
}
.l-curator .p-curator-heading__illust {
  position: absolute;
  top: calc((-10 / 375) * 100vw);
  left: 0;
  right: 0;
  transform-origin: center bottom;
}
.l-curator .p-curator-heading__illust img {
  width: 100%;
}
.l-curator .p-curator__text {
  margin: 5.8667% auto 0;
  width: 84%;
  font-size: calc((14 / 375) * 100vw);
  line-height: 1.5;
  letter-spacing: 0.05em;
}
.l-curator .p-curator-profile {
  display: grid;
  grid-template-columns: 40% 1fr;
  gap: calc((4 / 375) * 100vw);
  margin-top: 4.2667%;
}
.l-curator .p-curator-profile-dist {
  padding-right: 13.5747%;
}
.l-curator .p-curator-profile-dist__term {
  font-size: calc((12 / 375) * 100vw);
  line-height: 1.5;
  letter-spacing: 0.05em;
  font-weight: 700;
}
.l-curator .p-curator-profile-dist__desc {
  margin-top: 2.715%;
  font-size: calc((14 / 375) * 100vw);
  line-height: 1.5;
  letter-spacing: 0.05em;
}
.l-curator .p-curator-order li {
  position: relative;
}
.l-curator .p-curator-order li p {
  position: absolute;
  top: calc((-38 / 375) * 100vw);
  left: 0;
  right: 0;
  z-index: 1;
}

@media screen and (min-width: 769px) {
  .l-curator::before {
    top: calc((70 / 375 * 440) * 1px);
  }
  .l-curator .p-curator-heading__illust {
    top: calc((-10 / 375 * 440) * 1px);
  }
  .l-curator .p-curator__text {
    font-size: calc((14 / 375 * 440) * 1px);
  }
  .l-curator .p-curator-profile {
    gap: calc((4 / 375 * 440) * 1px);
  }
  .l-curator .p-curator-profile-dist__term {
    font-size: calc((12 / 375 * 440) * 1px);
  }
  .l-curator .p-curator-profile-dist__desc {
    font-size: calc((14 / 375 * 440) * 1px);
  }
  .l-curator .p-curator-order li p {
    top: calc((-38 / 375 * 440) * 1px);
  }
}
.l-sale {
  --_border-radius: 100vmax;
  position: relative;
  padding-block: 24% 46.1334%;
  background-color: rgb(255 255 255 / 1);
  border-radius: var(--_border-radius);
}
.l-sale::before {
  --_border-radius: 100vmax;
  content: "";
  position: absolute;
  top: calc((90 / 375) * 100vw);
  left: 0;
  right: 0;
  width: 100%;
  aspect-ratio: 375/480;
  background: url(../img/sale_bg.webp);
  background-repeat: no-repeat;
  background-size: contain;
  border-radius: var(--_border-radius) var(--_border-radius) 0 0;
}
.l-sale .p-sale__illust {
  position: absolute;
  top: calc((224 / 375) * 100vw);
  left: 0;
  right: 0;
  width: 100%;
  aspect-ratio: 375/1400;
}
.l-sale .p-sale-heading {
  position: relative;
  padding-top: 25.8667%;
}
.l-sale .p-sale-heading__title {
  line-height: 1.3334;
  letter-spacing: 0.1em;
}
.l-sale .p-sale-heading__illust {
  position: absolute;
  top: calc((-56 / 375) * 100vw);
  left: 0;
  right: 0;
}
.l-sale .p-sale-heading__illust:nth-of-type(1) {
  z-index: 1;
}
.l-sale .p-sale-heading__illust img {
  width: 100%;
}
.l-sale .p-sale-item:nth-child(1) .p-sale-slide-item-content {
  background-image: url(../img/sale_slide_01_item_content.webp);
}
.l-sale .p-sale-item:nth-child(2) {
  margin-top: 9.0667%;
}
.l-sale .p-sale-item:nth-child(2) .p-sale-slide-item-content {
  background-image: url(../img/sale_slide_02_item_content.webp);
}
.l-sale .p-sale-slide {
  margin: 9.0667% auto 0;
  width: 76%;
}
.l-sale .p-sale-slide-item {
  width: 100% !important;
}
.l-sale .p-sale-slide-item-visual {
  --_border-radius: 100vmax;
  border-radius: var(--_border-radius) var(--_border-radius) 0 0;
  overflow: clip;
}
.l-sale .p-sale-slide-item-content {
  padding: 10.5264% 7.193% 0;
  width: 100%;
  aspect-ratio: 285/233;
  background-repeat: no-repeat;
  background-size: 100%;
  color: rgb(255 255 255 / 1);
}
.l-sale .p-sale-slide-item-content__name {
  font-size: calc((20 / 375) * 100vw);
  line-height: 1.5;
  letter-spacing: 0.05em;
  font-weight: 700;
  text-align: center;
}
.l-sale .p-sale-slide-item-content__spec {
  margin-top: 3.2787%;
  font-size: calc((14 / 375) * 100vw);
  line-height: 1.5;
  letter-spacing: 0.05em;
}

@media screen and (min-width: 769px) {
  .l-sale::before {
    top: calc((90 / 375 * 440) * 1px);
  }
  .l-sale .p-sale__illust {
    top: calc((224 / 375 * 440) * 1px);
  }
  .l-sale .p-sale-heading__illust {
    top: calc((-56 / 375 * 440) * 1px);
  }
  .l-sale .p-sale-slide-item-content__name {
    font-size: calc((20 / 375 * 440) * 1px);
  }
  .l-sale .p-sale-slide-item-content__spec {
    font-size: calc((14 / 375 * 440) * 1px);
  }
}
.l-flow {
  position: relative;
  width: 100%;
  height: calc((52 / 375) * 100vw);
  background: url(../img/flow_text.webp);
  background-repeat: repeat-x;
  background-position: left center;
  background-size: calc((338 / 375) * 100vw) calc((52 / 375) * 100vw);
  -webkit-animation: flow 10s linear infinite;
          animation: flow 10s linear infinite;
}

@media screen and (min-width: 769px) {
  .l-flow {
    height: calc((52 / 375 * 440) * 1px);
    background-size: calc((338 / 375 * 440) * 1px) calc((52 / 375 * 440) * 1px);
  }
}
.l-ticket {
  --_border-radius: 100vmax;
  position: relative;
  padding-block: 36.8% 12.8%;
  background-color: rgb(243 239 231 / 1);
  border-radius: var(--_border-radius) var(--_border-radius) 0 0;
}
.l-ticket .p-ticket-heading__title {
  margin: 0 auto;
  width: 84%;
}
.l-ticket .p-ticket-heading__title img {
  width: 100%;
}
.l-ticket .p-ticket-visual {
  margin: 9.6% auto 0;
  width: 84%;
}
.l-ticket .p-ticket-visual img {
  width: 100%;
}
.l-ticket .p-ticket-dist {
  display: grid;
  row-gap: calc((24 / 375) * 100vw);
  margin: 6.4% auto 0;
  width: 84%;
}
.l-ticket .p-ticket-group {
  display: grid;
  row-gap: calc((12 / 375) * 100vw);
}
.l-ticket .p-ticket-group__term {
  --_border-radius: 3px;
  display: grid;
  place-content: center;
  width: 100%;
  font-size: calc((14 / 375) * 100vw);
  line-height: 2.1429;
  color: rgb(27 36 92 / 1);
  background-color: rgb(255 255 255 / 1);
  border-radius: var(--_border-radius);
}
.l-ticket .p-ticket-group__desc {
  font-size: calc((14 / 375) * 100vw);
  line-height: 1.7858;
  color: rgb(27 36 92 / 1);
}
.l-ticket .p-ticket-group__desc dl + dl {
  margin-top: 7.6191%;
}
.l-ticket .p-ticket-group__desc div:not([class]) p:not(:first-of-type) {
  margin-top: 2.5397%;
}
.l-ticket .p-ticket-group__desc .link {
  display: grid;
  grid-template-columns: 1fr auto;
  align-items: center;
  gap: calc((11 / 375) * 100vw);
  margin-inline: auto;
  width: -webkit-fit-content;
  width: -moz-fit-content;
  width: fit-content;
  text-decoration: underline;
  text-underline-offset: 2px;
  transition: opacity 0.2s ease-in-out;
}
.l-ticket .p-ticket-group__desc .link::after {
  content: "";
  inline-size: calc((15 / 375) * 100vw);
  aspect-ratio: 1;
  background: url(../img/icon_blank.svg);
  background-repeat: no-repeat;
  background-size: contain;
}
.l-ticket .p-ticket-group__desc .link:focus-visible {
  opacity: 0.5;
}
@media (any-hover: hover) {
  .l-ticket .p-ticket-group__desc .link:where(:-webkit-any-link, :enabled, summary):hover {
    opacity: 0.5;
  }
  .l-ticket .p-ticket-group__desc .link:where(:-moz-any-link, :enabled, summary):hover {
    opacity: 0.5;
  }
  .l-ticket .p-ticket-group__desc .link:where(:any-link, :enabled, summary):hover {
    opacity: 0.5;
  }
}
@media (pointer: coarse), (hover: none) {
  @supports (touch-action: none) {
    .l-ticket .p-ticket-group__desc .link.touch-active {
      opacity: 0.5;
    }
  }
}
.l-ticket .p-ticket-fee {
  margin-inline: auto;
  width: 69.2064%;
  line-height: 1.5;
}
.l-ticket .p-ticket-fee div:not([class]) {
  display: grid;
  grid-template-columns: 73.8533% 22.4771%;
  justify-content: space-between;
}
.l-ticket .p-ticket-fee dd {
  text-align: right;
}
.l-ticket .p-ticket-half dd {
  line-height: 1.5;
}
.l-ticket .p-ticket-btn {
  margin-top: 5.3969%;
  width: 100%;
  filter: drop-shadow(0 3px 6px rgb(0 0 0 / 0.16));
}
.l-ticket .p-ticket-btn a {
  position: relative;
  display: block;
}
.l-ticket .p-ticket-btn a span {
  position: relative;
  display: block;
  will-change: opacity, transform;
  transform: translate3d(0, 0, 0);
  transition: transform 0.2s ease-in-out;
}
.l-ticket .p-ticket-btn a span::after {
  content: "";
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  background-image: url(../img/btn_purchase_hover.svg);
  background-repeat: no-repeat;
  background-size: 100% 100%;
  opacity: 0;
  visibility: hidden;
}
.l-ticket .p-ticket-btn a span > img {
  width: 100%;
}
.l-ticket .p-ticket-btn a:focus-visible span {
  transform: translateY(-10px);
}
.l-ticket .p-ticket-btn a:focus-visible span::after {
  opacity: 1;
  visibility: visible;
}
@media (any-hover: hover) {
  .l-ticket .p-ticket-btn a:where(:-webkit-any-link, :enabled, summary):hover span {
    transform: translateY(-10px);
  }
  .l-ticket .p-ticket-btn a:where(:-moz-any-link, :enabled, summary):hover span {
    transform: translateY(-10px);
  }
  .l-ticket .p-ticket-btn a:where(:any-link, :enabled, summary):hover span {
    transform: translateY(-10px);
  }
  .l-ticket .p-ticket-btn a:where(:-webkit-any-link, :enabled, summary):hover span::after {
    opacity: 1;
    visibility: visible;
  }
  .l-ticket .p-ticket-btn a:where(:-moz-any-link, :enabled, summary):hover span::after {
    opacity: 1;
    visibility: visible;
  }
  .l-ticket .p-ticket-btn a:where(:any-link, :enabled, summary):hover span::after {
    opacity: 1;
    visibility: visible;
  }
}
@media (pointer: coarse), (hover: none) {
  @supports (touch-action: none) {
    .l-ticket .p-ticket-btn a.touch-active span {
      transform: translateY(-10px);
    }
    .l-ticket .p-ticket-btn a.touch-active span::after {
      opacity: 1;
      visibility: visible;
    }
  }
}

@media screen and (min-width: 769px) {
  .l-ticket .p-ticket-dist {
    row-gap: calc((24 / 375 * 440) * 1px);
  }
  .l-ticket .p-ticket-group {
    row-gap: calc((12 / 375 * 440) * 1px);
  }
  .l-ticket .p-ticket-group__term {
    font-size: calc((14 / 375 * 440) * 1px);
  }
  .l-ticket .p-ticket-group__desc {
    font-size: calc((14 / 375 * 440) * 1px);
  }
  .l-ticket .p-ticket-group__desc .link {
    gap: calc((11 / 375 * 440) * 1px);
  }
  .l-ticket .p-ticket-group__desc .link::after {
    inline-size: calc((15 / 375 * 440) * 1px);
  }
}
.l-instagram {
  margin-bottom: 8.5334%;
  padding-block: 2.6667%;
}
.l-instagram .p-instagram-heading__title {
  margin: 0 auto;
  width: 84%;
}
.l-instagram .p-instagram-heading__title img {
  width: 100%;
}
.l-instagram .p-instagram__letro {
  margin-inline: auto;
  width: 92%;
}

.l-access {
  --_border-radius: 100vmax;
  padding-block: 12.8% 36.8%;
  background-color: rgb(243 239 231 / 1);
  border-radius: 0 0 var(--_border-radius) var(--_border-radius);
}
.l-access .p-access-heading__title {
  margin: 0 auto;
  width: 84%;
}
.l-access .p-access-heading__title img {
  width: 100%;
}
.l-access .p-access__map {
  margin: 6.4% auto 0;
  width: 84%;
  aspect-ratio: 16/9;
}
.l-access .p-access__from {
  margin: 6.4% auto 0;
  width: 84%;
  font-size: calc((14 / 375) * 100vw);
  line-height: 1.75;
  color: rgb(27 36 92 / 1);
}
.l-access .p-access__place {
  margin: 4.2667% auto 0;
  width: 84%;
  font-size: calc((14 / 375) * 100vw);
  line-height: 1.75;
  color: rgb(27 36 92 / 1);
  word-break: break-all;
}
.l-access .p-access__tel {
  margin: 4.2667% auto 0;
  width: 84%;
  font-size: calc((14 / 375) * 100vw);
  line-height: 1.75;
  color: rgb(27 36 92 / 1);
}
.l-access .p-access__time {
  margin: 0 auto;
  width: 84%;
  font-size: calc((14 / 375) * 100vw);
  line-height: 1.75;
  color: rgb(27 36 92 / 1);
}
.l-access .p-access-btn {
  margin: 9.6% auto 0;
  padding-bottom: 2px;
  width: 84%;
}
.l-access .p-access-btn a {
  position: relative;
  display: block;
}
.l-access .p-access-btn a span {
  --_border-radius: 100vmax;
  --_border-size: 1px;
  display: grid;
  place-content: center;
  width: 100%;
  aspect-ratio: 315/60;
  font-size: calc((18 / 375) * 100vw);
  letter-spacing: 0.02em;
  font-weight: 700;
  border: var(--_border-size) solid rgb(27 36 92 / 1);
  border-radius: var(--_border-radius);
  color: rgb(27 36 92 / 1);
  background-color: transparent;
  will-change: opacity, transform;
  transform: translate3d(0, 0, 0);
  transition: transform 0.2s ease-in-out;
}
.l-access .p-access-btn a span::after {
  content: "";
  position: absolute;
  top: 50%;
  right: 12.6985%;
  transform: translateY(-50%);
  inline-size: calc((15 / 375) * 100vw);
  aspect-ratio: 1;
  background: url(../img/icon_blank.svg);
  background-repeat: no-repeat;
  background-size: contain;
}
.l-access .p-access-btn a:focus-visible span {
  background-color: rgb(255 255 255 / 1);
  transform: translateY(-10px);
}
@media (any-hover: hover) {
  .l-access .p-access-btn a:where(:-webkit-any-link, :enabled, summary):hover span {
    background-color: rgb(255 255 255 / 1);
    transform: translateY(-10px);
  }
  .l-access .p-access-btn a:where(:-moz-any-link, :enabled, summary):hover span {
    background-color: rgb(255 255 255 / 1);
    transform: translateY(-10px);
  }
  .l-access .p-access-btn a:where(:any-link, :enabled, summary):hover span {
    background-color: rgb(255 255 255 / 1);
    transform: translateY(-10px);
  }
}
@media (pointer: coarse), (hover: none) {
  @supports (touch-action: none) {
    .l-access .p-access-btn a.touch-active span {
      background-color: rgb(255 255 255 / 1);
      transform: translateY(-10px);
    }
  }
}

@media screen and (min-width: 769px) {
  .l-access .p-access__from {
    font-size: calc((14 / 375 * 440) * 1px);
  }
  .l-access .p-access__place {
    font-size: calc((14 / 375 * 440) * 1px);
  }
  .l-access .p-access__tel {
    font-size: calc((14 / 375 * 440) * 1px);
  }
  .l-access .p-access__time {
    font-size: calc((14 / 375 * 440) * 1px);
  }
  .l-access .p-access-btn a span {
    font-size: calc((18 / 375 * 440) * 1px);
  }
  .l-access .p-access-btn a span::after {
    inline-size: calc((15 / 375 * 440) * 1px);
  }
}
/*
	Accessibility
	-a-main
*/
*:focus-visible {
  outline-width: 2px !important;
  outline-style: solid !important;
  outline-offset: 2px !important;
  outline-color: rgb(66 139 202 / 1);
}

.sr-only {
  clip: rect(1px, 1px, 1px, 1px);
  -webkit-clip-path: inset(50%);
          clip-path: inset(50%);
  height: 1px;
  width: 1px;
  margin: -1px;
  overflow: hidden;
  padding: 0;
  position: absolute;
}

a[href^="tel:"] {
  pointer-events: all;
}
@media print, screen and (min-width: 770px) and (max-width: 1023px) {
  a[href^="tel:"] {
    pointer-events: none;
  }
}
@media print, screen and (min-width: 1024px) {
  a[href^="tel:"] {
    pointer-events: none;
  }
}
/*# sourceMappingURL=style.css.map */