@charset "UTF-8";
/***
  The new CSS reset - version 1.7.3 (last updated 7.8.2022)
  GitHub page: https://github.com/elad2412/the-new-css-reset
***/
/*
  Remove all the styles of the "User-Agent-Stylesheet", except for the 'display' property
  - The "symbol *" part is to solve Firefox SVG sprite bug
*/
*:where(:not(html, iframe, canvas, img, svg, video, audio):not(svg *, symbol *)) {
  all: unset;
  display: revert;
}

/* Preferred box-sizing value */
*,
*::before,
*::after {
  box-sizing: border-box;
}

/* Reapply the pointer cursor for anchor tags */
a, button {
  cursor: revert;
}

/* Remove list styles (bullets/numbers) */
ol, ul, menu {
  list-style: none;
}

/* For images to not be able to exceed their container */
img {
  max-width: 100%;
}

/* removes spacing between cells in tables */
table {
  border-collapse: collapse;
}

/* Safari - solving issue when using user-select:none on the <body> text input doesn't working */
input, textarea {
  -webkit-user-select: auto;
}

/* revert the 'white-space' property for textarea elements on Safari */
textarea {
  white-space: revert;
}

/* minimum style to allow to style meter element */
meter {
  -webkit-appearance: revert;
  -moz-appearance: revert;
       appearance: revert;
}

/* reset default text opacity of input placeholder */
::-moz-placeholder {
  color: unset;
}
::placeholder {
  color: unset;
}

/* fix the feature of 'hidden' attribute.
   display:revert; revert to element instead of attribute */
:where([hidden]) {
  display: none;
}

/* revert for bug in Chromium browsers
  - fix for the content editable attribute will work properly.
  - webkit-user-select: auto; added for Safari in case of using user-select:none on wrapper element*/
:where([contenteditable]:not([contenteditable=false])) {
  -moz-user-modify: read-write;
  -webkit-user-modify: read-write;
  overflow-wrap: break-word;
  -webkit-line-break: after-white-space;
  -webkit-user-select: auto;
}

/* apply back the draggable feature - exist only in Chromium and Safari */
:where([draggable=true]) {
  -webkit-user-drag: element;
}

.js-fadeInItem {
  opacity: 0;
  transition: opacity 1s ease-out, translate 1s ease-out;
}
.js-fadeInItem.is-active {
  opacity: 1;
}

.js-fadeInUpItem {
  opacity: 0;
  translate: 0 40px;
  transition: opacity 1s ease-out, translate 1s ease-out;
}
@media screen and (max-width: 767px) {
  .js-fadeInUpItem {
    translate: 0 30px;
  }
}
.js-fadeInUpItem.is-active {
  opacity: 1;
  translate: 0 0;
}

.js-fadeInChild {
  opacity: 0;
  transition: opacity 1s ease-out, translate 1s ease-out;
}
.is-active .js-fadeInChild {
  opacity: 1;
}

.js-fadeInUpChild {
  opacity: 0;
  translate: 0 40px;
  transition: opacity 1s ease-out, translate 1s ease-out;
}
@media screen and (max-width: 767px) {
  .js-fadeInUpChild {
    translate: 0 30px;
  }
}
.is-active .js-fadeInUpChild {
  opacity: 1;
  translate: 0 0;
}

html {
  font-size: 62.5%;
}

body {
  background: #121212;
  color: #bea776;
  font-family: "A1明朝", "A1 Mincho", "Noto Serif JP", serif;
  font-size: 1.5rem;
  letter-spacing: 0.02em;
  line-height: 2;
}
@media screen and (min-width: 768px) {
  body {
    overflow-y: scroll;
  }
}
body.is-fixed {
  overflow-y: hidden;
}

img,
svg {
  display: block;
  width: 100%;
  height: auto;
  max-width: 100%;
}
@media screen and (min-width: 768px) {
  img,
  svg {
    width: auto;
  }
}

.c-svg-sprite {
  display: none;
}

a,
button {
  cursor: pointer;
}

.l-wrapper {
  overflow-x: clip;
}

.l-inner {
  width: 90%;
  max-width: 1080px;
  margin-inline: auto;
}
@media screen and (max-width: 767px) {
  .l-inner {
    width: 78.6%;
  }
  .l-inner.-sp-large {
    width: 86.6%;
  }
  .l-inner.-sp-full {
    width: 100%;
  }
}

/**
 * Swiper 11.2.6
 * Most modern mobile touch slider and framework with hardware accelerated transitions
 * https://swiperjs.com
 *
 * Copyright 2014-2025 Vladimir Kharlampidi
 *
 * Released under the MIT License
 *
 * Released on: March 19, 2025
 */
@font-face {
  font-family: swiper-icons;
  src: url("data:application/font-woff;charset=utf-8;base64, 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");
  font-weight: 400;
  font-style: normal;
}
:root {
  --swiper-theme-color:#007aff;
}

:host {
  position: relative;
  display: block;
  margin-left: auto;
  margin-right: auto;
  z-index: 1;
}

.swiper {
  margin-left: auto;
  margin-right: auto;
  position: relative;
  overflow: hidden;
  list-style: none;
  padding: 0;
  z-index: 1;
  display: block;
}

.swiper-vertical > .swiper-wrapper {
  flex-direction: column;
}

.swiper-wrapper {
  position: relative;
  width: 100%;
  height: 100%;
  z-index: 1;
  display: flex;
  transition-property: transform;
  transition-timing-function: var(--swiper-wrapper-transition-timing-function, initial);
  box-sizing: content-box;
}

.swiper-android .swiper-slide, .swiper-ios .swiper-slide, .swiper-wrapper {
  transform: translate3d(0px, 0, 0);
}

.swiper-horizontal {
  touch-action: pan-y;
}

.swiper-vertical {
  touch-action: pan-x;
}

.swiper-slide {
  flex-shrink: 0;
  width: 100%;
  height: 100%;
  position: relative;
  transition-property: transform;
  display: block;
}

.swiper-slide-invisible-blank {
  visibility: hidden;
}

.swiper-autoheight, .swiper-autoheight .swiper-slide {
  height: auto;
}

.swiper-autoheight .swiper-wrapper {
  align-items: flex-start;
  transition-property: transform, height;
}

.swiper-backface-hidden .swiper-slide {
  transform: translateZ(0);
  backface-visibility: hidden;
}

.swiper-3d.swiper-css-mode .swiper-wrapper {
  perspective: 1200px;
}

.swiper-3d .swiper-wrapper {
  transform-style: preserve-3d;
}

.swiper-3d {
  perspective: 1200px;
}

.swiper-3d .swiper-cube-shadow, .swiper-3d .swiper-slide {
  transform-style: preserve-3d;
}

.swiper-css-mode > .swiper-wrapper {
  overflow: auto;
  scrollbar-width: none;
  -ms-overflow-style: none;
}

.swiper-css-mode > .swiper-wrapper::-webkit-scrollbar {
  display: none;
}

.swiper-css-mode > .swiper-wrapper > .swiper-slide {
  scroll-snap-align: start start;
}

.swiper-css-mode.swiper-horizontal > .swiper-wrapper {
  scroll-snap-type: x mandatory;
}

.swiper-css-mode.swiper-vertical > .swiper-wrapper {
  scroll-snap-type: y mandatory;
}

.swiper-css-mode.swiper-free-mode > .swiper-wrapper {
  scroll-snap-type: none;
}

.swiper-css-mode.swiper-free-mode > .swiper-wrapper > .swiper-slide {
  scroll-snap-align: none;
}

.swiper-css-mode.swiper-centered > .swiper-wrapper::before {
  content: "";
  flex-shrink: 0;
  order: 9999;
}

