/*
	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) {
  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));
  z-index: 10;
  overflow-x: clip;
}

@media print, screen and (min-width: 768px) 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), rgb(225 240 240 / 1);
    background-repeat: no-repeat, no-repeat;
    background-size: 100% auto, 100% auto;
    background-position: top right, bottom right;
  }
  .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_right_bottom.webp), url(../img/common/header_illust_left_bottom.webp), rgb(225 240 240 / 1);
    background-repeat: no-repeat, no-repeat, no-repeat, no-repeat;
    background-size: 50% auto, 50% auto, 50% auto, 50% auto;
    background-position: top left, top right, bottom right, bottom left;
  }
  .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__logo {
  width: 69.5239%;
}
.p-outline__logo > img {
  width: 100%;
}
.p-outline__copy {
  padding-top: 1.25rem;
  width: 69.5239%;
}
.p-outline__copy > img {
  width: 100%;
}
.p-outline-nav {
  margin: 4.792% auto 0;
  width: 58.3334%;
}
.p-outline-nav-list {
  display: grid;
  gap: 1rem;
}
.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:nth-child(1) a span::after {
  content: "";
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  background-image: url(../img/common/outline_nav_item_01_hover.svg);
  background-repeat: no-repeat;
  background-size: 100% 100%;
  opacity: 0;
  visibility: hidden;
}
.p-outline-nav-list__item:nth-child(1) a:focus-visible span {
  transform: translateY(-10px);
}
.p-outline-nav-list__item:nth-child(1) a:focus-visible span::after {
  opacity: 1;
  visibility: visible;
}
@media (any-hover: hover) {
  .p-outline-nav-list__item:nth-child(1) a:where(:-webkit-any-link, :enabled, summary):hover span {
    transform: translateY(-10px);
  }
  .p-outline-nav-list__item:nth-child(1) a:where(:-moz-any-link, :enabled, summary):hover span {
    transform: translateY(-10px);
  }
  .p-outline-nav-list__item:nth-child(1) a:where(:any-link, :enabled, summary):hover span {
    transform: translateY(-10px);
  }
  .p-outline-nav-list__item:nth-child(1) a:where(:-webkit-any-link, :enabled, summary):hover span::after {
    opacity: 1;
    visibility: visible;
  }
  .p-outline-nav-list__item:nth-child(1) a:where(:-moz-any-link, :enabled, summary):hover span::after {
    opacity: 1;
    visibility: visible;
  }
  .p-outline-nav-list__item:nth-child(1) a:where(:any-link, :enabled, summary):hover span::after {
    opacity: 1;
    visibility: visible;
  }
}
@media (pointer: coarse), (hover: none) {
  @supports (touch-action: none) {
    .p-outline-nav-list__item:nth-child(1) a.touch-active span {
      transform: translateY(-10px);
    }
    .p-outline-nav-list__item:nth-child(1) a.touch-active span::after {
      opacity: 1;
      visibility: visible;
    }
  }
}
.p-outline-nav-list__item:nth-child(2) a span::after {
  content: "";
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  background-image: url(../img/common/outline_nav_item_02_hover.svg);
  background-repeat: no-repeat;
  background-size: 100% 100%;
  opacity: 0;
  visibility: hidden;
}
.p-outline-nav-list__item:nth-child(2) a:focus-visible span {
  transform: translateY(-10px);
}
.p-outline-nav-list__item:nth-child(2) a:focus-visible span::after {
  opacity: 1;
  visibility: visible;
}
@media (any-hover: hover) {
  .p-outline-nav-list__item:nth-child(2) a:where(:-webkit-any-link, :enabled, summary):hover span {
    transform: translateY(-10px);
  }
  .p-outline-nav-list__item:nth-child(2) a:where(:-moz-any-link, :enabled, summary):hover span {
    transform: translateY(-10px);
  }
  .p-outline-nav-list__item:nth-child(2) a:where(:any-link, :enabled, summary):hover span {
    transform: translateY(-10px);
  }
  .p-outline-nav-list__item:nth-child(2) a:where(:-webkit-any-link, :enabled, summary):hover span::after {
    opacity: 1;
    visibility: visible;
  }
  .p-outline-nav-list__item:nth-child(2) a:where(:-moz-any-link, :enabled, summary):hover span::after {
    opacity: 1;
    visibility: visible;
  }
  .p-outline-nav-list__item:nth-child(2) a:where(:any-link, :enabled, summary):hover span::after {
    opacity: 1;
    visibility: visible;
  }
}
@media (pointer: coarse), (hover: none) {
  @supports (touch-action: none) {
    .p-outline-nav-list__item:nth-child(2) a.touch-active span {
      transform: translateY(-10px);
    }
    .p-outline-nav-list__item:nth-child(2) a.touch-active span::after {
      opacity: 1;
      visibility: visible;
    }
  }
}
.p-outline-nav-list__item:nth-child(3) a span::after {
  content: "";
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  background-image: url(../img/common/251119/outline_nav_item_03_hover.svg);
  background-repeat: no-repeat;
  background-size: 100% 100%;
  opacity: 0;
  visibility: hidden;
}
.p-outline-nav-list__item:nth-child(3) a:focus-visible span {
  transform: translateY(-10px);
}
.p-outline-nav-list__item:nth-child(3) a:focus-visible span::after {
  opacity: 1;
  visibility: visible;
}
@media (any-hover: hover) {
  .p-outline-nav-list__item:nth-child(3) a:where(:-webkit-any-link, :enabled, summary):hover span {
    transform: translateY(-10px);
  }
  .p-outline-nav-list__item:nth-child(3) a:where(:-moz-any-link, :enabled, summary):hover span {
    transform: translateY(-10px);
  }
  .p-outline-nav-list__item:nth-child(3) a:where(:any-link, :enabled, summary):hover span {
    transform: translateY(-10px);
  }
  .p-outline-nav-list__item:nth-child(3) a:where(:-webkit-any-link, :enabled, summary):hover span::after {
    opacity: 1;
    visibility: visible;
  }
  .p-outline-nav-list__item:nth-child(3) a:where(:-moz-any-link, :enabled, summary):hover span::after {
    opacity: 1;
    visibility: visible;
  }
  .p-outline-nav-list__item:nth-child(3) a:where(:any-link, :enabled, summary):hover span::after {
    opacity: 1;
    visibility: visible;
  }
}
@media (pointer: coarse), (hover: none) {
  @supports (touch-action: none) {
    .p-outline-nav-list__item:nth-child(3) a.touch-active span {
      transform: translateY(-10px);
    }
    .p-outline-nav-list__item:nth-child(3) a.touch-active span::after {
      opacity: 1;
      visibility: visible;
    }
  }
}
.p-outline-btn {
  margin-top: 4.792%;
  width: 18.8096%;
}
.p-outline-btn a {
  display: block;
  transition: opacity 0.2s ease-in-out;
}
.p-outline-btn a > img {
  width: 100%;
}
.p-outline-btn a:focus-visible {
  opacity: 0.5;
}
@media (any-hover: hover) {
  .p-outline-btn a:where(:-webkit-any-link, :enabled, summary):hover {
    opacity: 0.5;
  }
  .p-outline-btn a:where(:-moz-any-link, :enabled, summary):hover {
    opacity: 0.5;
  }
  .p-outline-btn a:where(:any-link, :enabled, summary):hover {
    opacity: 0.5;
  }
}
@media (pointer: coarse), (hover: none) {
  @supports (touch-action: none) {
    .p-outline-btn a.touch-active {
      opacity: 0.5;
    }
  }
}

@media print, screen and (min-width: 768px) 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: 768px) {
  .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__arrows {
  position: absolute;
  top: 43.6%;
  left: 0;
  right: 0;
  pointer-events: none;
}
.splide__arrow {
  width: 13.3334%;
  aspect-ratio: 1;
  pointer-events: all;
}
.splide__arrow svg {
  display: none;
}
.splide__arrow--prev {
  position: absolute;
  left: 6.6667%;
  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: 6.6667%;
  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%;
    }
  }
}
.splide__pagination {
  margin-top: 5.3334%;
}
.splide__pagination li {
  font-size: 0;
}
.splide__pagination__page {
  --_border-radius: 100vmax;
  opacity: 1;
  background: none;
  margin-inline: 3px;
  width: 40px;
  aspect-ratio: 40/4;
  border-radius: var(--_border-radius);
  background-color: rgb(187 187 189 / 1);
}
.splide__pagination__page.is-active {
  background-color: rgb(226 221 29 / 1);
}

#splide01 .splide__arrow {
  width: 19.6089%;
}
#splide01 .splide__arrow--prev {
  left: 0%;
  transform: translateX(-50%);
}
#splide01 .splide__arrow--next {
  right: 0%;
  transform: translateX(50%) scaleX(-1);
}
#splide01 .splide__pagination__page.is-active {
  background-color: rgb(0 80 183 / 1);
}

#splide02 .splide__pagination__page.is-active {
  background-color: rgb(226 221 29 / 1);
}

#splide03 .splide__pagination__page.is-active {
  background-color: rgb(239 62 42 / 1);
}

#splide04 .splide__pagination__page.is-active {
  background-color: rgb(0 151 176 / 1);
}

/*
	Components
	-modal
*/
html.is-fixed,
body.is-fixed {
  overflow: hidden !important;
}

