/*! sanitize.css v7.0.3 | CC0 License | github.com/csstools/sanitize.css */

/* Document
 * ========================================================================== */

/**
 * 1. Remove repeating backgrounds in all browsers (opinionated).
 * 2. Add border box sizing in all browsers (opinionated).
 */

*,
::before,
::after {
  background-repeat: no-repeat; /* 1 */
  box-sizing: border-box; /* 2 */
}

/**
 * 1. Add text decoration inheritance in all browsers (opinionated).
 * 2. Add vertical alignment inheritance in all browsers (opinionated).
 */

::before,
::after {
  text-decoration: inherit; /* 1 */
  vertical-align: inherit; /* 2 */
}

/**
 * 1. Use the default cursor in all browsers (opinionated).
 * 2. Use the default user interface font in all browsers (opinionated).
 * 3. Correct the line height in all browsers.
 * 4. Use a 4-space tab width in all browsers (opinionated).
 * 5. Prevent adjustments of font size after orientation changes in
 *    IE on Windows Phone and in iOS.
 * 6. Breaks words to prevent overflow in all browsers (opinionated).
 * 7. Font rendering settings;  1x => subpixel、2x or higher => grayscale http://creator.dwango.co.jp/14128.html
 */

html {
  cursor: default; /* 1 */
  font-family:
    system-ui,
    /* macOS 10.11-10.12 */ -apple-system,
    /* Windows 6+ */ Segoe UI,
    /* Android 4+ */ Roboto,
    /* Ubuntu 10.10+ */ Ubuntu,
    /* Gnome 3+ */ Cantarell,
    /* KDE Plasma 5+ */ Noto Sans,
    /* fallback */ sans-serif,
    /* macOS emoji */ "Apple Color Emoji",
    /* Windows emoji */ "Segoe UI Emoji",
    /* Windows emoji */ "Segoe UI Symbol",
    /* Linux emoji */ "Noto Color Emoji"; /* 2 */

  line-height: 1.15; /* 3 */
  -moz-tab-size: 4; /* 4 */
  -o-tab-size: 4;
     tab-size: 4; /* 4 */
  -ms-text-size-adjust: 100%; /* 5 */
  -webkit-text-size-adjust: 100%; /* 5 */
  word-break: break-word; /* 6 */
  -webkit-font-smoothing: subpixel-antialiased;
  -moz-osx-font-smoothing: unset;
}

@media (min-resolution: 2dppx) {
  html {
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale;
  }
}

/* Sections
 * ========================================================================== */

/**
 * Remove the margin in all browsers (opinionated).
 */

body {
  margin: 0;
}

/**
 * Correct the font size and margin on `h1` elements within `section` and
 * `article` contexts in Chrome, Firefox, and Safari.
 */

h1 {
  font-size: 2em;
  margin: 0.67em 0;
}

/* Grouping content
 * ========================================================================== */

/**
 * 1. Add the correct sizing in Firefox.
 * 2. Show the overflow in Edge and IE.
 */

hr {
  height: 0; /* 1 */
  overflow: visible; /* 2 */
}

/**
 * Add the correct display in IE.
 */

main {
  display: block;
}

/**
 * Remove the list style on navigation lists in all browsers (opinionated).
 */

nav ol,
nav ul {
  list-style: none;
}

/**
 * 1. Use the default monospace user interface font
 *    in all browsers (opinionated).
 * 2. Correct the odd `em` font sizing in all browsers.
 */

pre {
  font-family:
    /* macOS 10.10+ */ Menlo,
    /* Windows 6+ */ Consolas,
    /* Android 4+ */ Roboto Mono,
    /* Ubuntu 10.10+ */ Ubuntu Monospace,
    /* KDE Plasma 5+ */ Noto Mono,
    /* Linux/OpenOffice fallback */ Liberation Mono,
    /* fallback */ monospace; /* 1 */

  font-size: 1em; /* 2 */
}

/* Text-level semantics
 * ========================================================================== */

/**
 * Remove the gray background on active links in IE 10.
 */

a {
  background-color: transparent;
}

/**
 * Add the correct text decoration in Edge, IE, Opera, and Safari.
 */

abbr[title] {
  text-decoration: underline;
  text-decoration: underline;
  -webkit-text-decoration: underline dotted;
          text-decoration: underline dotted;
}

/**
 * Add the correct font weight in Chrome, Edge, and Safari.
 */

b,
strong {
  font-weight: bolder;
}

/**
 * 1. Use the default monospace user interface font
 *    in all browsers (opinionated).
 * 2. Correct the odd `em` font sizing in all browsers.
 */

code,
kbd,
samp {
  font-family:
    /* macOS 10.10+ */ Menlo,
    /* Windows 6+ */ Consolas,
    /* Android 4+ */ Roboto Mono,
    /* Ubuntu 10.10+ */ Ubuntu Monospace,
    /* KDE Plasma 4+ */ Oxygen Mono,
    /* Linux/OpenOffice fallback */ Liberation Mono,
    /* fallback */ monospace; /* 1 */

  font-size: 1em; /* 2 */
}

/**
 * Add the correct font size in all browsers.
 */

small {
  font-size: 80%;
}

/*
 * Remove the text shadow on text selections in Firefox 61- (opinionated).
 * 1. Restore the coloring undone by defining the text shadow
 *    in all browsers (opinionated).
 */

::-moz-selection {
  background-color: #b3d4fc; /* 1 */
  color: #000; /* 1 */
  text-shadow: none;
}

::selection {
  background-color: #b3d4fc; /* 1 */
  color: #000; /* 1 */
  text-shadow: none;
}

/* Embedded content
 * ========================================================================== */

/*
 * Change the alignment on media elements in all browers (opinionated).
 */

audio,
canvas,
iframe,
img,
svg,
video {
  vertical-align: middle;
}

/**
 * Add the correct display in IE 9-.
 */

audio,
video {
  display: inline-block;
}

/**
 * Add the correct display in iOS 4-7.
 */

audio:not([controls]) {
  display: none;
  height: 0;
}

/**
 * Remove the border on images inside links in IE 10-.
 */

img {
  border-style: none;
}

/**
 * Change the fill color to match the text color in all browsers (opinionated).
 */

svg {
  fill: currentColor;
}

/**
 * Hide the overflow in IE.
 */

svg:not(:root) {
  overflow: hidden;
}

/* Tabular data
 * ========================================================================== */

/**
 * Collapse border spacing in all browsers (opinionated).
 */

table {
  border-collapse: collapse;
}

/* Forms
 * ========================================================================== */

/**
 * Inherit styling in all browsers (opinionated).
 */

button,
input,
select,
textarea {
  font-family: inherit;
  font-size: inherit;
  line-height: inherit;
}

/**
 * Remove the margin in Safari.
 */

button,
input,
select {
  margin: 0;
}

/**
 * 1. Show the overflow in IE.
 * 2. Remove the inheritance of text transform in Edge, Firefox, and IE.
 */

button {
  overflow: visible; /* 1 */
  text-transform: none; /* 2 */
}

/**
 * Correct the inability to style clickable types in iOS and Safari.
 */

button,
[type="button"],
[type="reset"],
[type="submit"] {
  -webkit-appearance: button;
}

/**
 * Correct the padding in Firefox.
 */

fieldset {
  padding: 0.35em 0.75em 0.625em;
}

/**
 * Show the overflow in Edge and IE.
 */

input {
  overflow: visible;
}

/**
 * 1. Correct the text wrapping in Edge and IE.
 * 2. Correct the color inheritance from `fieldset` elements in IE.
 */

legend {
  color: inherit; /* 2 */
  display: table; /* 1 */
  max-width: 100%; /* 1 */
  white-space: normal; /* 1 */
}

/**
 * 1. Add the correct display in Edge and IE.
 * 2. Add the correct vertical alignment in Chrome, Firefox, and Opera.
 */

progress {
  display: inline-block; /* 1 */
  vertical-align: baseline; /* 2 */
}

/**
 * Remove the inheritance of text transform in Firefox.
 */

select {
  text-transform: none;
}

/**
 * 1. Remove the margin in Firefox and Safari.
 * 2. Remove the default vertical scrollbar in IE.
 * 3. Change the resize direction on textareas in all browsers (opinionated).
 */

textarea {
  margin: 0; /* 1 */
  overflow: auto; /* 2 */
  resize: vertical; /* 3 */
}

/**
 * Remove the padding in IE 10-.
 */

[type="checkbox"],
[type="radio"] {
  padding: 0;
}

/**
 * 1. Correct the odd appearance in Chrome and Safari.
 * 2. Correct the outline style in Safari.
 */

[type="search"] {
  -webkit-appearance: textfield; /* 1 */
  outline-offset: -2px; /* 2 */
}

/**
 * Correct the cursor style of increment and decrement buttons in Safari.
 */

::-webkit-inner-spin-button,
::-webkit-outer-spin-button {
  height: auto;
}

/**
 * Correct the text style of placeholders in Chrome, Edge, and Safari.
 */

::-webkit-input-placeholder {
  color: inherit;
  opacity: 0.54;
}

/**
 * Remove the inner padding in Chrome and Safari on macOS.
 */

::-webkit-search-decoration {
  -webkit-appearance: none;
}

/**
 * 1. Correct the inability to style clickable types in iOS and Safari.
 * 2. Change font properties to `inherit` in Safari.
 */

::-webkit-file-upload-button {
  -webkit-appearance: button; /* 1 */
  font: inherit; /* 2 */
}

/**
 * Remove the inner border and padding of focus outlines in Firefox.
 */

::-moz-focus-inner {
  border-style: none;
  padding: 0;
}

/**
 * Restore the focus outline styles unset by the previous rule in Firefox.
 */

:-moz-focusring {
  outline: 1px dotted ButtonText;
}

/* Interactive
 * ========================================================================== */

/*
 * Add the correct display in Edge and IE.
 */

details {
  display: block;
}

/*
 * Add the correct styles in Edge, IE, and Safari.
 */

dialog {
  background-color: white;
  border: solid;
  color: black;
  display: block;
  height: -moz-fit-content;
  height: fit-content;
  left: 0;
  margin: auto;
  padding: 1em;
  position: absolute;
  right: 0;
  width: -moz-fit-content;
  width: fit-content;
}

dialog:not([open]) {
  display: none;
}

/*
 * Add the correct display in all browsers.
 */

summary {
  display: list-item;
}

/* Scripting
 * ========================================================================== */

/**
 * Add the correct display in IE 9-.
 */

canvas {
  display: inline-block;
}

/**
 * Add the correct display in IE.
 */

template {
  display: none;
}

/* User interaction
 * ========================================================================== */

/*
 * 1. Remove the tapping delay on clickable elements
      in all browsers (opinionated).
 * 2. Remove the tapping delay in IE 10.
 */

a,
area,
button,
input,
label,
select,
summary,
textarea,
[tabindex] { /* 1 */
  touch-action: manipulation; /* 2 */
}

/**
 * Add the correct display in IE 10-.
 */

[hidden] {
  display: none;
}

/* Accessibility
 * ========================================================================== */

/**
 * Change the cursor on busy elements in all browsers (opinionated).
 */

[aria-busy="true"] {
  cursor: progress;
}

/*
 * Change the cursor on control elements in all browsers (opinionated).
 */

[aria-controls] {
  cursor: pointer;
}

/*
 * Change the cursor on disabled, not-editable, or otherwise
 * inoperable elements in all browsers (opinionated).
 */

[aria-disabled],
[disabled] {
  cursor: not-allowed;
}

/*
 * Change the display on visually hidden accessible elements
 * in all browsers (opinionated).
 */

[aria-hidden="false"][hidden]:not(:focus) {
  clip: rect(0, 0, 0, 0);
  display: inherit;
  position: absolute;
}

/**
 * Swiper 12.0.3
 * 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: October 21, 2025
 */

:root{--swiper-theme-color:#007aff}

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

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

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

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

.swiper-android .swiper-slide,.swiper-ios .swiper-slide,.swiper-wrapper{transform:translateZ(0)}

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

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

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

.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{backface-visibility:hidden;transform:translateZ(0)}

.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-left: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-top:var(--swiper-centered-offset-before)}

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

.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{height:100%;left:0;pointer-events:none;position:absolute;top:0;width:100%;z-index:10}

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

.swiper-3d .swiper-slide-shadow-left{background-image:linear-gradient(270deg,rgba(0,0,0,0.50196),rgba(0,0,0,0))}

.swiper-3d .swiper-slide-shadow-right{background-image:linear-gradient(90deg,rgba(0,0,0,0.50196),rgba(0,0,0,0))}

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

.swiper-3d .swiper-slide-shadow-bottom{background-image:linear-gradient(180deg,rgba(0,0,0,0.50196),rgba(0,0,0,0))}

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

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

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

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

@keyframes swiper-preloader-spin{0%{transform:rotate(0deg)}to{transform:rotate(1turn)}}

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

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

.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{height:var(--swiper-virtual-size);width:1px}

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