.swiper-css-mode.swiper-centered > .swiper-wrapper > .swiper-slide {
  scroll-snap-align: center center;
  scroll-snap-stop: always;
}

.swiper-css-mode.swiper-centered.swiper-horizontal > .swiper-wrapper > .swiper-slide:first-child {
  margin-inline-start: var(--swiper-centered-offset-before);
}

.swiper-css-mode.swiper-centered.swiper-horizontal > .swiper-wrapper::before {
  height: 100%;
  min-height: 1px;
  width: var(--swiper-centered-offset-after);
}

.swiper-css-mode.swiper-centered.swiper-vertical > .swiper-wrapper > .swiper-slide:first-child {
  margin-block-start: var(--swiper-centered-offset-before);
}

.swiper-css-mode.swiper-centered.swiper-vertical > .swiper-wrapper::before {
  width: 100%;
  min-width: 1px;
  height: var(--swiper-centered-offset-after);
}

.swiper-3d .swiper-slide-shadow, .swiper-3d .swiper-slide-shadow-bottom, .swiper-3d .swiper-slide-shadow-left, .swiper-3d .swiper-slide-shadow-right, .swiper-3d .swiper-slide-shadow-top {
  position: absolute;
  left: 0;
  top: 0;
  width: 100%;
  height: 100%;
  pointer-events: none;
  z-index: 10;
}

.swiper-3d .swiper-slide-shadow {
  background: rgba(0, 0, 0, 0.15);
}

.swiper-3d .swiper-slide-shadow-left {
  background-image: linear-gradient(to left, rgba(0, 0, 0, 0.5), rgba(0, 0, 0, 0));
}

.swiper-3d .swiper-slide-shadow-right {
  background-image: linear-gradient(to right, rgba(0, 0, 0, 0.5), rgba(0, 0, 0, 0));
}

.swiper-3d .swiper-slide-shadow-top {
  background-image: linear-gradient(to top, rgba(0, 0, 0, 0.5), rgba(0, 0, 0, 0));
}

.swiper-3d .swiper-slide-shadow-bottom {
  background-image: linear-gradient(to bottom, rgba(0, 0, 0, 0.5), rgba(0, 0, 0, 0));
}

.swiper-lazy-preloader {
  width: 42px;
  height: 42px;
  position: absolute;
  left: 50%;
  top: 50%;
  margin-left: -21px;
  margin-top: -21px;
  z-index: 10;
  transform-origin: 50%;
  box-sizing: border-box;
  border: 4px solid var(--swiper-preloader-color, var(--swiper-theme-color));
  border-radius: 50%;
  border-top-color: transparent;
}

.swiper-watch-progress .swiper-slide-visible .swiper-lazy-preloader, .swiper:not(.swiper-watch-progress) .swiper-lazy-preloader {
  animation: swiper-preloader-spin 1s infinite linear;
}

.swiper-lazy-preloader-white {
  --swiper-preloader-color:#fff;
}

.swiper-lazy-preloader-black {
  --swiper-preloader-color:#000;
}

@keyframes swiper-preloader-spin {
  0% {
    transform: rotate(0deg);
  }
  100% {
    transform: rotate(360deg);
  }
}
.swiper-virtual .swiper-slide {
  -webkit-backface-visibility: hidden;
  transform: translateZ(0);
}

.swiper-virtual.swiper-css-mode .swiper-wrapper::after {
  content: "";
  position: absolute;
  left: 0;
  top: 0;
  pointer-events: none;
}

.swiper-virtual.swiper-css-mode.swiper-horizontal .swiper-wrapper::after {
  height: 1px;
  width: var(--swiper-virtual-size);
}

.swiper-virtual.swiper-css-mode.swiper-vertical .swiper-wrapper::after {
  width: 1px;
  height: var(--swiper-virtual-size);
}

:root {
  --swiper-navigation-size:44px;
}

.swiper-button-next, .swiper-button-prev {
  position: absolute;
  top: var(--swiper-navigation-top-offset, 50%);
  width: calc(var(--swiper-navigation-size) / 44 * 27);
  height: var(--swiper-navigation-size);
  margin-top: calc(0px - var(--swiper-navigation-size) / 2);
  z-index: 10;
  cursor: pointer;
  display: flex;
  align-items: center;
  justify-content: center;
  color: var(--swiper-navigation-color, var(--swiper-theme-color));
}

.swiper-button-next.swiper-button-disabled, .swiper-button-prev.swiper-button-disabled {
  opacity: 0.35;
  cursor: auto;
  pointer-events: none;
}

.swiper-button-next.swiper-button-hidden, .swiper-button-prev.swiper-button-hidden {
  opacity: 0;
  cursor: auto;
  pointer-events: none;
}

.swiper-navigation-disabled .swiper-button-next, .swiper-navigation-disabled .swiper-button-prev {
  display: none !important;
}

.swiper-button-next svg, .swiper-button-prev svg {
  width: 100%;
  height: 100%;
  -o-object-fit: contain;
     object-fit: contain;
  transform-origin: center;
}

.swiper-rtl .swiper-button-next svg, .swiper-rtl .swiper-button-prev svg {
  transform: rotate(180deg);
}

.swiper-button-prev, .swiper-rtl .swiper-button-next {
  left: var(--swiper-navigation-sides-offset, 10px);
  right: auto;
}

.swiper-button-next, .swiper-rtl .swiper-button-prev {
  right: var(--swiper-navigation-sides-offset, 10px);
  left: auto;
}

.swiper-button-lock {
  display: none;
}

.swiper-button-next:after, .swiper-button-prev:after {
  font-family: swiper-icons;
  font-size: var(--swiper-navigation-size);
  text-transform: none !important;
  letter-spacing: 0;
  font-variant: initial;
  line-height: 1;
}

.swiper-button-prev:after, .swiper-rtl .swiper-button-next:after {
  content: "prev";
}

.swiper-button-next, .swiper-rtl .swiper-button-prev {
  right: var(--swiper-navigation-sides-offset, 10px);
  left: auto;
}

.swiper-button-next:after, .swiper-rtl .swiper-button-prev:after {
  content: "next";
}

.swiper-pagination {
  position: absolute;
  text-align: center;
  transition: 0.3s opacity;
  transform: translate3d(0, 0, 0);
  z-index: 10;
}

.swiper-pagination.swiper-pagination-hidden {
  opacity: 0;
}

.swiper-pagination-disabled > .swiper-pagination, .swiper-pagination.swiper-pagination-disabled {
  display: none !important;
}

.swiper-horizontal > .swiper-pagination-bullets, .swiper-pagination-bullets.swiper-pagination-horizontal, .swiper-pagination-custom, .swiper-pagination-fraction {
  bottom: var(--swiper-pagination-bottom, 8px);
  top: var(--swiper-pagination-top, auto);
  left: 0;
  width: 100%;
}

.swiper-pagination-bullets-dynamic {
  overflow: hidden;
  font-size: 0;
}

.swiper-pagination-bullets-dynamic .swiper-pagination-bullet {
  transform: scale(0.33);
  position: relative;
}

.swiper-pagination-bullets-dynamic .swiper-pagination-bullet-active {
  transform: scale(1);
}

.swiper-pagination-bullets-dynamic .swiper-pagination-bullet-active-main {
  transform: scale(1);
}

.swiper-pagination-bullets-dynamic .swiper-pagination-bullet-active-prev {
  transform: scale(0.66);
}

.swiper-pagination-bullets-dynamic .swiper-pagination-bullet-active-prev-prev {
  transform: scale(0.33);
}

.swiper-pagination-bullets-dynamic .swiper-pagination-bullet-active-next {
  transform: scale(0.66);
}