.modal-overlay {
  position: fixed;
  inset: 0;
  justify-content: center;
  background-color: rgb(248 242 172 / 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;
  margin: auto;
  padding: 40px 0;
  width: 84%;
  height: 100%;
  opacity: 0;
}
.modal-overlay .modal-inner .modal-content {
  --_border-size: 2px;
  --_border-radius: 5.3334vw;
  padding-block: 15.873% 17.7778%;
  height: 100%;
  color: rgb(0 80 183 / 1);
  background-color: rgb(255 255 255 / 1);
  border-radius: var(--_border-radius);
  border: var(--_border-size) solid rgb(0 80 183 / 1);
  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__title {
  margin-inline: auto;
  width: 80.9524%;
}
.modal-overlay .modal-inner .modal-popup__title > img {
  width: 100%;
}
.modal-overlay .modal-inner .modal-popup__text {
  margin: 9.5239% auto 0;
  width: 80.9524%;
  font-size: 3.7334vw;
  line-height: 1.7858;
}
.modal-overlay .modal-inner .modal-popup__visual {
  margin-top: 12.6985%;
}
.modal-overlay .modal-inner .modal-popup__visual > img {
  width: 100%;
}
.modal-overlay .modal-inner .modal-popup-voice {
  margin: 8.254% auto 0;
  width: 80.9524%;
}
.modal-overlay .modal-inner .modal-popup-voice__title {
  display: grid;
  place-items: center;
  row-gap: 2.6667vw;
  font-size: 4.8vw;
  line-height: 1.6;
  letter-spacing: 0.05em;
}
.modal-overlay .modal-inner .modal-popup-voice__title::before {
  content: "";
  inline-size: 18.7302%;
  aspect-ratio: 59/33;
  background: url(../img/icon_modal_voice.svg);
  background-repeat: no-repeat;
  background-size: contain;
}
.modal-overlay .modal-inner .modal-popup-voice-list {
  display: flex;
  flex-direction: column;
  row-gap: 4vw;
  margin-top: 6.0318%;
}
.modal-overlay .modal-inner .modal-popup-voice-item {
  display: grid;
  grid-template-columns: 5.0794% 92.1568%;
  justify-content: space-between;
  width: 100%;
  font-size: 3.7334vw;
  line-height: 1.7858;
}
.modal-overlay .modal-inner .modal-popup-voice-item::before {
  content: "";
  margin-top: 0.4em;
  background: url(../img/icon_modal_voice_smile.svg);
  background-repeat: no-repeat;
  background-size: contain;
}

@media print, screen and (min-width: 768px) and (max-width: 1023px) {
  .modal-overlay .modal-inner {
    --_border-radius: 20px;
    padding: 40px 28px;
    width: 440px;
  }
  .modal-overlay .modal-inner .modal-content {
    --_border-size: 2px;
    --_border-radius: 20px;
  }
  .modal-overlay .modal-inner .modal-popup__text {
    font-size: 14px;
  }
  .modal-overlay .modal-inner .modal-popup-voice__title {
    row-gap: 10px;
    font-size: 18px;
  }
  .modal-overlay .modal-inner .modal-popup-voice__title::before {
    content: "";
    inline-size: 18.7302%;
  }
  .modal-overlay .modal-inner .modal-popup-voice-list {
    row-gap: 15px;
  }
  .modal-overlay .modal-inner .modal-popup-voice-item {
    font-size: 14px;
  }
}
@media print, screen and (min-width: 1024px) {
  .modal-overlay .modal-inner {
    --_border-radius: 20px;
    padding: 40px 28px;
    width: 440px;
  }
  .modal-overlay .modal-inner .modal-content {
    --_border-size: 2px;
    --_border-radius: 20px;
  }
  .modal-overlay .modal-inner .modal-popup__text {
    font-size: 14px;
  }
  .modal-overlay .modal-inner .modal-popup-voice__title {
    row-gap: 10px;
    font-size: 18px;
  }
  .modal-overlay .modal-inner .modal-popup-voice__title::before {
    content: "";
    inline-size: 18.7302%;
  }
  .modal-overlay .modal-inner .modal-popup-voice-list {
    row-gap: 15px;
  }
  .modal-overlay .modal-inner .modal-popup-voice-item {
    font-size: 14px;
  }
}
.modal-close {
  position: absolute;
  top: 0;
  right: 0;
  transform: translate(100%, 50%);
  width: 24px;
  aspect-ratio: 1;
  background: url(../img/icon_modal_close.svg);
  background-repeat: no-repeat;
  background-size: contain;
}

@media print, screen and (min-width: 768px) and (max-width: 1023px) {
  .modal-close {
    right: 4px;
    transform: translate(0, 50%);
  }
}
@media print, screen and (min-width: 1024px) {
  .modal-close {
    right: 4px;
    transform: translate(0, 50%);
  }
}
/*
	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: 768px) {
  .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: 768px) {
  .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 waveFlowRight {
  0% {
    -webkit-mask-position: 100% 0%;
    mask-position: 100% 0%;
  }
  100% {
    -webkit-mask-position: -100% 0%;
    mask-position: -100% 0%;
  }
}

@keyframes waveFlowRight {
  0% {
    -webkit-mask-position: 100% 0%;
    mask-position: 100% 0%;
  }
  100% {
    -webkit-mask-position: -100% 0%;
    mask-position: -100% 0%;
  }
}
@-webkit-keyframes waveFlowLeft {
  0% {
    -webkit-mask-position: 100% 100%;
    mask-position: 100% 100%;
  }
  100% {
    -webkit-mask-position: -100% 100%;
    mask-position: -100% 100%;
  }
}
@keyframes waveFlowLeft {
  0% {
    -webkit-mask-position: 100% 100%;
    mask-position: 100% 100%;
  }
  100% {
    -webkit-mask-position: -100% 100%;
    mask-position: -100% 100%;
  }
}
@-webkit-keyframes waveBlurRight {
  0% {
    background-position: 100% 0%;
  }
  100% {
    background-position: -100% 0%;
  }
}
@keyframes waveBlurRight {
  0% {
    background-position: 100% 0%;
  }
  100% {
    background-position: -100% 0%;
  }
}
@-webkit-keyframes draw {
  to {
    stroke-dashoffset: 0;
  }
}
@keyframes draw {
  to {
    stroke-dashoffset: 0;
  }
}
@-webkit-keyframes position-wiggle {
  0%, 100% {
    transform: translate(0, 0) rotate(0deg);
  }
  25% {
    transform: translate(10px, -5px);
  }
  50% {
    transform: translate(-15px, 15px);
  }
  75% {
    transform: translate(5px, -10px);
  }
}
@keyframes position-wiggle {
  0%, 100% {
    transform: translate(0, 0) rotate(0deg);
  }
  25% {
    transform: translate(10px, -5px);
  }
  50% {
    transform: translate(-15px, 15px);
  }
  75% {
    transform: translate(5px, -10px);
  }
}
@-webkit-keyframes rotate-wiggle {
  0%, 100% {
    transform: rotate(0deg);
  }
  30% {
    transform: rotate(4deg);
  }
  70% {
    transform: rotate(-5deg);
  }
}
@keyframes rotate-wiggle {
  0%, 100% {
    transform: rotate(0deg);
  }
  30% {
    transform: rotate(4deg);
  }
  70% {
    transform: rotate(-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.6s ease-in-out;
}

[data-animate-category=fade].is-show {
  opacity: 1;
}

/*
	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;
  background-color: rgb(225 240 240 / 1);
}
.l-hero .p-hero-cloud {
  position: absolute;
  top: -80vw;
  left: -50.6667vw;
  -webkit-animation: position-wiggle 6s linear infinite alternate, rotate-wiggle 6s linear infinite alternate;
          animation: position-wiggle 6s linear infinite alternate, rotate-wiggle 6s linear infinite alternate;
}
.l-hero .p-hero-cloud > img {
  width: 100%;
}
.l-hero .p-hero-motion {
  position: relative;
  margin-inline: auto;
  width: 84%;
  aspect-ratio: 1080/1920;
  opacity: 0;
  visibility: hidden;
  z-index: 1;
}
.l-hero .p-hero-snow {
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  width: 100%;
  aspect-ratio: 1080/1920;
  opacity: 0;
  visibility: hidden;
  z-index: 0;
}
.l-hero .p-hero__date {
  position: absolute;
  top: 78%;
  left: 50%;
  transform: translateX(-50%);
  width: 65.5%;
  opacity: 0;
  visibility: hidden;
  transition: opacity 0.6s ease-in-out, visibility 0.6s ease-in-out;
  z-index: 2;
}
.l-hero .p-hero__date > img {
  width: 100%;
}

@media print, screen and (min-width: 768px) and (max-width: 1023px) {
  .l-hero .p-hero-cloud {
    top: -34%;
    left: -39.9582%;
  }
}
@media print, screen and (min-width: 1024px) {
  .l-hero .p-hero-cloud {
    top: -34%;
    left: -39.9582%;
  }
}
.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 {
  display: grid;
  grid-template-columns: repeat(2, 47.8261%);
  justify-content: space-between;
  margin-inline: auto;
  width: 92%;
  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:nth-child(1) span::after {
  content: "";
  position: absolute;
  top: -10px;
  left: -10px;
  width: 24.2425%;
  aspect-ratio: 1;
  background-image: url(../img/251119/btn_float_01_period.svg);
  background-repeat: no-repeat;
  background-size: 100% 100%;
}
.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 > img {
  width: 100%;
}
.l-float .p-float-btn a:focus-visible span {
  transform: translateY(-10px);
}
@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);
  }
}
@media (pointer: coarse), (hover: none) {
  @supports (touch-action: none) {
    .l-float .p-float-btn a.touch-active span {
      transform: translateY(-10px);
    }
  }
}

@media print, screen and (min-width: 768px) and (max-width: 1023px) {
  .l-float {
    left: 0;
    transform: translateX(0);
    width: 440px;
  }
}
@media print, screen and (min-width: 1024px) {
  .l-float {
    width: 440px;
  }
}
.l-touch {
  margin-top: -1px;
  padding-block: 0 9.3334%;
  background-color: rgb(248 242 172 / 1);
}
.l-touch .p-touch-heading {
  position: relative;
  width: 100%;
  aspect-ratio: 375/300;
  background-image: url(../img/touch_heading.webp);
  background-repeat: no-repeat;
  background-size: 100% 100%;
}
.l-touch .p-touch-heading__title {
  margin-inline: auto;
  padding-top: 8%;
  width: 84%;
}
.l-touch .p-touch-heading__title > img {
  width: 100%;
}
.l-touch .p-touch-heading__illust {
  position: absolute;
  left: 0;
  right: 0;
}
.l-touch .p-touch-heading__illust:nth-of-type(1) {
  top: 0;
}
.l-touch .p-touch-heading__illust:nth-of-type(2) {
  bottom: 0;
}
.l-touch .p-touch-heading__illust > img {
  width: 100%;
}
.l-touch .p-touch-dist__term {
  margin-inline: auto;
  width: 84%;
}
.l-touch .p-touch-dist__term > img {
  width: 100%;
}
.l-touch .p-touch-dist__desc {
  margin-top: 5.3333%;
  font-size: 3.7334vw;
  line-height: 1.7858;
  font-weight: 500;
  color: rgb(72 150 213 / 1);
  text-align: center;
}
.l-touch .p-touch-tree {
  position: relative;
  padding-block: 11.73334% 0;
  z-index: 0;
}
.l-touch .p-touch-tree-heading {
  position: relative;
}
.l-touch .p-touch-tree-heading__sub {
  margin-inline: auto;
  width: 84%;
}
.l-touch .p-touch-tree-heading__sub > img {
  width: 100%;
}
.l-touch .p-touch-tree-heading__title {
  margin-inline: auto;
  width: 84%;
}
.l-touch .p-touch-tree-heading__title > img {
  width: 100%;
}
.l-touch .p-touch-tree-heading__date {
  margin: 5.06667% auto 0;
  width: 84%;
}
.l-touch .p-touch-tree-heading__date > img {
  width: 100%;
}
.l-touch .p-touch-tree-heading__illust {
  position: absolute;
  top: 31.4667vw;
  left: 0;
  right: 0;
  pointer-events: none;
}
.l-touch .p-touch-tree-heading__illust > img {
  width: 100%;
}
.l-touch .p-touch-tree-info {
  display: grid;
  grid-template-columns: 26.5487% 1fr;
  -moz-column-gap: 3.5399%;
       column-gap: 3.5399%;
  margin: 3.46667% auto 0;
  width: 60.26667%;
}
.l-touch .p-touch-tree-info dt > img {
  width: 100%;
}
.l-touch .p-touch-tree-info dd {
  font-size: 3.7334vw;
  line-height: 1.6;
  color: rgb(0 80 183 / 1);
  font-weight: 700;
  white-space: nowrap;
}
.l-touch .p-touch-tree__lead {
  margin-top: 2.6667%;
  font-size: 3.2vw;
  line-height: 1.75;
  color: rgb(0 80 183 / 1);
  text-align: center;
}
.l-touch .p-touch-tree-popup {
  margin: 8% auto 0;
  width: 84%;
}
.l-touch .p-touch-tree-popup > button {
  position: relative;
  width: 100%;
}
.l-touch .p-touch-tree-popup > button span {
  position: relative;
  display: block;
  will-change: opacity, transform;
  transform: translate3d(0, 0, 0);
  transition: transform 0.2s ease-in-out;
}
.l-touch .p-touch-tree-popup > button span::after {
  content: "";
  position: absolute;
  inset: 0;
  background-image: url(../img/tree_popup_btn_hover.webp);
  background-repeat: no-repeat;
  background-size: 100% 100%;
  opacity: 0;
  visibility: hidden;
}
.l-touch .p-touch-tree-popup > button span > img {
  width: 100%;
}
.l-touch .p-touch-tree-popup > button:focus-visible span {
  transform: translateY(-10px);
}
.l-touch .p-touch-tree-popup > button:focus-visible span::after {
  opacity: 1;
  visibility: visible;
}
@media (any-hover: hover) {
  .l-touch .p-touch-tree-popup > button:where(:-webkit-any-link, :enabled, summary):hover span {
    transform: translateY(-10px);
  }
  .l-touch .p-touch-tree-popup > button:where(:-moz-any-link, :enabled, summary):hover span {
    transform: translateY(-10px);
  }
  .l-touch .p-touch-tree-popup > button:where(:any-link, :enabled, summary):hover span {
    transform: translateY(-10px);
  }
  .l-touch .p-touch-tree-popup > button:where(:-webkit-any-link, :enabled, summary):hover span::after {
    opacity: 1;
    visibility: visible;
  }
  .l-touch .p-touch-tree-popup > button:where(:-moz-any-link, :enabled, summary):hover span::after {
    opacity: 1;
    visibility: visible;
  }
  .l-touch .p-touch-tree-popup > button:where(:any-link, :enabled, summary):hover span::after {
    opacity: 1;
    visibility: visible;
  }
}
@media (pointer: coarse), (hover: none) {
  @supports (touch-action: none) {
    .l-touch .p-touch-tree-popup > button.touch-active span {
      transform: translateY(-10px);
    }
    .l-touch .p-touch-tree-popup > button.touch-active span::after {
      opacity: 1;
      visibility: visible;
    }
  }
}
.l-touch .p-touch-tree-slide {
  margin: 3.2% auto 0;
  width: 68%;
}
.l-touch .p-touch-tree-slide-item {
  width: 100% !important;
}
.l-touch .p-touch-tree-slide-item > img {
  width: 100%;
}
.l-touch .p-touch-tree__illust {
  position: absolute;
  top: 61%;
  left: 0;
  right: 0;
  z-index: -1;
}
.l-touch .p-touch-tree__illust > img {
  width: 100%;
}
.l-touch .p-touch-new {
  padding-block: 10.6667% 0;
}
.l-touch .p-touch-new-heading {
  position: relative;
}
.l-touch .p-touch-new-heading__sub {
  margin-inline: auto;
  width: 84%;
}
.l-touch .p-touch-new-heading__sub > img {
  width: 100%;
}
.l-touch .p-touch-new-heading__title {
  margin-inline: auto;
  width: 84%;
}
.l-touch .p-touch-new-heading__title > img {
  width: 100%;
}
.l-touch .p-touch-new-heading__date {
  margin: 4.26667% auto 0;
  width: 84%;
}
.l-touch .p-touch-new-heading__date > img {
  width: 100%;
}
.l-touch .p-touch-new-heading__illust {
  position: absolute;
  top: -1.0667vw;
  left: 0;
  right: 0;
  pointer-events: none;
}
.l-touch .p-touch-new-heading__illust > img {
  width: 100%;
}
.l-touch .p-touch-new-info {
  display: grid;
  grid-template-columns: 26.5487% 1fr;
  -moz-column-gap: 3.5399%;
       column-gap: 3.5399%;
  margin: 3.46667% auto 0;
  width: 60.26667%;
}
.l-touch .p-touch-new-info dt > img {
  width: 100%;
}
.l-touch .p-touch-new-info dd {
  font-size: 3.7334vw;
  line-height: 1.6;
  color: rgb(0 80 183 / 1);
  font-weight: 700;
  white-space: nowrap;
}
.l-touch .p-touch-new__lead {
  margin-top: 2.6667%;
  font-size: 3.2vw;
  line-height: 1.75;
  color: rgb(0 80 183 / 1);
  text-align: center;
}
.l-touch .p-touch-photo {
  padding-block: 11.73334% 0;
}
.l-touch .p-touch-photo-heading {
  position: relative;
}
.l-touch .p-touch-photo-heading__sub {
  margin-inline: auto;
  width: 84%;
}
.l-touch .p-touch-photo-heading__sub > img {
  width: 100%;
}
.l-touch .p-touch-photo-heading__title {
  margin: 3.2% auto 0;
  width: 84%;
}
.l-touch .p-touch-photo-heading__title > img {
  width: 100%;
}
.l-touch .p-touch-photo-heading__date {
  margin: 4.8% auto 0;
  width: 84%;
}
.l-touch .p-touch-photo-heading__date > img {
  width: 100%;
}
.l-touch .p-touch-photo-heading__illust {
  position: absolute;
  top: 31vw;
  left: 0;
  right: 0;
  pointer-events: none;
}
.l-touch .p-touch-photo-heading__illust > img {
  width: 100%;
}
.l-touch .p-touch-photo-info {
  display: grid;
  grid-template-columns: 26.5487% 1fr;
  -moz-column-gap: 3.5399%;
       column-gap: 3.5399%;
  margin: 3.46667% auto 0;
  width: 60.26667%;
}
.l-touch .p-touch-photo-info dt > img {
  width: 100%;
}
.l-touch .p-touch-photo-info dd {
  font-size: 3.7334vw;
  line-height: 1.6;
  color: rgb(0 80 183 / 1);
  font-weight: 700;
  white-space: nowrap;
}
.l-touch .p-touch-photo__visual {
  margin: 10.6667% auto 0;
  width: 68%;
}
.l-touch .p-touch-photo__visual > img {
  width: 100%;
}
.l-touch .p-touch-photo-note {
  margin-top: 3.2%;
  font-size: 2.6667vw;
  line-height: 1.6;
  text-align: center;
}
.l-touch .p-touch-profile {
  --_border-size: 2px;
  --_border-radius: 5.3334vw;
  margin: 16% auto 0;
  padding: 6.4% 7.4667% 5.3334%;
  width: 84%;
  color: rgb(0 80 183 / 1);
  border: var(--_border-size) solid rgb(0 80 183 / 1);
  border-radius: var(--_border-radius);
  overflow: hidden;
}
.l-touch .p-touch-profile__title {
  margin-inline: auto;
  width: 44.127%;
}
.l-touch .p-touch-profile__title > img {
  width: 100%;
}
.l-touch .p-touch-profile-head {
  display: grid;
  grid-template-columns: 50.2184% 1fr;
  align-items: center;
  -moz-column-gap: 6.5503%;
       column-gap: 6.5503%;
  margin: 5.3334% auto 0;
  width: 89.804%;
}
.l-touch .p-touch-profile-head__visual > img {
  width: 100%;
}
.l-touch .p-touch-profile-head__position {
  font-size: 3.2vw;
  line-height: 1.5;
  letter-spacing: 0.05em;
}
.l-touch .p-touch-profile-head__name {
  font-size: 4.8vw;
  line-height: 1.6;
  letter-spacing: 0.05em;
  font-weight: 700;
  white-space: nowrap;
}
.l-touch .p-touch-profile__text {
  margin-top: 4%;
  font-size: 3.7334vw;
  line-height: 1.7858;
}
.l-touch .p-touch-profile-sns {
  margin: 2.13334% 0 0 auto;
  width: 11.7648%;
  aspect-ratio: 1;
}
.l-touch .p-touch-profile-sns > a {
  display: block;
  transition: opacity 0.2s ease-in-out;
}
.l-touch .p-touch-profile-sns > a > img {
  width: 100%;
}
.l-touch .p-touch-profile-sns > a:focus-visible {
  opacity: 0.5;
}
@media (any-hover: hover) {
  .l-touch .p-touch-profile-sns > a:where(:-webkit-any-link, :enabled, summary):hover {
    opacity: 0.5;
  }
  .l-touch .p-touch-profile-sns > a:where(:-moz-any-link, :enabled, summary):hover {
    opacity: 0.5;
  }
  .l-touch .p-touch-profile-sns > a:where(:any-link, :enabled, summary):hover {
    opacity: 0.5;
  }
}
@media (pointer: coarse), (hover: none) {
  @supports (touch-action: none) {
    .l-touch .p-touch-profile-sns > a.touch-active {
      opacity: 0.5;
    }
  }
}

@media print, screen and (min-width: 768px) and (max-width: 1023px) {
  .l-touch .p-touch-dist__desc {
    font-size: 14px;
  }
  .l-touch .p-touch-tree-heading__illust {
    top: 36.8%;
  }
  .l-touch .p-touch-tree-info dd {
    font-size: 14px;
  }
  .l-touch .p-touch-tree__lead {
    font-size: 12px;
  }
  .l-touch .p-touch-new-heading__illust {
    top: -1.0667%;
  }
  .l-touch .p-touch-new-info dd {
    font-size: 14px;
  }
  .l-touch .p-touch-new__lead {
    font-size: 12px;
  }
  .l-touch .p-touch-photo-heading__illust {
    top: 38%;
  }
  .l-touch .p-touch-photo-info dd {
    font-size: 14px;
  }
  .l-touch .p-touch-photo-note {
    font-size: 10px;
  }
  .l-touch .p-touch-profile {
    --_border-size: 2px;
    --_border-radius: 20px;
  }
  .l-touch .p-touch-profile-head__position {
    font-size: 12px;
  }
  .l-touch .p-touch-profile-head__name {
    font-size: 18px;
  }
  .l-touch .p-touch-profile__text {
    font-size: 14px;
  }
}
@media print, screen and (min-width: 1024px) {
  .l-touch .p-touch-dist__desc {
    font-size: 14px;
  }
  .l-touch .p-touch-tree-heading__illust {
    top: 36.8%;
  }
  .l-touch .p-touch-tree-info dd {
    font-size: 14px;
  }
  .l-touch .p-touch-tree__lead {
    font-size: 12px;
  }
  .l-touch .p-touch-new-heading__illust {
    top: -1.0667%;
  }
  .l-touch .p-touch-new-info dd {
    font-size: 14px;
  }
  .l-touch .p-touch-new__lead {
    font-size: 12px;
  }
  .l-touch .p-touch-photo-heading__illust {
    top: 38%;
  }
  .l-touch .p-touch-photo-info dd {
    font-size: 14px;
  }
  .l-touch .p-touch-photo-note {
    font-size: 10px;
  }
  .l-touch .p-touch-profile {
    --_border-size: 2px;
    --_border-radius: 20px;
  }
  .l-touch .p-touch-profile-head__position {
    font-size: 12px;
  }
  .l-touch .p-touch-profile-head__name {
    font-size: 18px;
  }
  .l-touch .p-touch-profile__text {
    font-size: 14px;
  }
}
.l-special {
  position: relative;
  padding-block: 0 68.26667%;
  background: url(../img/special_end.webp), url(../img/special_snow_01.svg), url(../img/special_snow_02.svg), rgb(225 240 240 / 1);
  background-repeat: no-repeat, no-repeat, no-repeat;
  background-size: 100% auto, 100% auto, 100% auto;
  background-position: bottom center, top 58.2% center, top 80.3% center;
}
.l-special .p-special-heading {
  position: relative;
  width: 100%;
  aspect-ratio: 375/370;
  background-image: url(../img/special_heading.webp);
  background-repeat: no-repeat;
  background-size: contain;
}
.l-special .p-special-heading__title {
  margin-inline: auto;
  padding-top: 50.6667%;
  width: 84%;
}
.l-special .p-special-heading__title > img {
  width: 100%;
}
.l-special .p-special-heading__sub {
  margin: 5.3334% auto 0;
  width: -webkit-fit-content;
  width: -moz-fit-content;
  width: fit-content;
  font-size: 4.8vw;
  line-height: 1.6;
  letter-spacing: 0.05em;
  font-weight: 700;
  background: linear-gradient(transparent 60%, rgb(255 255 255 / 1) 60%);
}
.l-special .p-special-heading__illust {
  position: absolute;
  left: 0;
  right: 0;
}
.l-special .p-special-heading__illust:nth-of-type(1) {
  top: 0;
}
.l-special .p-special-heading__illust:nth-of-type(2) {
  bottom: 10.8%;
}
.l-special .p-special-heading__illust > img {
  width: 100%;
}
.l-special .p-special-list {
  display: flex;
  flex-direction: column;
  padding-top: 10.6667%;
}
.l-special .p-special-item {
  position: relative;
}
.l-special .p-special-item:not(:first-child) {
  margin-top: 10.6667%;
}
.l-special .p-special-item.special-item-01 .p-special-item__illust {
  top: -2.6667%;
}
.l-special .p-special-item.special-item-02 .p-special-item__illust {
  top: -2.2667%;
}
.l-special .p-special-item.special-item-03 .p-special-item__illust {
  top: -2.2667%;
}
.l-special .p-special-item.special-item-04 .p-special-item__illust {
  top: -2.2667%;
}
.l-special .p-special-item.special-item-05 .p-special-item__illust {
  top: -2.2667%;
}
.l-special .p-special-item__illust {
  position: absolute;
  left: 0;
  right: 0;
}
.l-special .p-special-item__illust > img {
  width: 100%;
}
.l-special .p-special-item__number {
  width: 100%;
}
.l-special .p-special-item__number > img {
  width: 100%;
}
.l-special .p-special-item-heading {
  display: grid;
  place-items: center;
  margin-top: 3.2%;
}
.l-special .p-special-item-heading__sub {
  font-size: 3.7334vw;
  line-height: 1.8286;
  letter-spacing: 0.05em;
}
.l-special .p-special-item-heading__title {
  font-size: 4.8vw;
  line-height: 1.6;
  letter-spacing: 0.05em;
  font-weight: 700;
  text-align: center;
}
.l-special .p-special-item-note {
  margin-top: 1.3334%;
  font-size: 3.7334vw;
  line-height: 1.7858;
  letter-spacing: 0.05em;
  font-weight: 700;
  color: rgb(240 96 155 / 1);
  text-align: center;
}
.l-special .p-special-item-note > li {
  display: grid;
  grid-template-columns: auto 1fr auto;
  align-items: center;
  gap: 1.0667vw;
  margin-inline: auto;
  width: -webkit-fit-content;
  width: -moz-fit-content;
  width: fit-content;
}
.l-special .p-special-item-note > li::before, .l-special .p-special-item-note > li::after {
  content: "";
  inline-size: 5.3334vw;
  aspect-ratio: 20/1;
  background-color: rgb(240 96 155 / 1);
}
.l-special .p-special-item-note > li::before {
  transform: rotate(45deg);
}
.l-special .p-special-item-note > li::after {
  transform: rotate(-45deg);
}
.l-special .p-special-item-news-list {
  margin: 5.8667% auto 0 !important;
}
.l-special .p-special-item-news-list.single {
  display: grid;
  place-items: center;
}
.l-special .p-special-item-news-list.special-item-news-01 .p-special-item-news-item {
  color: rgb(255 255 255 / 1);
  background-color: rgb(19 50 98 / 1);
}
.l-special .p-special-item-news-list.special-item-news-02 .p-special-item-news-item {
  color: rgb(0 0 0 / 1);
  background-color: rgb(226 221 29 / 1);
}
.l-special .p-special-item-news-list.special-item-news-03 .p-special-item-news-item {
  color: rgb(255 255 255 / 1);
  background-color: rgb(239 62 42 / 1);
}
.l-special .p-special-item-news-list.special-item-news-04 .p-special-item-news-item {
  color: rgb(255 255 255 / 1);
  background-color: rgb(0 151 176 / 1);
}
.l-special .p-special-item-news-list.special-item-news-05 .p-special-item-news-item {
  color: rgb(255 255 255 / 1);
  background-color: rgb(240 96 155 / 1);
}
.l-special .p-special-item-news-item {
  --_border-radius: 8vw;
  padding: 5.3334%;
  width: 68%;
  border-radius: var(--_border-radius);
  overflow: hidden;
}
.l-special .p-special-item-news-item__visual {
  --_border-radius: 5.3334vw;
  border-radius: var(--_border-radius);
  overflow: hidden;
}
.l-special .p-special-item-news-item__visual > img {
  width: 100%;
}
.l-special .p-special-item-news-item__text {
  margin-top: 4.6512%;
  font-size: 3.7334vw;
  line-height: 1.7858;
}
.l-special .p-special-item-news-item-intro {
  margin-top: 4.6512%;
}
.l-special .p-special-item-news-item-intro dt {
  font-size: 3.7334vw;
  line-height: 1.7858;
  font-weight: 700;
}
.l-special .p-special-item-news-item-intro dd {
  font-size: 3.7334vw;
  line-height: 1.7858;
}
.l-special .p-special-item-news-item-intro dd .size {
  font-size: 2.6667vw;
  line-height: 1.6;
}
.l-special .p-special-item-news-item-info {
  display: grid;
  grid-template-columns: 27.907% 1fr;
  -moz-column-gap: 3.721%;
       column-gap: 3.721%;
  margin: 4.6512% auto 0;
}
.l-special .p-special-item-news-item-info dt > img {
  width: 100%;
}
.l-special .p-special-item-news-item-info dd {
  margin-top: -0.15em;
  font-size: 3.7334vw;
  line-height: 1.7858;
}
.l-special .p-special-item-news-item-note {
  margin-top: 4.6512%;
  font-size: 2.6667vw;
  line-height: 1.6;
}
.l-special .p-special-item-news-article {
  --_border-radius: 8vw;
  margin: 5.8667% auto 0;
  width: 92%;
  color: rgb(255 255 255 / 1);
  background-color: rgb(6 8 32 / 1);
  border-radius: var(--_border-radius);
  overflow: hidden;
}
.l-special .p-special-item-news-article img {
  width: 100%;
}
.l-special .p-special-item-news-article-btn {
  margin: 9.2754% auto 0;
  width: 91.3044%;
}
.l-special .p-special-item-news-article-btn a {
  position: relative;
  display: block;
}
.l-special .p-special-item-news-article-btn a span {
  position: relative;
  display: block;
  will-change: opacity, transform;
  transform: translate3d(0, 0, 0);
  transition: transform 0.2s ease-in-out;
}
.l-special .p-special-item-news-article-btn a span::after {
  content: "";
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  background-image: url(../img/251119/btn_exclusive_hover.svg);
  background-repeat: no-repeat;
  background-size: 100% 100%;
  opacity: 0;
  visibility: hidden;
}
.l-special .p-special-item-news-article-btn a span > img {
  width: 100%;
}
.l-special .p-special-item-news-article-btn a:focus-visible span {
  transform: translateY(-10px);
}
.l-special .p-special-item-news-article-btn a:focus-visible span::after {
  opacity: 1;
  visibility: visible;
}
@media (any-hover: hover) {
  .l-special .p-special-item-news-article-btn a:where(:-webkit-any-link, :enabled, summary):hover span {
    transform: translateY(-10px);
  }
  .l-special .p-special-item-news-article-btn a:where(:-moz-any-link, :enabled, summary):hover span {
    transform: translateY(-10px);
  }
  .l-special .p-special-item-news-article-btn a:where(:any-link, :enabled, summary):hover span {
    transform: translateY(-10px);
  }
  .l-special .p-special-item-news-article-btn a:where(:-webkit-any-link, :enabled, summary):hover span::after {
    opacity: 1;
    visibility: visible;
  }
  .l-special .p-special-item-news-article-btn a:where(:-moz-any-link, :enabled, summary):hover span::after {
    opacity: 1;
    visibility: visible;
  }
  .l-special .p-special-item-news-article-btn a:where(:any-link, :enabled, summary):hover span::after {
    opacity: 1;
    visibility: visible;
  }
}
@media (pointer: coarse), (hover: none) {
  @supports (touch-action: none) {
    .l-special .p-special-item-news-article-btn a.touch-active span {
      transform: translateY(-10px);
    }
    .l-special .p-special-item-news-article-btn a.touch-active span::after {
      opacity: 1;
      visibility: visible;
    }
  }
}
.l-special .p-special-item-news-article-note {
  display: flex;
  flex-direction: column;
  gap: 1.06667vw;
  margin: 2.8986% auto 0;
  width: 91.3044%;
  font-size: 2.6667vw;
  line-height: 1.4;
  padding-left: 1em;
  text-indent: -1em;
}
.l-special .p-special-item-news-article-summary {
  position: relative;
  padding-block: 0 41.7392%;
  background-color: rgb(6 8 32 / 1);
}
.l-special .p-special-item-news-article-summary::before {
  content: "";
  position: absolute;
  bottom: -1px;
  left: 0;
  right: 0;
  aspect-ratio: 345/124;
  background-image: url(../img/251119/special_item_01_news_article_content.svg);
  background-repeat: no-repeat;
  background-size: 100% auto;
}
.l-special .p-special-item-news-article-content {
  padding-block: 0 8.116%;
  color: rgb(255 255 255 / 1);
  background-color: rgb(19 50 98 / 1);
}
.l-special .p-special-item-news-article-content__lead {
  position: relative;
  margin-top: -11.5943%;
  z-index: 1;
}
.l-special .p-special-item-news-article-content-list {
  display: flex;
  flex-direction: column;
  flex-wrap: wrap;
  margin-top: 9.2754%;
  gap: 2.6667vw;
}
.l-special .p-special-item-news-article-content-item {
  display: flex;
  align-items: center;
  gap: 1.3334vw;
}
.l-special .p-special-item-news-article-content-item:nth-child(2) {
  flex-direction: row-reverse;
}
.l-special .p-special-item-news-article-content-item:nth-child(2) .p-special-item-news-article-content-item__visual {
  aspect-ratio: 170/210;
}
.l-special .p-special-item-news-article-content-item:nth-child(4) {
  flex-direction: column;
  margin: 0 auto;
  width: 91.3044%;
}
.l-special .p-special-item-news-article-content-item:nth-child(4) .p-special-item-news-article-content-item__visual {
  width: 100%;
  aspect-ratio: unset;
}
.l-special .p-special-item-news-article-content-item:nth-child(4) .p-special-item-news-article-content-item__visual > img {
  position: relative;
  opacity: 1;
}
.l-special .p-special-item-news-article-content-item:nth-child(4) .p-special-item-news-article-content-item__text {
  width: 100%;
  text-align: center;
}
.l-special .p-special-item-news-article-content-item__visual {
  position: relative;
  width: 49.2754%;
  aspect-ratio: 170/202;
}
.l-special .p-special-item-news-article-content-item__visual > img {
  position: absolute;
  inset: 0;
  opacity: 0;
  transition: opacity 0.4s ease-in-out;
}
.l-special .p-special-item-news-article-content-item__visual > img.is-active {
  opacity: 1;
}
.l-special .p-special-item-news-article-content-item__text {
  width: 44.9276%;
  font-size: 3.2vw;
  line-height: 1.75;
}
.l-special .p-special-item-news-article-content-btn {
  margin: 9.8551% auto 0;
  width: 91.3044%;
}
.l-special .p-special-item-news-article-content-btn a {
  position: relative;
  display: block;
}
.l-special .p-special-item-news-article-content-btn a span {
  position: relative;
  display: block;
  will-change: opacity, transform;
  transform: translate3d(0, 0, 0);
  transition: transform 0.2s ease-in-out;
}
.l-special .p-special-item-news-article-content-btn a span::after {
  content: "";
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  background-image: url(../img/251119/btn_exclusive_hover.svg);
  background-repeat: no-repeat;
  background-size: 100% 100%;
  opacity: 0;
  visibility: hidden;
}
.l-special .p-special-item-news-article-content-btn a span > img {
  width: 100%;
}
.l-special .p-special-item-news-article-content-btn a:focus-visible span {
  transform: translateY(-10px);
}
.l-special .p-special-item-news-article-content-btn a:focus-visible span::after {
  opacity: 1;
  visibility: visible;
}
@media (any-hover: hover) {
  .l-special .p-special-item-news-article-content-btn a:where(:-webkit-any-link, :enabled, summary):hover span {
    transform: translateY(-10px);
  }
  .l-special .p-special-item-news-article-content-btn a:where(:-moz-any-link, :enabled, summary):hover span {
    transform: translateY(-10px);
  }
  .l-special .p-special-item-news-article-content-btn a:where(:any-link, :enabled, summary):hover span {
    transform: translateY(-10px);
  }
  .l-special .p-special-item-news-article-content-btn a:where(:-webkit-any-link, :enabled, summary):hover span::after {
    opacity: 1;
    visibility: visible;
  }
  .l-special .p-special-item-news-article-content-btn a:where(:-moz-any-link, :enabled, summary):hover span::after {
    opacity: 1;
    visibility: visible;
  }
  .l-special .p-special-item-news-article-content-btn a:where(:any-link, :enabled, summary):hover span::after {
    opacity: 1;
    visibility: visible;
  }
}
@media (pointer: coarse), (hover: none) {
  @supports (touch-action: none) {
    .l-special .p-special-item-news-article-content-btn a.touch-active span {
      transform: translateY(-10px);
    }
    .l-special .p-special-item-news-article-content-btn a.touch-active span::after {
      opacity: 1;
      visibility: visible;
    }
  }
}
.l-special .p-special-item-news-article-content-note {
  display: flex;
  flex-direction: column;
  gap: 1.06667vw;
  margin: 2.8986% auto 0;
  width: 91.3044%;
  font-size: 2.6667vw;
  line-height: 1.4;
  padding-left: 1em;
  text-indent: -1em;
}

@media print, screen and (min-width: 768px) and (max-width: 1023px) {
  .l-special {
    background-position: bottom center, top 59.6% center, top 81.2% center;
  }
  .l-special .p-special-heading__sub {
    font-size: 18px;
  }
  .l-special .p-special-item-heading {
    margin-top: 3.2%;
  }
  .l-special .p-special-item-heading__sub {
    font-size: 14px;
  }
  .l-special .p-special-item-heading__title {
    font-size: 18px;
  }
  .l-special .p-special-item-note {
    font-size: 14px;
  }
  .l-special .p-special-item-note > li {
    gap: 4px;
  }
  .l-special .p-special-item-note > li::before, .l-special .p-special-item-note > li::after {
    inline-size: 20px;
  }
  .l-special .p-special-item-news-item {
    --_border-radius: 30px;
  }
  .l-special .p-special-item-news-item__visual {
    --_border-radius: 20px;
  }
  .l-special .p-special-item-news-item__text {
    font-size: 14px;
  }
  .l-special .p-special-item-news-item-intro dt {
    font-size: 14px;
  }
  .l-special .p-special-item-news-item-intro dd {
    font-size: 14px;
  }
  .l-special .p-special-item-news-item-intro dd .size {
    font-size: 10px;
  }
  .l-special .p-special-item-news-item-info dd {
    font-size: 14px;
  }
  .l-special .p-special-item-news-item-note {
    font-size: 10px;
  }
  .l-special .p-special-item-news-article {
    --_border-radius: 30px;
  }
  .l-special .p-special-item-news-article-note {
    gap: 4px;
    font-size: 10px;
  }
  .l-special .p-special-item-news-article-content-list {
    gap: 10px;
  }
  .l-special .p-special-item-news-article-content-item {
    gap: 5px;
  }
  .l-special .p-special-item-news-article-content-item__text {
    font-size: 12px;
  }
  .l-special .p-special-item-news-article-content-note {
    gap: 4px;
    font-size: 10px;
  }
}
@media print, screen and (min-width: 1024px) {
  .l-special {
    background-position: bottom center, top 59.6% center, top 81.2% center;
  }
  .l-special .p-special-heading__sub {
    font-size: 18px;
  }
  .l-special .p-special-item-heading {
    margin-top: 3.2%;
  }
  .l-special .p-special-item-heading__sub {
    font-size: 14px;
  }
  .l-special .p-special-item-heading__title {
    font-size: 18px;
  }
  .l-special .p-special-item-note {
    font-size: 14px;
  }
  .l-special .p-special-item-note > li {
    gap: 4px;
  }
  .l-special .p-special-item-note > li::before, .l-special .p-special-item-note > li::after {
    inline-size: 20px;
  }
  .l-special .p-special-item-news-item {
    --_border-radius: 30px;
  }
  .l-special .p-special-item-news-item__visual {
    --_border-radius: 20px;
  }
  .l-special .p-special-item-news-item__text {
    font-size: 14px;
  }
  .l-special .p-special-item-news-item-intro dt {
    font-size: 14px;
  }
  .l-special .p-special-item-news-item-intro dd {
    font-size: 14px;
  }
  .l-special .p-special-item-news-item-intro dd .size {
    font-size: 10px;
  }
  .l-special .p-special-item-news-item-info dd {
    font-size: 14px;
  }
  .l-special .p-special-item-news-item-note {
    font-size: 10px;
  }
  .l-special .p-special-item-news-article {
    --_border-radius: 30px;
  }
  .l-special .p-special-item-news-article-note {
    gap: 4px;
    font-size: 10px;
  }
  .l-special .p-special-item-news-article-content-list {
    gap: 10px;
  }
  .l-special .p-special-item-news-article-content-item {
    gap: 5px;
  }
  .l-special .p-special-item-news-article-content-item__text {
    font-size: 12px;
  }
  .l-special .p-special-item-news-article-content-note {
    gap: 4px;
    font-size: 10px;
  }
}
.l-ticket {
  position: relative;
  padding-block: 11.7334% 13.3334%;
  background-color: rgb(225 240 240 / 1);
}
.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: 6.4vw;
  margin: 6.4% auto 0;
  width: 84%;
}
.l-ticket .p-ticket__group {
  display: grid;
  row-gap: 3.2vw;
}
.l-ticket .p-ticket__term {
  --_border-radius: 3px;
  display: grid;
  place-content: center;
  width: 100%;
  font-size: 3.7334vw;
  line-height: 2.1429;
  color: rgb(0 3 26 / 1);
  background-color: rgb(255 255 255 / 1);
  border-radius: var(--_border-radius);
}
.l-ticket .p-ticket__desc {
  font-size: 3.7334vw;
  line-height: 1.7858;
  color: rgb(0 3 26 / 1);
}
.l-ticket .p-ticket__desc div:not([class]) p:not(:first-of-type) {
  margin-top: 2.5397%;
}
.l-ticket .p-ticket__desc .link {
  display: grid;
  grid-template-columns: 1fr auto;
  align-items: center;
  gap: 2.9334vw;
  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__desc .link::after {
  content: "";
  inline-size: 4vw;
  aspect-ratio: 1;
  background: url(../img/icon_blank.svg);
  background-repeat: no-repeat;
  background-size: contain;
}
.l-ticket .p-ticket__desc .link:focus-visible {
  opacity: 0.5;
}
@media (any-hover: hover) {
  .l-ticket .p-ticket__desc .link:where(:-webkit-any-link, :enabled, summary):hover {
    opacity: 0.5;
  }
  .l-ticket .p-ticket__desc .link:where(:-moz-any-link, :enabled, summary):hover {
    opacity: 0.5;
  }
  .l-ticket .p-ticket__desc .link:where(:any-link, :enabled, summary):hover {
    opacity: 0.5;
  }
}
@media (pointer: coarse), (hover: none) {
  @supports (touch-action: none) {
    .l-ticket .p-ticket__desc .link.touch-active {
      opacity: 0.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/251119/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;
    }
  }
}
.l-ticket .p-ticket-btn:nth-of-type(2) a span::after {
  content: "";
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  background-image: url(../img/251119/btn_exclusive_hover.svg);
  background-repeat: no-repeat;
  background-size: 100% 100%;
  opacity: 0;
  visibility: hidden;
}
.l-ticket .p-ticket-btn:nth-of-type(2) a span > img {
  width: 100%;
}
.l-ticket .p-ticket-btn:nth-of-type(2) a:focus-visible span {
  transform: translateY(-10px);
}
.l-ticket .p-ticket-btn:nth-of-type(2) a:focus-visible span::after {
  opacity: 1;
  visibility: visible;
}
@media (any-hover: hover) {
  .l-ticket .p-ticket-btn:nth-of-type(2) a:where(:-webkit-any-link, :enabled, summary):hover span {
    transform: translateY(-10px);
  }
  .l-ticket .p-ticket-btn:nth-of-type(2) a:where(:-moz-any-link, :enabled, summary):hover span {
    transform: translateY(-10px);
  }
  .l-ticket .p-ticket-btn:nth-of-type(2) a:where(:any-link, :enabled, summary):hover span {
    transform: translateY(-10px);
  }
  .l-ticket .p-ticket-btn:nth-of-type(2) a:where(:-webkit-any-link, :enabled, summary):hover span::after {
    opacity: 1;
    visibility: visible;
  }
  .l-ticket .p-ticket-btn:nth-of-type(2) a:where(:-moz-any-link, :enabled, summary):hover span::after {
    opacity: 1;
    visibility: visible;
  }
  .l-ticket .p-ticket-btn:nth-of-type(2) 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:nth-of-type(2) a.touch-active span {
      transform: translateY(-10px);
    }
    .l-ticket .p-ticket-btn:nth-of-type(2) a.touch-active span::after {
      opacity: 1;
      visibility: visible;
    }
  }
}

@media print, screen and (min-width: 768px) and (max-width: 1023px) {
  .l-ticket .p-ticket__dist {
    row-gap: 24px;
  }
  .l-ticket .p-ticket__group {
    row-gap: 12px;
  }
  .l-ticket .p-ticket__term {
    --_border-radius: 3px;
    font-size: 14px;
  }
  .l-ticket .p-ticket__desc {
    font-size: 14px;
  }
  .l-ticket .p-ticket__desc .link {
    gap: 11px;
  }
  .l-ticket .p-ticket__desc .link::after {
    inline-size: 15px;
  }
}
@media print, screen and (min-width: 1024px) {
  .l-ticket .p-ticket__dist {
    row-gap: 24px;
  }
  .l-ticket .p-ticket__group {
    row-gap: 12px;
  }
  .l-ticket .p-ticket__term {
    --_border-radius: 3px;
    font-size: 14px;
  }
  .l-ticket .p-ticket__desc {
    font-size: 14px;
  }
  .l-ticket .p-ticket__desc .link {
    gap: 11px;
  }
  .l-ticket .p-ticket__desc .link::after {
    inline-size: 15px;
  }
}
.l-instagram {
  padding-block: 13.3334%;
  background-color: rgb(225 240 240 / 1);
}
.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: 8% auto 0;
  width: 92%;
}

.l-access {
  padding-block: 13.3334% 16%;
  background-color: rgb(225 240 240 / 1);
}
.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: 9.0667% auto 0;
  width: 84%;
  aspect-ratio: 16/9;
}
.l-access .p-access__from {
  margin: 6.4% auto 0;
  width: 84%;
  font-size: 3.7334vw;
  line-height: 1.7858;
  color: rgb(0 0 0 / 1);
}
.l-access .p-access__place {
  margin: 4.2667% auto 0;
  width: 84%;
  font-size: 3.7334vw;
  line-height: 1.7858;
  color: rgb(0 0 0 / 1);
}
.l-access .p-access__tel {
  margin: 4.2667% auto 0;
  width: 84%;
  font-size: 3.7334vw;
  line-height: 1.7858;
  color: rgb(0 0 0 / 1);
}
.l-access .p-access__time {
  margin: 0 auto;
  width: 84%;
  font-size: 3.7334vw;
  line-height: 1.7858;
  color: rgb(0 0 0 / 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;
  --_border-radius: 100vmax;
  --_border-size: 2px;
  border: var(--_border-size) solid transparent;
  border-radius: var(--_border-radius);
}
.l-access .p-access-btn a span {
  --_border-radius: 100vmax;
  --_border-size: 2px;
  display: grid;
  place-content: center;
  width: 100%;
  aspect-ratio: 315/60;
  font-size: 4.8vw;
  letter-spacing: 0.02em;
  font-weight: 700;
  border: var(--_border-size) solid rgb(0 0 0 / 1);
  border-radius: var(--_border-radius);
  color: rgb(0 0 0 / 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: 4vw;
  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 print, screen and (min-width: 768px) and (max-width: 1023px) {
  .l-access .p-access__from {
    font-size: 14px;
  }
  .l-access .p-access__place {
    font-size: 14px;
  }
  .l-access .p-access__tel {
    font-size: 14px;
  }
  .l-access .p-access__time {
    font-size: 14px;
  }
  .l-access .p-access-btn a span {
    font-size: 18px;
  }
  .l-access .p-access-btn a span::after {
    inline-size: 15px;
  }
}
@media print, screen and (min-width: 1024px) {
  .l-access .p-access__from {
    font-size: 14px;
  }
  .l-access .p-access__place {
    font-size: 14px;
  }
  .l-access .p-access__tel {
    font-size: 14px;
  }
  .l-access .p-access__time {
    font-size: 14px;
  }
  .l-access .p-access-btn a span {
    font-size: 18px;
  }
  .l-access .p-access-btn a span::after {
    inline-size: 15px;
  }
}
/*
	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: 768px) 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 */