.swiper-button-next,.swiper-button-prev{align-items:center;color:#007aff;color:var(--swiper-navigation-color,var(--swiper-theme-color));cursor:pointer;display:flex;height:44px;height:var(--swiper-navigation-size);justify-content:center;position:absolute;width:44px;width:var(--swiper-navigation-size);z-index:10;}

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

.swiper-button-hidden.swiper-button-next,.swiper-button-hidden.swiper-button-prev{cursor:auto;opacity:0;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{height:100%;-o-object-fit:contain;object-fit:contain;transform-origin:center;width:100%;fill:currentColor;pointer-events:none}

.swiper-button-lock{display:none}

.swiper-button-next,.swiper-button-prev{margin-top:calc(0px - 44px/2);margin-top:calc(0px - var(--swiper-navigation-size)/2);top:50%;top:var(--swiper-navigation-top-offset,50%)}

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

.swiper-button-prev .swiper-navigation-icon{transform:rotate(180deg)}

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

.swiper-horizontal .swiper-button-next,.swiper-horizontal .swiper-button-prev,.swiper-horizontal  ~ .swiper-button-next,.swiper-horizontal  ~ .swiper-button-prev{margin-left:0;margin-top:calc(0px - 44px/2);margin-top:calc(0px - var(--swiper-navigation-size)/2);top:50%;top:var(--swiper-navigation-top-offset,50%)}

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

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

.swiper-horizontal.swiper-rtl .swiper-button-next .swiper-navigation-icon,.swiper-horizontal.swiper-rtl ~ .swiper-button-next .swiper-navigation-icon,.swiper-horizontal ~ .swiper-button-prev:not(.does-not-exist) .swiper-navigation-icon,.swiper-horizontal .swiper-button-prev:not(.does-not-exist) .swiper-navigation-icon{transform:rotate(180deg)}

.swiper-horizontal.swiper-rtl .swiper-button-prev .swiper-navigation-icon,.swiper-horizontal.swiper-rtl ~ .swiper-button-prev .swiper-navigation-icon{transform:rotate(0deg)}

.swiper-vertical .swiper-button-next,.swiper-vertical .swiper-button-prev,.swiper-vertical  ~ .swiper-button-next,.swiper-vertical  ~ .swiper-button-prev{left:50%;left:var(--swiper-navigation-top-offset,50%);margin-left:calc(0px - 44px/2);margin-left:calc(0px - var(--swiper-navigation-size)/2);margin-top:0;right:auto}

.swiper-vertical .swiper-button-prev,.swiper-vertical  ~ .swiper-button-prev{bottom:auto;top:4px;top:var(--swiper-navigation-sides-offset,4px);}

.swiper-vertical .swiper-button-prev .swiper-navigation-icon,.swiper-vertical ~ .swiper-button-prev .swiper-navigation-icon{transform:rotate(-90deg)}

.swiper-vertical .swiper-button-next,.swiper-vertical  ~ .swiper-button-next{bottom:4px;bottom:var(--swiper-navigation-sides-offset,4px);top:auto;}

.swiper-vertical .swiper-button-next .swiper-navigation-icon,.swiper-vertical ~ .swiper-button-next .swiper-navigation-icon{transform:rotate(90deg)}

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

.swiper-pagination-lock{display:none}

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

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

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

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

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

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

.swiper-scrollbar-lock{display:none}

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

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

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

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

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

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

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

.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{backface-visibility:hidden;height:100%;pointer-events:none;transform-origin:0 0;visibility:hidden;width:100%;z-index:1;}

.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{bottom:0;height:100%;left:0;opacity:.6;position:absolute;width:100%;z-index:0;}

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

.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{backface-visibility:hidden;z-index:0}

.swiper.swiper-flip{overflow:visible}

.swiper-flip .swiper-slide{backface-visibility:hidden;pointer-events:none;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{backface-visibility:hidden;z-index:0}

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

.swiper.swiper-cards{overflow:visible}

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

body {
  border: none;
  margin: 0;
  padding: 0;
}

/* image */

img,
div,
p,
blockquote,
h1,
h2,
h3,
h4,
h5,
h6,
ul,
ol,
li,
dl,
dt,
dd,
form,
fieldset,
textarea {
  border: 0;
  font-size: 100%;
  font-style: normal;
  font-weight: normal;
  list-style: none;
  margin: 0;
  padding: 0;
  -webkit-text-decoration: none;
  text-decoration: none;
}

a {
  cursor: pointer;
}

table {
  font-size: 100%;
}

hr.separator {
  display: none;
}

@font-face {
  font-display: swap;
  font-family: YakuHanJP;
  font-weight: 400;
  src: url("../../common/font/YakuHanJP-Regular.woff") format("woff");
}

@font-face {
  font-display: swap;
  font-family: YakuHanJP;
  font-weight: 700;
  src: url("../../common/font/YakuHanJP-Bold.woff") format("woff");
}

@font-face {
  font-display: swap;
  font-family: YakuHanMP;
  font-weight: 400;
  src: url("../../common/font/YakuHanMP-Regular.woff") format("woff");
}

@font-face {
  font-display: swap;
  font-family: YakuHanMP;
  font-weight: 700;
  src: url("../../common/font/YakuHanMP-Bold.woff") format("woff");
}

body {
  background: #fff;
  font-size: 1.6rem;
  letter-spacing: 0.15em;
}

@media (max-width: 374px) {
  html {
    font-size: 2.6666666667vw;
  }
}

@media (min-width: 375px) and (max-width: 767px) {
  html {
    font-size: 2.5641025641vw;
  }
}

@media (min-width: 768px) {
  html {
    font-size: min(0.6944444444vw, 10px);
  }
}

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

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

.currentPage {
  background: #fff;
  color: #444;
  font-family: YakuHanMP, "Noto Serif JP", serif;
  font-feature-settings: "palt";
  font-weight: 500;
  letter-spacing: 0.1em;
  -webkit-text-size-adjust: 100%;
     -moz-text-size-adjust: 100%;
          text-size-adjust: 100%;
}

@media print, screen and (min-width: 768px) {
  .currentPage {
    min-width: 100rem;
  }
}

a {
  color: #333;
  -webkit-text-decoration: none;
  text-decoration: none;
}

.skipLink {
  background: #333;
  color: #fff;
  left: 0;
  padding: 1rem 2rem;
  position: absolute;
  top: -100%;
  z-index: 10000;
}

.skipLink:focus {
  top: 0;
}

img {
  height: auto;
  max-width: 100%;
}

.wrap {
  margin: 0 auto;
}

@media print, screen and (min-width: 768px) {
  .wrap {
    width: 120rem;
  }
}

@media screen and (max-width: 768px) {
  .wrap {
    padding: 0 2rem;
  }
}

@media print, screen and (min-width: 768px) {
  .wrap--small {
    width: 100rem;
  }
}

@media print, screen and (min-width: 768px) {
  .wrap--xsmall {
    width: 95rem;
  }
}

.caption,
.capIn,
.capOut {
  color: #999;
  font-size: 1rem;
  letter-spacing: 0.1em;
  line-height: 1.5;
}

.caption[data-color=gray],
.capIn[data-color=gray],
.capOut[data-color=gray] {
  color: #666;
}

.caption[data-color=white],
.capIn[data-color=white],
.capOut[data-color=white] {
  color: #fff;
}

.caption[data-color=black],
.capIn[data-color=black],
.capOut[data-color=black] {
  color: #000;
}

.caption[data-color=sdw-wh],
.capIn[data-color=sdw-wh],
.capOut[data-color=sdw-wh] {
  color: #fff;
  text-shadow: rgba(0, 0, 0, 0.7) 1px 1px 1rem, rgba(0, 0, 0, 0.7) 1px 1px 1rem;
}

.caption[data-color=sdw-bl],
.capIn[data-color=sdw-bl],
.capOut[data-color=sdw-bl] {
  color: #000;
  text-shadow: #fff 1px 1px 2px, #fff -1px 1px 2px, #fff 1px -1px 2px, #fff -1px -1px 2px;
}

.spAlert {
  align-items: center;
  background: rgba(0, 0, 0, 0.7);
  display: none;
  height: 100vh;
  height: 100dvh;
  justify-content: center;
  left: 0;
  opacity: 0;
  position: fixed;
  top: 0;
  transition: opacity 0.3s;
  visibility: hidden;
  width: 100vw;
  z-index: 99999;
}

@media screen and (max-width: 768px) {
  .spAlert {
    display: flex;
  }
}

@media screen and (max-width: 768px) and (orientation: landscape) {
  .spAlert {
    opacity: 1;
    visibility: visible;
  }
}

.spAlert__inner {
  display: flex;
  flex-direction: column;
  justify-content: center;
  pointer-events: none;
  position: relative;
  z-index: 2;
}

.spAlert__message {
  color: #fff;
  font-size: 1.2rem;
  letter-spacing: 0.15em;
  line-height: 1;
  margin-top: 2.5rem;
}

.spAlert .svgIcon {
  margin: 0 auto;
  width: 8.15rem;
}

.spAlert .svgIcon__path {
  fill: none;
  stroke: #fff;
  stroke-linecap: round;
  stroke-linejoin: round;
  stroke-miterlimit: 10;
  stroke-width: 17;
}

[data-sai][data-sai][data-sai-duration="50"],
body[data-sai-duration="50"] [data-sai] {
  transition-duration: 50ms;
}

[data-sai][data-sai][data-sai-delay="50"],
body[data-sai-delay="50"] [data-sai] {
  transition-delay: 0;
}

[data-sai][data-sai][data-sai-delay="50"].sai-animate,
body[data-sai-delay="50"] [data-sai].sai-animate {
  transition-delay: 50ms;
}

[data-sai][data-sai][data-sai-duration="100"],
body[data-sai-duration="100"] [data-sai] {
  transition-duration: 0.1s;
}

[data-sai][data-sai][data-sai-delay="100"],
body[data-sai-delay="100"] [data-sai] {
  transition-delay: 0;
}

[data-sai][data-sai][data-sai-delay="100"].sai-animate,
body[data-sai-delay="100"] [data-sai].sai-animate {
  transition-delay: 0.1s;
}

[data-sai][data-sai][data-sai-duration="150"],
body[data-sai-duration="150"] [data-sai] {
  transition-duration: 0.15s;
}

[data-sai][data-sai][data-sai-delay="150"],
body[data-sai-delay="150"] [data-sai] {
  transition-delay: 0;
}

[data-sai][data-sai][data-sai-delay="150"].sai-animate,
body[data-sai-delay="150"] [data-sai].sai-animate {
  transition-delay: 0.15s;
}

[data-sai][data-sai][data-sai-duration="200"],
body[data-sai-duration="200"] [data-sai] {
  transition-duration: 0.2s;
}

[data-sai][data-sai][data-sai-delay="200"],
body[data-sai-delay="200"] [data-sai] {
  transition-delay: 0;
}

[data-sai][data-sai][data-sai-delay="200"].sai-animate,
body[data-sai-delay="200"] [data-sai].sai-animate {
  transition-delay: 0.2s;
}

[data-sai][data-sai][data-sai-duration="250"],
body[data-sai-duration="250"] [data-sai] {
  transition-duration: 0.25s;
}

[data-sai][data-sai][data-sai-delay="250"],
body[data-sai-delay="250"] [data-sai] {
  transition-delay: 0;
}

[data-sai][data-sai][data-sai-delay="250"].sai-animate,
body[data-sai-delay="250"] [data-sai].sai-animate {
  transition-delay: 0.25s;
}

[data-sai][data-sai][data-sai-duration="300"],
body[data-sai-duration="300"] [data-sai] {
  transition-duration: 0.3s;
}

[data-sai][data-sai][data-sai-delay="300"],
body[data-sai-delay="300"] [data-sai] {
  transition-delay: 0;
}

[data-sai][data-sai][data-sai-delay="300"].sai-animate,
body[data-sai-delay="300"] [data-sai].sai-animate {
  transition-delay: 0.3s;
}

[data-sai][data-sai][data-sai-duration="350"],
body[data-sai-duration="350"] [data-sai] {
  transition-duration: 0.35s;
}

[data-sai][data-sai][data-sai-delay="350"],
body[data-sai-delay="350"] [data-sai] {
  transition-delay: 0;
}

[data-sai][data-sai][data-sai-delay="350"].sai-animate,
body[data-sai-delay="350"] [data-sai].sai-animate {
  transition-delay: 0.35s;
}

[data-sai][data-sai][data-sai-duration="400"],
body[data-sai-duration="400"] [data-sai] {
  transition-duration: 0.4s;
}

[data-sai][data-sai][data-sai-delay="400"],
body[data-sai-delay="400"] [data-sai] {
  transition-delay: 0;
}

[data-sai][data-sai][data-sai-delay="400"].sai-animate,
body[data-sai-delay="400"] [data-sai].sai-animate {
  transition-delay: 0.4s;
}

[data-sai][data-sai][data-sai-duration="450"],
body[data-sai-duration="450"] [data-sai] {
  transition-duration: 0.45s;
}

[data-sai][data-sai][data-sai-delay="450"],
body[data-sai-delay="450"] [data-sai] {
  transition-delay: 0;
}

[data-sai][data-sai][data-sai-delay="450"].sai-animate,
body[data-sai-delay="450"] [data-sai].sai-animate {
  transition-delay: 0.45s;
}

[data-sai][data-sai][data-sai-duration="500"],
body[data-sai-duration="500"] [data-sai] {
  transition-duration: 0.5s;
}

[data-sai][data-sai][data-sai-delay="500"],
body[data-sai-delay="500"] [data-sai] {
  transition-delay: 0;
}

[data-sai][data-sai][data-sai-delay="500"].sai-animate,
body[data-sai-delay="500"] [data-sai].sai-animate {
  transition-delay: 0.5s;
}

[data-sai][data-sai][data-sai-duration="550"],
body[data-sai-duration="550"] [data-sai] {
  transition-duration: 0.55s;
}

[data-sai][data-sai][data-sai-delay="550"],
body[data-sai-delay="550"] [data-sai] {
  transition-delay: 0;
}

[data-sai][data-sai][data-sai-delay="550"].sai-animate,
body[data-sai-delay="550"] [data-sai].sai-animate {
  transition-delay: 0.55s;
}

[data-sai][data-sai][data-sai-duration="600"],
body[data-sai-duration="600"] [data-sai] {
  transition-duration: 0.6s;
}

[data-sai][data-sai][data-sai-delay="600"],
body[data-sai-delay="600"] [data-sai] {
  transition-delay: 0;
}

[data-sai][data-sai][data-sai-delay="600"].sai-animate,
body[data-sai-delay="600"] [data-sai].sai-animate {
  transition-delay: 0.6s;
}

[data-sai][data-sai][data-sai-duration="650"],
body[data-sai-duration="650"] [data-sai] {
  transition-duration: 0.65s;
}

[data-sai][data-sai][data-sai-delay="650"],
body[data-sai-delay="650"] [data-sai] {
  transition-delay: 0;
}

[data-sai][data-sai][data-sai-delay="650"].sai-animate,
body[data-sai-delay="650"] [data-sai].sai-animate {
  transition-delay: 0.65s;
}

[data-sai][data-sai][data-sai-duration="700"],
body[data-sai-duration="700"] [data-sai] {
  transition-duration: 0.7s;
}

[data-sai][data-sai][data-sai-delay="700"],
body[data-sai-delay="700"] [data-sai] {
  transition-delay: 0;
}

[data-sai][data-sai][data-sai-delay="700"].sai-animate,
body[data-sai-delay="700"] [data-sai].sai-animate {
  transition-delay: 0.7s;
}

[data-sai][data-sai][data-sai-duration="750"],
body[data-sai-duration="750"] [data-sai] {
  transition-duration: 0.75s;
}

[data-sai][data-sai][data-sai-delay="750"],
body[data-sai-delay="750"] [data-sai] {
  transition-delay: 0;
}

[data-sai][data-sai][data-sai-delay="750"].sai-animate,
body[data-sai-delay="750"] [data-sai].sai-animate {
  transition-delay: 0.75s;
}

[data-sai][data-sai][data-sai-duration="800"],
body[data-sai-duration="800"] [data-sai] {
  transition-duration: 0.8s;
}

[data-sai][data-sai][data-sai-delay="800"],
body[data-sai-delay="800"] [data-sai] {
  transition-delay: 0;
}

[data-sai][data-sai][data-sai-delay="800"].sai-animate,
body[data-sai-delay="800"] [data-sai].sai-animate {
  transition-delay: 0.8s;
}

[data-sai][data-sai][data-sai-duration="850"],
body[data-sai-duration="850"] [data-sai] {
  transition-duration: 0.85s;
}

[data-sai][data-sai][data-sai-delay="850"],
body[data-sai-delay="850"] [data-sai] {
  transition-delay: 0;
}

[data-sai][data-sai][data-sai-delay="850"].sai-animate,
body[data-sai-delay="850"] [data-sai].sai-animate {
  transition-delay: 0.85s;
}

[data-sai][data-sai][data-sai-duration="900"],
body[data-sai-duration="900"] [data-sai] {
  transition-duration: 0.9s;
}

[data-sai][data-sai][data-sai-delay="900"],
body[data-sai-delay="900"] [data-sai] {
  transition-delay: 0;
}

[data-sai][data-sai][data-sai-delay="900"].sai-animate,
body[data-sai-delay="900"] [data-sai].sai-animate {
  transition-delay: 0.9s;
}

[data-sai][data-sai][data-sai-duration="950"],
body[data-sai-duration="950"] [data-sai] {
  transition-duration: 0.95s;
}

[data-sai][data-sai][data-sai-delay="950"],
body[data-sai-delay="950"] [data-sai] {
  transition-delay: 0;
}

[data-sai][data-sai][data-sai-delay="950"].sai-animate,
body[data-sai-delay="950"] [data-sai].sai-animate {
  transition-delay: 0.95s;
}

[data-sai][data-sai][data-sai-duration="1000"],
body[data-sai-duration="1000"] [data-sai] {
  transition-duration: 1s;
}

[data-sai][data-sai][data-sai-delay="1000"],
body[data-sai-delay="1000"] [data-sai] {
  transition-delay: 0;
}

[data-sai][data-sai][data-sai-delay="1000"].sai-animate,
body[data-sai-delay="1000"] [data-sai].sai-animate {
  transition-delay: 1s;
}

[data-sai][data-sai][data-sai-duration="1050"],
body[data-sai-duration="1050"] [data-sai] {
  transition-duration: 1.05s;
}

[data-sai][data-sai][data-sai-delay="1050"],
body[data-sai-delay="1050"] [data-sai] {
  transition-delay: 0;
}

[data-sai][data-sai][data-sai-delay="1050"].sai-animate,
body[data-sai-delay="1050"] [data-sai].sai-animate {
  transition-delay: 1.05s;
}

[data-sai][data-sai][data-sai-duration="1100"],
body[data-sai-duration="1100"] [data-sai] {
  transition-duration: 1.1s;
}

[data-sai][data-sai][data-sai-delay="1100"],
body[data-sai-delay="1100"] [data-sai] {
  transition-delay: 0;
}

[data-sai][data-sai][data-sai-delay="1100"].sai-animate,
body[data-sai-delay="1100"] [data-sai].sai-animate {
  transition-delay: 1.1s;
}

[data-sai][data-sai][data-sai-duration="1150"],
body[data-sai-duration="1150"] [data-sai] {
  transition-duration: 1.15s;
}

[data-sai][data-sai][data-sai-delay="1150"],
body[data-sai-delay="1150"] [data-sai] {
  transition-delay: 0;
}

[data-sai][data-sai][data-sai-delay="1150"].sai-animate,
body[data-sai-delay="1150"] [data-sai].sai-animate {
  transition-delay: 1.15s;
}

[data-sai][data-sai][data-sai-duration="1200"],
body[data-sai-duration="1200"] [data-sai] {
  transition-duration: 1.2s;
}

[data-sai][data-sai][data-sai-delay="1200"],
body[data-sai-delay="1200"] [data-sai] {
  transition-delay: 0;
}

[data-sai][data-sai][data-sai-delay="1200"].sai-animate,
body[data-sai-delay="1200"] [data-sai].sai-animate {
  transition-delay: 1.2s;
}

[data-sai][data-sai][data-sai-duration="1250"],
body[data-sai-duration="1250"] [data-sai] {
  transition-duration: 1.25s;
}

[data-sai][data-sai][data-sai-delay="1250"],
body[data-sai-delay="1250"] [data-sai] {
  transition-delay: 0;
}

[data-sai][data-sai][data-sai-delay="1250"].sai-animate,
body[data-sai-delay="1250"] [data-sai].sai-animate {
  transition-delay: 1.25s;
}

[data-sai][data-sai][data-sai-duration="1300"],
body[data-sai-duration="1300"] [data-sai] {
  transition-duration: 1.3s;
}

[data-sai][data-sai][data-sai-delay="1300"],
body[data-sai-delay="1300"] [data-sai] {
  transition-delay: 0;
}

[data-sai][data-sai][data-sai-delay="1300"].sai-animate,
body[data-sai-delay="1300"] [data-sai].sai-animate {
  transition-delay: 1.3s;
}

[data-sai][data-sai][data-sai-duration="1350"],
body[data-sai-duration="1350"] [data-sai] {
  transition-duration: 1.35s;
}

[data-sai][data-sai][data-sai-delay="1350"],
body[data-sai-delay="1350"] [data-sai] {
  transition-delay: 0;
}

[data-sai][data-sai][data-sai-delay="1350"].sai-animate,
body[data-sai-delay="1350"] [data-sai].sai-animate {
  transition-delay: 1.35s;
}

[data-sai][data-sai][data-sai-duration="1400"],
body[data-sai-duration="1400"] [data-sai] {
  transition-duration: 1.4s;
}

[data-sai][data-sai][data-sai-delay="1400"],
body[data-sai-delay="1400"] [data-sai] {
  transition-delay: 0;
}

[data-sai][data-sai][data-sai-delay="1400"].sai-animate,
body[data-sai-delay="1400"] [data-sai].sai-animate {
  transition-delay: 1.4s;
}

[data-sai][data-sai][data-sai-duration="1450"],
body[data-sai-duration="1450"] [data-sai] {
  transition-duration: 1.45s;
}

[data-sai][data-sai][data-sai-delay="1450"],
body[data-sai-delay="1450"] [data-sai] {
  transition-delay: 0;
}

[data-sai][data-sai][data-sai-delay="1450"].sai-animate,
body[data-sai-delay="1450"] [data-sai].sai-animate {
  transition-delay: 1.45s;
}

[data-sai][data-sai][data-sai-duration="1500"],
body[data-sai-duration="1500"] [data-sai] {
  transition-duration: 1.5s;
}

[data-sai][data-sai][data-sai-delay="1500"],
body[data-sai-delay="1500"] [data-sai] {
  transition-delay: 0;
}

[data-sai][data-sai][data-sai-delay="1500"].sai-animate,
body[data-sai-delay="1500"] [data-sai].sai-animate {
  transition-delay: 1.5s;
}

[data-sai][data-sai][data-sai-duration="1550"],
body[data-sai-duration="1550"] [data-sai] {
  transition-duration: 1.55s;
}

[data-sai][data-sai][data-sai-delay="1550"],
body[data-sai-delay="1550"] [data-sai] {
  transition-delay: 0;
}

[data-sai][data-sai][data-sai-delay="1550"].sai-animate,
body[data-sai-delay="1550"] [data-sai].sai-animate {
  transition-delay: 1.55s;
}

[data-sai][data-sai][data-sai-duration="1600"],
body[data-sai-duration="1600"] [data-sai] {
  transition-duration: 1.6s;
}

[data-sai][data-sai][data-sai-delay="1600"],
body[data-sai-delay="1600"] [data-sai] {
  transition-delay: 0;
}

[data-sai][data-sai][data-sai-delay="1600"].sai-animate,
body[data-sai-delay="1600"] [data-sai].sai-animate {
  transition-delay: 1.6s;
}

[data-sai][data-sai][data-sai-duration="1650"],
body[data-sai-duration="1650"] [data-sai] {
  transition-duration: 1.65s;
}

[data-sai][data-sai][data-sai-delay="1650"],
body[data-sai-delay="1650"] [data-sai] {
  transition-delay: 0;
}

[data-sai][data-sai][data-sai-delay="1650"].sai-animate,
body[data-sai-delay="1650"] [data-sai].sai-animate {
  transition-delay: 1.65s;
}

[data-sai][data-sai][data-sai-duration="1700"],
body[data-sai-duration="1700"] [data-sai] {
  transition-duration: 1.7s;
}

[data-sai][data-sai][data-sai-delay="1700"],
body[data-sai-delay="1700"] [data-sai] {
  transition-delay: 0;
}

[data-sai][data-sai][data-sai-delay="1700"].sai-animate,
body[data-sai-delay="1700"] [data-sai].sai-animate {
  transition-delay: 1.7s;
}

[data-sai][data-sai][data-sai-duration="1750"],
body[data-sai-duration="1750"] [data-sai] {
  transition-duration: 1.75s;
}

[data-sai][data-sai][data-sai-delay="1750"],
body[data-sai-delay="1750"] [data-sai] {
  transition-delay: 0;
}

[data-sai][data-sai][data-sai-delay="1750"].sai-animate,
body[data-sai-delay="1750"] [data-sai].sai-animate {
  transition-delay: 1.75s;
}

[data-sai][data-sai][data-sai-duration="1800"],
body[data-sai-duration="1800"] [data-sai] {
  transition-duration: 1.8s;
}

[data-sai][data-sai][data-sai-delay="1800"],
body[data-sai-delay="1800"] [data-sai] {
  transition-delay: 0;
}

[data-sai][data-sai][data-sai-delay="1800"].sai-animate,
body[data-sai-delay="1800"] [data-sai].sai-animate {
  transition-delay: 1.8s;
}

[data-sai][data-sai][data-sai-duration="1850"],
body[data-sai-duration="1850"] [data-sai] {
  transition-duration: 1.85s;
}

[data-sai][data-sai][data-sai-delay="1850"],
body[data-sai-delay="1850"] [data-sai] {
  transition-delay: 0;
}

[data-sai][data-sai][data-sai-delay="1850"].sai-animate,
body[data-sai-delay="1850"] [data-sai].sai-animate {
  transition-delay: 1.85s;
}

[data-sai][data-sai][data-sai-duration="1900"],
body[data-sai-duration="1900"] [data-sai] {
  transition-duration: 1.9s;
}

[data-sai][data-sai][data-sai-delay="1900"],
body[data-sai-delay="1900"] [data-sai] {
  transition-delay: 0;
}

[data-sai][data-sai][data-sai-delay="1900"].sai-animate,
body[data-sai-delay="1900"] [data-sai].sai-animate {
  transition-delay: 1.9s;
}

[data-sai][data-sai][data-sai-duration="1950"],
body[data-sai-duration="1950"] [data-sai] {
  transition-duration: 1.95s;
}

[data-sai][data-sai][data-sai-delay="1950"],
body[data-sai-delay="1950"] [data-sai] {
  transition-delay: 0;
}

[data-sai][data-sai][data-sai-delay="1950"].sai-animate,
body[data-sai-delay="1950"] [data-sai].sai-animate {
  transition-delay: 1.95s;
}

[data-sai][data-sai][data-sai-duration="2000"],
body[data-sai-duration="2000"] [data-sai] {
  transition-duration: 2s;
}

[data-sai][data-sai][data-sai-delay="2000"],
body[data-sai-delay="2000"] [data-sai] {
  transition-delay: 0;
}

[data-sai][data-sai][data-sai-delay="2000"].sai-animate,
body[data-sai-delay="2000"] [data-sai].sai-animate {
  transition-delay: 2s;
}

[data-sai][data-sai][data-sai-duration="2050"],
body[data-sai-duration="2050"] [data-sai] {
  transition-duration: 2.05s;
}

[data-sai][data-sai][data-sai-delay="2050"],
body[data-sai-delay="2050"] [data-sai] {
  transition-delay: 0;
}

[data-sai][data-sai][data-sai-delay="2050"].sai-animate,
body[data-sai-delay="2050"] [data-sai].sai-animate {
  transition-delay: 2.05s;
}

[data-sai][data-sai][data-sai-duration="2100"],
body[data-sai-duration="2100"] [data-sai] {
  transition-duration: 2.1s;
}

[data-sai][data-sai][data-sai-delay="2100"],
body[data-sai-delay="2100"] [data-sai] {
  transition-delay: 0;
}

[data-sai][data-sai][data-sai-delay="2100"].sai-animate,
body[data-sai-delay="2100"] [data-sai].sai-animate {
  transition-delay: 2.1s;
}

[data-sai][data-sai][data-sai-duration="2150"],
body[data-sai-duration="2150"] [data-sai] {
  transition-duration: 2.15s;
}

[data-sai][data-sai][data-sai-delay="2150"],
body[data-sai-delay="2150"] [data-sai] {
  transition-delay: 0;
}

[data-sai][data-sai][data-sai-delay="2150"].sai-animate,
body[data-sai-delay="2150"] [data-sai].sai-animate {
  transition-delay: 2.15s;
}

[data-sai][data-sai][data-sai-duration="2200"],
body[data-sai-duration="2200"] [data-sai] {
  transition-duration: 2.2s;
}

[data-sai][data-sai][data-sai-delay="2200"],
body[data-sai-delay="2200"] [data-sai] {
  transition-delay: 0;
}

[data-sai][data-sai][data-sai-delay="2200"].sai-animate,
body[data-sai-delay="2200"] [data-sai].sai-animate {
  transition-delay: 2.2s;
}

[data-sai][data-sai][data-sai-duration="2250"],
body[data-sai-duration="2250"] [data-sai] {
  transition-duration: 2.25s;
}

[data-sai][data-sai][data-sai-delay="2250"],
body[data-sai-delay="2250"] [data-sai] {
  transition-delay: 0;
}

[data-sai][data-sai][data-sai-delay="2250"].sai-animate,
body[data-sai-delay="2250"] [data-sai].sai-animate {
  transition-delay: 2.25s;
}

[data-sai][data-sai][data-sai-duration="2300"],
body[data-sai-duration="2300"] [data-sai] {
  transition-duration: 2.3s;
}

[data-sai][data-sai][data-sai-delay="2300"],
body[data-sai-delay="2300"] [data-sai] {
  transition-delay: 0;
}

[data-sai][data-sai][data-sai-delay="2300"].sai-animate,
body[data-sai-delay="2300"] [data-sai].sai-animate {
  transition-delay: 2.3s;
}

[data-sai][data-sai][data-sai-duration="2350"],
body[data-sai-duration="2350"] [data-sai] {
  transition-duration: 2.35s;
}

[data-sai][data-sai][data-sai-delay="2350"],
body[data-sai-delay="2350"] [data-sai] {
  transition-delay: 0;
}

[data-sai][data-sai][data-sai-delay="2350"].sai-animate,
body[data-sai-delay="2350"] [data-sai].sai-animate {
  transition-delay: 2.35s;
}

[data-sai][data-sai][data-sai-duration="2400"],
body[data-sai-duration="2400"] [data-sai] {
  transition-duration: 2.4s;
}

[data-sai][data-sai][data-sai-delay="2400"],
body[data-sai-delay="2400"] [data-sai] {
  transition-delay: 0;
}

[data-sai][data-sai][data-sai-delay="2400"].sai-animate,
body[data-sai-delay="2400"] [data-sai].sai-animate {
  transition-delay: 2.4s;
}

[data-sai][data-sai][data-sai-duration="2450"],
body[data-sai-duration="2450"] [data-sai] {
  transition-duration: 2.45s;
}

[data-sai][data-sai][data-sai-delay="2450"],
body[data-sai-delay="2450"] [data-sai] {
  transition-delay: 0;
}

[data-sai][data-sai][data-sai-delay="2450"].sai-animate,
body[data-sai-delay="2450"] [data-sai].sai-animate {
  transition-delay: 2.45s;
}

[data-sai][data-sai][data-sai-duration="2500"],
body[data-sai-duration="2500"] [data-sai] {
  transition-duration: 2.5s;
}

[data-sai][data-sai][data-sai-delay="2500"],
body[data-sai-delay="2500"] [data-sai] {
  transition-delay: 0;
}

[data-sai][data-sai][data-sai-delay="2500"].sai-animate,
body[data-sai-delay="2500"] [data-sai].sai-animate {
  transition-delay: 2.5s;
}

[data-sai][data-sai][data-sai-duration="2550"],
body[data-sai-duration="2550"] [data-sai] {
  transition-duration: 2.55s;
}

[data-sai][data-sai][data-sai-delay="2550"],
body[data-sai-delay="2550"] [data-sai] {
  transition-delay: 0;
}

[data-sai][data-sai][data-sai-delay="2550"].sai-animate,
body[data-sai-delay="2550"] [data-sai].sai-animate {
  transition-delay: 2.55s;
}

[data-sai][data-sai][data-sai-duration="2600"],
body[data-sai-duration="2600"] [data-sai] {
  transition-duration: 2.6s;
}

[data-sai][data-sai][data-sai-delay="2600"],
body[data-sai-delay="2600"] [data-sai] {
  transition-delay: 0;
}

[data-sai][data-sai][data-sai-delay="2600"].sai-animate,
body[data-sai-delay="2600"] [data-sai].sai-animate {
  transition-delay: 2.6s;
}

[data-sai][data-sai][data-sai-duration="2650"],
body[data-sai-duration="2650"] [data-sai] {
  transition-duration: 2.65s;
}

[data-sai][data-sai][data-sai-delay="2650"],
body[data-sai-delay="2650"] [data-sai] {
  transition-delay: 0;
}

[data-sai][data-sai][data-sai-delay="2650"].sai-animate,
body[data-sai-delay="2650"] [data-sai].sai-animate {
  transition-delay: 2.65s;
}

[data-sai][data-sai][data-sai-duration="2700"],
body[data-sai-duration="2700"] [data-sai] {
  transition-duration: 2.7s;
}

[data-sai][data-sai][data-sai-delay="2700"],
body[data-sai-delay="2700"] [data-sai] {
  transition-delay: 0;
}

[data-sai][data-sai][data-sai-delay="2700"].sai-animate,
body[data-sai-delay="2700"] [data-sai].sai-animate {
  transition-delay: 2.7s;
}

[data-sai][data-sai][data-sai-duration="2750"],
body[data-sai-duration="2750"] [data-sai] {
  transition-duration: 2.75s;
}

[data-sai][data-sai][data-sai-delay="2750"],
body[data-sai-delay="2750"] [data-sai] {
  transition-delay: 0;
}

[data-sai][data-sai][data-sai-delay="2750"].sai-animate,
body[data-sai-delay="2750"] [data-sai].sai-animate {
  transition-delay: 2.75s;
}

[data-sai][data-sai][data-sai-duration="2800"],
body[data-sai-duration="2800"] [data-sai] {
  transition-duration: 2.8s;
}

[data-sai][data-sai][data-sai-delay="2800"],
body[data-sai-delay="2800"] [data-sai] {
  transition-delay: 0;
}

[data-sai][data-sai][data-sai-delay="2800"].sai-animate,
body[data-sai-delay="2800"] [data-sai].sai-animate {
  transition-delay: 2.8s;
}

[data-sai][data-sai][data-sai-duration="2850"],
body[data-sai-duration="2850"] [data-sai] {
  transition-duration: 2.85s;
}

[data-sai][data-sai][data-sai-delay="2850"],
body[data-sai-delay="2850"] [data-sai] {
  transition-delay: 0;
}

[data-sai][data-sai][data-sai-delay="2850"].sai-animate,
body[data-sai-delay="2850"] [data-sai].sai-animate {
  transition-delay: 2.85s;
}

[data-sai][data-sai][data-sai-duration="2900"],
body[data-sai-duration="2900"] [data-sai] {
  transition-duration: 2.9s;
}

[data-sai][data-sai][data-sai-delay="2900"],
body[data-sai-delay="2900"] [data-sai] {
  transition-delay: 0;
}

[data-sai][data-sai][data-sai-delay="2900"].sai-animate,
body[data-sai-delay="2900"] [data-sai].sai-animate {
  transition-delay: 2.9s;
}

[data-sai][data-sai][data-sai-duration="2950"],
body[data-sai-duration="2950"] [data-sai] {
  transition-duration: 2.95s;
}

[data-sai][data-sai][data-sai-delay="2950"],
body[data-sai-delay="2950"] [data-sai] {
  transition-delay: 0;
}

[data-sai][data-sai][data-sai-delay="2950"].sai-animate,
body[data-sai-delay="2950"] [data-sai].sai-animate {
  transition-delay: 2.95s;
}

[data-sai][data-sai][data-sai-duration="3000"],
body[data-sai-duration="3000"] [data-sai] {
  transition-duration: 3s;
}

[data-sai][data-sai][data-sai-delay="3000"],
body[data-sai-delay="3000"] [data-sai] {
  transition-delay: 0;
}

[data-sai][data-sai][data-sai-delay="3000"].sai-animate,
body[data-sai-delay="3000"] [data-sai].sai-animate {
  transition-delay: 3s;
}

[data-sai][data-sai][data-sai-easing=linear],
body[data-sai-easing=linear] [data-sai] {
  transition-timing-function: cubic-bezier(0.25, 0.25, 0.75, 0.75);
}

[data-sai][data-sai][data-sai-easing=ease],
body[data-sai-easing=ease] [data-sai] {
  transition-timing-function: ease;
}

[data-sai][data-sai][data-sai-easing=ease-in],
body[data-sai-easing=ease-in] [data-sai] {
  transition-timing-function: ease-in;
}

[data-sai][data-sai][data-sai-easing=ease-out],
body[data-sai-easing=ease-out] [data-sai] {
  transition-timing-function: ease-out;
}

[data-sai][data-sai][data-sai-easing=ease-in-out],
body[data-sai-easing=ease-in-out] [data-sai] {
  transition-timing-function: ease-in-out;
}

[data-sai][data-sai][data-sai-easing=ease-in-back],
body[data-sai-easing=ease-in-back] [data-sai] {
  transition-timing-function: cubic-bezier(0.6, -0.28, 0.735, 0.045);
}

[data-sai][data-sai][data-sai-easing=ease-out-back],
body[data-sai-easing=ease-out-back] [data-sai] {
  transition-timing-function: cubic-bezier(0.175, 0.885, 0.32, 1.275);
}

[data-sai][data-sai][data-sai-easing=ease-in-out-back],
body[data-sai-easing=ease-in-out-back] [data-sai] {
  transition-timing-function: cubic-bezier(0.68, -0.55, 0.265, 1.55);
}

[data-sai][data-sai][data-sai-easing=ease-in-sine],
body[data-sai-easing=ease-in-sine] [data-sai] {
  transition-timing-function: cubic-bezier(0.47, 0, 0.745, 0.715);
}

[data-sai][data-sai][data-sai-easing=ease-out-sine],
body[data-sai-easing=ease-out-sine] [data-sai] {
  transition-timing-function: cubic-bezier(0.39, 0.575, 0.565, 1);
}

[data-sai][data-sai][data-sai-easing=ease-in-out-sine],
body[data-sai-easing=ease-in-out-sine] [data-sai] {
  transition-timing-function: cubic-bezier(0.445, 0.05, 0.55, 0.95);
}

[data-sai][data-sai][data-sai-easing=ease-in-quad],
body[data-sai-easing=ease-in-quad] [data-sai] {
  transition-timing-function: cubic-bezier(0.55, 0.085, 0.68, 0.53);
}

[data-sai][data-sai][data-sai-easing=ease-out-quad],
body[data-sai-easing=ease-out-quad] [data-sai] {
  transition-timing-function: cubic-bezier(0.25, 0.46, 0.45, 0.94);
}

[data-sai][data-sai][data-sai-easing=ease-in-out-quad],
body[data-sai-easing=ease-in-out-quad] [data-sai] {
  transition-timing-function: cubic-bezier(0.455, 0.03, 0.515, 0.955);
}

[data-sai][data-sai][data-sai-easing=ease-in-cubic],
body[data-sai-easing=ease-in-cubic] [data-sai] {
  transition-timing-function: cubic-bezier(0.55, 0.085, 0.68, 0.53);
}

[data-sai][data-sai][data-sai-easing=ease-out-cubic],
body[data-sai-easing=ease-out-cubic] [data-sai] {
  transition-timing-function: cubic-bezier(0.25, 0.46, 0.45, 0.94);
}

[data-sai][data-sai][data-sai-easing=ease-in-out-cubic],
body[data-sai-easing=ease-in-out-cubic] [data-sai] {
  transition-timing-function: cubic-bezier(0.455, 0.03, 0.515, 0.955);
}

[data-sai][data-sai][data-sai-easing=ease-in-quart],
body[data-sai-easing=ease-in-quart] [data-sai] {
  transition-timing-function: cubic-bezier(0.55, 0.085, 0.68, 0.53);
}

[data-sai][data-sai][data-sai-easing=ease-out-quart],
body[data-sai-easing=ease-out-quart] [data-sai] {
  transition-timing-function: cubic-bezier(0.25, 0.46, 0.45, 0.94);
}

[data-sai][data-sai][data-sai-easing=ease-in-out-quart],
body[data-sai-easing=ease-in-out-quart] [data-sai] {
  transition-timing-function: cubic-bezier(0.455, 0.03, 0.515, 0.955);
}

[data-sai^=fade][data-sai^=fade] {
  opacity: 0;
  transition-property: opacity, transform;
}

[data-sai^=fade][data-sai^=fade].sai-animate {
  opacity: 1;
  transform: translateZ(0);
}

[data-sai=fade-up] {
  transform: translate3d(0, 4rem, 0);
}

[data-sai=fade-down] {
  transform: translate3d(0, -10rem, 0);
}

[data-sai=fade-right] {
  transform: translate3d(-10rem, 0, 0);
}

[data-sai=fade-left] {
  transform: translate3d(10rem, 0, 0);
}

[data-sai=fade-up-right] {
  transform: translate3d(-10rem, 10rem, 0);
}

[data-sai=fade-up-left] {
  transform: translate3d(10rem, 10rem, 0);
}

[data-sai=fade-down-right] {
  transform: translate3d(-10rem, -10rem, 0);
}

[data-sai=fade-down-left] {
  transform: translate3d(10rem, -10rem, 0);
}

[data-sai=fade-blur] {
  filter: blur(1.5rem);
  opacity: 0;
  transition-property: opacity, filter;
}

[data-sai=fade-blur].sai-animate {
  filter: blur(0);
  opacity: 1;
}

[data-sai^=zoom][data-sai^=zoom] {
  opacity: 0;
  transition-property: opacity, transform;
}

[data-sai^=zoom][data-sai^=zoom].sai-animate {
  opacity: 1;
  transform: translateZ(0) scale(1);
}

[data-sai=zoom-in] {
  transform: scale(0.6);
}

[data-sai=zoom-in-up] {
  transform: translate3d(0, 10rem, 0) scale(0.6);
}

[data-sai=zoom-in-down] {
  transform: translate3d(0, -10rem, 0) scale(0.6);
}

[data-sai=zoom-in-right] {
  transform: translate3d(-10rem, 0, 0) scale(0.6);
}

[data-sai=zoom-in-left] {
  transform: translate3d(10rem, 0, 0) scale(0.6);
}

[data-sai=zoom-out] {
  transform: scale(1.2);
}

[data-sai=zoom-out-up] {
  transform: translate3d(0, 10rem, 0) scale(1.2);
}

[data-sai=zoom-out-down] {
  transform: translate3d(0, -10rem, 0) scale(1.2);
}

[data-sai=zoom-out-right] {
  transform: translate3d(-10rem, 0, 0) scale(1.2);
}

[data-sai=zoom-out-left] {
  transform: translate3d(10rem, 0, 0) scale(1.2);
}

[data-sai^=slide][data-sai^=slide] {
  transition-property: transform;
}

[data-sai^=slide][data-sai^=slide].sai-animate {
  transform: translateZ(0);
}

[data-sai=slide-up] {
  transform: translate3d(0, 100%, 0);
}

[data-sai=slide-down] {
  transform: translate3d(0, -100%, 0);
}

[data-sai=slide-right] {
  transform: translate3d(-100%, 0, 0);
}

[data-sai=slide-left] {
  transform: translate3d(100%, 0, 0);
}

[data-sai^=flip][data-sai^=flip] {
  backface-visibility: hidden;
  transition-property: transform;
}

[data-sai=flip-left] {
  transform: perspective(250rem) rotateY(-100deg);
}

[data-sai=flip-left].sai-animate {
  transform: perspective(250rem) rotateY(0);
}

[data-sai=flip-right] {
  transform: perspective(250rem) rotateY(100deg);
}

[data-sai=flip-right].sai-animate {
  transform: perspective(250rem) rotateY(0);
}

[data-sai=flip-up] {
  transform: perspective(250rem) rotateX(-100deg);
}

[data-sai=flip-up].sai-animate {
  transform: perspective(250rem) rotateX(0);
}

[data-sai=flip-down] {
  transform: perspective(250rem) rotateX(100deg);
}

[data-sai=flip-down].sai-animate {
  transform: perspective(250rem) rotateX(0);
}

[data-sai^=target][data-sai^=target] {
  opacity: 1;
}

.header {
  background-color: #fff;
  left: 0;
  position: fixed;
  top: 0;
  width: 100vw;
  z-index: 999;
}

@media screen and (max-width: 768px) {
  .header {
    display: none;
  }
}

@media print, screen and (min-width: 768px) {
  .header-topNav {
    align-items: center;
    display: flex;
    justify-content: space-between;
    margin: 0 auto;
    padding: 1.2rem 2.4rem;
    width: 100%;
  }
}

.header-topNav__title {
  align-items: center;
  display: inline-flex;
  gap: 1.6rem;
}

@media print, screen and (min-width: 768px) {
  .header-topNav__title .header-title {
    width: 14.5rem;
  }
}

.header-topNav__title .header-title img {
  height: auto;
  width: 100%;
}

.header-topNav__name {
  color: #000;
  font-family: "Noto Serif JP", serif;
  font-size: 1.5rem;
  font-weight: 400;
  letter-spacing: 0.1em;
  line-height: 1.4;
  white-space: nowrap;
}

@media print, screen and (min-width: 768px) {
  .header-topNav__guide {
    align-items: center;
    display: flex;
    margin-left: 2rem;
  }
}

@media screen and (max-width: 768px) {
  .header-topNav__guide {
    display: none;
  }
}

.header-subNav {
  align-items: center;
  display: flex;
  gap: 2.4rem;
}

.header-subNav__link {
  align-items: center;
  color: #000;
  display: flex;
  font-family: "Noto Serif JP", serif;
  font-size: 1.2rem;
  font-weight: 400;
  gap: 1rem;
  letter-spacing: 0.08em;
  line-height: 2;
  white-space: nowrap;
}

.header-subNav__link .mapSVG {
  height: auto;
  width: 1rem;
}

.header-subNav__link .mapSVG path {
  fill: #000;
}

.header-subNav__link .outlineSVG {
  height: auto;
  overflow: visible;
  width: 1rem;
}

.header-subNav__link .outlineSVG__path {
  fill: #000;
}

@media print, screen and (min-width: 768px) {
  .header-cvArea {
    align-items: center;
    display: flex;
    gap: 1.6rem;
    margin-left: 3.2rem;
  }
}

.header-cvArea__btn {
  align-items: center;
  color: #fff;
  display: flex;
  font-family: "Noto Serif JP", serif;
  font-size: 1.2rem;
  font-weight: 400;
  height: 3.2rem;
  justify-content: center;
  letter-spacing: 0.4em;
  line-height: 1.2;
  transition: opacity 0.3s;
  white-space: nowrap;
  width: 10rem;
}

@media print, screen and (min-width: 768px) {
  .header-cvArea__btn:hover {
    opacity: 0.7;
  }
}

@media (hover: hover) and (pointer: fine) {
  .header-cvArea__btn:hover {
    opacity: 0.7;
  }
}

.header-cvArea__btn--request {
  background: linear-gradient(40.7deg, #830000 1.86%, #a71717 98.14%);
}

.header-cvArea__btn--reserve {
  background: linear-gradient(47.9deg, #003e94 7.79%, #356fbf 92.21%);
}

.spHeader {
  background: #fff;
  display: block;
  left: 0;
  position: fixed;
  top: 0;
  width: 100vw;
  z-index: 999;
}

@media print, screen and (min-width: 768px) {
  .spHeader {
    display: none;
  }
}

.spHeader__inner {
  align-items: center;
  display: flex;
  height: 6rem;
  justify-content: space-between;
  padding: 0 0.5128205128vw 0 3.0769230769vw;
}

.spHeader__logo {
  align-items: center;
  display: flex;
  gap: 1rem;
}

.spHeader__logoImg {
  width: 10.5rem;
}

.spHeader__logoImg img {
  height: auto;
  width: 100%;
}

.spHeader__name {
  color: #000;
  font-family: "Noto Serif JP", serif;
  font-size: 1.2rem;
  font-weight: 400;
  letter-spacing: 0.12em;
  line-height: 1.5;
  white-space: nowrap;
}

.spHeader__menuBtn {
  align-items: center;
  -webkit-appearance: none;
     -moz-appearance: none;
          appearance: none;
  background: none;
  border: 0;
  color: #000;
  cursor: pointer;
  display: inline-flex;
  flex-direction: column;
  margin-right: 2.0512820513vw;
  margin-top: -2.5641025641vw;
  padding: 0;
  position: relative;
  text-align: center;
  width: 10.2564102564vw;
}

.spHeader__menuBtn::before {
  bottom: -4.1025641026vw;
  content: "MENU";
  font-family: "Lato", sans-serif;
  font-size: 1rem;
  left: 50%;
  letter-spacing: 0.05em;
  line-height: 1;
  position: absolute;
  transform: translateX(-50%);
  width: 100%;
}

.spHeader__menuBtn .line {
  background-color: #000;
  display: block;
  height: 1px;
  margin: 0 auto;
  transform-origin: center;
  transition: transform 0.6s ease;
  width: 2.4rem;
}

.spHeader__menuBtn .line + .line {
  margin-top: 6px;
}

.spHeader__menuBtn.is-active::before {
  content: "CLOSE";
}

.spHeader__menuBtn.is-active .line:nth-child(1) {
  transform: rotate(33.5deg) translate(4px, 5px) scaleX(1.14);
}

.spHeader__menuBtn.is-active .line:nth-child(2) {
  transform: scaleX(0);
}

.spHeader__menuBtn.is-active .line:nth-child(3) {
  transform: rotate(-33.5deg) translate(5px, -6px) scaleX(1.14);
}

.header-simple {
  background: #fff;
  position: relative;
}

.header-simple__inner {
  align-items: center;
  display: flex;
  justify-content: space-between;
}

@media print, screen and (min-width: 768px) {
  .header-simple__inner {
    padding: 2.25rem 2.4rem;
  }
}

@media screen and (max-width: 768px) {
  .header-simple__inner {
    height: 6rem;
    padding: 0 1.2rem;
  }
}

.header-simple__logoWrap {
  align-items: center;
  display: flex;
}

@media print, screen and (min-width: 768px) {
  .header-simple__logoWrap {
    gap: 1.6rem;
  }
}

@media screen and (max-width: 768px) {
  .header-simple__logoWrap {
    gap: 1rem;
  }
}

.header-simple__logo {
  display: block;
  flex-shrink: 0;
}

@media print, screen and (min-width: 768px) {
  .header-simple__logo {
    width: 14.5rem;
  }
}

@media screen and (max-width: 768px) {
  .header-simple__logo {
    width: 10.5rem;
  }
}

.header-simple__logo img {
  display: block;
  height: auto;
  width: 100%;
}

.header-simple__name {
  color: #000;
  font-family: "Noto Serif JP", serif;
  font-weight: 400;
  white-space: nowrap;
}

@media print, screen and (min-width: 768px) {
  .header-simple__name {
    font-size: 1.5rem;
    letter-spacing: 0.1em;
    line-height: 1.4;
  }
}

@media screen and (max-width: 768px) {
  .header-simple__name {
    font-size: 1.2rem;
    letter-spacing: 0.12em;
    line-height: 1.5;
  }
}

.header-simple__menuBtn {
  align-items: center;
  -webkit-appearance: none;
     -moz-appearance: none;
          appearance: none;
  background: none;
  border: 0;
  color: #000;
  cursor: pointer;
  display: flex;
  flex-direction: column;
  gap: 0.8rem;
  padding: 0;
  width: 3.6rem;
}

@media print, screen and (min-width: 768px) {
  .header-simple__menuBtn {
    display: none;
  }
}

.header-simple__menuIcon {
  display: flex;
  flex-direction: column;
  height: 1.5rem;
  justify-content: space-between;
  width: 2.4rem;
}

.header-simple__menuIcon span {
  background: #000;
  display: block;
  height: 1px;
  width: 100%;
}

.header-simple__menuLabel {
  color: #000;
  font-family: "Lato", sans-serif;
  font-size: 1rem;
  font-weight: 400;
  letter-spacing: 0.12em;
  line-height: 1.6;
}

.spFixedNav {
  bottom: 0;
  display: block;
  left: 0;
  position: fixed;
  width: 100vw;
  z-index: 999;
}

@media print, screen and (min-width: 768px) {
  .spFixedNav {
    display: none;
  }
}

.spFixedNav__list {
  align-items: center;
  display: flex;
  flex-wrap: nowrap;
  justify-content: center;
}

.spFixedNav__item {
  align-items: center;
  display: flex;
  height: 64px;
  justify-content: center;
  padding: 0 8px;
  text-align: center;
  width: 33.3%;
}

.spFixedNav__item img {
  width: 8.4615384615vw;
}

.spFixedNav__item--tel {
  background-color: #1d1b15;
}

.spFixedNav__item--tel img {
  width: 17.4358974359vw;
}

.spFixedNav__item--tel + .spFixedNav__item--map {
  position: relative;
}

.spFixedNav__item--tel + .spFixedNav__item--map::before {
  background-color: #fff;
  content: "";
  height: 100%;
  left: 0;
  position: absolute;
  top: 50%;
  transform: translateY(-50%);
  width: 1px;
}

.spFixedNav__item--map {
  background-color: #1d1b15;
}

.spFixedNav__item--map img {
  width: 14.358974359vw;
}

.spFixedNav__item--request {
  background: linear-gradient(40.7deg, #830000 1.86%, #a71717 98.14%);
}

.spFixedNav__item--request img {
  width: 11.5384615385vw;
}

.spFixedNav__item--reserve {
  background: linear-gradient(47.9deg, #003e94 7.79%, #356fbf 92.21%);
}

.spFixedNav__item--reserve img {
  width: 11.5384615385vw;
}

.footer {
  position: relative;
  z-index: 1;
}

.footer-information {
  background: #fff;
}

@media print, screen and (min-width: 768px) {
  .footer-information {
    padding: 8rem 0;
  }
}

@media screen and (max-width: 768px) {
  .footer-information {
    padding: 0;
  }
}

.footer-bnr {
  background: #fff;
}

@media print, screen and (min-width: 768px) {
  .footer-bnr {
    padding: 4rem 0;
  }
}

@media screen and (max-width: 768px) {
  .footer-bnr {
    padding: 4rem 0 12rem;
  }
}

.footer-notes {
  background: #fff;
}

@media print, screen and (min-width: 768px) {
  .footer-notes {
    padding: 4rem 0 8rem;
  }
}

@media screen and (max-width: 768px) {
  .footer-notes {
    padding: 4rem 0 6rem;
  }
}

.contentMenu {
  position: relative;
  z-index: 1;
}

@media screen and (max-width: 768px) {
  .contentMenu__inner {
    max-height: 0;
    overflow: hidden;
    pointer-events: auto;
    position: relative;
    transition: max-height 1s ease;
    transition-delay: 0s;
    z-index: 1;
  }
}

@media screen and (max-width: 768px) {
  .contentMenu__inner {
    padding: 0;
  }
}

@media print, screen and (min-width: 768px) {
  .contentMenu__list {
    align-items: flex-end;
    display: flex;
    justify-content: center;
  }
}

@media screen and (max-width: 768px) {
  .contentMenu__list {
    height: calc(100dvh - 6rem);
    opacity: 0;
    overflow-y: auto;
    padding: 10.7692307692vw 19.2307692308vw;
    transition: opacity 0.4s ease;
  }
}

@media print, screen and (min-width: 768px) {
  .contentMenu__item {
    height: 5rem;
    width: 16rem;
  }
}

@media screen and (max-width: 768px) {
  .contentMenu__item:not(:last-child) {
    position: relative;
  }
  .contentMenu__item:not(:last-child)::after {
    background-color: rgba(0, 0, 0, 0.1);
    bottom: 0;
    content: "";
    height: 1px;
    left: 0;
    position: absolute;
    width: 100%;
  }
}

.contentMenu__link {
  color: #333;
  display: block;
  height: 100%;
  overflow: hidden;
  position: relative;
  width: 100%;
}

@media screen and (max-width: 768px) {
  .contentMenu__link {
    transition: color 0.6s ease;
  }
}

@media print, screen and (min-width: 768px) {
  .contentMenu__link::after {
    background-color: #7d7b62;
    bottom: 0;
    content: "";
    height: 0.3rem;
    left: 0;
    position: absolute;
    transform: scale(0, 1);
    transform-origin: center;
    transition: transform 0.6s ease;
    width: 100%;
  }
}

.contentMenu__link .en {
  align-items: center;
  display: flex;
  font-family: "EB Garamond", serif;
  height: 100%;
  justify-content: center;
  letter-spacing: 0.08em;
  line-height: 1;
  white-space: nowrap;
  width: 100%;
}

@media print, screen and (min-width: 768px) {
  .contentMenu__link .en {
    font-size: 1.6rem;
    left: 0;
    line-height: 1.8;
    opacity: 1;
    position: absolute;
    top: 0;
    transition: opacity 0.6s ease;
  }
}

@media screen and (max-width: 768px) {
  .contentMenu__link .en {
    font-size: 4.1025641026vw;
    padding: 2rem 0;
  }
}

.contentMenu__link .ja {
  align-items: center;
  color: #7d7b62;
  display: flex;
  font-family: "Noto Serif JP", serif;
  font-size: 1.6rem;
  height: 100%;
  justify-content: center;
  left: 0;
  letter-spacing: 0.16em;
  line-height: 1;
  opacity: 0;
  position: absolute;
  top: 0;
  transition: opacity 0.6s ease;
  width: 100%;
}

@media screen and (max-width: 768px) {
  .contentMenu__link .ja {
    display: none;
  }
}

@media print, screen and (min-width: 768px) {
  .contentMenu__link:hover .en {
    opacity: 0;
  }
  .contentMenu__link:hover .ja {
    opacity: 1;
  }
  .contentMenu__link:hover::after {
    transform: scale(1, 1);
  }
}

@media (hover: hover) and (pointer: fine) {
  .contentMenu__link:hover .en {
    opacity: 0;
  }
  .contentMenu__link:hover .ja {
    opacity: 1;
  }
  .contentMenu__link:hover::after {
    transform: scale(1, 1);
  }
}

.contentMenu__link.is-active {
  pointer-events: none;
}

.contentMenu__link.is-active::after {
  transform: scale(1, 1);
}

.contentMenu__link.is-off {
  pointer-events: none;
}

.contentMenu.is-visible {
  transform: scale(1, 1);
  transition-delay: 0s;
}

.contentMenu.is-visible .contentMenu__list,
.contentMenu.is-visible .contentCV {
  opacity: 1;
  transition-delay: 0.6s;
}

.contentMenu.is-visible .contentMenu__inner {
  max-height: calc(100dvh - 6rem);
  transition-delay: 0.2s;
}

.bgLayer {
  position: relative;
  z-index: 1;
}

.bgLayer:after {
  content: "";
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;
  position: absolute;
  z-index: -1;
}

@media print, screen and (min-width: 768px) {
  .bgLayer--texture01:after {
    background: #eae5eb url("../imgs/pc/bg-texture-01@1.5x.jpg") top center repeat-y;
    background-size: cover;
  }
}

@media screen and (max-width: 768px) {
  .bgLayer--texture01:after {
    background: #eae5eb url("../imgs/sp/bg-texture-01.jpg") top center repeat-y;
    background-size: cover;
  }
}

.bgLayer--texture01 .caption {
  color: #666;
}

.bgLayer--gradient01:after {
  background: linear-gradient(to right, #5b505c, #3f3640);
}

.bgLayer--gradient01 .heading {
  color: #fff;
}

.bgLayer--gradient01 .txt {
  color: #ccc;
}

.descriptionCard__head .photo__image {
  width: 100%;
}

@media print, screen and (min-width: 768px) {
  .descriptionCard__cont .txt {
    font-size: 1.2rem;
  }
}

@media screen and (max-width: 768px) {
  .descriptionCard__cont .txt {
    font-size: 1.1rem;
  }
}

.enTtl {
  color: #efedd7;
  font-family: "EB Garamond", serif;
  letter-spacing: 0.12em;
  position: relative;
  text-align: center;
  z-index: 1;
  line-height: 1.8;
}

.enTtl:before {
  content: "";
  margin-top: calc((1 - 1.8) * 0.5em);
}

.enTtl:after {
  margin-bottom: calc((1 - 1.8) * 0.5em);
}

.enTtl:before, .enTtl:after {
  content: "";
  display: block;
  height: 0;
  width: 0;
}

@media print, screen and (min-width: 768px) {
  .enTtl {
    font-size: 2.8rem;
  }
}

@media screen and (max-width: 768px) {
  .enTtl {
    font-size: 2rem;
  }
}

@media print, screen and (min-width: 768px) {
  .enTtl--small {
    font-size: 2rem;
  }
}

@media screen and (max-width: 768px) {
  .enTtl--small {
    font-size: 1.2rem;
  }
}

.enTtl--gold {
  color: #7d7b62;
}

.enTtl + .heading {
  text-align: center;
}

@media print, screen and (min-width: 768px) {
  .enTtl + .heading {
    margin-top: 2rem;
  }
}

@media screen and (max-width: 768px) {
  .enTtl + .heading {
    margin-top: 1.2rem;
  }
}

.fadeSlider {
  position: relative;
}

.fadeSlider__controller {
  left: 100%;
  position: absolute;
  top: 50%;
  transform: translate(0, -50%);
}

@media print, screen and (min-width: 768px) {
  .fadeSlider__controller {
    padding-left: 2rem;
  }
}

@media screen and (max-width: 768px) {
  .fadeSlider__controller {
    padding-left: 1rem;
  }
}

.fadeSlider__controller .swiper-pagination {
  align-items: flex-start;
  display: flex;
  flex-direction: column;
  justify-content: flex-start;
  padding: 0;
  position: static;
}

.fadeSlider__controller .swiper-pagination .swiper-pagination-bullet {
  aspect-ratio: 1/1;
  background-color: #cccac4;
  border-radius: 0;
  height: auto;
  opacity: 1;
}

@media print, screen and (min-width: 768px) {
  .fadeSlider__controller .swiper-pagination .swiper-pagination-bullet {
    width: 0.6rem;
  }
}

@media screen and (max-width: 768px) {
  .fadeSlider__controller .swiper-pagination .swiper-pagination-bullet {
    width: 0.4rem;
  }
}

.fadeSlider__controller .swiper-pagination .swiper-pagination-bullet.swiper-pagination-bullet-active {
  background-color: #6b6a67;
}

@media print, screen and (min-width: 768px) {
  .fadeSlider__controller .swiper-pagination .swiper-pagination-bullet + .swiper-pagination-bullet {
    margin-top: 1rem;
  }
}

@media screen and (max-width: 768px) {
  .fadeSlider__controller .swiper-pagination .swiper-pagination-bullet + .swiper-pagination-bullet {
    margin-top: 0.8rem;
  }
}

@media print, screen and (min-width: 768px) {
  .fadeSlider--disableMode .swiper-wrapper {
    justify-content: space-between;
  }
}

.fadeSlider--disableMode .fadeSlider__controller {
  display: none;
}

.figurePlot {
  align-items: center;
  aspect-ratio: 1/1;
  background-color: rgba(0, 0, 0, 0.4);
  display: flex;
  justify-content: center;
  position: absolute;
  z-index: 3;
}

@media screen and (max-width: 768px) {
  .figurePlot {
    left: 1rem;
    top: 1rem;
    width: 5rem;
  }
}

.figurePlot .svgIcon path {
  fill: #fff;
}

.figurePlot .svgIcon rect,
.figurePlot .svgIcon polygon {
  fill: #fff;
}

.generalArrow {
  aspect-ratio: 7/8;
  display: block;
}

@media print, screen and (min-width: 768px) {
  .generalArrow {
    width: 0.7rem;
  }
}

@media screen and (max-width: 768px) {
  .generalArrow {
    width: 0.8rem;
  }
}

.generalArrow .svgIcon {
  transition: fill 0.4s ease, stroke 0.4s ease;
}

.generalBnr {
  box-shadow: 0 1rem 1rem rgba(18, 15, 4, 0.1);
}

@media print, screen and (min-width: 768px) {
  .generalBnr {
    margin: 0 auto;
    max-width: 60rem;
  }
}

.generalBnr__link {
  color: #fff;
  display: block;
  position: relative;
}

@media print, screen and (min-width: 768px) {
  .generalBnr__link:hover .generalBnr__bg .photo__image {
    opacity: 0.8;
    transform: scale(1.05);
  }
}

@media (hover: hover) and (pointer: fine) {
  .generalBnr__link:hover .generalBnr__bg .photo__image {
    opacity: 0.8;
    transform: scale(1.05);
  }
}

.generalBnr__inner {
  align-items: flex-start;
  display: flex;
  flex-direction: column;
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;
  justify-content: center;
  position: absolute;
}

@media print, screen and (min-width: 768px) {
  .generalBnr__inner {
    padding-left: 4rem;
  }
}

@media screen and (max-width: 768px) {
  .generalBnr__inner {
    padding-left: 2rem;
  }
}

.generalBnr__subTtl {
  font-family: "EB Garamond", serif;
  letter-spacing: 0.1em;
  line-height: 0.8;
}

@media print, screen and (min-width: 768px) {
  .generalBnr__subTtl {
    font-size: 1.2rem;
  }
}

@media screen and (max-width: 768px) {
  .generalBnr__subTtl {
    font-size: 1rem;
  }
}

.generalBnr__ttl {
  letter-spacing: 0.3em;
}

@media print, screen and (min-width: 768px) {
  .generalBnr__ttl {
    font-size: 1.6rem;
    margin-top: 1.6rem;
  }
}

@media screen and (max-width: 768px) {
  .generalBnr__ttl {
    font-size: 1.3rem;
    margin-top: 1rem;
  }
}

.generalBnr__more {
  font-family: "EB Garamond", serif;
  letter-spacing: 0.1em;
  line-height: 0.8;
}

@media print, screen and (min-width: 768px) {
  .generalBnr__more {
    font-size: 1.2rem;
    margin-top: 2.4rem;
  }
}

@media screen and (max-width: 768px) {
  .generalBnr__more {
    font-size: 1rem;
    margin-top: 1.4rem;
  }
}

.generalBnr__more .generalArrow {
  display: inline-block;
}

@media print, screen and (min-width: 768px) {
  .generalBnr__more .generalArrow {
    margin-left: 1.2rem;
  }
}

@media screen and (max-width: 768px) {
  .generalBnr__more .generalArrow {
    margin-left: 0.8rem;
  }
}

.generalBnr__bg {
  overflow: hidden;
}

.generalBnr__bg .photo__image {
  transition: transform 0.4s ease, opacity 0.4s ease;
}

.generalBtn {
  align-items: center;
  background: #23365b;
  color: #fff;
  display: flex;
  flex-flow: column wrap;
  justify-content: center;
  letter-spacing: 0.08em;
  line-height: 1;
  overflow: hidden;
  position: relative;
  z-index: 1;
}

@media print, screen and (min-width: 768px) {
  .generalBtn {
    font-size: 1.4rem;
    height: 7.5rem;
    width: 23.5rem;
  }
}

@media screen and (max-width: 768px) {
  .generalBtn {
    font-size: 1.2rem;
    height: 5rem;
    width: 18.6rem;
  }
}

.generalBtn:before {
  background: linear-gradient(to left, transparent 0%, rgba(255, 255, 255, 0.2) 50%, transparent 100%);
  content: "";
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;
  position: absolute;
  z-index: -1;
}

.generalBtn:after {
  background: linear-gradient(to left, transparent 0%, rgba(255, 255, 255, 0.2) 50%, transparent 100%);
  content: "";
  display: block;
  height: 100%;
  left: -36%;
  position: absolute;
  top: 0;
  transform: skew(-20deg);
  width: 30%;
}

.generalBtn .en {
  display: block;
  font-family: "EB Garamond", serif;
  letter-spacing: 0.03em;
}

@media print, screen and (min-width: 768px) {
  .generalBtn .en {
    font-size: 2.4rem;
    margin-bottom: 0.8rem;
  }
}

@media screen and (max-width: 768px) {
  .generalBtn .en {
    font-size: 1.8rem;
    margin-bottom: 0.5rem;
  }
}

@media print, screen and (min-width: 768px) {
  .generalBtn:hover:after {
    animation: brightness 0.5s both linear;
  }
}

@media (hover: hover) and (pointer: fine) {
  .generalBtn:hover:after {
    animation: brightness 0.5s both linear;
  }
}

.generalBtn--request {
  background: linear-gradient(26deg, #830000 2%, #a71717 98%);
  font-weight: 700;
  letter-spacing: 0.4em;
}

@media print, screen and (min-width: 768px) {
  .generalBtn--request {
    font-size: 2.4rem;
    gap: 2rem;
    height: auto;
    padding: 2rem;
    width: 100%;
  }
}

@media screen and (max-width: 768px) {
  .generalBtn--request {
    font-size: 2.4rem;
    gap: 1.5rem;
    height: auto;
    padding: 2rem 0;
    width: 100%;
  }
}

.generalBtn--request .en {
  letter-spacing: 0.2em;
  opacity: 0.8;
}

@media print, screen and (min-width: 768px) {
  .generalBtn--request .en {
    font-size: 1.6rem;
    margin-bottom: 0;
  }
}

@media screen and (max-width: 768px) {
  .generalBtn--request .en {
    font-size: 1.4rem;
    margin-bottom: 0;
  }
}

.generalBtn--reserve {
  background: linear-gradient(32deg, #003e94 8%, #356fbf 92%);
  font-weight: 700;
  letter-spacing: 0.4em;
}

@media print, screen and (min-width: 768px) {
  .generalBtn--reserve {
    font-size: 2.4rem;
    gap: 2rem;
    height: auto;
    padding: 2rem;
    width: 100%;
  }
}

@media screen and (max-width: 768px) {
  .generalBtn--reserve {
    font-size: 2.4rem;
    gap: 1.5rem;
    height: auto;
    padding: 2rem 0;
    width: 100%;
  }
}

.generalBtn--reserve .en {
  letter-spacing: 0.2em;
  opacity: 0.8;
}

@media print, screen and (min-width: 768px) {
  .generalBtn--reserve .en {
    font-size: 1.6rem;
    margin-bottom: 0;
  }
}

@media screen and (max-width: 768px) {
  .generalBtn--reserve .en {
    font-size: 1.4rem;
    margin-bottom: 0;
  }
}

.generalBtn.is-off {
  opacity: 0.7;
  pointer-events: none;
}

.generalBtn.is-off:before, .generalBtn.is-off:after {
  content: normal;
  content: initial;
}

@keyframes brightness {
  0% {
    left: -36%;
  }
  100% {
    left: 136%;
  }
}

.generalModal {
  align-items: center;
  color: #333;
  display: flex;
  font-family: "Noto Serif JP", serif;
  font-feature-settings: "palt";
  font-size: 1.4rem;
  height: 100vh;
  height: 100dvh;
  justify-content: center;
  letter-spacing: 0.1em;
  line-height: 1;
  opacity: 0;
  pointer-events: none;
  position: fixed;
  right: 0;
  text-align: left;
  top: 0;
  transition: opacity 0.9s;
  width: 100vw;
  z-index: 99999;
}

@media screen and (max-width: 768px) {
  .generalModal {
    padding-bottom: 6rem;
    -webkit-text-size-adjust: 100%;
       -moz-text-size-adjust: 100%;
            text-size-adjust: 100%;
  }
}

@media screen and (max-width: 768px) and (orientation: landscape) {
  .generalModal {
    padding-bottom: 0;
  }
}

.generalModal__bg {
  background: rgba(0, 0, 0, 0.8);
  height: 100%;
  left: 0;
  position: absolute;
  top: 0;
  width: 100%;
}

.generalModal__cont {
  margin: auto;
  position: relative;
  z-index: 1;
}

@media print, screen and (min-width: 768px) {
  .generalModal__cont {
    width: 96rem;
  }
}

@media screen and (max-width: 768px) {
  .generalModal__cont {
    width: 36.5rem;
  }
}

@media screen and (max-width: 768px) and (orientation: landscape) {
  .generalModal__cont {
    width: 30rem;
  }
}

.generalModal__inner {
  background-color: #fff;
  overflow-y: auto;
  position: relative;
  z-index: 9;
}

@media screen and (max-width: 768px) {
  .generalModal__inner {
    max-height: calc(100vh - 16rem);
    max-height: calc(100dvh - 16rem);
  }
}

@media screen and (max-width: 768px) and (orientation: landscape) {
  .generalModal__inner {
    max-height: -moz-fit-content;
    max-height: fit-content;
  }
}

@media screen and (max-width: 768px) {
  .generalModal__inner {
    width: 100%;
  }
}

.generalModal__inner::-webkit-scrollbar {
  display: none;
}

.generalModal__close {
  cursor: pointer;
  position: absolute;
  z-index: 1;
}

@media print, screen and (min-width: 768px) {
  .generalModal__close {
    bottom: calc(100% + 2rem);
    height: 3rem;
    right: 0;
    width: 3rem;
  }
}

@media screen and (max-width: 768px) {
  .generalModal__close {
    bottom: calc(100% + 1rem);
    height: 1.6rem;
    right: 0;
    width: 1.6rem;
  }
}

@media screen and (max-width: 768px) and (orientation: landscape) {
  .generalModal__close {
    bottom: 100%;
  }
}

.generalModal__close:before, .generalModal__close:after {
  background-color: #fff;
  content: "";
  height: 1px;
  left: 50%;
  position: absolute;
  top: 50%;
  width: 100%;
}

@media screen and (max-width: 768px) {
  .generalModal__close:before, .generalModal__close:after {
    height: 1px;
  }
}

.generalModal__close:before {
  transform: translate(-50%, -50%) rotate(45deg);
}

.generalModal__close:after {
  transform: translate(-50%, -50%) rotate(-45deg);
}

.generalModal.is-visible {
  opacity: 1;
  pointer-events: auto;
}

@media print, screen and (min-width: 768px) {
  .generalModal--long .generalModal__cont {
    height: 100%;
    max-height: calc(100% - 16rem);
  }
}

@media screen and (max-width: 768px) {
  .generalModal--long .generalModal__cont {
    height: calc(100% - 8rem);
  }
}

.generalModal--long .generalModal__inner {
  height: 100%;
}

.generalModal.is-active .generalModal__cont {
  width: 120rem;
}

@media only screen and (max-width: 1200px) {
  .generalModal .movieFrame {
    height: 59.0625vw;
    width: 100vw;
  }
}

@media screen and (max-width: 768px) {
  .generalModal .movieFrame {
    height: 16.9rem;
    width: 100%;
  }
}

@media screen and (max-width: 768px) {
  .generalModal .movieFrame--pcPlayer {
    display: none;
  }
}

.generalSlider {
  position: relative;
}

@media screen and (max-width: 768px) {
  .generalSlider {
    margin: 0 -4rem;
  }
}

.generalSlider__controller {
  align-items: center;
  display: flex;
  justify-content: flex-end;
}

@media print, screen and (min-width: 768px) {
  .generalSlider__controller {
    margin-top: 3.2rem;
  }
}

@media screen and (max-width: 768px) {
  .generalSlider__controller {
    margin-top: 1.2rem;
    padding-right: 4rem;
  }
}

.generalSlider__dir {
  align-items: center;
  aspect-ratio: 1/1;
  border: 1px solid #9e9d98;
  cursor: pointer;
  display: flex;
  justify-content: center;
  transition: background-color 0.4s ease;
}

@media print, screen and (min-width: 768px) {
  .generalSlider__dir {
    margin-left: 3.2rem;
    width: 4rem;
  }
}

@media screen and (max-width: 768px) {
  .generalSlider__dir {
    margin-left: 2rem;
    width: 4rem;
  }
}

@media print, screen and (min-width: 768px) {
  .generalSlider__dir:hover {
    background-color: #9e9d98;
  }
  .generalSlider__dir:hover .svgIcon {
    fill: #fff;
  }
}

@media (hover: hover) and (pointer: fine) {
  .generalSlider__dir:hover {
    background-color: #9e9d98;
  }
  .generalSlider__dir:hover .svgIcon {
    fill: #fff;
  }
}

@media print, screen and (min-width: 768px) {
  .generalSlider__dir + .generalSlider__dir {
    margin-left: 1rem;
  }
}

@media screen and (max-width: 768px) {
  .generalSlider__dir + .generalSlider__dir {
    margin-left: 0.5rem;
  }
}

.generalSlider__dir--prev .generalArrow {
  transform: rotate(180deg);
}

@media print, screen and (min-width: 768px) {
  .generalSlider .swiper-slide {
    width: 36.2rem;
  }
}

.generalSlider .swiper-pagination {
  align-items: flex-start;
  display: flex;
  justify-content: flex-start;
  padding: 0;
  position: static;
  top: 100%;
}

.generalSlider .swiper-pagination .swiper-pagination-bullet {
  aspect-ratio: 1/1;
  background-color: #cccac4;
  border-radius: 0;
  height: auto;
  opacity: 1;
}

@media print, screen and (min-width: 768px) {
  .generalSlider .swiper-pagination .swiper-pagination-bullet {
    width: 0.6rem;
  }
}

@media screen and (max-width: 768px) {
  .generalSlider .swiper-pagination .swiper-pagination-bullet {
    width: 0.4rem;
  }
}

@media print, screen and (min-width: 768px) {
  .generalSlider .swiper-pagination .swiper-pagination-bullet:not(:last-of-type) {
    margin-right: 1.2rem;
  }
}

@media screen and (max-width: 768px) {
  .generalSlider .swiper-pagination .swiper-pagination-bullet:not(:last-of-type) {
    margin-right: 0.7rem;
  }
}

.generalSlider .swiper-pagination .swiper-pagination-bullet.swiper-pagination-bullet-active {
  background-color: #6b6a67;
}

@media print, screen and (min-width: 768px) {
  .generalSlider--disableMode .swiper-wrapper {
    justify-content: space-between;
  }
}

.generalSlider--disableMode .generalSlider__controller {
  display: none;
}

.heading {
  letter-spacing: 0.01em;
  position: relative;
}

.heading sup {
  font-size: 1rem;
  vertical-align: text-top;
}

.heading .caption {
  display: inline-block;
  letter-spacing: 0.1em;
}

@media print, screen and (min-width: 768px) {
  .heading + .txt {
    margin-top: 2.4rem;
  }
}

@media screen and (max-width: 768px) {
  .heading + .txt {
    margin-top: 1.2rem;
  }
}

.heading + .caption {
  padding-top: 1rem;
}

@media print, screen and (min-width: 768px) {
  .heading + .photo {
    margin-top: 5.6rem;
  }
}

@media screen and (max-width: 768px) {
  .heading + .photo {
    margin-top: 3.2rem;
  }
}

.heading--large {
  line-height: 1.6;
}

.heading--large:before {
  content: "";
  margin-top: calc((1 - 1.6) * 0.5em);
}

.heading--large:after {
  margin-bottom: calc((1 - 1.6) * 0.5em);
}

.heading--large:before, .heading--large:after {
  content: "";
  display: block;
  height: 0;
  width: 0;
}

.heading--large {
  letter-spacing: 0.1em;
}

@media print, screen and (min-width: 768px) {
  .heading--large {
    font-size: 2.6rem;
  }
}

@media screen and (max-width: 768px) {
  .heading--large {
    font-size: 1.8rem;
  }
}

.heading--default {
  line-height: 1.6;
}

.heading--default:before {
  content: "";
  margin-top: calc((1 - 1.6) * 0.5em);
}

.heading--default:after {
  margin-bottom: calc((1 - 1.6) * 0.5em);
}

.heading--default:before, .heading--default:after {
  content: "";
  display: block;
  height: 0;
  width: 0;
}

@media print, screen and (min-width: 768px) {
  .heading--default {
    font-size: 2.2rem;
  }
}

@media screen and (max-width: 768px) {
  .heading--default {
    font-size: 1.4rem;
  }
}

@media print, screen and (min-width: 768px) {
  .heading--medium {
    font-size: 1.8rem;
    line-height: 1.5555555556;
  }
  .heading--medium:before {
    content: "";
    margin-top: calc((1 - 1.5555555556) * 0.5em);
  }
  .heading--medium:after {
    margin-bottom: calc((1 - 1.5555555556) * 0.5em);
  }
  .heading--medium:before, .heading--medium:after {
    content: "";
    display: block;
    height: 0;
    width: 0;
  }
}

@media screen and (max-width: 768px) {
  .heading--medium {
    font-size: 1.6rem;
    line-height: 1.5;
  }
  .heading--medium:before {
    content: "";
    margin-top: calc((1 - 1.5) * 0.5em);
  }
  .heading--medium:after {
    margin-bottom: calc((1 - 1.5) * 0.5em);
  }
  .heading--medium:before, .heading--medium:after {
    content: "";
    display: block;
    height: 0;
    width: 0;
  }
}

@media print, screen and (min-width: 768px) {
  .heading--medium + .txt {
    margin-top: 1.6rem;
  }
}

@media screen and (max-width: 768px) {
  .heading--medium + .txt {
    margin-top: 1.8rem;
  }
}

.heading--small {
  color: #fff;
}

@media print, screen and (min-width: 768px) {
  .heading--small {
    font-size: 1.6rem;
    padding: 1rem 0.8rem;
    line-height: 1.75;
  }
  .heading--small:before {
    content: "";
    margin-top: calc((1 - 1.75) * 0.5em);
  }
  .heading--small:after {
    margin-bottom: calc((1 - 1.75) * 0.5em);
  }
  .heading--small:before, .heading--small:after {
    content: "";
    display: block;
    height: 0;
    width: 0;
  }
}

@media screen and (max-width: 768px) {
  .heading--small {
    font-size: 1.3rem;
    padding: 0.8rem;
    line-height: 1.5;
  }
  .heading--small:before {
    content: "";
    margin-top: calc((1 - 1.5) * 0.5em);
  }
  .heading--small:after {
    margin-bottom: calc((1 - 1.5) * 0.5em);
  }
  .heading--small:before, .heading--small:after {
    content: "";
    display: block;
    height: 0;
    width: 0;
  }
}

@media print, screen and (min-width: 768px) {
  .heading--small + .txt {
    margin-top: 1.6rem;
  }
}

@media screen and (max-width: 768px) {
  .heading--small + .txt {
    margin-top: 1.6rem;
    line-height: 1.75;
  }
  .heading--small + .txt:before {
    content: "";
    margin-top: calc((1 - 1.75) * 0.5em);
  }
  .heading--small + .txt:after {
    margin-bottom: calc((1 - 1.75) * 0.5em);
  }
  .heading--small + .txt:before, .heading--small + .txt:after {
    content: "";
    display: block;
    height: 0;
    width: 0;
  }
}

.heading--center {
  text-align: center;
}

@media print, screen and (min-width: 768px) {
  .heading--center + .txt {
    text-align: center;
  }
}

.headingCombi {
  position: relative;
}

.keyVisual {
  position: relative;
}

.keyVisual__bg {
  width: 100vw;
}

@media print, screen and (min-width: 768px) {
  .keyVisual__bg {
    margin-left: calc((100vw - 120rem) / -2);
  }
}

@media only screen and (min-width: 768px) and (max-width: 120rem) {
  .keyVisual__bg {
    margin-left: -2rem;
    width: calc(100% + 4rem);
  }
}

@media screen and (max-width: 768px) {
  .keyVisual__bg {
    margin-left: -2.5rem;
  }
}

@media print, screen and (min-width: 768px) {
  .keyVisual__bg .photo__capIn {
    bottom: 11rem;
  }
}

@media screen and (max-width: 768px) {
  .keyVisual__bg .photo__capIn {
    bottom: 6.5rem;
  }
}

.keyVisual__ttl {
  bottom: 0;
  color: #fff;
  display: block;
  font-family: "EB Garamond", serif;
  left: 0;
  letter-spacing: 0.03em;
  line-height: 0.8;
  position: absolute;
  z-index: 1;
}

@media print, screen and (min-width: 768px) {
  .keyVisual__ttl {
    font-size: 7.1rem;
    padding: 2.5rem 0;
  }
}

@media screen and (max-width: 768px) {
  .keyVisual__ttl {
    font-size: 4.3rem;
    padding: 1.2rem 0;
  }
}

.keyVisual__ttl .bg {
  bottom: 0;
  height: 100%;
  left: 0;
  overflow: hidden;
  position: absolute;
  z-index: -1;
  width: 100vw;
}

@media print, screen and (min-width: 768px) {
  .keyVisual__ttl .bg {
    margin-left: calc((100vw - 120rem) / -2);
  }
}

@media only screen and (min-width: 768px) and (max-width: 120rem) {
  .keyVisual__ttl .bg {
    margin-left: -2rem;
    width: calc(100% + 4rem);
  }
}

@media screen and (max-width: 768px) {
  .keyVisual__ttl .bg {
    margin-left: -2.5rem;
  }
}

.keyVisual__ttl .bg:after {
  background: linear-gradient(90deg, rgba(26, 34, 41, 0.7) 0%, rgba(49, 95, 161, 0.7) 100%);
  content: "";
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;
  position: absolute;
}

@media screen and (max-width: 768px) {
  .keyVisual--access .keyVisual__ttl {
    font-size: 3.4rem;
    letter-spacing: -0.05em;
  }
}

.keyVisual--access .keyVisual__ttl .bg:before {
  bottom: 0;
  content: "";
  filter: blur(0.3rem);
  left: 0;
  position: absolute;
  width: 100%;
  z-index: -2;
}

@media print, screen and (min-width: 768px) {
  .keyVisual--access .keyVisual__ttl .bg:before {
    background: url("../../access/imgs/pc/img-kv_1.5x.jpg") no-repeat center bottom/cover;
    height: 28.4722222222vw;
  }
}

@media screen and (max-width: 768px) {
  .keyVisual--access .keyVisual__ttl .bg:before {
    background: url("../../access/imgs/sp/img-kv.jpg") no-repeat center bottom/cover;
    height: 37.5rem;
  }
}

.keyVisual--outline .keyVisual__ttl .bg:before {
  bottom: 0;
  content: "";
  filter: blur(0.3rem);
  left: 0;
  position: absolute;
  width: 100%;
  z-index: -2;
}

@media print, screen and (min-width: 768px) {
  .keyVisual--outline .keyVisual__ttl .bg:before {
    background: url("../../outline/imgs/pc/img-kv_1.5x.jpg") no-repeat center bottom/cover;
    height: 28.4722222222vw;
  }
}

@media screen and (max-width: 768px) {
  .keyVisual--outline .keyVisual__ttl .bg:before {
    background: url("../../outline/imgs/sp/img-kv.jpg") no-repeat center bottom/cover;
    height: 37.5rem;
  }
}

.modalFigure {
  position: relative;
}

.modalFigure .figurePlot .svgIcon {
  aspect-ratio: 44/43;
}

@media screen and (max-width: 768px) {
  .modalFigure .figurePlot .svgIcon {
    width: 2.2rem;
  }
}

@media screen and (max-width: 768px) {
  .modalFigure[data-modal-device=pc] .figurePlot {
    display: none;
  }
}

@media print, screen and (min-width: 768px) {
  .modalFigure[data-modal-device=sp] .figurePlot {
    display: none;
  }
}

.movieModal__btn {
  box-shadow: 0 2rem 2rem rgba(18, 15, 4, 0.1);
  cursor: pointer;
  position: relative;
}

@media print, screen and (min-width: 768px) {
  .movieModal__btn:hover .photo__image {
    filter: brightness(1.4);
    transform: scale(1.05);
  }
}

@media (hover: hover) and (pointer: fine) {
  .movieModal__btn:hover .photo__image {
    filter: brightness(1.4);
    transform: scale(1.05);
  }
}

.movieModal__btn .arrow {
  aspect-ratio: 1/1;
  display: block;
  left: 50%;
  position: absolute;
  top: 50%;
  transform: translate(-50%, -50%);
}

@media print, screen and (min-width: 768px) {
  .movieModal__btn .arrow {
    width: 12rem;
  }
}

@media screen and (max-width: 768px) {
  .movieModal__btn .arrow {
    width: 6.1rem;
  }
}

.movieModal__btn .photo {
  overflow: hidden;
}

.movieModal__btn .photo__image {
  transition: transform 0.6s ease, filter 0.6s ease;
}

.movieFrame {
  aspect-ratio: 960/540;
  height: auto;
  width: 100%;
}

.movieFrame {
  aspect-ratio: 960/540;
  height: auto;
  width: 100%;
}

.obiTtl {
  background: rgba(0, 0, 0, 0.4);
  color: #fff;
  letter-spacing: 0.1em;
  position: relative;
}

@media print, screen and (min-width: 768px) {
  .obiTtl {
    font-size: 1.6rem;
    margin-bottom: 3.2rem;
    padding: 1rem 3rem;
  }
}

@media screen and (max-width: 768px) {
  .obiTtl {
    font-size: 1.2rem;
    margin-bottom: 2rem;
    padding: 1rem 2rem;
  }
}

.obiTtl:before {
  background: rgba(239, 237, 215, 0.6);
  content: "";
  display: block;
  height: 100%;
  left: 0;
  position: absolute;
  top: 0;
  width: 0.4rem;
}

.obiTtl:after {
  background: rgba(239, 237, 215, 0.6);
  content: "";
  display: block;
  height: 100%;
  left: 0.8rem;
  position: absolute;
  top: 0;
  width: 2px;
}

.parallaxPhoto {
  overflow: hidden;
  position: relative;
}

.photo {
  position: relative;
}

.photo__image {
  width: 100%;
}

.photo__caption {
  font-size: 1rem;
  line-height: 1.8;
  position: absolute;
}

.photo__caption--capIn {
  bottom: 0.5rem;
  right: 0.5rem;
}

.photo__caption--capOut {
  padding-top: 0.5rem;
  right: 0;
  top: 100%;
}

.photo__caption[data-color=gray] {
  color: #666;
}

.photo__caption[data-color=white] {
  color: #fff;
}

.photo__caption[data-color=black] {
  color: #000;
}

.photo__caption[data-color=sdw-wh] {
  color: #fff;
  text-shadow: rgba(0, 0, 0, 0.7) 1px 1px 1rem, rgba(0, 0, 0, 0.7) 1px 1px 1rem;
}

.photo__caption[data-color=sdw-bl] {
  color: #000;
  text-shadow: #fff 1px 1px 2px, #fff -1px 1px 2px, #fff 1px -1px 2px, #fff -1px -1px 2px;
}

.photo__pic {
  display: block;
}

.photo--full .photo__image {
  width: 100%;
}

.photo--fit {
  height: 100%;
}

.photo--fit .photo__pic,
.photo--fit .photo__image {
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
}

.photo--shadow {
  box-shadow: 0 2rem 2rem rgba(18, 15, 4, 0.1);
}

.pinchInFigure {
  position: relative;
}

.pinchInFigure .figurePlot {
  align-items: center;
  background: #b1a283;
  display: flex;
  height: 35px;
  justify-content: center;
  left: 0;
  position: absolute;
  top: 0;
  width: 35px;
  z-index: 1;
}

@media print, screen and (min-width: 768px) {
  .pinchInFigure .figurePlot {
    display: none;
  }
}

.pinchInFigure .figurePlot .svgIcon {
  height: 24px;
  width: 24px;
}

.generalModal__inner .pinchInFigure {
  padding: 3rem 0;
}

.planSlideCard {
  background: #fff;
  height: 100%;
}

@media print, screen and (min-width: 768px) {
  .planSlideCard {
    display: flex;
  }
}

.planSlideCard__head {
  background: linear-gradient(to right, #d2d3d3, #efefef);
  position: relative;
  z-index: 1;
}

@media print, screen and (min-width: 768px) {
  .planSlideCard__head {
    padding: 12rem 2rem 12rem 5rem;
    width: 34rem;
  }
}

@media screen and (max-width: 768px) {
  .planSlideCard__head {
    padding: 2.8rem;
    text-align: center;
  }
}

.planSlideCard__symbol {
  left: 50%;
  opacity: 0.6;
  position: absolute;
  transform: translate(-50%, 0);
  z-index: -1;
}

@media print, screen and (min-width: 768px) {
  .planSlideCard__symbol {
    top: 2.1rem;
  }
}

@media screen and (max-width: 768px) {
  .planSlideCard__symbol {
    top: 1.6rem;
  }
}

.planSlideCard__symbol .symbolSVG {
  height: auto;
}

@media print, screen and (min-width: 768px) {
  .planSlideCard__symbol .symbolSVG {
    width: 30rem;
  }
}

@media screen and (max-width: 768px) {
  .planSlideCard__symbol .symbolSVG {
    width: 18.7rem;
  }
}

.planSlideCard__symbol .symbolSVG__path {
  stroke: #fff;
}

.planSlideCard__type {
  font-family: "EB Garamond", serif;
  letter-spacing: 0.1em;
  line-height: 1;
}

@media print, screen and (min-width: 768px) {
  .planSlideCard__type {
    font-size: 2rem;
  }
}

@media screen and (max-width: 768px) {
  .planSlideCard__type {
    font-size: 1.6rem;
  }
}

@media print, screen and (min-width: 768px) {
  .planSlideCard__type .type {
    font-size: 4.8rem;
  }
}

@media screen and (max-width: 768px) {
  .planSlideCard__type .type {
    font-size: 4rem;
  }
}

.planSlideCard__spec {
  font-family: "EB Garamond", serif;
  letter-spacing: 0.1em;
  line-height: 1;
}

@media print, screen and (min-width: 768px) {
  .planSlideCard__spec {
    font-size: 2.6rem;
    margin-top: 2.4rem;
  }
}

@media screen and (max-width: 768px) {
  .planSlideCard__spec {
    font-size: 2rem;
  }
}

@media print, screen and (min-width: 768px) {
  .planSlideCard__spec .num {
    font-size: 3.2rem;
  }
}

@media screen and (max-width: 768px) {
  .planSlideCard__spec .num {
    font-size: 2.8rem;
  }
}

@media print, screen and (min-width: 768px) {
  .planSlideCard__length {
    margin-top: 2rem;
  }
}

.planSlideCard__length .mainLength {
  align-items: baseline;
  display: flex;
}

@media print, screen and (min-width: 768px) {
  .planSlideCard__length .mainLength {
    gap: 0.5rem;
  }
}

@media screen and (max-width: 768px) {
  .planSlideCard__length .mainLength {
    justify-content: center;
    margin-top: 1.65rem;
  }
}

@media print, screen and (min-width: 768px) {
  .planSlideCard__length .mainLength__ttl {
    font-size: 1.4rem;
  }
}

@media screen and (max-width: 768px) {
  .planSlideCard__length .mainLength__ttl {
    font-size: 1.2rem;
  }
}

.planSlideCard__length .mainLength__data {
  font-family: "EB Garamond", serif;
}

@media print, screen and (min-width: 768px) {
  .planSlideCard__length .mainLength__data {
    font-size: 1.8rem;
  }
}

@media screen and (max-width: 768px) {
  .planSlideCard__length .mainLength__data {
    font-size: 1.6rem;
  }
}

.planSlideCard__length .mainLength__data .int {
  letter-spacing: 0.025em;
}

@media print, screen and (min-width: 768px) {
  .planSlideCard__length .mainLength__data .int {
    font-size: 3.2rem;
  }
}

@media screen and (max-width: 768px) {
  .planSlideCard__length .mainLength__data .int {
    font-size: 2.8rem;
  }
}

@media print, screen and (min-width: 768px) {
  .planSlideCard__length .mainLength__data .meter {
    font-size: 1.6rem;
  }
}

@media screen and (max-width: 768px) {
  .planSlideCard__length .mainLength__data .meter {
    font-size: 1.4rem;
  }
}

.planSlideCard__length .mainLength__data .tsubo {
  font-size: 1rem;
}

@media print, screen and (min-width: 768px) {
  .planSlideCard__length .subLength {
    margin-top: 1.2rem;
  }
}

@media screen and (max-width: 768px) {
  .planSlideCard__length .subLength {
    margin-top: 0.6rem;
  }
}

.planSlideCard__length .subLength__item {
  line-height: 1.5;
}

.planSlideCard__length .subLength__item:before {
  content: "";
  margin-top: calc((1 - 1.5) * 0.5em);
}

.planSlideCard__length .subLength__item:after {
  margin-bottom: calc((1 - 1.5) * 0.5em);
}

.planSlideCard__length .subLength__item:before, .planSlideCard__length .subLength__item:after {
  content: "";
  display: block;
  height: 0;
  width: 0;
}

@media print, screen and (min-width: 768px) {
  .planSlideCard__length .subLength__item {
    font-size: 1.2rem;
  }
}

@media screen and (max-width: 768px) {
  .planSlideCard__length .subLength__item {
    font-size: 1.1rem;
  }
}

.planSlideCard__length .subLength__item .tsubo {
  font-size: 1rem;
}

.planSlideCard__feature {
  line-height: 2;
}

.planSlideCard__feature:before {
  content: "";
  margin-top: calc((1 - 2) * 0.5em);
}

.planSlideCard__feature:after {
  margin-bottom: calc((1 - 2) * 0.5em);
}

.planSlideCard__feature:before, .planSlideCard__feature:after {
  content: "";
  display: block;
  height: 0;
  width: 0;
}

@media print, screen and (min-width: 768px) {
  .planSlideCard__feature {
    font-size: 1.4rem;
    margin-top: 4rem;
  }
}

@media screen and (max-width: 768px) {
  .planSlideCard__feature {
    font-size: 1.2rem;
    margin-top: 1.6rem;
  }
}

.planSlideCard__cont {
  text-align: center;
}

@media print, screen and (min-width: 768px) {
  .planSlideCard__cont {
    flex: 1;
    padding: 0 0 2rem;
  }
}

@media screen and (max-width: 768px) {
  .planSlideCard__cont {
    padding: 2rem 0;
  }
}

@media print, screen and (min-width: 768px) {
  .planSlideCard__madori + .usageList {
    padding: 0 2rem;
  }
}

@media screen and (max-width: 768px) {
  .planSlideCard__madori + .usageList {
    padding: 0 2rem;
  }
}

.planSlider {
  position: relative;
}

@media screen and (max-width: 768px) {
  .planSlider {
    padding: 0 2rem;
  }
}

.planSlider .swiper-slide {
  height: auto;
}

@media screen and (max-width: 768px) {
  .planSlider .swiper-slide {
    width: 29.5rem;
  }
}

.planSlider__controller {
  display: flex;
  justify-content: space-between;
  left: 0;
  position: absolute;
  top: 50%;
  transform: translate(0, -50%);
  z-index: 10;
}

@media print, screen and (min-width: 768px) {
  .planSlider__controller {
    margin: 0 -10rem;
    width: calc(100% + 20rem);
  }
}

@media screen and (max-width: 768px) {
  .planSlider__controller {
    left: -2rem;
    padding: 0 0.6rem;
    width: 100vw;
  }
}

.planSlider__controller .swiper-button-prev,
.planSlider__controller .swiper-button-next {
  background: rgba(0, 0, 0, 0.4);
  display: flex;
  justify-content: center;
  left: auto;
  margin-top: 0;
  position: relative;
  right: auto;
  top: auto;
}

@media print, screen and (min-width: 768px) {
  .planSlider__controller .swiper-button-prev,
  .planSlider__controller .swiper-button-next {
    height: 10rem;
    width: 4rem;
  }
}

@media screen and (max-width: 768px) {
  .planSlider__controller .swiper-button-prev,
  .planSlider__controller .swiper-button-next {
    height: 8rem;
    width: 2.8rem;
  }
}

.planSlider__controller .swiper-button-prev:after,
.planSlider__controller .swiper-button-next:after {
  border-bottom: 1px solid #fff;
  border-left: 1px solid #fff;
  content: "";
}

@media print, screen and (min-width: 768px) {
  .planSlider__controller .swiper-button-prev:after,
  .planSlider__controller .swiper-button-next:after {
    height: 2rem;
    width: 2rem;
  }
}

@media screen and (max-width: 768px) {
  .planSlider__controller .swiper-button-prev:after,
  .planSlider__controller .swiper-button-next:after {
    height: 1.2rem;
    width: 1.2rem;
  }
}

.planSlider__controller .swiper-button-prev .swiper-navigation-icon,
.planSlider__controller .swiper-button-next .swiper-navigation-icon {
  display: none;
}

@media print, screen and (min-width: 768px) {
  .planSlider__controller .swiper-button-prev {
    padding-left: 1.2rem;
  }
}

@media screen and (max-width: 768px) {
  .planSlider__controller .swiper-button-prev {
    padding-left: 0.8rem;
  }
}

.planSlider__controller .swiper-button-prev:after {
  transform: rotate(45deg);
}

@media print, screen and (min-width: 768px) {
  .planSlider__controller .swiper-button-next {
    padding-right: 1.2rem;
  }
}

@media screen and (max-width: 768px) {
  .planSlider__controller .swiper-button-next {
    padding-right: 0.8rem;
  }
}

.planSlider__controller .swiper-button-next:after {
  transform: rotate(225deg);
}

.relatedBox {
  position: relative;
  z-index: 1;
}

@media print, screen and (min-width: 768px) {
  .relatedBox {
    padding: 5.6rem 0;
  }
}

@media screen and (max-width: 768px) {
  .relatedBox {
    padding: 2.4rem 2.5rem;
  }
}

@media print, screen and (min-width: 768px) {
  .relatedBox + .relatedBox {
    margin-top: 7.2rem;
  }
}

@media screen and (max-width: 768px) {
  .relatedBox + .relatedBox {
    margin-top: 3.2rem;
  }
}

.relatedBox:after {
  content: "";
  height: 100%;
  left: 50%;
  position: absolute;
  top: 0;
  transform: translate(-50%, 0);
  z-index: -1;
}

@media print, screen and (min-width: 768px) {
  .relatedBox:after {
    width: 120rem;
  }
}

@media screen and (max-width: 768px) {
  .relatedBox:after {
    width: 100%;
  }
}

.relatedBox--pattern01:after {
  background-color: #e7ecf3;
}

.relatedBox--pattern02:after {
  background-color: #f1eee9;
}

.sectHead {
  text-align: center;
}

.sectHead__enLabel {
  font-weight: 400;
}

.sectHead__enLabel .en {
  color: #b1a283;
  font-family: "EB Garamond", serif;
  letter-spacing: 0.05em;
  line-height: 1.6;
}

@media print, screen and (min-width: 768px) {
  .sectHead__enLabel .en {
    font-size: 5.6rem;
  }
}

@media screen and (max-width: 768px) {
  .sectHead__enLabel .en {
    font-size: 4rem;
  }
}

.sectHead__heading {
  color: #666464;
  font-family: "Noto Serif JP", serif;
  font-feature-settings: "halt" 1;
  font-weight: 500;
  letter-spacing: 0.1em;
  line-height: 1.6;
}

@media print, screen and (min-width: 768px) {
  .sectHead__heading {
    font-size: 3.6rem;
    margin-top: 4rem;
  }
}

@media screen and (max-width: 768px) {
  .sectHead__heading {
    font-size: 3rem;
    line-height: 1.6;
    margin-top: 2rem;
  }
}

.sectHead__en .en {
  color: #666464;
  font-family: "EB Garamond", serif;
  font-style: italic;
  letter-spacing: 0.05em;
  line-height: 2;
}

@media print, screen and (min-width: 768px) {
  .sectHead__en .en {
    font-size: 1.8rem;
  }
}

@media screen and (max-width: 768px) {
  .sectHead__en .en {
    font-size: 1.4rem;
  }
}

@media print, screen and (min-width: 768px) {
  .sectHead__en {
    margin-top: 4rem;
  }
}

@media screen and (max-width: 768px) {
  .sectHead__en {
    margin-top: 3rem;
  }
}

.sectHead--white .sectHead__enLabel {
  font-weight: 400;
}

.sectHead--white .sectHead__enLabel .en {
  color: #fff;
  font-family: "EB Garamond", serif;
  letter-spacing: 0.05em;
  line-height: 1.6;
}

@media print, screen and (min-width: 768px) {
  .sectHead--white .sectHead__enLabel .en {
    font-size: 5.6rem;
  }
}

@media screen and (max-width: 768px) {
  .sectHead--white .sectHead__enLabel .en {
    font-size: 4rem;
  }
}

@media screen and (max-width: 768px) {
  .sectHead--sp-heading-sm .sectHead__heading {
    font-size: 2.6rem;
  }
}

@media screen and (max-width: 768px) {
  .sectHead--sp-heading-gap-lg .sectHead__heading {
    margin-top: 4rem;
  }
}

@media screen and (max-width: 768px) {
  .sectHead--sp-en-gap-sm .sectHead__en {
    margin-top: 2rem;
  }
}

.sectHead__enLabel .charReveal__char, .sectHead__heading .charReveal__char {
  filter: blur(0.4rem);
  opacity: 0;
  transition: opacity 0.4s ease-out, filter 0.8s ease-out;
}

.sectHead__enLabel .charReveal__char.is-visible, .sectHead__heading .charReveal__char.is-visible {
  filter: blur(0);
  opacity: 1;
}

.sectHead__en .charReveal__char {
  filter: blur(0.2rem);
  opacity: 0;
  transition: opacity 0.3s ease-out, filter 0.5s ease-out;
}

.sectHead__en .charReveal__char.is-visible {
  filter: blur(0);
  opacity: 1;
}

.sectTtl {
  color: #504934;
  text-align: center;
}

.sectTtl .en {
  display: block;
  font-family: "EB Garamond", serif;
  letter-spacing: 0.1em;
  line-height: 1;
}

.sectTtl .en:before {
  content: "";
  margin-top: calc((1 - 1) * 0.5em);
}

.sectTtl .en:after {
  margin-bottom: calc((1 - 1) * 0.5em);
}

.sectTtl .en:before, .sectTtl .en:after {
  content: "";
  display: block;
  height: 0;
  width: 0;
}

@media print, screen and (min-width: 768px) {
  .sectTtl .en {
    font-size: 3.2rem;
  }
}

@media screen and (max-width: 768px) {
  .sectTtl .en {
    font-size: 2.8rem;
  }
}

.sectTtl .en + .jp {
  margin-top: 1rem;
}

.sectTtl .jp {
  display: block;
  line-height: 1;
}

.sectTtl .jp:before {
  content: "";
  margin-top: calc((1 - 1) * 0.5em);
}

.sectTtl .jp:after {
  margin-bottom: calc((1 - 1) * 0.5em);
}

.sectTtl .jp:before, .sectTtl .jp:after {
  content: "";
  display: block;
  height: 0;
  width: 0;
}

@media print, screen and (min-width: 768px) {
  .sectTtl .jp {
    font-size: 1.4rem;
  }
}

@media screen and (max-width: 768px) {
  .sectTtl .jp {
    font-size: 1.2rem;
  }
}

.svgIcon {
  display: block;
  height: 100%;
  width: 100%;
}

.swipeFigure {
  position: relative;
}

@media screen and (max-width: 768px) {
  .swipeFigure {
    height: 37.5rem;
  }
}

.swipeFigure__inner {
  height: 100%;
  overflow: scroll;
}

.swipeFigure__inner::-webkit-scrollbar {
  display: none;
}

.swipeFigure__inner[data-mode=""] .photo,
.swipeFigure__inner[data-mode=""] .photo__image {
  height: 100%;
  max-width: none;
  max-width: initial;
  width: auto;
}

@media print, screen and (min-width: 768px) {
  .swipeFigure__inner[data-mode=pc] .photo,
  .swipeFigure__inner[data-mode=pc] .photo__image {
    height: 100%;
    max-width: none;
    max-width: initial;
    width: auto;
  }
}

@media screen and (max-width: 768px) {
  .swipeFigure__inner[data-mode=pc] + .figurePlot {
    display: none;
  }
}

@media print, screen and (min-width: 768px) {
  .swipeFigure__inner[data-mode=sp] + .figurePlot {
    display: none;
  }
}

@media screen and (max-width: 768px) {
  .swipeFigure__inner[data-mode=sp] .photo,
  .swipeFigure__inner[data-mode=sp] .photo__image {
    height: 100%;
    max-width: none;
    max-width: initial;
    width: auto;
  }
}

.swipeFigure__capIn, .swipeFigure__capOut {
  font-size: 1rem;
  letter-spacing: 0.05em;
  line-height: 1.8;
  position: absolute;
  z-index: 1;
}

.swipeFigure__capIn {
  bottom: 0.5rem;
  right: 0.5rem;
}

.swipeFigure__capOut {
  left: 0;
  padding: 0.2rem 0 0 0.5rem;
  top: 100%;
}

.swipeFigure .figurePlot .svgIcon {
  aspect-ratio: 36/56;
}

@media screen and (max-width: 768px) {
  .swipeFigure .figurePlot .svgIcon {
    width: 1.8rem;
  }
}

.txt {
  letter-spacing: 0.08em;
  line-height: 2;
}

.txt:before {
  content: "";
  margin-top: calc((1 - 2) * 0.5em);
}

.txt:after {
  margin-bottom: calc((1 - 2) * 0.5em);
}

.txt:before, .txt:after {
  content: "";
  display: block;
  height: 0;
  width: 0;
}

@media print, screen and (min-width: 768px) {
  .txt {
    font-size: 1.4rem;
  }
}

@media screen and (max-width: 768px) {
  .txt {
    font-size: 1.2rem;
  }
}

.txt .caption {
  display: inline-block;
  font-weight: 400;
  line-height: 1.5;
  padding-top: 1rem;
}

.txt sup {
  font-size: 1rem;
}

.txt + .caption {
  margin-top: 1rem;
}

.usableList {
  display: flex;
  flex-wrap: wrap;
}

.usageList {
  display: flex;
  flex-wrap: wrap;
  justify-content: flex-start;
}

@media print, screen and (min-width: 768px) {
  .usageList {
    gap: 1.5rem;
  }
}

@media screen and (max-width: 768px) {
  .usageList {
    gap: 1rem;
  }
}

.usageList__item {
  align-items: center;
  color: #666;
  display: flex;
  white-space: nowrap;
}

@media print, screen and (min-width: 768px) {
  .usageList__item {
    font-size: 1.2rem;
  }
}

@media screen and (max-width: 768px) {
  .usageList__item {
    font-size: 1.1rem;
  }
}

.usageList__item .windSVG {
  height: auto;
  width: 3.6rem;
}

.usageList__item .lightSVG {
  height: auto;
  width: 3.8rem;
}

.usageList__item .storageSVG {
  height: auto;
  width: 2.7rem;
}

.usageList__item .floorSVG {
  height: auto;
  width: 2.7rem;
}

.zoomFigure {
  margin: 0 auto;
  overflow: hidden;
  position: relative;
}

@media screen and (max-width: 768px) {
  .zoomFigure {
    margin-left: calc(50% - 50vw);
    margin-right: calc(50% - 50vw);
  }
}

.zoomFigure .figurePlot {
  border-radius: 50%;
  left: 50%;
  top: 50%;
  transform: translate(-50%, -50%);
  transition: opacity 2s ease 4s;
}

@media screen and (max-width: 768px) {
  .zoomFigure .figurePlot {
    width: 9.6rem;
  }
}

.zoomFigure .figurePlot .svgIcon {
  aspect-ratio: 36/43;
}

@media screen and (max-width: 768px) {
  .zoomFigure .figurePlot .svgIcon {
    width: 1.8rem;
  }
}

.zoomFigure .figurePlot .svgIcon + .svgIcon {
  aspect-ratio: 95/96;
  left: 50%;
  position: absolute;
  top: 50%;
  transform: translate(-50%, -50%);
}

@media screen and (max-width: 768px) {
  .zoomFigure .figurePlot .svgIcon + .svgIcon {
    width: 4.75rem;
  }
}

.zoomFigure.sai-animate .figurePlot {
  opacity: 0;
}

.zoomFigure__controller {
  display: flex;
  flex-direction: column;
  left: 1rem;
  position: absolute;
  top: 1rem;
  z-index: 9;
}

.zoomFigure__controller .btnSVG {
  display: block;
  height: 100%;
  width: 100%;
}

.zoomFigure__controller .btnSVG__path {
  fill: #fff;
}

.zoomFigure__btn {
  cursor: pointer;
  display: block;
  height: 5rem;
  width: 5rem;
}

.zoomFigure__btn:not(:last-of-type) {
  margin-bottom: 0.6rem;
}

.zoomFigure .caption,
.zoomFigure .capIn,
.zoomFigure .capOut {
  color: #666;
  font-size: 1rem;
  line-height: 1.8;
}

.zoomFigure .caption[data-color=white],
.zoomFigure .capIn[data-color=white],
.zoomFigure .capOut[data-color=white] {
  color: #fff;
}

.zoomFigure .caption[data-color=black],
.zoomFigure .capIn[data-color=black],
.zoomFigure .capOut[data-color=black] {
  color: #000;
}

.zoomFigure .caption[data-color=sdw-wh],
.zoomFigure .capIn[data-color=sdw-wh],
.zoomFigure .capOut[data-color=sdw-wh] {
  color: #fff;
  text-shadow: rgba(0, 0, 0, 0.7) 1px 1px 1rem, rgba(0, 0, 0, 0.7) 1px 1px 1rem;
}

.zoomFigure .caption[data-color=sdw-bl],
.zoomFigure .capIn[data-color=sdw-bl],
.zoomFigure .capOut[data-color=sdw-bl] {
  color: #000;
  text-shadow: #fff 1px 1px 2px, #fff -1px 1px 2px, #fff 1px -1px 2px, #fff -1px -1px 2px;
}

.zoomFigure__capIn, .zoomFigure__capOut {
  position: absolute;
}

.zoomFigure__capIn {
  bottom: 0.5rem;
  right: 0.5rem;
}

.zoomFigure__capOut {
  padding-top: 0.5rem;
  right: 1rem;
  top: 100%;
}

.zoomFigure__inner {
  height: 100%;
  overflow: scroll;
}

.zoomFigure__inner::-webkit-scrollbar {
  display: none;
}

.zoomFigure__inner .photo__image {
  width: 100%;
}

.zoomFigure__inner .photo .caption,
.zoomFigure__inner .photo .capIn,
.zoomFigure__inner .photo .capOut {
  display: none;
}

@media screen and (max-width: 768px) {
  .zoomFigure[data-mode=pc] .figurePlot,
  .zoomFigure[data-mode=pc] .zoomFigure__controller {
    display: none;
  }
}

@media print, screen and (min-width: 768px) {
  .zoomFigure[data-mode=sp] .figurePlot,
  .zoomFigure[data-mode=sp] .zoomFigure__controller {
    display: none;
  }
}
/*# sourceMappingURL=common.css.map */