.swiper-pagination-bullets-dynamic .swiper-pagination-bullet-active-next-next {
  transform: scale(0.33);
}

.swiper-pagination-bullet {
  width: var(--swiper-pagination-bullet-width, var(--swiper-pagination-bullet-size, 8px));
  height: var(--swiper-pagination-bullet-height, var(--swiper-pagination-bullet-size, 8px));
  display: inline-block;
  border-radius: var(--swiper-pagination-bullet-border-radius, 50%);
  background: var(--swiper-pagination-bullet-inactive-color, #000);
  opacity: var(--swiper-pagination-bullet-inactive-opacity, 0.2);
}

button.swiper-pagination-bullet {
  border: none;
  margin: 0;
  padding: 0;
  box-shadow: none;
  -webkit-appearance: none;
  -moz-appearance: none;
       appearance: none;
}

.swiper-pagination-clickable .swiper-pagination-bullet {
  cursor: pointer;
}

.swiper-pagination-bullet:only-child {
  display: none !important;
}

.swiper-pagination-bullet-active {
  opacity: var(--swiper-pagination-bullet-opacity, 1);
  background: var(--swiper-pagination-color, var(--swiper-theme-color));
}

.swiper-pagination-vertical.swiper-pagination-bullets, .swiper-vertical > .swiper-pagination-bullets {
  right: var(--swiper-pagination-right, 8px);
  left: var(--swiper-pagination-left, auto);
  top: 50%;
  transform: translate3d(0px, -50%, 0);
}

.swiper-pagination-vertical.swiper-pagination-bullets .swiper-pagination-bullet, .swiper-vertical > .swiper-pagination-bullets .swiper-pagination-bullet {
  margin: var(--swiper-pagination-bullet-vertical-gap, 6px) 0;
  display: block;
}

.swiper-pagination-vertical.swiper-pagination-bullets.swiper-pagination-bullets-dynamic, .swiper-vertical > .swiper-pagination-bullets.swiper-pagination-bullets-dynamic {
  top: 50%;
  transform: translateY(-50%);
  width: 8px;
}

.swiper-pagination-vertical.swiper-pagination-bullets.swiper-pagination-bullets-dynamic .swiper-pagination-bullet, .swiper-vertical > .swiper-pagination-bullets.swiper-pagination-bullets-dynamic .swiper-pagination-bullet {
  display: inline-block;
  transition: 0.2s transform, 0.2s top;
}

.swiper-horizontal > .swiper-pagination-bullets .swiper-pagination-bullet, .swiper-pagination-horizontal.swiper-pagination-bullets .swiper-pagination-bullet {
  margin: 0 var(--swiper-pagination-bullet-horizontal-gap, 4px);
}

.swiper-horizontal > .swiper-pagination-bullets.swiper-pagination-bullets-dynamic, .swiper-pagination-horizontal.swiper-pagination-bullets.swiper-pagination-bullets-dynamic {
  left: 50%;
  transform: translateX(-50%);
  white-space: nowrap;
}

.swiper-horizontal > .swiper-pagination-bullets.swiper-pagination-bullets-dynamic .swiper-pagination-bullet, .swiper-pagination-horizontal.swiper-pagination-bullets.swiper-pagination-bullets-dynamic .swiper-pagination-bullet {
  transition: 0.2s transform, 0.2s left;
}

.swiper-horizontal.swiper-rtl > .swiper-pagination-bullets-dynamic .swiper-pagination-bullet {
  transition: 0.2s transform, 0.2s right;
}

.swiper-pagination-fraction {
  color: var(--swiper-pagination-fraction-color, inherit);
}

.swiper-pagination-progressbar {
  background: var(--swiper-pagination-progressbar-bg-color, rgba(0, 0, 0, 0.25));
  position: absolute;
}

.swiper-pagination-progressbar .swiper-pagination-progressbar-fill {
  background: var(--swiper-pagination-color, var(--swiper-theme-color));
  position: absolute;
  left: 0;
  top: 0;
  width: 100%;
  height: 100%;
  transform: scale(0);
  transform-origin: left top;
}

.swiper-rtl .swiper-pagination-progressbar .swiper-pagination-progressbar-fill {
  transform-origin: right top;
}

.swiper-horizontal > .swiper-pagination-progressbar, .swiper-pagination-progressbar.swiper-pagination-horizontal, .swiper-pagination-progressbar.swiper-pagination-vertical.swiper-pagination-progressbar-opposite, .swiper-vertical > .swiper-pagination-progressbar.swiper-pagination-progressbar-opposite {
  width: 100%;
  height: var(--swiper-pagination-progressbar-size, 4px);
  left: 0;
  top: 0;
}

.swiper-horizontal > .swiper-pagination-progressbar.swiper-pagination-progressbar-opposite, .swiper-pagination-progressbar.swiper-pagination-horizontal.swiper-pagination-progressbar-opposite, .swiper-pagination-progressbar.swiper-pagination-vertical, .swiper-vertical > .swiper-pagination-progressbar {
  width: var(--swiper-pagination-progressbar-size, 4px);
  height: 100%;
  left: 0;
  top: 0;
}

.swiper-pagination-lock {
  display: none;
}

.swiper-scrollbar {
  border-radius: var(--swiper-scrollbar-border-radius, 10px);
  position: relative;
  touch-action: none;
  background: var(--swiper-scrollbar-bg-color, rgba(0, 0, 0, 0.1));
}

.swiper-scrollbar-disabled > .swiper-scrollbar, .swiper-scrollbar.swiper-scrollbar-disabled {
  display: none !important;
}

.swiper-horizontal > .swiper-scrollbar, .swiper-scrollbar.swiper-scrollbar-horizontal {
  position: absolute;
  left: var(--swiper-scrollbar-sides-offset, 1%);
  bottom: var(--swiper-scrollbar-bottom, 4px);
  top: var(--swiper-scrollbar-top, auto);
  z-index: 50;
  height: var(--swiper-scrollbar-size, 4px);
  width: calc(100% - 2 * var(--swiper-scrollbar-sides-offset, 1%));
}

.swiper-scrollbar.swiper-scrollbar-vertical, .swiper-vertical > .swiper-scrollbar {
  position: absolute;
  left: var(--swiper-scrollbar-left, auto);
  right: var(--swiper-scrollbar-right, 4px);
  top: var(--swiper-scrollbar-sides-offset, 1%);
  z-index: 50;
  width: var(--swiper-scrollbar-size, 4px);
  height: calc(100% - 2 * var(--swiper-scrollbar-sides-offset, 1%));
}

.swiper-scrollbar-drag {
  height: 100%;
  width: 100%;
  position: relative;
  background: var(--swiper-scrollbar-drag-bg-color, rgba(0, 0, 0, 0.5));
  border-radius: var(--swiper-scrollbar-border-radius, 10px);
  left: 0;
  top: 0;
}

.swiper-scrollbar-cursor-drag {
  cursor: move;
}

.swiper-scrollbar-lock {
  display: none;
}

.swiper-zoom-container {
  width: 100%;
  height: 100%;
  display: flex;
  justify-content: center;
  align-items: center;
  text-align: center;
}

.swiper-zoom-container > canvas, .swiper-zoom-container > img, .swiper-zoom-container > svg {
  max-width: 100%;
  max-height: 100%;
  -o-object-fit: contain;
     object-fit: contain;
}

.swiper-slide-zoomed {
  cursor: move;
  touch-action: none;
}

.swiper .swiper-notification {
  position: absolute;
  left: 0;
  top: 0;
  pointer-events: none;
  opacity: 0;
  z-index: -1000;
}

.swiper-free-mode > .swiper-wrapper {
  transition-timing-function: ease-out;
  margin: 0 auto;
}

.swiper-grid > .swiper-wrapper {
  flex-wrap: wrap;
}

.swiper-grid-column > .swiper-wrapper {
  flex-wrap: wrap;
  flex-direction: column;
}

.swiper-fade.swiper-free-mode .swiper-slide {
  transition-timing-function: ease-out;
}

.swiper-fade .swiper-slide {
  pointer-events: none;
  transition-property: opacity;
}

.swiper-fade .swiper-slide .swiper-slide {
  pointer-events: none;
}

.swiper-fade .swiper-slide-active {
  pointer-events: auto;
}

.swiper-fade .swiper-slide-active .swiper-slide-active {
  pointer-events: auto;
}

.swiper.swiper-cube {
  overflow: visible;
}

.swiper-cube .swiper-slide {
  pointer-events: none;
  backface-visibility: hidden;
  z-index: 1;
  visibility: hidden;
  transform-origin: 0 0;
  width: 100%;
  height: 100%;
}

.swiper-cube .swiper-slide .swiper-slide {
  pointer-events: none;
}

.swiper-cube.swiper-rtl .swiper-slide {
  transform-origin: 100% 0;
}

.swiper-cube .swiper-slide-active, .swiper-cube .swiper-slide-active .swiper-slide-active {
  pointer-events: auto;
}

.swiper-cube .swiper-slide-active, .swiper-cube .swiper-slide-next, .swiper-cube .swiper-slide-prev {
  pointer-events: auto;
  visibility: visible;
}

.swiper-cube .swiper-cube-shadow {
  position: absolute;
  left: 0;
  bottom: 0px;
  width: 100%;
  height: 100%;
  opacity: 0.6;
  z-index: 0;
}

.swiper-cube .swiper-cube-shadow:before {
  content: "";
  background: #000;
  position: absolute;
  left: 0;
  top: 0;
  bottom: 0;
  right: 0;
  filter: blur(50px);
}

.swiper-cube .swiper-slide-next + .swiper-slide {
  pointer-events: auto;
  visibility: visible;
}

.swiper-cube .swiper-slide-shadow-cube.swiper-slide-shadow-bottom, .swiper-cube .swiper-slide-shadow-cube.swiper-slide-shadow-left, .swiper-cube .swiper-slide-shadow-cube.swiper-slide-shadow-right, .swiper-cube .swiper-slide-shadow-cube.swiper-slide-shadow-top {
  z-index: 0;
  backface-visibility: hidden;
}

.swiper.swiper-flip {
  overflow: visible;
}

.swiper-flip .swiper-slide {
  pointer-events: none;
  backface-visibility: hidden;
  z-index: 1;
}

.swiper-flip .swiper-slide .swiper-slide {
  pointer-events: none;
}

.swiper-flip .swiper-slide-active, .swiper-flip .swiper-slide-active .swiper-slide-active {
  pointer-events: auto;
}

.swiper-flip .swiper-slide-shadow-flip.swiper-slide-shadow-bottom, .swiper-flip .swiper-slide-shadow-flip.swiper-slide-shadow-left, .swiper-flip .swiper-slide-shadow-flip.swiper-slide-shadow-right, .swiper-flip .swiper-slide-shadow-flip.swiper-slide-shadow-top {
  z-index: 0;
  backface-visibility: hidden;
}

.swiper-creative .swiper-slide {
  backface-visibility: hidden;
  overflow: hidden;
  transition-property: transform, opacity, height;
}

.swiper.swiper-cards {
  overflow: visible;
}

.swiper-cards .swiper-slide {
  transform-origin: center bottom;
  backface-visibility: hidden;
  overflow: hidden;
}

:where(.c-box-section) {
  padding-block: min(15vw, 120px);
  scroll-margin-top: 120px;
}
@media screen and (max-width: 767px) {
  :where(.c-box-section) {
    scroll-margin-top: 65px;
  }
}
:where(.c-box-section).-bg-color02 {
  background: #f3cf75;
}

.c-lower-header {
  padding-top: min(15vw, 120px);
}

.c-heading-title {
  line-height: 1;
}
.c-heading-title .-jp {
  font-size: 2rem;
  letter-spacing: 0.15em;
}
@media screen and (max-width: 767px) {
  .c-heading-title .-jp {
    font-size: 1.6rem;
  }
}
.c-heading-title .-en {
  display: block;
  margin-top: 15px;
  font-family: "times-new-roman", "baskerville-urw", "Cormorant Infant", serif;
  font-size: 2rem;
  letter-spacing: 0.1em;
}
@media screen and (max-width: 767px) {
  .c-heading-title .-en {
    font-size: 1.3rem;
  }
}

.c-products-title {
  line-height: 1;
}
@media screen and (max-width: 767px) {
  .c-products-title {
    text-align: center;
  }
}
.c-products-title .-jp span {
  position: relative;
  display: inline-block;
  width: -moz-max-content;
  width: max-content;
  font-size: 1.8rem;
  letter-spacing: 0.15em;
}
@media screen and (max-width: 767px) {
  .c-products-title .-jp span {
    font-size: 1.4rem;
  }
}
.c-products-title .-jp span::before, .c-products-title .-jp span::after {
  content: "";
  display: block;
  position: absolute;
  top: 50%;
  width: 100vw;
  height: 1px;
  background: #bea776;
}
@media screen and (max-width: 767px) {
  .c-products-title .-jp span::before, .c-products-title .-jp span::after {
    top: calc(100% + 8px);
  }
}
.c-products-title .-jp span::before {
  right: calc(100% + 25px);
}
.c-products-title .-jp span::after {
  left: calc(100% + 25px);
}
.c-products-title .-en {
  margin-top: 15px;
  font-size: 1.6rem;
  letter-spacing: 0.1em;
}
@media screen and (max-width: 767px) {
  .c-products-title .-en {
    margin-top: 12px;
    font-size: 1.3rem;
  }
}

.c-button {
  --duration: 0.4s;
  position: relative;
  display: grid;
  grid-template-columns: repeat(2, auto);
  place-content: center;
  max-width: 240px;
  height: 50px;
  line-height: 1;
  letter-spacing: 0.1em;
  text-align: center;
  color: #bea776;
  transition: color var(--duration) ease;
}
.c-button span {
  position: relative;
  z-index: 1;
}

a.c-button:hover {
  color: #121212 !important;
}
a.c-button:hover .c-button__bg {
  fill: #bea776;
}

div.c-button {
  pointer-events: none;
}

.c-button__arrow {
  position: relative;
  width: 15px;
  height: 15px;
  margin-left: 8px;
  fill: currentColor;
  transition: fill var(--duration) ease;
}

.c-button__bg {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  fill: transparent;
  stroke: #bea776;
  stroke-miterlimit: 10;
  transition: fill var(--duration) ease;
}

.c-button__notes {
  position: absolute;
  bottom: 0;
  left: 50%;
  font-size: 75%;
  translate: -50% 160%;
  text-align: center;
  white-space: nowrap;
}

.c-content-column {
  display: grid;
  grid-template-columns: 340px 1fr;
}
@media screen and (min-width: 768px) {
  .c-content-column.-between {
    grid-template-columns: repeat(2, auto);
    justify-content: space-between;
    gap: 50px;
  }
}
@media screen and (max-width: 767px) {
  .c-content-column {
    gap: 34px;
    grid-template-columns: 100%;
  }
}

@media screen and (min-width: 768px) {
  .c-content-column__body.js-fadeInUpItem {
    transition-delay: 0.5s;
  }
}

.c-item-tea, .c-item-sweet {
  display: grid;
  grid-template-columns: 100px 1fr;
  gap: 30px;
  line-height: 1;
}
@media screen and (max-width: 767px) {
  .c-item-tea, .c-item-sweet {
    grid-template-columns: 64px 1fr;
    gap: 16px;
  }
}

.c-item-tea__detail .-material, .c-item-sweet__detail .-material {
  font-size: 1.6rem;
  margin-bottom: 20px;
}
@media screen and (max-width: 767px) {
  .c-item-tea__detail .-material, .c-item-sweet__detail .-material {
    font-size: 1.3rem;
    margin-bottom: 16px;
  }
}
.c-item-tea__detail .-name, .c-item-sweet__detail .-name {
  font-size: 2.4rem;
  letter-spacing: 0.1em;
}
@media screen and (max-width: 767px) {
  .c-item-tea__detail .-name, .c-item-sweet__detail .-name {
    font-size: 1.7rem;
    white-space: nowrap;
  }
}
.c-item-tea__detail .-en, .c-item-sweet__detail .-en {
  margin-top: 16px;
  font-size: 1.3rem;
  line-height: 1.5;
  letter-spacing: 0.1em;
}
@media screen and (max-width: 767px) {
  .c-item-tea__detail .-en, .c-item-sweet__detail .-en {
    font-size: 1.1rem;
    margin-top: 10px;
  }
}

.c-item-sweet {
  grid-template-columns: 1fr 100px;
}
@media screen and (max-width: 767px) {
  .c-item-sweet {
    grid-template-columns: 1fr 64px;
    gap: 8px;
  }
}
.c-item-sweet + .c-item-sweet {
  margin-top: 32px;
}

.c-item-sweet__detail {
  text-align: right;
}
.c-item-sweet__detail .-name {
  letter-spacing: 0.08em;
}

.c-item-card {
  width: 395px;
  display: grid;
  grid-template-columns: 50px auto;
  align-content: stretch;
  border-right: 1px solid #bea776;
}
@media screen and (max-width: 767px) {
  .c-item-card {
    width: 320px;
    grid-template-columns: 40px auto;
  }
}

.c-item-card__detail {
  display: grid;
  grid-template-rows: repeat(2, 50%);
  justify-items: center;
  gap: 0;
  padding-block: 20px 0;
  line-height: 1;
}
@media screen and (max-width: 767px) {
  .c-item-card__detail {
    gap: 0;
    padding-block: 15px;
  }
}
.c-item-card__detail.-pairing01 {
  background-color: #003694;
}
.c-item-card__detail.-pairing02 {
  background-color: #be3200;
}
.c-item-card__detail.-pairing03 {
  background-color: #f8f3d7;
}
.c-item-card__detail.-flavored01 {
  background-color: #0082c7;
}
.c-item-card__detail.-flavored02 {
  background-color: #fce600;
}
.c-item-card__detail.-flavored03 {
  background-color: #c00042;
}
.c-item-card__detail.-flavored04 {
  background-color: #006437;
}
.c-item-card__detail:has(.-limited) {
  grid-template-rows: repeat(2, auto);
  align-content: space-between;
  padding-block-end: 15px;
  gap: 0;
}
.c-item-card__detail .-limited {
  --clip-margin: 5px;
  display: block;
  padding: 15px 5px;
  background: #0b0b0b;
  clip-path: polygon(50% 0, 100% calc(0% + var(--clip-margin)), 100% calc(100% - var(--clip-margin)), 50% 100%, 0% calc(100% - var(--clip-margin)), 0% calc(0% + var(--clip-margin)));
}

.c-item-card__name {
  writing-mode: vertical-rl;
  font-size: 2rem;
  letter-spacing: 0.18rem;
}
@media screen and (max-width: 767px) {
  .c-item-card__name {
    font-size: 1.6rem;
  }
}

.c-item-card__material {
  writing-mode: vertical-rl;
  font-size: 1.4rem;
  letter-spacing: 0.1rem;
}
@media screen and (max-width: 767px) {
  .c-item-card__material {
    font-size: 1.3rem;
    white-space: nowrap;
  }
}

.c-item-card__img {
  position: relative;
  overflow: hidden;
}
.c-item-card__img img {
  pointer-events: none;
  -webkit-user-select: none;
     -moz-user-select: none;
          user-select: none;
  transition: scale 0.5s ease;
}

.c-item-card__more {
  display: block;
  position: absolute;
  bottom: 20px;
  left: 20px;
  font-size: 1.3rem;
  letter-spacing: 0.2em;
  line-height: 1;
}
@media screen and (max-width: 767px) {
  .c-item-card__more {
    bottom: 15px;
    left: 15px;
  }
}
.c-item-card__more::before {
  content: "商品情報";
}
.c-item-card__more::after {
  content: "";
  display: inline-block;
  width: 14px;
  height: 14px;
  margin-left: 10px;
  background: url(../images/common/ico_arrow.svg) no-repeat center center/contain;
  transition: translate 0.5s ease;
}

a.c-item-card:hover .c-item-card__img img {
  scale: 1.05;
}
a.c-item-card:hover .c-item-card__more::after {
  translate: 2px -2px;
}

.p-top-products__slider.-card-small .c-item-card {
  width: 325px;
  grid-template-columns: 40px auto;
}
.p-top-products__slider.-card-small .c-item-card__name {
  font-size: 1.6rem;
}
.p-top-products__slider.-card-small .c-item-card__material {
  font-size: 1.2rem;
}
@media screen and (max-width: 767px) {
  .p-top-products__slider.-card-small .c-item-card {
    width: 280px;
    aspect-ratio: 250/221;
    grid-template-columns: 30px auto;
  }
  .p-top-products__slider.-card-small .c-item-card__name {
    font-size: 1.4rem;
  }
  .p-top-products__slider.-card-small .c-item-card__material {
    font-size: 1.1rem;
  }
}

.p-product-list__controller {
  display: grid;
  grid-template-columns: repeat(3, max-content);
  align-items: center;
  gap: 50px;
}

.p-product-list__pager {
  aspect-ratio: 40/40;
  position: relative;
  width: 40px;
  line-height: 1;
  font-size: 2rem;
}
@media screen and (max-width: 767px) {
  .p-product-list__pager {
    width: 32px;
    font-size: 1.4rem;
  }
}

.p-product-list__pager-right {
  position: absolute;
  right: 0;
  bottom: 0;
}

.p-product-list__pager-border {
  position: absolute;
  top: 50%;
  left: 50%;
  translate: -50% -50%;
  width: 240%;
  scale: 0.5;
  rotate: -45deg;
  border: 1px solid #bea776;
}

.c-arrow-prev, .c-arrow-next {
  cursor: pointer;
  width: 22px;
  height: 54px;
  background: url(../images/top/ico_slider_prev.svg) no-repeat center center/contain;
}
@media screen and (max-width: 767px) {
  .c-arrow-prev, .c-arrow-next {
    width: 15px;
    height: 37px;
  }
}

.c-arrow-next {
  background-image: url(../images/top/ico_slider_next.svg);
}

.p-top-mainvisual__img {
  height: 100dvh;
  overflow: hidden;
}
.p-top-mainvisual__img img {
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
  pointer-events: none;
}

.p-top-mainvisual__item {
  position: relative;
}
.p-top-mainvisual__item.-slide01 .p-top-mainvisual__logo {
  aspect-ratio: 96/145;
  position: absolute;
  top: 49.5%;
  left: 49.5%;
  width: max(96px, 7.5%);
  translate: -50% -50%;
  translate: -50% -20%;
  opacity: 0;
  transition: 1.5s ease-out 1s;
}
@media screen and (max-width: 767px) {
  .p-top-mainvisual__item.-slide01 .p-top-mainvisual__logo {
    width: 17.6%;
    left: 48.5%;
    top: 50%;
  }
}
.is-loaded .p-top-mainvisual__item.-slide01 .p-top-mainvisual__logo {
  opacity: 1;
  translate: -50% -50%;
}
.p-top-mainvisual__item.-slide01 .p-top-mainvisual__desc {
  position: absolute;
  top: 50%;
  left: 5.4%;
  font-size: min(1.8vw, 2.4rem);
  letter-spacing: 0.35em;
  opacity: 0;
  translate: 0 -20%;
  transition: 1.5s ease-out 1s;
  transition-property: opacity, translate;
}
@media screen and (max-width: 767px) {
  .p-top-mainvisual__item.-slide01 .p-top-mainvisual__desc {
    top: calc(3vw + 90px);
    left: 10vw;
    translate: 0 30%;
    font-size: 4.8vw;
    text-align: center;
  }
}
.is-loaded .p-top-mainvisual__item.-slide01 .p-top-mainvisual__desc {
  opacity: 1;
  translate: 0 -50%;
}
@media screen and (max-width: 767px) {
  .is-loaded .p-top-mainvisual__item.-slide01 .p-top-mainvisual__desc {
    translate: 0 0;
  }
}

.p-top-mainvisual__scroll {
  position: absolute;
  left: 0;
  bottom: 15px;
  width: 100%;
  z-index: 2;
  text-align: center;
  transition: 0.5s ease-out opacity;
}
.p-top-mainvisual__scroll.is-scroll {
  opacity: 0;
}
.p-top-mainvisual__scroll svg {
  width: 6px;
  height: 20px;
  margin: 5px auto 0;
  fill: currentColor;
  animation: moveDownFade 1.8s ease-out infinite;
}

.p-top-mainvisual__scroll-text {
  font-size: 1.6rem;
}
@media screen and (max-width: 767px) {
  .p-top-mainvisual__scroll-text {
    font-size: 1.3rem;
  }
}

@keyframes moveDownFade {
  0% {
    transform: translateY(-20%);
    opacity: 0;
  }
  10% {
    transform: translateY(-20%);
    opacity: 1;
  }
  50% {
    transform: translateY(20%);
    opacity: 1;
  }
  90% {
    transform: translateY(20%);
    opacity: 0;
  }
  100% {
    transform: translateY(20%);
    opacity: 0;
  }
}
.p-top-concept {
  position: relative;
  margin-block: 90px 70px;
  padding-top: 210px;
  padding-bottom: 240px;
  overflow: clip;
}
@media screen and (max-width: 767px) {
  .p-top-concept {
    margin-block: 100px 120px;
    padding: 0;
  }
}

.p-top-concept__content {
  position: relative;
  z-index: 1;
  margin-top: 100px;
  font-size: 1.8rem;
  line-height: 2.8;
  text-align: center;
}
@media screen and (max-width: 767px) {
  .p-top-concept__content {
    margin-top: 60px;
    font-size: min(3.5vw, 1.8rem);
  }
}

.p-top-concept__desc + .p-top-concept__desc {
  margin-top: 30px;
}

@media screen and (min-width: 768px) {
  .p-top-concept__ph {
    position: absolute;
    z-index: 0;
    width: 50vw;
    height: min(45%, 450px);
    overflow: hidden;
    transition-duration: 2s;
    transition-timing-function: ease-out;
  }
  .p-top-concept__ph img {
    width: 100%;
    height: 100%;
    -o-object-fit: cover;
       object-fit: cover;
  }
  .p-top-concept__ph.-ph01 {
    top: 0;
    right: 0;
    translate: 8% 0;
  }
  .p-top-concept__ph.-ph02 {
    bottom: 0;
    left: 0;
    translate: -8% 0;
  }
}
@media screen and (max-width: 767px) {
  .p-top-concept__ph {
    width: 65%;
  }
  .p-top-concept__ph.-ph01 {
    margin-top: 30px;
    margin-left: auto;
    translate: 16% 0;
  }
  .p-top-concept__ph.-ph02 {
    translate: -16% 0;
  }
}
.p-top-concept__ph.is-active.-ph01 {
  translate: 0;
}
.p-top-concept__ph.is-active.-ph02 {
  translate: 0;
}

.p-top-pairing {
  background: #232323;
}

.p-top-pairing__item {
  --content-color: $colorBase;
  position: relative;
  min-height: calc(200vh - 90px - 40px);
  color: var(--content-color);
}

.p-top-pairing__box {
  position: sticky;
  align-content: center;
  top: 90px;
  width: calc(100% - 80px);
  min-height: calc(100vh - 90px);
  padding-block: 100px;
  margin-inline: auto;
  background: url(../images/top/bg_pairing_ph.jpg) no-repeat top center/cover;
  opacity: 0;
}
@media screen and (max-width: 767px) {
  .p-top-pairing__box {
    top: 60px;
    width: calc(100% - 40px);
    padding-block: 50px;
    min-height: auto;
  }
}

.p-top-pairing__inner {
  position: relative;
  max-width: 1000px;
  width: 90%;
  margin-inline: auto;
  opacity: 0;
  translate: 0 30px;
  transition: 1s ease 2s;
  transition-property: opacity, translate;
}
.is-active .p-top-pairing__inner, .is-end .p-top-pairing__inner {
  opacity: 1;
}
@media screen and (max-width: 767px) {
  .p-top-pairing__inner {
    width: calc(100% - 40px);
  }
}

.p-top-pairing__color {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  mix-blend-mode: multiply;
  background: #333;
  opacity: 0;
  transition: 1s ease 1s;
}

.p-top-pairing-detail__slider img {
  pointer-events: none;
}
.p-top-pairing-detail__slider .swiper-pagination {
  display: flex;
  justify-content: center;
  gap: 16px;
  bottom: 15px;
}
.p-top-pairing-detail__slider .swiper-pagination-bullet {
  color: var(--content-color);
  background: transparent;
  border: 1px solid currentColor;
  opacity: 1;
  margin: 0 !important;
}
.p-top-pairing-detail__slider .swiper-pagination-bullet-active {
  background: currentColor;
}

.p-top-pairing__item.-item01 .p-top-pairing__box {
  background-image: url(../images/top/bg_pairing_sabaragamuwa_bg.jpg?0717);
}
.p-top-pairing__item.-item01 .p-top-pairing__color {
  background: linear-gradient(-190deg, #0064dc, #000000);
}

.p-top-pairing__item.-item02 {
  padding-top: 0;
}
.p-top-pairing__item.-item02 .p-top-pairing__box {
  background-image: url(../images/top/bg_pairing_caskaroma_bg.jpg?0717);
}
.p-top-pairing__item.-item02 .p-top-pairing__color {
  background: linear-gradient(-190deg, #f83f00, #000000);
}

.p-top-pairing__item.-item03 {
  --content-color: #fffadc;
  padding-top: 0;
}
.p-top-pairing__item.-item03 .p-top-pairing__box {
  background-image: url(../images/top/bg_pairing_ruhuna_bg.jpg?0717);
  background-position: bottom center;
}
.p-top-pairing__item.-item03 .p-top-pairing__color {
  background: linear-gradient(-190deg, #fffcc3, #000000);
}
.p-top-pairing__item.-item03 .p-top-pairing-andbox__and svg {
  fill: var(--content-color);
}
.p-top-pairing__item.-item03 .c-button {
  color: var(--content-color);
}
.p-top-pairing__item.-item03 .c-button .c-button__bg {
  stroke: var(--content-color);
}
.p-top-pairing__item.-item03 a.c-button:hover .c-button__bg {
  fill: var(--content-color);
}

.p-top-pairing__box.is-active .p-top-pairing__color,
.p-top-pairing__box.is-end .p-top-pairing__color {
  opacity: 0.85 !important;
}
.p-top-pairing__box.is-active .p-top-pairing__inner,
.p-top-pairing__box.is-end .p-top-pairing__inner {
  opacity: 1 !important;
  translate: 0 0;
}

.p-top-pairing__grid {
  display: grid;
  grid-template-columns: 1fr 42%;
  gap: min(8%, 80px);
}
@media screen and (max-width: 767px) {
  .p-top-pairing__grid {
    grid-template-columns: 100%;
    gap: 60px;
  }
}

.p-top-pairing-andbox__and {
  width: 45px;
  margin-block: 40px;
  margin-inline: auto;
}
.p-top-pairing-andbox__and svg {
  aspect-ratio: 45/52;
  fill: #bea776;
}
@media screen and (max-width: 767px) {
  .p-top-pairing-andbox__and {
    width: 38px;
    margin-block: 30px;
  }
}

@media screen and (min-width: 768px) {
  .p-top-pairing-detail {
    grid-row: span 2;
  }
}

.p-top-pairing__desc {
  margin-top: 40px;
  font-size: 1.48rem;
  text-align: justify;
}
@media screen and (max-width: 767px) {
  .p-top-pairing__desc {
    margin-top: 20px;
  }
}

.p-top-pairing-more .c-button {
  margin-inline: auto;
}

.p-top-products {
  overflow: hidden;
  padding-bottom: 0;
  background: url(../images/top/bg_products.jpg) no-repeat bottom center/cover;
}

.p-top-products__item {
  padding-bottom: 0;
}
.p-top-products__item + .p-top-products__item {
  padding-top: 45px;
}

.p-top-products__list {
  display: grid;
  grid-template-columns: 30% 70%;
}
@media screen and (max-width: 767px) {
  .p-top-products__list {
    grid-template-columns: 100%;
  }
}

.p-top-products__list-controller {
  position: relative;
  align-content: center;
}
@media screen and (max-width: 767px) {
  .p-top-products__list-controller {
    padding-block: 40px 40px;
  }
  .p-top-products__list-controller .p-product-list__controller {
    justify-content: center;
  }
}

.c-products-comingsoon {
  position: absolute;
  top: 40px;
  left: 0;
  color: #fff;
}
@media screen and (max-width: 767px) {
  .c-products-comingsoon {
    top: 5px;
    width: 100%;
    text-align: center;
  }
}

.p-top-products__slider {
  width: 100vw;
  border: 1px solid #bea776;
  border-right: none;
}
.p-top-products__slider .swiper-slide {
  width: -moz-fit-content;
  width: fit-content;
}

.p-top-products__store {
  margin-top: 45px;
  padding-block: 115px;
  border-top: 1px solid #bea776;
}
.p-top-products__store .c-button {
  margin-inline: auto;
}

.p-top-products__footer img {
  width: 100%;
}
@media screen and (max-width: 767px) {
  .p-top-products__footer img {
    aspect-ratio: 375/142;
    -o-object-fit: cover;
       object-fit: cover;
  }
}

@media screen and (max-width: 767px) {
  .p-top-shop {
    padding-block-end: 150px;
  }
}

.p-top-shop-column {
  display: grid;
  grid-template-columns: 106px 1fr;
  width: min(65vw, 740px);
  border-top: 1px solid currentColor;
}
.p-top-shop-column:last-of-type {
  border-bottom: 1px solid currentColor;
}
@media screen and (max-width: 767px) {
  .p-top-shop-column {
    width: 100%;
    grid-template-columns: 70px 1fr;
  }
}

.p-top-shop-column__head {
  padding-top: 30px;
  padding-left: 10px;
  font-size: 1.8rem;
  letter-spacing: 0.45em;
}
@media screen and (max-width: 767px) {
  .p-top-shop-column__head {
    padding-top: 15px;
    padding-left: 0;
    font-size: 1.3rem;
  }
}

.p-top-shop-list__item a {
  transition: background-color 1.2s ease;
}
.p-top-shop-list__item a, .p-top-shop-list__item > div {
  position: relative;
  display: block;
  padding: 30px 150px 30px 10px;
}
@media screen and (max-width: 767px) {
  .p-top-shop-list__item a, .p-top-shop-list__item > div {
    padding: 15px 10px 10px;
    font-size: 1.3rem;
  }
}
.p-top-shop-list__item a::after {
  content: "More info";
  display: block;
  padding-right: 40px;
  line-height: 1;
  letter-spacing: 0.1em;
  background: url(../images/common/ico_arrow_right.svg) no-repeat center right 10px/20px 6px;
  transition: background-position 0.5s ease;
}
@media screen and (min-width: 768px) {
  .p-top-shop-list__item a::after {
    position: absolute;
    top: 50%;
    right: 0;
    translate: 0 -50%;
  }
}
@media screen and (max-width: 767px) {
  .p-top-shop-list__item a::after {
    position: relative;
    width: -moz-max-content;
    width: max-content;
    margin-top: 10px;
    margin-right: -10px;
    margin-left: auto;
    padding-right: 25px;
    font-size: 1.26rem;
    background: url(../images/common/ico_arrow_right.svg) no-repeat center right 5px/14px auto;
  }
}
.p-top-shop-list__item a:hover {
  transition: background-color 0.5s ease;
  background-color: rgba(190, 167, 118, 0.2);
}
.p-top-shop-list__item a:hover::after {
  background-position: center right 0;
}
.p-top-shop-list__item + .p-top-shop-list__item {
  border-top: 1px solid currentColor;
}
.p-top-shop-list__item .-name {
  font-size: 1.8rem;
  line-height: 1.5;
  letter-spacing: 0.05em;
}
@media screen and (max-width: 767px) {
  .p-top-shop-list__item .-name {
    font-size: 1.4rem;
  }
}
.p-top-shop-list__item .-address {
  margin-top: 5px;
  font-size: 1.2rem;
  line-height: 1.6;
  letter-spacing: 0.12em;
}
@media screen and (max-width: 767px) {
  .p-top-shop-list__item .-address {
    font-size: 1.1rem;
  }
}

.s-header {
  z-index: 1000;
  position: fixed;
  top: 0;
  width: 100%;
  font-family: "times-new-roman", "baskerville-urw", "Cormorant Infant", serif;
  font-size: min(2.1vw, 1.8rem);
  letter-spacing: 0.1em;
}
.s-header.is-active {
  background: #121212;
}
@media screen and (max-width: 767px) {
  .s-header {
    font-size: 2rem;
  }
}

.s-header__inner {
  position: relative;
  display: grid;
  grid-template-columns: repeat(3, auto);
  justify-content: space-between;
  align-items: center;
  height: 90px;
  padding-inline: min(3.9vw, 75px);
}
@media screen and (max-width: 767px) {
  .s-header__inner {
    grid-template-columns: repeat(2, auto);
    height: 60px;
    padding-inline: min(3.9vw, 20px);
  }
}

.s-header__logo-img {
  position: relative;
  display: grid;
  grid-template-columns: 48.2051282051% 16.9230769231%;
  width: min(15vw, 195px);
  justify-content: space-between;
  aspect-ratio: 195/50;
}
@media screen and (max-width: 767px) {
  .s-header__logo-img {
    width: min(30vw, 110px);
    margin-inline: auto;
  }
}
.s-header__logo-img::before {
  content: "";
  display: block;
  position: absolute;
  top: 0;
  left: 65%;
  width: 1px;
  height: 100%;
  background: #00b5dc;
}

@media screen and (min-width: 768px) {
  .s-header__button {
    display: none;
  }
}
@media screen and (max-width: 767px) {
  .s-header__button {
    position: absolute;
    top: 50%;
    left: 50%;
    translate: -50% -50%;
  }
}
.s-header__button button {
  position: relative;
  display: block;
  place-content: center;
  width: 30px;
  height: 30px;
}
.s-header__button button::before, .s-header__button button::after,
.s-header__button button span {
  content: "";
  display: block;
  position: absolute;
  width: 100%;
  height: 1px;
  left: 0;
  background-color: #bea776;
  transition: 0.3s ease;
}
.s-header__button button::before {
  top: 5px;
  transform-origin: top left;
}
.s-header__button button::after {
  bottom: 5px;
  transform-origin: bottom left;
}

.is-active .s-header__button button::before {
  top: 4px;
  left: 4px;
  rotate: 45deg;
}
.is-active .s-header__button button::after {
  bottom: 4px;
  left: 4px;
  rotate: -45deg;
}
.is-active .s-header__button button span {
  display: none;
}

.s-header__menu {
  height: 100%;
  line-height: 1;
}
.s-header__menu a {
  transition: opacity 0.3s ease;
}
.s-header__menu a:hover {
  opacity: 0.5;
}
@media screen and (max-width: 767px) {
  .s-header__menu {
    opacity: 0;
    visibility: hidden;
    position: absolute;
    top: 100%;
    left: 0;
    width: 100vw;
    height: calc(100dvh - 60px);
    background: #121212;
    overflow-y: auto;
  }
}

.s-header__menu-inner {
  position: relative;
  display: flex;
  align-items: center;
  justify-content: flex-end;
  gap: 30px;
  width: 100%;
  height: 100%;
}
@media screen and (max-width: 767px) {
  .s-header__menu-inner {
    display: block;
    padding: 60px 0;
    height: auto;
  }
}

.s-header__menu-list {
  display: flex;
  align-items: center;
  gap: min(3vw, 50px);
  height: 100%;
  line-height: 1;
}
@media screen and (max-width: 767px) {
  .s-header__menu-list {
    flex-direction: column;
    gap: min(15vw, 50px);
    color: #bea776;
    text-align: center;
  }
  .s-header__menu-list .c-button {
    width: 240px;
    height: 57px;
    margin-top: 30px;
    font-size: 1.8rem;
  }
}

.s-header__store {
  width: min(15vw, 195px);
}
@media screen and (max-width: 767px) {
  .s-header__store {
    width: min(30vw, 120px);
  }
  .is-active .s-header__store {
    display: none;
  }
}
.s-header__store .c-button {
  aspect-ratio: 185/51;
  height: auto;
  font-size: min(1.6vw, 1.8rem);
  letter-spacing: 0.08em;
}
.s-header__store .c-button .c-button__arrow {
  width: min(1.2vw, 15px);
  height: min(1.2vw, 15px);
}
@media screen and (max-width: 767px) {
  .s-header__store .c-button {
    font-size: min(2.8vw, 1.3rem);
    font-weight: 800;
  }
  .s-header__store .c-button .c-button__arrow {
    width: min(2vw, 15px);
    height: min(2vw, 15px);
    margin-left: 1vw;
  }
}

.s-header-trailer {
  height: 0px;
  transition: 0.5s ease;
  overflow: hidden;
}
.s-header-trailer.is-active {
  height: 60px;
}
@media screen and (max-width: 767px) {
  .s-header-trailer.is-active {
    height: 70px;
  }
}

.s-header-trailer__inner {
  height: 60px;
}
@media screen and (max-width: 767px) {
  .s-header-trailer__inner {
    height: 70px;
  }
}

.s-header-trailer__banner {
  display: grid;
  place-content: center;
  height: 100%;
  font-size: min(1.4vw, 1.6rem);
  text-align: center;
  line-height: 1.5;
  color: #121212;
  background: #bea776;
}
@media screen and (max-width: 767px) {
  .s-header-trailer__banner {
    font-size: min(3.6vw, 1.3rem);
    line-height: 1.4;
  }
}

.s-footer {
  position: relative;
  z-index: 1000;
  width: 100%;
  padding-block: 60px 15px;
  padding-right: min(3.9vw, 75px);
  padding-left: min(3.9vw, 90px);
  color: #00b5dc;
  background: linear-gradient(90deg, #1b2936 20%, #070d0f);
  font-family: futura-pt, "A1ゴシック R", "A1 Gothic R", sans-serif;
  font-size: 1.5rem;
  font-weight: 500;
  letter-spacing: 0.6px;
  line-height: 1.6;
}
@media screen and (max-width: 767px) {
  .s-footer {
    height: auto;
    padding-block: 40px 15px;
    padding-right: min(10vw, 50px);
    padding-left: min(10vw, 50px);
    font-size: 1.2rem;
  }
}

.s-footer__pagetop {
  position: absolute;
  display: grid;
  justify-items: center;
  top: -15px;
  right: min(1vw, 30px);
  translate: 0 -100%;
  color: #bea776;
  font-family: "A1明朝", "A1 Mincho", "Noto Serif JP", serif;
}
.s-footer__pagetop span {
  writing-mode: vertical-rl;
}
.s-footer__pagetop::before {
  content: "";
  display: block;
  width: 20px;
  height: 6px;
  margin-right: 5px;
  margin-bottom: 12px;
  rotate: -90deg;
  line-height: 1;
  background: url(../images/common/ico_arrow_right.svg) no-repeat center center/20px 6px;
  transition: translate 0.5s ease;
}
.s-footer__pagetop:hover::before {
  translate: 0 -5px;
}

.s-footer__inner {
  display: grid;
  grid-template-columns: auto 1fr;
  gap: 14%;
  max-width: 1030px;
  margin-inline: auto;
}
@media screen and (max-width: 767px) {
  .s-footer__inner {
    gap: 0;
  }
}

.s-footer__logo-img {
  width: min(15vw, 80px);
}
@media screen and (max-width: 767px) {
  .s-footer__logo-img {
    width: 70px;
    margin-inline: auto;
  }
}

.s-footer__menu {
  height: 100%;
  line-height: 1;
}
.s-footer__menu a {
  transition: opacity 0.3s ease;
}
.s-footer__menu a:hover {
  opacity: 0.5;
}

.s-footer__menu-inner {
  position: relative;
  display: flex;
  justify-content: space-between;
  gap: 30px;
  width: 100%;
}
@media screen and (max-width: 767px) {
  .s-footer__menu-inner {
    display: block;
    padding-left: 14vw;
  }
}

.s-footer__menu-list {
  gap: min(3vw, 30px);
  height: 100%;
}
.s-footer__menu-list > li {
  margin-bottom: 24px;
}
@media screen and (max-width: 767px) {
  .s-footer__menu-list {
    margin-bottom: 32px;
  }
  .s-footer__menu-list > li {
    margin-bottom: 21px;
  }
}

@media screen and (max-width: 767px) {
  .s-footer__sns {
    position: absolute;
    top: 190px;
    left: -70px;
  }
}

.s-footer__sns-list {
  display: flex;
  gap: 30px;
  margin-top: 20px;
}
@media screen and (max-width: 767px) {
  .s-footer__sns-list {
    flex-direction: column;
    flex-wrap: wrap;
    align-items: center;
    justify-content: center;
    gap: 20px;
    margin-top: 20px;
  }
}
.s-footer__sns-list .c-icon {
  width: 22px;
  height: 22px;
  fill: #00b5dc;
}

.s-footer__copyright {
  margin-top: 30px;
  text-align: right;
  font-size: 1.2rem;
}
@media screen and (max-width: 767px) {
  .s-footer__copyright {
    margin-top: 20px;
    font-size: 1.1rem;
  }
}

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

@media screen and (max-width: 767px) {
  .u-pc {
    display: none;
  }
}