@charset "UTF-8";
/*! normalize.css v8.0.1 | MIT License | github.com/necolas/normalize.css */
html {
  line-height: 1.15;
  -webkit-text-size-adjust: 100%;
}

body {
  margin: 0;
}

main {
  display: block;
}

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

hr {
  -webkit-box-sizing: content-box;
          box-sizing: content-box;
  height: 0;
  overflow: visible;
}

pre {
  font-family: monospace, monospace;
  font-size: 1em;
}

a {
  background-color: transparent;
}

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

b, strong {
  font-weight: bolder;
}

code, kbd, samp {
  font-family: monospace, monospace;
  font-size: 1em;
}

small {
  font-size: 80%;
}

sub, sup {
  font-size: 75%;
  line-height: 0;
  position: relative;
  vertical-align: baseline;
}

sub {
  bottom: -0.25em;
}

sup {
  top: -0.5em;
}

img {
  border-style: none;
}

button, input, optgroup, select, textarea {
  font-family: inherit;
  font-size: 100%;
  line-height: 1.15;
  margin: 0;
}

button, input {
  overflow: visible;
}

button, select {
  text-transform: none;
}

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

[type=button]::-moz-focus-inner, [type=reset]::-moz-focus-inner, [type=submit]::-moz-focus-inner, button::-moz-focus-inner {
  border-style: none;
  padding: 0;
}

[type=button]:-moz-focusring, [type=reset]:-moz-focusring, [type=submit]:-moz-focusring, button:-moz-focusring {
  outline: 1px dotted ButtonText;
}

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

legend {
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
  color: inherit;
  display: table;
  max-width: 100%;
  padding: 0;
  white-space: normal;
}

progress {
  vertical-align: baseline;
}

textarea {
  overflow: auto;
}

[type=checkbox], [type=radio] {
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
  padding: 0;
}

[type=number]::-webkit-inner-spin-button, [type=number]::-webkit-outer-spin-button {
  height: auto;
}

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

[type=search]::-webkit-search-decoration {
  -webkit-appearance: none;
}

::-webkit-file-upload-button {
  -webkit-appearance: button;
  font: inherit;
}

details {
  display: block;
}

summary {
  display: list-item;
}

template {
  display: none;
}

[hidden] {
  display: none;
}

:root {
  /* colors */
  --color-white: #FFFFFF;
  --color-black: #404040;
  --color-beige: #E3E3DD;
  --color-beige-half: #e3e3dd80;
  --color-beige-quarter: #e3e3dd40;
  --color-navy: #285A74;
  --color-logo-navy: #29556B;
  --color-green: #33553D;
  --color-caution: #ee3333;
  --color-border: #6C6C6C;
  /* easings */
  --ease-in-out: cubic-bezier(0.4, 0, 0.2, 1);
  --ease-out: cubic-bezier(0, 0, 0.2, 1);
  --ease-in: cubic-bezier(0.4, 0, 1, 1);
  --ease-linear: linear;
  --ease-back: cubic-bezier(0.68, -0.55, 0.265, 1.55);
  --ease-in-quart: cubic-bezier(0.895, 0.03, 0.685, 0.22);
  --ease-out-quart: cubic-bezier(0.165, 0.84, 0.44, 1);
  --ease-in-out-quart: cubic-bezier(0.77, 0, 0.175, 1);
  --ease-in-quad: cubic-bezier(0.55, 0.085, 0.68, 0.53);
  --ease-out-quad: cubic-bezier(0.25, 0.46, 0.45, 0.94);
  --ease-in-out-quad: cubic-bezier(0.455, 0.03, 0.515, 0.955);
  /* margins */
  --item-vertical-margin: min(8rem, 10vh);
  --item-horizontal-margin: min(8rem, 8vw, 10vh);
  /* background */
  background-color: var(--color-beige);
  /* fonts */
  --font-default: "AGaramondPro-Regular", "FOT-筑紫Aオールド明朝 Pr6N R", serif;
  --font-jp-gothic: "FOT-筑紫ゴシック Pr5N R", "Noto Sans JP", sans-serif;
  --font-jp-mincho: "FOT-筑紫Aオールド明朝 Pr6N R", serif;
  --font-serif: "AGaramondPro-Regular", "FOT-筑紫Aオールド明朝 Pr6N R", serif;
  --font-sans: "NHaasGroteskDSPro-55Rg", "FOT-筑紫ゴシック Pr5N R", sans-serif;
  --font-form: "Noto Sans JP", sans-serif;
  /* font size */
  --fz-ps: 1.4rem;
  --fz-p: 1.5rem;
  --fz-b: 1.6rem;
  --fz-s: 1.2rem;
  --fz-l: 1.8rem;
  --fz-l2: 2rem;
  --fz-xl: 2.5rem;
  --fz-xxl: 3.6rem;
  --fz-p-eng: 1.7rem;
  --ls-xl: 0.265em;
  --ls-p: 0.14em;
  --ls-l: 0.16em;
  --ls-l-eng: 0.06em;
  --ls-copy: 0.2em;
  --ls-sans: 0.065em;
  --ls-p-eng: 0.04em;
  --lh-base: calc( 38.975 / 15 );
  /* rem */
  font-size: clamp(8px, 0.4166666667vw + 4px, 12px);
}
@media (min-width: 1441px) {
  :root {
    --item-horizontal-margin: 80px;
  }
}
@media (max-width: 991px) {
  :root {
    font-size: calc(4px + 0.5vw);
    --item-horizontal-margin: min(4rem);
    --ls-p: 0.1em;
    --ls-l: 0.12em;
    --ls-copy: 0.18em;
    --ls-xl: 0.2em;
  }
}
@media (max-width: 767px) and (orientation: portrait) {
  :root {
    --item-vertical-margin: 12rem;
    --item-horizontal-margin: min(2.5rem);
    font-size: calc(5px + 1.3vw);
    --fz-ps: 1.2rem;
    --fz-p: 1.2rem;
    --fz-p-eng: 1.4rem;
    --fz-b: 1.4rem;
    --fz-s: 1rem;
    --fz-l: 1.6rem;
    --fz-l2: 1.6rem;
    --fz-xl: 1.8rem;
    --fz-xxl: 2.6rem;
    --ls-p: 0.08em;
  }
}
@media (max-height: 500px) and (max-width: 900px) and (orientation: landscape) {
  :root {
    font-size: 1.8svh;
  }
}
:root[lang=en-US], [lang=en-US] :root {
  --ls-xl: 0.1325em;
  --ls-p: 0.07em;
  --ls-l: 0.08em;
  --ls-copy: 0.1em;
}

/* Font Setting */
body {
  font-family: var(--font-default);
  font-size: var(--fz-p);
  -webkit-font-feature-settings: "halt" 1;
          font-feature-settings: "halt" 1;
  line-height: var(--lh-base);
  letter-spacing: var(--ls-p);
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  color: var(--color-black);
  -moz-text-size-adjust: 100%;
   -ms-text-size-adjust: 100%;
       text-size-adjust: 100%;
  -webkit-text-size-adjust: 100%;
}

* {
  font-weight: normal;
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
}

/**
 * Common Element
 */
h2,
.title-cmn {
  font-size: var(--fz-xl);
  letter-spacing: var(--ls-xl);
  line-height: 1.8;
  margin: 0 0 calc((1em - 1lh) * 0.5 - 0.6rem);
  color: #404040;
}
h2 + :is(p, .p-cmn),
.title-cmn + :is(p, .p-cmn) {
  margin-top: 2em;
}
.lang-en h2, h2.en, h2 .en,
.lang-en .title-cmn,
.title-cmn.en,
.title-cmn .en {
  letter-spacing: calc(var(--ls-xl) * 0.5);
}
h2 .en,
.title-cmn .en {
  margin-right: var(--ls-xl);
}

p,
.p-cmn {
  font-size: var(--fz-p);
  line-height: var(--lh-base);
  letter-spacing: var(--ls-p);
  margin: 0;
}
p + p,
p + .p-cmn,
.p-cmn + p,
.p-cmn + .p-cmn {
  margin-top: 1lh;
}
.lang-en p,
.lang-en .p-cmn {
  line-height: 2;
}
p[lang=en-US], [lang=en-US] p,
.p-cmn[lang=en-US],
[lang=en-US] .p-cmn {
  font-size: var(--fz-p-eng);
  line-height: 1.8823529412;
  letter-spacing: var(--ls-p-eng);
}

.sake-title,
.brand-title {
  margin: 0;
}
.sake-title .en,
.brand-title .en {
  display: block;
  font-size: 4.6rem;
  line-height: 1.1304347826;
  letter-spacing: var(--ls-l);
  text-indent: var(--ls-l);
  margin-bottom: 0.59rem;
}
@media (max-width: 767px) and (orientation: portrait) {
  .sake-title .en,
  .brand-title .en {
    font-size: 3.6rem;
    margin-bottom: 0.4rem;
  }
}
.sake-title .jp,
.brand-title .jp {
  display: block;
  font-size: var(--fz-l2);
  line-height: 1.1666666667;
  letter-spacing: var(--ls-copy);
  padding-left: 0.2em;
}
@media (max-width: 767px) and (orientation: portrait) {
  .sake-title .jp,
  .brand-title .jp {
    font-size: var(--fz-l);
  }
}

.link-cmn {
  --hover-active-distance: 0.5rem;
  --stroke-interval: 0.4s;
  --accent-color: var(--color-border);
  color: currentColor;
  text-decoration: none;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  font-size: var(--fz-b);
  letter-spacing: var(--ls-sans);
  font-family: var(--font-sans);
  padding-top: 0.8rem;
  padding-bottom: 0.8rem;
  margin: 0;
  gap: 1rem;
  position: relative;
  -webkit-transition: padding var(--ease-out-quart) 1.2s 0.1s;
  transition: padding var(--ease-out-quart) 1.2s 0.1s;
}
.link-cmn::before, .link-cmn::after {
  content: "";
  position: absolute;
  bottom: -1px;
  left: 0;
  width: 100%;
  height: 1px;
  background-color: var(--accent-color);
  -webkit-transform: scaleX(0);
          transform: scaleX(0);
  -webkit-transform-origin: left;
          transform-origin: left;
  pointer-events: none;
}
.link-cmn::before {
  -webkit-transform-origin: left;
          transform-origin: left;
  -webkit-transition: -webkit-transform calc(var(--stroke-interval) * 0.5) var(--ease-out-quart);
  transition: -webkit-transform calc(var(--stroke-interval) * 0.5) var(--ease-out-quart);
  transition: transform calc(var(--stroke-interval) * 0.5) var(--ease-out-quart);
  transition: transform calc(var(--stroke-interval) * 0.5) var(--ease-out-quart), -webkit-transform calc(var(--stroke-interval) * 0.5) var(--ease-out-quart);
  -webkit-transition-delay: 0s;
          transition-delay: 0s;
}
.link-cmn::after {
  -webkit-transform-origin: right;
          transform-origin: right;
  -webkit-transition: -webkit-transform calc(var(--stroke-interval) * 0.8) var(--ease-out-quart);
  transition: -webkit-transform calc(var(--stroke-interval) * 0.8) var(--ease-out-quart);
  transition: transform calc(var(--stroke-interval) * 0.8) var(--ease-out-quart);
  transition: transform calc(var(--stroke-interval) * 0.8) var(--ease-out-quart), -webkit-transform calc(var(--stroke-interval) * 0.8) var(--ease-out-quart);
  -webkit-transition-delay: var(--stroke-interval);
          transition-delay: var(--stroke-interval);
  -webkit-transform: scaleX(1);
          transform: scaleX(1);
}
.link-cmn__wrapper {
  margin-top: 3.6rem;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
}
.link-cmn__text {
  -webkit-transition: -webkit-transform var(--ease-out-quart) 1.2s 0.1s;
  transition: -webkit-transform var(--ease-out-quart) 1.2s 0.1s;
  transition: transform var(--ease-out-quart) 1.2s 0.1s;
  transition: transform var(--ease-out-quart) 1.2s 0.1s, -webkit-transform var(--ease-out-quart) 1.2s 0.1s;
  line-height: 1.2;
  will-change: transform;
}
.link-cmn__arrow {
  display: block;
  width: 2.6rem;
  height: 2rem;
  -webkit-transition: -webkit-transform var(--ease-out-quart) 1.2s;
  transition: -webkit-transform var(--ease-out-quart) 1.2s;
  transition: transform var(--ease-out-quart) 1.2s;
  transition: transform var(--ease-out-quart) 1.2s, -webkit-transform var(--ease-out-quart) 1.2s;
  color: var(--accent-color);
  will-change: transform;
}
.is-disabled .link-cmn {
  pointer-events: none;
}
.link-cmn:hover .link-cmn__arrow {
  -webkit-transform: translateX(var(--hover-active-distance));
          transform: translateX(var(--hover-active-distance));
}
.link-cmn:hover::before {
  -webkit-transition: -webkit-transform calc(var(--stroke-interval) * 0.8) var(--ease-out-quart);
  transition: -webkit-transform calc(var(--stroke-interval) * 0.8) var(--ease-out-quart);
  transition: transform calc(var(--stroke-interval) * 0.8) var(--ease-out-quart);
  transition: transform calc(var(--stroke-interval) * 0.8) var(--ease-out-quart), -webkit-transform calc(var(--stroke-interval) * 0.8) var(--ease-out-quart);
  -webkit-transition-delay: var(--stroke-interval);
          transition-delay: var(--stroke-interval);
  -webkit-transform: scaleX(1);
          transform: scaleX(1);
}
.link-cmn:hover::after {
  -webkit-transition: -webkit-transform calc(var(--stroke-interval) * 0.5) var(--ease-out-quart);
  transition: -webkit-transform calc(var(--stroke-interval) * 0.5) var(--ease-out-quart);
  transition: transform calc(var(--stroke-interval) * 0.5) var(--ease-out-quart);
  transition: transform calc(var(--stroke-interval) * 0.5) var(--ease-out-quart), -webkit-transform calc(var(--stroke-interval) * 0.5) var(--ease-out-quart);
  -webkit-transition-delay: 0s;
          transition-delay: 0s;
  -webkit-transform: scaleX(0);
          transform: scaleX(0);
}

.link-large {
  --accent-color: var(--color-border);
  position: absolute;
  right: 0;
  bottom: var(--item-vertical-margin);
  min-width: min(21.8rem, 55vw);
  width: -webkit-max-content;
  width: -moz-max-content;
  width: max-content;
  height: 9rem;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  gap: 2.45rem;
  padding: 2rem 3rem 2rem 2.75rem;
  z-index: 10;
  text-decoration: none;
  color: currentColor;
  border-style: solid;
  border-width: 1px 0 1px 1px;
  border-radius: 100vmax 0 0 100vmax;
  border-color: var(--accent-color);
  -webkit-transition: background-color 0.6s, color 0.6s;
  transition: background-color 0.6s, color 0.6s;
}
.coming-soon .link-large {
  cursor: not-allowed;
  width: min(28rem, 55vw);
}
@media (max-width: 767px) and (orientation: portrait) {
  .coming-soon .link-large {
    opacity: 0.5;
  }
}
@media (max-width: 767px) and (orientation: portrait) {
  .link-large {
    padding: 0.75rem 2rem 0.75rem 1.25rem;
    gap: 2rem;
    height: 7rem;
    width: 18rem;
  }
}
.link-large__arrow {
  aspect-ratio: 1/1;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  width: 4.95rem;
  height: auto;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  border-radius: 100vmax;
  position: relative;
  background-color: var(--color-beige);
  color: var(--color-green);
  -webkit-transition: -webkit-transform var(--ease-out-quart) 1.2s;
  transition: -webkit-transform var(--ease-out-quart) 1.2s;
  transition: transform var(--ease-out-quart) 1.2s;
  transition: transform var(--ease-out-quart) 1.2s, -webkit-transform var(--ease-out-quart) 1.2s;
}
@media (max-width: 767px) and (orientation: portrait) {
  .link-large__arrow {
    width: 4.4rem;
  }
}
.link-large__arrow::before {
  content: "";
  background-image: url(../images/link-large-arrow-circle.svg);
  background-repeat: no-repeat;
  background-size: contain;
  background-position: center;
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  -webkit-transition: opacity ease 0.6s, -webkit-transform var(--ease-in-out-quart) 0.6s;
  transition: opacity ease 0.6s, -webkit-transform var(--ease-in-out-quart) 0.6s;
  transition: opacity ease 0.6s, transform var(--ease-in-out-quart) 0.6s;
  transition: opacity ease 0.6s, transform var(--ease-in-out-quart) 0.6s, -webkit-transform var(--ease-in-out-quart) 0.6s;
}
.link-large__arrow .icon {
  display: block;
  width: 18.55rem;
  height: 0.9rem;
}
.link-large__text {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  -webkit-box-align: start;
      -ms-flex-align: start;
          align-items: flex-start;
  -webkit-transition: -webkit-transform var(--ease-out-quart) 1.2s 0.1s;
  transition: -webkit-transform var(--ease-out-quart) 1.2s 0.1s;
  transition: transform var(--ease-out-quart) 1.2s 0.1s;
  transition: transform var(--ease-out-quart) 1.2s 0.1s, -webkit-transform var(--ease-out-quart) 1.2s 0.1s;
}
.link-large__text span {
  display: block;
  line-height: 1.2;
}
.link-large__text .en {
  font-size: var(--fz-l);
  letter-spacing: var(--ls-p-eng);
}
.link-large__text .jp {
  font-size: 1.3rem;
  letter-spacing: var(--ls-copy);
  margin-top: 0.5rem;
}
@media (max-width: 767px) and (orientation: portrait) {
  .link-large__text .jp {
    font-size: 1.1rem;
  }
}
.coming-soon .link-large__text .jp {
  font-size: var(--fz-s);
  font-family: var(--font-sans);
  letter-spacing: var(--ls-sans);
  word-break: keep-all;
}
@media (hover: hover) and (pointer: fine) {
  .link-large:hover {
    background-color: var(--color-green);
    color: var(--color-white);
  }
  .link-large:hover .link-large__text {
    -webkit-transform: translateX(0.5rem);
            transform: translateX(0.5rem);
  }
  .link-large:hover .link-large__arrow {
    -webkit-transform: translateX(0.5rem);
            transform: translateX(0.5rem);
  }
  .link-large:hover .link-large__arrow::before {
    opacity: 0;
    -webkit-transform: rotate(10deg);
            transform: rotate(10deg);
  }
  .coming-soon .link-large {
    cursor: not-allowed;
  }
  .coming-soon .link-large:hover {
    color: var(--color-green);
    background-color: transparent;
  }
  .coming-soon .link-large:hover .link-large__text {
    -webkit-transform: translateX(0);
            transform: translateX(0);
  }
  .coming-soon .link-large:hover .link-large__arrow {
    -webkit-transform: translateX(0);
            transform: translateX(0);
  }
  .coming-soon .link-large:hover .link-large__arrow::before {
    opacity: 1;
    -webkit-transform: rotate(0deg);
            transform: rotate(0deg);
  }
}
.link-large.reverse-color {
  background-color: var(--color-green);
  color: var(--color-white);
  border-color: var(--color-white);
}
.link-large.reverse-color .link-large__arrow {
  background-color: var(--color-green);
  color: var(--color-white);
}
.link-large.reverse-color .link-large__arrow::before {
  background-image: url(../images/link-large-arrow-circle-wh.svg);
}
.link-large.reverse-color:hover {
  background-color: var(--color-beige);
  color: var(--color-black);
}
.link-text {
  display: inline-block;
  position: relative;
  color: currentColor;
  text-decoration: none;
  --duration: 0.3s;
  -webkit-transition: opacity var(--duration);
  transition: opacity var(--duration);
}
.link-text::before, .link-text::after {
  content: "";
  position: absolute;
  bottom: 0;
  bottom: 0.125lh;
  left: 0;
  width: 100%;
  height: 1px;
  background-color: var(--accent-color, currentColor);
}
.link-text::before {
  -webkit-transform: scaleX(0);
          transform: scaleX(0);
  -webkit-transform-origin: left;
          transform-origin: left;
  -webkit-transition: -webkit-transform var(--duration) var(--ease-out-quart);
  transition: -webkit-transform var(--duration) var(--ease-out-quart);
  transition: transform var(--duration) var(--ease-out-quart);
  transition: transform var(--duration) var(--ease-out-quart), -webkit-transform var(--duration) var(--ease-out-quart);
}
.link-text::after {
  -webkit-transform: scaleX(1);
          transform: scaleX(1);
  -webkit-transform-origin: right;
          transform-origin: right;
  -webkit-transition: -webkit-transform var(--duration) var(--ease-out-quart) var(--duration);
  transition: -webkit-transform var(--duration) var(--ease-out-quart) var(--duration);
  transition: transform var(--duration) var(--ease-out-quart) var(--duration);
  transition: transform var(--duration) var(--ease-out-quart) var(--duration), -webkit-transform var(--duration) var(--ease-out-quart) var(--duration);
}
@media (hover: hover) and (pointer: fine) {
  .link-text:hover {
    opacity: 0.75;
  }
  .link-text:hover::before {
    -webkit-transform: scaleX(1);
            transform: scaleX(1);
    -webkit-transition: -webkit-transform var(--duration) var(--ease-out-quart) var(--duration);
    transition: -webkit-transform var(--duration) var(--ease-out-quart) var(--duration);
    transition: transform var(--duration) var(--ease-out-quart) var(--duration);
    transition: transform var(--duration) var(--ease-out-quart) var(--duration), -webkit-transform var(--duration) var(--ease-out-quart) var(--duration);
  }
  .link-text:hover::after {
    -webkit-transform: scaleX(0);
            transform: scaleX(0);
    -webkit-transition: -webkit-transform var(--duration) var(--ease-out-quart);
    transition: -webkit-transform var(--duration) var(--ease-out-quart);
    transition: transform var(--duration) var(--ease-out-quart);
    transition: transform var(--duration) var(--ease-out-quart), -webkit-transform var(--duration) var(--ease-out-quart);
  }
}

.section-title {
  position: sticky;
  margin: 0 0 0 var(--item-horizontal-margin);
  top: 0;
  z-index: 10;
  opacity: 0;
  visibility: visible;
  -webkit-transition: opacity 0.2s, visibility 0.2s allow-discrete;
  transition: opacity 0.2s, visibility 0.2s allow-discrete;
}
@media (max-width: 767px) and (orientation: portrait) {
  .section-title {
    margin-left: calc(var(--item-horizontal-margin) - 0.1em);
  }
}
.section-title.hide-temporally {
  visibility: hidden;
  pointer-events: none;
  opacity: 0 !important;
}
@starting-style {
  .section-title.hide-temporally {
    opacity: 1;
  }
}
.section-title__inner {
  position: absolute;
  top: 0;
  left: 0;
  height: 3rem;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  font-size: var(--fz-l);
  font-family: var(--font-sans);
  letter-spacing: var(--ls-sans);
  white-space: nowrap;
  color: var(--color-white);
  margin-top: calc(var(--item-vertical-margin) - 0.6rem);
}
@media (max-width: 767px) and (orientation: portrait) {
  .section-title__inner {
    margin-top: 1rem;
    height: 4rem;
    font-size: calc(var(--fz-b) - 0.1rem);
    padding-top: 0.25rem;
  }
}
.section-title:nth-child(1) {
  --progress: 1;
  position: sticky;
  opacity: 1;
}
.section-title:nth-child(1) .section-title__inner {
  -webkit-transform: translateY(calc((50dvh - var(--item-vertical-margin) - var(--fz-p)) * var(--progress)));
          transform: translateY(calc((50dvh - var(--item-vertical-margin) - var(--fz-p)) * var(--progress)));
}
@media (max-width: 767px) and (orientation: portrait) {
  .section-title:nth-child(1) .section-title__inner {
    -webkit-transform: translateY(calc((50dvh - 3rem) * var(--progress)));
            transform: translateY(calc((50dvh - 3rem) * var(--progress)));
  }
}
@media (min-width: 768px) or (orientation: landscape) {
  .section-title.follow-ui-color--change-only-on-mobile .section-title__inner {
    color: var(--color-white) !important;
  }
}
.section-title.invert-color .section-title__inner {
  color: var(--color-black);
}

/* Mobile Front Page Only */
@media (max-width: 767px) and (orientation: portrait) {
  #front-page .section-title:nth-child(1) .section-title__inner {
    opacity: calc(1 - var(--progress));
  }
}

.page-title {
  position: fixed;
  left: var(--item-horizontal-margin);
  bottom: var(--item-vertical-margin);
  margin: 0;
  z-index: 10;
  pointer-events: none;
}
@media (max-width: 767px) and (orientation: portrait) {
  .page-title {
    bottom: var(--item-horizontal-margin);
  }
}
.page-title img {
  display: block;
  height: min(12.5rem, 25vw);
  width: auto;
  -o-object-fit: contain;
     object-fit: contain;
}
@media (max-width: 767px) and (orientation: portrait) {
  .page-title img {
    height: min(125px, 25vw);
  }
}

.spec-cmn {
  font-size: var(--fw-ps);
  font-family: var(--font-sans);
  letter-spacing: var(--ls-sans);
  line-height: 2.1428571429;
  margin: 4rem 0;
}
.spec-cmn__title {
  margin: 0;
  font-weight: normal;
  font-size: var(--fz-l);
  line-height: 1;
  margin: 0 0 1rem;
}
.spec-cmn__list {
  display: -ms-grid;
  display: grid;
  -ms-grid-columns: 14.5rem 0 auto;
  grid-template-columns: 14.5rem auto;
  grid-auto-flow: row;
  border-top: 1px solid;
  gap: 0;
  margin: 0;
}
@media (max-width: 767px) and (orientation: portrait) {
  .spec-cmn__list {
    -ms-grid-columns: 12rem auto;
    grid-template-columns: 12rem auto;
  }
}
.spec-cmn dt {
  padding: 1.5rem 1em 1.5rem 0.8rem;
  border-bottom: 1px solid;
  margin: 0;
}
@media (max-width: 767px) and (orientation: portrait) {
  .spec-cmn dt {
    padding-right: 0;
  }
}
.spec-cmn dd {
  padding: 1.5rem 0.8rem;
  border-bottom: 1px solid;
  margin: 0;
}

@-webkit-keyframes loadingTransitionImg {
  from {
    -webkit-transform: scale(1);
            transform: scale(1);
  }
  to {
    -webkit-transform: scale(1.1);
            transform: scale(1.1);
  }
}

@keyframes loadingTransitionImg {
  from {
    -webkit-transform: scale(1);
            transform: scale(1);
  }
  to {
    -webkit-transform: scale(1.1);
            transform: scale(1.1);
  }
}
.loading-screen {
  --transition-duration: 1.2s;
  position: fixed;
  top: 0;
  left: 0;
  width: 100vw;
  height: 100vh;
  background-color: var(--color-white);
  z-index: 9999;
  -webkit-transition: opacity var(--transition-duration) ease, display var(--transition-duration) ease allow-discrete;
  transition: opacity var(--transition-duration) ease, display var(--transition-duration) ease allow-discrete;
}
.loading-screen.hide-screen {
  opacity: 0;
  pointer-events: none;
  display: none;
}
@starting-style {
  .loading-screen.hide-screen {
    opacity: 1;
  }
}
.loading-screen.is-transition {
  opacity: 1;
  pointer-events: auto;
  -webkit-mask-image: -webkit-gradient(linear, left top, left bottom, color-stop(20%, rgba(0, 0, 0, 0)), color-stop(40%, #000), color-stop(60%, #000), color-stop(80%, rgba(0, 0, 0, 0)));
  -webkit-mask-image: linear-gradient(to bottom, rgba(0, 0, 0, 0) 20%, #000 40%, #000 60%, rgba(0, 0, 0, 0) 80%);
          mask-image: -webkit-gradient(linear, left top, left bottom, color-stop(20%, rgba(0, 0, 0, 0)), color-stop(40%, #000), color-stop(60%, #000), color-stop(80%, rgba(0, 0, 0, 0)));
          mask-image: linear-gradient(to bottom, rgba(0, 0, 0, 0) 20%, #000 40%, #000 60%, rgba(0, 0, 0, 0) 80%);
  -webkit-mask-size: 100% 500%;
          mask-size: 100% 500%;
  -webkit-mask-position: 0% 50%;
          mask-position: 0% 50%;
  -webkit-transition: opacity var(--transition-duration) ease, display var(--transition-duration) ease allow-discrete, -webkit-mask-position var(--transition-duration);
  transition: opacity var(--transition-duration) ease, display var(--transition-duration) ease allow-discrete, -webkit-mask-position var(--transition-duration);
  transition: opacity var(--transition-duration) ease, mask-position var(--transition-duration), display var(--transition-duration) ease allow-discrete;
  transition: opacity var(--transition-duration) ease, mask-position var(--transition-duration), display var(--transition-duration) ease allow-discrete, -webkit-mask-position var(--transition-duration);
}
@starting-style {
  .loading-screen.is-transition {
    opacity: 0;
    -webkit-mask-position: 0% 0%;
            mask-position: 0% 0%;
  }
}
.loading-screen.is-transition.hide-screen {
  -webkit-mask-position: 0% 100%;
          mask-position: 0% 100%;
  pointer-events: none;
  display: none;
  opacity: 0;
}
@starting-style {
  .loading-screen.is-transition.hide-screen {
    opacity: 1;
    -webkit-mask-position: 0% 50%;
            mask-position: 0% 50%;
  }
}
.loading-screen img {
  position: absolute;
  top: 0%;
  left: 0%;
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
  -webkit-animation: loadingTransitionImg 30s ease-out;
          animation: loadingTransitionImg 30s ease-out;
}

/** 
 * Link Effect
 */
@-webkit-keyframes link-bubble {
  from {
    -webkit-transform: scale(0);
            transform: scale(0);
    opacity: 1;
    -webkit-filter: blur(0);
            filter: blur(0);
  }
  to {
    -webkit-transform: scale(1) translateY(calc(var(--life-time) * 1px * -0.1));
            transform: scale(1) translateY(calc(var(--life-time) * 1px * -0.1));
    opacity: 0;
    -webkit-filter: blur(2px);
            filter: blur(2px);
  }
}
@keyframes link-bubble {
  from {
    -webkit-transform: scale(0);
            transform: scale(0);
    opacity: 1;
    -webkit-filter: blur(0);
            filter: blur(0);
  }
  to {
    -webkit-transform: scale(1) translateY(calc(var(--life-time) * 1px * -0.1));
            transform: scale(1) translateY(calc(var(--life-time) * 1px * -0.1));
    opacity: 0;
    -webkit-filter: blur(2px);
            filter: blur(2px);
  }
}
.link-bubble {
  position: fixed;
  z-index: 10001;
  top: 0;
  left: 0;
  aspect-ratio: 1/1;
  border-radius: 100vmax;
  --size: 3rem;
  --life-time: var(--transition-duration);
  width: var(--size);
  height: var(--size);
  -webkit-transform: translate(-50%, -50%);
          transform: translate(-50%, -50%);
  border: 1px solid var(--color-white);
  pointer-events: none;
  -webkit-animation: link-bubble calc(var(--life-time) * 1ms) var(--ease-out-quad) forwards;
          animation: link-bubble calc(var(--life-time) * 1ms) var(--ease-out-quad) forwards;
  top: 0;
  left: 0;
}

/**
 * Util classes
 */
@media (max-width: 991px) {
  .lt-pc {
    display: none !important;
  }
}

@media (min-width: 992px) {
  .st-pc {
    display: none !important;
  }
}

@media (min-width: 992px) {
  .only-tablet {
    display: none !important;
  }
}
@media (max-width: 767px) and (orientation: portrait) {
  .only-tablet {
    display: none !important;
  }
}

@media (min-width: 768px) or (orientation: landscape) {
  .st-sp {
    display: none !important;
  }
}

@media (max-width: 767px) and (orientation: portrait) {
  .lt-sp {
    display: none !important;
  }
}

@media (min-width: 351px) {
  .xs-mobile {
    display: none !important;
  }
}

.sr-only {
  position: absolute !important;
  width: 1px !important;
  height: 1px !important;
  padding: 0 !important;
  margin: -1px !important;
  overflow: hidden !important;
  clip: rect(0, 0, 0, 0) !important;
  white-space: nowrap !important;
  border: 0 !important;
}

.double-dash {
  display: inline-block;
  text-align: center;
  letter-spacing: -0.01em;
  padding: 0 0.2em;
}

/**
 * Brand Site - header
*/
.site-header__logo {
  position: absolute;
  display: block;
  width: min(20rem, 40vw);
  height: auto;
  aspect-ratio: 200/65.5;
  top: var(--item-vertical-margin);
  left: calc(50% - min(20rem, 40vw) / 2);
  z-index: 10;
  margin: 0;
  --change-dur: 0.6s;
}
@media (max-width: 767px) and (orientation: portrait) {
  .site-header__logo {
    width: min(200px, 40vw);
    left: calc(50% - min(200px, 40vw) / 2);
    top: min(var(--item-vertical-margin) * 1, 130px);
  }
}
.site-header__logo img {
  display: block;
  width: 100%;
  height: 100%;
  -o-object-fit: contain;
     object-fit: contain;
  -webkit-transition: opacity var(--change-dur), -webkit-filter var(--change-dur);
  transition: opacity var(--change-dur), -webkit-filter var(--change-dur);
  transition: opacity var(--change-dur), filter var(--change-dur);
  transition: opacity var(--change-dur), filter var(--change-dur), -webkit-filter var(--change-dur);
  will-change: opacity, filter;
  opacity: 1;
  -webkit-filter: blur(0px);
          filter: blur(0px);
}
.site-header__logo::after {
  content: "";
  display: block;
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background-image: url(../images/logo-type-bk.svg);
  background-size: contain;
  background-repeat: no-repeat;
  background-position: center;
  opacity: 0;
  -webkit-filter: blur(2px);
          filter: blur(2px);
  -webkit-transition: opacity var(--change-dur), -webkit-filter var(--change-dur);
  transition: opacity var(--change-dur), -webkit-filter var(--change-dur);
  transition: opacity var(--change-dur), filter var(--change-dur);
  transition: opacity var(--change-dur), filter var(--change-dur), -webkit-filter var(--change-dur);
  will-change: opacity, filter;
  z-index: 0;
  pointer-events: none;
}
.site-header__logo.invert-color img {
  opacity: 0;
  -webkit-filter: blur(2px);
          filter: blur(2px);
}
.site-header__logo.invert-color::after {
  opacity: 1;
  -webkit-filter: blur(0px);
          filter: blur(0px);
}
.site-header__logo a {
  display: block;
}
@media (hover: hover) and (pointer: fine) {
  .site-header__logo a {
    -webkit-transition: opacity 0.3s;
    transition: opacity 0.3s;
  }
  .site-header__logo a:hover {
    opacity: 0.8;
  }
}

/**
 * main-control
 */
.main-control {
  color: var(--color-white);
  font-family: var(--font-sans);
  font-size: var(--fz-ps);
  letter-spacing: var(--ls-sans);
  -webkit-transition: color 0.3s;
  transition: color 0.3s;
}
.main-control a,
.main-control button,
.main-control .separator {
  text-decoration: none;
  color: var(--color-white);
  -webkit-transition: color 0.3s, background-color 0.3s, opacity 0.2s, visibility 0.2s allow-discrete;
  transition: color 0.3s, background-color 0.3s, opacity 0.2s, visibility 0.2s allow-discrete;
}
.main-control__top {
  position: fixed;
  top: calc(var(--item-vertical-margin) - 1rem);
  right: var(--item-horizontal-margin);
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: end;
      -ms-flex-pack: end;
          justify-content: flex-end;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  gap: 1.8rem;
  z-index: 1000;
  -webkit-transition: opacity 0.2s, visibility 0.2s allow-discrete;
  transition: opacity 0.2s, visibility 0.2s allow-discrete;
  visibility: visible;
  opacity: 1;
}
@media (max-width: 767px) and (orientation: portrait) {
  .main-control__top {
    top: 1rem;
    right: 0.5rem;
    gap: 0.6rem;
  }
}
@starting-style {
  .main-control__top {
    opacity: 0;
  }
}
.main-control__top .separator {
  display: block;
  width: 1px;
  height: 0.9em;
  background-color: currentColor;
  position: relative;
  top: 0;
}
.main-control__top a {
  display: block;
  position: relative;
}
@media (hover: hover) and (pointer: fine) {
  .main-control__top a:not(.is-disabled) {
    --hover-duration: 0.5s;
  }
  .main-control__top a:not(.is-disabled)::after {
    content: "";
    display: block;
    position: absolute;
    bottom: 0.2em;
    left: 0;
    width: 100%;
    height: 1px;
    background-color: currentColor;
    -webkit-transform: scaleX(0.9);
            transform: scaleX(0.9);
    opacity: 0;
    -webkit-transition: opacity var(--hover-duration), -webkit-transform var(--ease-out-quart) var(--hover-duration);
    transition: opacity var(--hover-duration), -webkit-transform var(--ease-out-quart) var(--hover-duration);
    transition: transform var(--ease-out-quart) var(--hover-duration), opacity var(--hover-duration);
    transition: transform var(--ease-out-quart) var(--hover-duration), opacity var(--hover-duration), -webkit-transform var(--ease-out-quart) var(--hover-duration);
  }
  .main-control__top a:not(.is-disabled):hover::after {
    -webkit-transform: scaleX(1);
            transform: scaleX(1);
    opacity: 0.5;
  }
}
.main-control__top a.is-disabled {
  cursor: not-allowed;
}
@media (max-width: 767px) and (orientation: portrait) {
  .main-control__top a.is-disabled {
    opacity: 0.5;
  }
}
.drawer-menu-open .main-control__top {
  color: var(--color-white) !important;
}
.drawer-menu-open .main-control__top a,
.drawer-menu-open .main-control__top button {
  color: var(--color-white) !important;
}
.drawer-menu-open .main-control__top .separator {
  background-color: var(--color-white) !important;
}
.main-control__top.hide-temporally {
  visibility: hidden;
  pointer-events: none;
  opacity: 0;
}
@starting-style {
  .main-control__top.hide-temporally {
    opacity: 1;
  }
}
.main-control__menu {
  --size: 3.6rem;
  --button-size: 5rem;
  -webkit-appearance: none;
     -moz-appearance: none;
          appearance: none;
  border: none;
  border-radius: 0;
  padding: 0;
  background-color: rgba(255, 255, 255, 0);
  position: fixed;
  z-index: 1000;
  height: var(--button-size);
  width: var(--button-size);
  top: calc(50dvh - var(--button-size) / 2);
  right: calc(var(--item-horizontal-margin) - (var(--button-size) - var(--size)) / 2);
  --dur: 0.4s;
  cursor: pointer;
}
.main-control__menu .text {
  font-size: 0;
}
.main-control__menu::before, .main-control__menu::after {
  content: "";
  background-color: currentColor;
  position: absolute;
  left: calc(var(--button-size) / 2 - var(--size) / 2);
  width: var(--size);
  height: 1px;
  -webkit-transition: top var(--ease-out-quart) var(--dur) var(--dur), -webkit-transform var(--ease-out-quart) var(--dur);
  transition: top var(--ease-out-quart) var(--dur) var(--dur), -webkit-transform var(--ease-out-quart) var(--dur);
  transition: top var(--ease-out-quart) var(--dur) var(--dur), transform var(--ease-out-quart) var(--dur);
  transition: top var(--ease-out-quart) var(--dur) var(--dur), transform var(--ease-out-quart) var(--dur), -webkit-transform var(--ease-out-quart) var(--dur);
  will-change: transform, top;
}
.main-control__menu::before {
  top: calc(50% - 0.45rem - 0.5px);
}
.main-control__menu::after {
  top: calc(50% + 0.45rem - 0.5px);
}
@media (hover: hover) and (pointer: fine) {
  .main-control__menu:hover::before {
    -webkit-transform: translateX(0.5rem);
            transform: translateX(0.5rem);
  }
  .main-control__menu:hover::after {
    -webkit-transform: translateX(-0.5rem);
            transform: translateX(-0.5rem);
  }
  .drawer-menu-open .main-control__menu:hover::before {
    -webkit-transform: rotate(calc(var(--open-degree) * 0.75)) translateX(0);
            transform: rotate(calc(var(--open-degree) * 0.75)) translateX(0);
    -webkit-transition-delay: 0ms;
            transition-delay: 0ms;
  }
  .drawer-menu-open .main-control__menu:hover::after {
    -webkit-transform: rotate(calc(var(--open-degree) * -0.75)) translateX(0);
            transform: rotate(calc(var(--open-degree) * -0.75)) translateX(0);
    -webkit-transition-delay: 0ms;
            transition-delay: 0ms;
  }
}
.main-control__menu.hide-temporally {
  visibility: hidden;
  pointer-events: none;
  opacity: 0;
}
@starting-style {
  .main-control__menu.hide-temporally {
    opacity: 1;
  }
}
.drawer-menu-open .main-control__menu {
  --open-degree: 20deg;
  color: var(--color-white) !important;
}
.drawer-menu-open .main-control__menu.hide-temporally {
  visibility: visible;
  pointer-events: auto;
  opacity: 1;
}
@starting-style {
  .drawer-menu-open .main-control__menu.hide-temporally {
    opacity: 0;
  }
}
.drawer-menu-open .main-control__menu::before, .drawer-menu-open .main-control__menu::after {
  -webkit-transition: top var(--ease-out-quart) var(--dur), left var(--ease-out-quart) var(--dur), -webkit-transform var(--ease-out-quart) var(--dur) var(--dur);
  transition: top var(--ease-out-quart) var(--dur), left var(--ease-out-quart) var(--dur), -webkit-transform var(--ease-out-quart) var(--dur) var(--dur);
  transition: top var(--ease-out-quart) var(--dur), transform var(--ease-out-quart) var(--dur) var(--dur), left var(--ease-out-quart) var(--dur);
  transition: top var(--ease-out-quart) var(--dur), transform var(--ease-out-quart) var(--dur) var(--dur), left var(--ease-out-quart) var(--dur), -webkit-transform var(--ease-out-quart) var(--dur) var(--dur);
}
.drawer-menu-open .main-control__menu::before {
  -webkit-transform: rotate(calc(var(--open-degree) * 1));
          transform: rotate(calc(var(--open-degree) * 1));
  top: calc(50% - 0.5px);
}
.drawer-menu-open .main-control__menu::after {
  -webkit-transform: rotate(calc(var(--open-degree) * -1));
          transform: rotate(calc(var(--open-degree) * -1));
  top: calc(50% - 0.5px);
}
.simple-page-header .main-control__menu {
  position: absolute;
  top: -3rem;
  right: 0;
  z-index: 0;
}
@media (hover: hover) and (pointer: fine) {
  .simple-page-header .main-control__menu {
    -webkit-transition: background-color 0.3s, color 0.3s;
    transition: background-color 0.3s, color 0.3s;
  }
}
@media (max-width: 767px) and (orientation: portrait) {
  .simple-page-header .main-control__menu {
    display: none;
  }
}
.main-control__bottom {
  --pad: 1rem;
  position: fixed;
  bottom: calc(var(--item-vertical-margin) - var(--pad));
  right: calc(var(--item-horizontal-margin) - var(--pad));
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: end;
      -ms-flex-pack: end;
          justify-content: flex-end;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  gap: 1em;
  z-index: 1000;
  -webkit-transition: opacity 0.2s, visibility 0.2s allow-discrete;
  transition: opacity 0.2s, visibility 0.2s allow-discrete;
  visibility: visible;
  opacity: 1;
}
@media (max-width: 767px) and (orientation: portrait) {
  .main-control__bottom {
    bottom: var(--item-horizontal-margin);
  }
}
.main-control__bottom.hide-temporally {
  visibility: hidden;
  pointer-events: none;
  opacity: 0;
}
@starting-style {
  .main-control__bottom.hide-temporally {
    opacity: 1;
  }
}
.main-control__bottom .ig {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  padding: var(--pad);
  color: currentColor;
}
.main-control__bottom .ig .text {
  font-size: 0;
  position: absolute;
}
.main-control__bottom .ig .icon {
  display: block;
  width: 2.3rem;
  height: auto;
  aspect-ratio: 1/1;
  color: currentColor;
}
@media (hover: hover) and (pointer: fine) {
  .main-control__bottom .ig:hover {
    opacity: 0.5;
  }
}
.main-control__bottom .ig.hide-temporally {
  visibility: hidden;
  pointer-events: none;
  -webkit-transition: background-color 0.3s, color 0.3s, opacity 0.3s;
  transition: background-color 0.3s, color 0.3s, opacity 0.3s;
  opacity: 0;
}
.drawer-menu-open .main-control__bottom .ig {
  color: var(--color-white) !important;
}
.drawer-menu-open .main-control__bottom .ig.hide-temporally {
  visibility: visible;
  pointer-events: auto;
  opacity: 1;
}
@starting-style {
  .drawer-menu-open .main-control__bottom .ig.hide-temporally {
    opacity: 0;
  }
}
.main-control__top.invert-color, .main-control__menu.invert-color, .main-control__bottom.invert-color {
  color: var(--color-black);
}
.main-control__top.invert-color a,
.main-control__top.invert-color button, .main-control__menu.invert-color a,
.main-control__menu.invert-color button, .main-control__bottom.invert-color a,
.main-control__bottom.invert-color button {
  color: var(--color-black);
}
.main-control__top.invert-color .separator, .main-control__menu.invert-color .separator, .main-control__bottom.invert-color .separator {
  background-color: var(--color-border);
}

@-webkit-keyframes audioSound {
  0% {
    opacity: 0;
    -webkit-transform: translateX(0) scaleY(1.5);
            transform: translateX(0) scaleY(1.5);
  }
  15% {
    opacity: 0.8;
  }
  85% {
    opacity: 0.4;
  }
  100% {
    opacity: 0;
    -webkit-transform: translateX(0.8rem) scaleY(2.5);
            transform: translateX(0.8rem) scaleY(2.5);
  }
}

@keyframes audioSound {
  0% {
    opacity: 0;
    -webkit-transform: translateX(0) scaleY(1.5);
            transform: translateX(0) scaleY(1.5);
  }
  15% {
    opacity: 0.8;
  }
  85% {
    opacity: 0.4;
  }
  100% {
    opacity: 0;
    -webkit-transform: translateX(0.8rem) scaleY(2.5);
            transform: translateX(0.8rem) scaleY(2.5);
  }
}
.audio-control__button {
  font-size: 0;
  padding: 0;
  margin: 0 0 0 -0.9rem;
  width: 4rem;
  height: 4rem;
  position: relative;
  background: none;
  border: none;
  -webkit-appearance: none;
     -moz-appearance: none;
          appearance: none;
  border-radius: 0;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  cursor: pointer;
}
.audio-control__button .icon {
  display: block;
  position: absolute;
  top: 25%;
  left: 25%;
  width: 50%;
  height: 50%;
  -webkit-transition: -webkit-transform var(--ease-out-quart) 0.6s;
  transition: -webkit-transform var(--ease-out-quart) 0.6s;
  transition: transform var(--ease-out-quart) 0.6s;
  transition: transform var(--ease-out-quart) 0.6s, -webkit-transform var(--ease-out-quart) 0.6s;
  -webkit-transform: translateX(0rem);
          transform: translateX(0rem);
}
.audio-control__button.is-playing::before, .audio-control__button.is-playing::after {
  content: "";
  position: absolute;
  top: calc(50% - 0.4rem);
  left: calc(50% - 0.2rem);
  width: 0.8rem;
  height: 0.8rem;
  border-style: solid;
  border-width: 0 1px 0 0;
  border-color: currentColor;
  border-radius: 100vmax;
  -webkit-animation: audioSound 1.2s infinite;
          animation: audioSound 1.2s infinite;
  opacity: 0;
}
.audio-control__button.is-playing::after {
  -webkit-animation-delay: 0.5s;
          animation-delay: 0.5s;
}
.audio-control__button.is-playing .icon {
  -webkit-transform: translateX(-0.4rem);
          transform: translateX(-0.4rem);
}
@media (hover: hover) and (pointer: fine) {
  .audio-control__button:hover .icon {
    -webkit-transform: translateX(-0.2rem);
            transform: translateX(-0.2rem);
  }
  .audio-control__button.is-playing:hover .icon {
    -webkit-transform: translateX(-0.6rem);
            transform: translateX(-0.6rem);
  }
}

.bogo-language-switcher {
  font-family: var(--font-sans);
  margin: 0;
  padding: 0 0 0 0.3rem;
}
.en-US .bogo-language-switcher .en-US {
  display: none !important;
}
.ja .bogo-language-switcher .ja {
  display: none !important;
}
.bogo-language-switcher .bogoflags {
  display: none !important;
}
.bogo-language-switcher .bogo-language-name:not(:has(a)) {
  opacity: 0.5;
  cursor: not-allowed;
}
@media (max-width: 767px) and (orientation: portrait) {
  .bogo-language-switcher .ja a {
    font-size: 0;
  }
  .bogo-language-switcher .ja a::before {
    content: "Jpn";
    font-size: var(--fz-ps);
    display: block;
  }
  .bogo-language-switcher .en-US a, .bogo-language-switcher .en-US .bogo-language-name:not(:has(a)) {
    font-size: 0;
  }
  .bogo-language-switcher .en-US a::before, .bogo-language-switcher .en-US .bogo-language-name:not(:has(a))::before {
    content: "Eng";
    font-size: var(--fz-ps);
    display: block;
  }
}

.main-navigation {
  position: fixed;
  z-index: 999;
  top: 0;
  width: 100%;
  right: 0;
  height: 100%;
  color: var(--color-white);
  --en-width: min(15.85rem, 40vw);
  -webkit-transition: backdrop-filter 0.6s ease, visibility 0.6s ease allow-discrete;
  transition: backdrop-filter 0.6s ease, visibility 0.6s ease allow-discrete;
  pointer-events: none;
  overflow: hidden;
}
@media (max-width: 991px) {
  .main-navigation {
    --en-width: 19rem;
  }
}
@media (max-width: 767px) and (orientation: portrait) {
  .main-navigation {
    --en-width: 15rem;
  }
}
@media (max-height: 500px) and (max-width: 900px) and (orientation: landscape) {
  .main-navigation {
    --en-width: 33svh ;
  }
}
.drawer-menu-open .main-navigation {
  visibility: visible;
  backdrop-filter: blur(1px) brightness(0.75);
  pointer-events: auto;
}
.drawer-menu-open .main-navigation .main-navigation__content {
  opacity: 1;
  -webkit-transform: translateX(0);
          transform: translateX(0);
}
.drawer-menu-open .main-navigation .main-navigation__logo {
  opacity: 1;
  -webkit-transform: translateY(0px);
          transform: translateY(0px);
  -webkit-filter: blur(0px);
          filter: blur(0px);
  -webkit-transition-delay: 0.3s;
          transition-delay: 0.3s;
}
.main-navigation a,
.main-navigation button {
  color: var(--color-white);
  text-decoration: none;
  cursor: pointer;
}
.main-navigation__content {
  margin-left: auto;
  background-color: var(--color-navy);
  height: 100%;
  width: clamp(50vw, 50rem, 100%);
  padding: var(--item-vertical-margin) calc(var(--item-horizontal-margin) * 2) var(--item-vertical-margin) var(--item-horizontal-margin);
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  -webkit-box-align: start;
      -ms-flex-align: start;
          align-items: flex-start;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  gap: min(2.4rem, 3vh);
  opacity: 0;
  -webkit-transform: translateX(1rem);
          transform: translateX(1rem);
  -webkit-transition: opacity 0.6s ease, -webkit-transform 0.6s var(--ease-out-quart);
  transition: opacity 0.6s ease, -webkit-transform 0.6s var(--ease-out-quart);
  transition: opacity 0.6s ease, transform 0.6s var(--ease-out-quart);
  transition: opacity 0.6s ease, transform 0.6s var(--ease-out-quart), -webkit-transform 0.6s var(--ease-out-quart);
}
@media (orientation: portrait) {
  .main-navigation__content {
    gap: 3lvh;
  }
}
@media (max-height: 500px) and (max-width: 900px) and (orientation: landscape) {
  .main-navigation__content {
    width: 100%;
    display: -ms-grid;
    display: grid;
    -ms-grid-columns: 3fr 6rem 5fr;
    grid-template-columns: 3fr 5fr;
    -ms-grid-rows: 1fr 2vh auto 2vh 1fr;
    grid-template-rows: 1fr auto 1fr;
    gap: 2vh 6rem;
  }
  .main-navigation__content > *:nth-child(1) {
    -ms-grid-row: 1;
    -ms-grid-column: 1;
  }
  .main-navigation__content > *:nth-child(2) {
    -ms-grid-row: 1;
    -ms-grid-column: 3;
  }
  .main-navigation__content > *:nth-child(3) {
    -ms-grid-row: 3;
    -ms-grid-column: 1;
  }
  .main-navigation__content > *:nth-child(4) {
    -ms-grid-row: 3;
    -ms-grid-column: 3;
  }
  .main-navigation__content > *:nth-child(5) {
    -ms-grid-row: 5;
    -ms-grid-column: 1;
  }
  .main-navigation__content > *:nth-child(6) {
    -ms-grid-row: 5;
    -ms-grid-column: 3;
  }
}
@media (max-width: 767px) and (orientation: portrait) {
  .main-navigation__content {
    width: 100%;
    padding-top: 15vw;
    padding-right: 5vw;
    padding-left: 5vw;
    padding-bottom: 10vw;
  }
}
.main-navigation__logo {
  padding-bottom: min(2rem, 1.9vh);
  opacity: 0;
  -webkit-transform: translateY(5px);
          transform: translateY(5px);
  margin-bottom: auto;
  -webkit-filter: blur(2px);
          filter: blur(2px);
  -webkit-transition: opacity 800ms ease, -webkit-transform 800ms var(--ease-out-quart), -webkit-filter 800ms ease;
  transition: opacity 800ms ease, -webkit-transform 800ms var(--ease-out-quart), -webkit-filter 800ms ease;
  transition: transform 800ms var(--ease-out-quart), opacity 800ms ease, filter 800ms ease;
  transition: transform 800ms var(--ease-out-quart), opacity 800ms ease, filter 800ms ease, -webkit-transform 800ms var(--ease-out-quart), -webkit-filter 800ms ease;
  will-change: transform, opacity, filter;
}
@media (max-height: 500px) and (max-width: 900px) and (orientation: landscape) {
  .main-navigation__logo {
    -ms-grid-column: 1;
    -ms-grid-column-span: 2;
    grid-column: 1/3;
  }
}
.main-navigation__logo svg {
  position: relative;
  display: block;
  width: min(10rem, 12.2vh);
  aspect-ratio: 1/1;
  top: -0.1rem;
  left: -0.4rem;
}
@media (max-width: 767px) and (orientation: portrait) {
  .main-navigation__logo svg {
    width: 20vw;
    top: 0;
    left: 0;
  }
}
.main-navigation__main, .main-navigation__sub {
  padding: 0;
  margin: 0;
  list-style: none;
  width: 100%;
}
.main-navigation__main a, .main-navigation__sub a {
  display: -ms-grid;
  display: grid;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  position: relative;
  width: -webkit-max-content;
  width: -moz-max-content;
  width: max-content;
  -ms-grid-columns: var(--en-width) auto;
  grid-template-columns: var(--en-width) auto;
}
.main-navigation__main a .en, .main-navigation__sub a .en {
  display: block;
  -ms-grid-column-align: start;
      justify-self: start;
  font-family: var(--font-sans);
}
.main-navigation__main a .jp, .main-navigation__sub a .jp {
  -ms-grid-column-align: start;
      justify-self: start;
}
@media (hover: hover) and (pointer: fine) {
  .main-navigation__main a:not(.is-disabled), .main-navigation__sub a:not(.is-disabled) {
    --hover-duration: 0.5s;
    -webkit-transition: -webkit-transform var(--ease-out-quart) var(--hover-duration);
    transition: -webkit-transform var(--ease-out-quart) var(--hover-duration);
    transition: transform var(--ease-out-quart) var(--hover-duration);
    transition: transform var(--ease-out-quart) var(--hover-duration), -webkit-transform var(--ease-out-quart) var(--hover-duration);
  }
  .main-navigation__main a:not(.is-disabled) span, .main-navigation__sub a:not(.is-disabled) span {
    position: relative;
  }
  .main-navigation__main a:not(.is-disabled) span::after, .main-navigation__sub a:not(.is-disabled) span::after {
    content: "";
    position: absolute;
    bottom: 2px;
    height: 1px;
    background-color: currentColor;
    left: 0;
    width: calc(100% + 4px);
    -webkit-transform: scaleX(0.95);
            transform: scaleX(0.95);
    opacity: 0;
    -webkit-transition: opacity var(--hover-duration), -webkit-transform var(--ease-out-quart) var(--hover-duration);
    transition: opacity var(--hover-duration), -webkit-transform var(--ease-out-quart) var(--hover-duration);
    transition: transform var(--ease-out-quart) var(--hover-duration), opacity var(--hover-duration);
    transition: transform var(--ease-out-quart) var(--hover-duration), opacity var(--hover-duration), -webkit-transform var(--ease-out-quart) var(--hover-duration);
    -webkit-transform-origin: left;
            transform-origin: left;
  }
  .main-navigation__main a:not(.is-disabled):hover, .main-navigation__sub a:not(.is-disabled):hover {
    -webkit-transform: translateX(2px);
            transform: translateX(2px);
  }
  .main-navigation__main a:not(.is-disabled):hover span::after, .main-navigation__sub a:not(.is-disabled):hover span::after {
    -webkit-transform: scaleX(1) translateX(-2px);
            transform: scaleX(1) translateX(-2px);
    opacity: 0.5;
  }
}
.main-navigation__main a.is-disabled, .main-navigation__sub a.is-disabled {
  cursor: not-allowed;
}
@media (max-width: 767px) and (orientation: portrait) {
  .main-navigation__main a.is-disabled, .main-navigation__sub a.is-disabled {
    opacity: 0.5;
  }
}
.main-navigation__main li, .main-navigation__sub li {
  -webkit-transform: translateY(10px);
          transform: translateY(10px);
  opacity: 0;
  -webkit-filter: blur(2px);
          filter: blur(2px);
  will-change: transform, opacity, filter;
  -webkit-transform-style: preserve-3d;
          transform-style: preserve-3d;
}
.main-navigation__main {
  --fz-unit: min(var(--fz-b) , 1.8svh);
}
@media (max-width: 767px) and (orientation: portrait) {
  .main-navigation__main {
    --fz-unit: min(14/400 * 100vw, var(--fz-b));
    --en-width: calc(140 / 400 * 100vw);
  }
}
@media (max-height: 500px) and (max-width: 900px) and (orientation: landscape) {
  .main-navigation__main {
    --fz-unit: 4svh;
  }
}
.main-navigation__main[lang=en-US], [lang=en-US] .main-navigation__main {
  --en-width: 100%;
}
@media (max-height: 500px) and (max-width: 900px) and (orientation: landscape) {
  .main-navigation__main--ec-links {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    grid-column: 1/-1;
    gap: 2rem;
  }
  .main-navigation__main--ec-links a {
    display: block;
  }
  .main-navigation__main--ec-links[lang=ja] .en, [lang=ja] .main-navigation__main--ec-links .en {
    display: none !important;
  }
}
.main-navigation__main a .en {
  font-size: var(--fz-unit);
  letter-spacing: var(--ls-sans);
  line-height: calc(var(--fz-unit) * 1.9);
}
@media (max-width: 991px) {
  .main-navigation__main a .en {
    font-size: var(--fz-l);
  }
}
@media (max-width: 767px) and (orientation: portrait) {
  .main-navigation__main a .en {
    font-size: min(3.5vw, var(--fz-b));
  }
}
.main-navigation__main a .jp {
  --offset: 0.3rem;
  font-family: var(--font-sans);
  font-size: min(var(--fz-unit) * 0.875 * 0.9);
  letter-spacing: var(--ls-sans);
  line-height: calc(var(--fz-unit) * 1.9 - var(--offset));
  padding-top: var(--offset);
}
@media (max-width: 991px) {
  .main-navigation__main a .jp {
    font-size: var(--fz-ps);
  }
}
@media (max-width: 767px) and (orientation: portrait) {
  .main-navigation__main a .jp {
    --offset: 0;
    font-size: min(2.75vw, var(--fz-s));
  }
}
@media (max-width: 991px) {
  .main-navigation__main li {
    margin-bottom: min(1rem, 0.25svh);
  }
}
.main-navigation__sub a .en {
  font-size: min(1.3rem, 1.3svh + 0.4rem);
  letter-spacing: var(--ls-sans);
}
@media (max-width: 991px) {
  .main-navigation__sub a .en {
    font-size: 1.3rem;
  }
}
.main-navigation__sub a .jp {
  font-size: min(var(--fz-s), 1.2svh + 0.4rem);
  font-family: var(--font-sans);
  letter-spacing: var(--ls-sans);
}
@media (max-width: 991px) {
  .main-navigation__sub a .jp {
    font-size: var(--fz-s);
  }
}
@media (max-width: 767px) and (orientation: portrait) {
  .main-navigation__sub a .jp {
    font-size: 1rem;
  }
}
.main-navigation__sub a .en,
.main-navigation__sub a .jp {
  line-height: calc(min(1.3rem, 1.3svh + 0.4rem) * 2);
}
@media (max-width: 991px) {
  .main-navigation__sub li {
    margin-bottom: 0;
  }
}
.main-navigation__switch {
  margin-top: auto;
  padding-top: min(3rem, 2.1vh);
  -webkit-transform: translateY(10px);
          transform: translateY(10px);
  opacity: 0;
  -webkit-filter: blur(2px);
          filter: blur(2px);
  will-change: transform, opacity, filter;
}
.main-navigation__switch a {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  width: -webkit-max-content;
  width: -moz-max-content;
  width: max-content;
  position: relative;
  gap: 1.8em;
}
.main-navigation__switch a .text {
  font-family: var(--font-sans);
  display: block;
  line-height: 1.5384615385;
  letter-spacing: var(--ls-sans);
  white-space: nowrap;
  font-size: min(2.6rem, 2.6vh + 0.5rem);
}
@media (max-width: 991px) {
  .main-navigation__switch a .text {
    font-size: var(--fz-xl);
  }
}
.main-navigation__switch a .icon {
  display: block;
  width: 3.23rem;
  height: auto;
}
@media (hover: hover) and (pointer: fine) {
  .main-navigation__switch a {
    --hover-duration: 0.6s;
  }
  .main-navigation__switch a::after {
    content: "";
    position: absolute;
    bottom: -8px;
    height: 1px;
    background-color: currentColor;
    left: 0;
    width: calc(100% + 8px);
    -webkit-transform: scaleX(0.95);
            transform: scaleX(0.95);
    opacity: 0;
    -webkit-transition: opacity var(--hover-duration), -webkit-transform var(--ease-out-quart) var(--hover-duration);
    transition: opacity var(--hover-duration), -webkit-transform var(--ease-out-quart) var(--hover-duration);
    transition: transform var(--ease-out-quart) var(--hover-duration), opacity var(--hover-duration);
    transition: transform var(--ease-out-quart) var(--hover-duration), opacity var(--hover-duration), -webkit-transform var(--ease-out-quart) var(--hover-duration);
    -webkit-transform-origin: left;
            transform-origin: left;
  }
  .main-navigation__switch a .text,
  .main-navigation__switch a .icon {
    -webkit-transition: var(--ease-out-quart) var(--hover-duration);
    transition: var(--ease-out-quart) var(--hover-duration);
  }
  .main-navigation__switch a .icon {
    -webkit-transition-delay: 0s;
            transition-delay: 0s;
  }
  .main-navigation__switch a:hover .text,
  .main-navigation__switch a:hover .icon {
    -webkit-transform: translateX(4px);
            transform: translateX(4px);
  }
  .main-navigation__switch a:hover .icon {
    -webkit-transition-delay: 0.05s;
            transition-delay: 0.05s;
    -webkit-transform: translateX(8px);
            transform: translateX(8px);
  }
  .main-navigation__switch a:hover::after {
    -webkit-transform: scaleX(1) translateX(-2px);
            transform: scaleX(1) translateX(-2px);
    opacity: 0.5;
  }
}

/**
 * COMMON - footer
*/
.site-footer {
  background-color: var(--color-navy);
  padding: var(--item-vertical-margin) calc(var(--item-horizontal-margin) + min(10rem, 9vw)) calc(var(--item-vertical-margin) - 0.3rem) var(--item-horizontal-margin);
  color: var(--color-white);
  position: relative;
  z-index: 100;
}
@media (max-width: 991px) {
  .site-footer {
    padding-right: var(--item-horizontal-margin);
  }
}
@media (max-width: 767px) and (orientation: portrait) {
  .site-footer {
    padding-left: 5vw;
    padding-right: 5vw;
    padding-top: 15vw;
    padding-bottom: 10vw;
  }
}
.site-footer a {
  color: var(--color-white);
  text-decoration: none;
}
.site-footer__content {
  display: -ms-grid;
  display: grid;
  -ms-grid-columns: clamp(100px, 12.4vw, 18rem) min(29.5rem, 30vw) 1fr auto;
  grid-template-columns: clamp(100px, 12.4vw, 18rem) min(29.5rem, 30vw) 1fr auto;
}
@media (max-width: 991px) {
  .site-footer__content {
    -ms-grid-columns: 21rem 2rem 4fr 2rem 6fr;
    grid-template-columns: 21rem 4fr 6fr;
    gap: 0 2rem;
  }
}
@media (max-height: 500px) and (max-width: 900px) and (orientation: landscape) {
  .site-footer__content {
    -ms-grid-columns: clamp(12rem, 15vw, 21rem) 4fr 6fr;
    grid-template-columns: clamp(12rem, 15vw, 21rem) 4fr 6fr;
  }
}
@media (max-width: 767px) and (orientation: portrait) {
  .site-footer__content {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
    gap: 2rem;
  }
}
.site-footer__logo {
  -ms-grid-column: 1;
  -ms-grid-column-span: 1;
  grid-column: 1/2;
  -ms-grid-row: 1;
  -ms-grid-row-span: 2;
  grid-row: 1/3;
  -ms-grid-row-align: start;
      align-self: start;
}
@media (hover: hover) and (pointer: fine) {
  .site-footer__logo {
    -webkit-transition: opacity 300ms;
    transition: opacity 300ms;
  }
  .site-footer__logo:hover {
    opacity: 0.8;
  }
}
@media (max-width: 767px) and (orientation: portrait) {
  .site-footer__logo {
    -webkit-box-ordinal-group: 2;
        -ms-flex-order: 1;
            order: 1;
    padding-bottom: 7.5vw;
    margin-left: -0.4rem;
  }
}
.site-footer__logo svg {
  position: relative;
  display: block;
  width: 10rem;
  aspect-ratio: 1/1;
  top: -0.5rem;
  left: -0.5rem;
}
@media (max-width: 767px) and (orientation: portrait) {
  .site-footer__logo svg {
    width: 20vw;
    top: 0;
    left: 0;
  }
}
.site-footer__main, .site-footer__ec-links {
  padding: 0;
  margin: 0;
  list-style: none;
  width: 100%;
}
.site-footer__main a, .site-footer__ec-links a {
  width: -webkit-max-content;
  width: -moz-max-content;
  width: max-content;
  position: relative;
  display: -ms-grid;
  display: grid;
  -ms-grid-columns: var(--en-width) auto;
  grid-template-columns: var(--en-width) auto;
}
.site-footer__main a .en, .site-footer__ec-links a .en {
  display: block;
  font-family: var(--font-sans);
  -ms-grid-column: 1;
  -ms-grid-column-span: 1;
  grid-column: 1/2;
  white-space: nowrap;
  -ms-grid-column-align: start;
      justify-self: start;
}
.site-footer__main a .jp, .site-footer__ec-links a .jp {
  -ms-grid-column: 2;
  -ms-grid-column-span: 1;
  grid-column: 2/3;
}
.site-footer__main {
  --en-width: 15rem;
  --offset: 0.1rem;
}
@media (max-width: 991px) {
  .site-footer__main {
    -ms-grid-row: 2;
    -ms-grid-row-span: 1;
    grid-row: 2/3;
  }
}
@media (max-width: 767px) and (orientation: portrait) {
  .site-footer__main {
    --en-width: calc(140 / 400 * 100vw);
    -webkit-box-ordinal-group: 3;
        -ms-flex-order: 2;
            order: 2;
  }
}
@media (hover: hover) and (pointer: fine) {
  .site-footer__main a {
    --hover-duration: 0.5s;
    -webkit-transition: -webkit-transform var(--ease-out-quart) var(--hover-duration);
    transition: -webkit-transform var(--ease-out-quart) var(--hover-duration);
    transition: transform var(--ease-out-quart) var(--hover-duration);
    transition: transform var(--ease-out-quart) var(--hover-duration), -webkit-transform var(--ease-out-quart) var(--hover-duration);
  }
  .site-footer__main a span {
    position: relative;
  }
  .site-footer__main a span::after {
    content: "";
    position: absolute;
    bottom: 2px;
    height: 1px;
    background-color: currentColor;
    left: 0;
    width: calc(100% + 4px);
    -webkit-transform: scaleX(0.95);
            transform: scaleX(0.95);
    opacity: 0;
    -webkit-transition: opacity var(--hover-duration), -webkit-transform var(--ease-out-quart) var(--hover-duration);
    transition: opacity var(--hover-duration), -webkit-transform var(--ease-out-quart) var(--hover-duration);
    transition: transform var(--ease-out-quart) var(--hover-duration), opacity var(--hover-duration);
    transition: transform var(--ease-out-quart) var(--hover-duration), opacity var(--hover-duration), -webkit-transform var(--ease-out-quart) var(--hover-duration);
    -webkit-transform-origin: left;
            transform-origin: left;
  }
  .site-footer__main a:hover {
    -webkit-transform: translateX(2px);
            transform: translateX(2px);
  }
  .site-footer__main a:hover span::after {
    -webkit-transform: scaleX(1) translateX(-2px);
            transform: scaleX(1) translateX(-2px);
    opacity: 0.5;
  }
}
.site-footer__main a .en {
  font-size: var(--fz-b);
  line-height: calc(var(--fz-l) * 1.9);
  letter-spacing: var(--ls-sans);
}
@media (max-width: 767px) and (orientation: portrait) {
  .site-footer__main a .en {
    font-size: min(3.5vw, var(--fz-b));
  }
}
.site-footer__main a .jp {
  font-family: var(--font-sans);
  font-size: var(--fz-s);
  line-height: calc(var(--fz-l) * 1.9 - var(--offset));
  letter-spacing: var(--ls-sans);
  padding-top: var(--offset);
}
@media (max-width: 767px) and (orientation: portrait) {
  .site-footer__main a .jp {
    font-size: min(2.75vw, var(--fz-s));
  }
}
.site-footer__main--col01 {
  -ms-grid-column: 2;
  -ms-grid-column-span: 1;
  grid-column: 2/3;
}
.site-footer__main--col02 {
  -ms-grid-column: 3;
  -ms-grid-column-span: 1;
  grid-column: 3/4;
}
.site-footer__ec-links {
  -ms-grid-column: 2;
  -ms-grid-column-span: 2;
  grid-column: 2/4;
  -ms-grid-row: 2;
  -ms-grid-row-span: 1;
  grid-row: 2/3;
  padding-top: 6rem;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  gap: 2.6rem;
}
@media (max-width: 991px) {
  .site-footer__ec-links {
    -ms-grid-row: 3;
    -ms-grid-row-span: 1;
    grid-row: 3/4;
  }
}
@media (max-width: 767px) and (orientation: portrait) {
  .site-footer__ec-links {
    padding-top: 0;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
    gap: 0.5rem;
    -webkit-box-ordinal-group: 5;
        -ms-flex-order: 4;
            order: 4;
    --offset: 0.1rem;
    --en-width: calc(140 / 400 * 100vw);
    padding-bottom: 2rem;
  }
}
.site-footer__ec-links a {
  position: relative;
}
@media (min-width: 768px) or (orientation: landscape) {
  .site-footer__ec-links a {
    font-size: var(--fz-s);
    font-family: var(--font-sans);
    letter-spacing: var(--ls-sans);
    line-height: 2.1666666667;
  }
}
@media (max-width: 767px) and (orientation: portrait) {
  .site-footer__ec-links a .en {
    font-size: min(3.5vw, var(--fz-b));
    line-height: calc(var(--fz-l) * 1.9);
    letter-spacing: var(--ls-sans);
  }
  .site-footer__ec-links a .jp {
    font-family: var(--font-sans);
    font-size: min(2.75vw, var(--fz-s));
    line-height: calc(var(--fz-l) * 1.9 - var(--offset));
    letter-spacing: var(--ls-sans);
    padding-top: var(--offset);
  }
}
@media (hover: hover) and (pointer: fine) {
  .site-footer__ec-links a:not(.is-disabled) {
    --hover-duration: 0.5s;
  }
  .site-footer__ec-links a:not(.is-disabled)::after {
    content: "";
    display: block;
    position: absolute;
    bottom: 0.2em;
    left: 0;
    width: 100%;
    height: 1px;
    background-color: currentColor;
    -webkit-transform: scaleX(0.9);
            transform: scaleX(0.9);
    opacity: 0;
    -webkit-transition: opacity var(--hover-duration), -webkit-transform var(--ease-out-quart) var(--hover-duration);
    transition: opacity var(--hover-duration), -webkit-transform var(--ease-out-quart) var(--hover-duration);
    transition: transform var(--ease-out-quart) var(--hover-duration), opacity var(--hover-duration);
    transition: transform var(--ease-out-quart) var(--hover-duration), opacity var(--hover-duration), -webkit-transform var(--ease-out-quart) var(--hover-duration);
  }
  .site-footer__ec-links a:not(.is-disabled):hover::after {
    -webkit-transform: scaleX(1);
            transform: scaleX(1);
    opacity: 0.5;
  }
}
.site-footer__ec-links a.is-disabled {
  cursor: not-allowed;
}
@media (max-width: 767px) and (orientation: portrait) {
  .site-footer__ec-links a.is-disabled {
    opacity: 0.5;
  }
}
.site-footer__switch {
  -ms-grid-row: 1;
  grid-row: 1;
  grid-column: -1;
  -ms-grid-row-align: start;
      align-self: start;
  -ms-grid-column-align: start;
      justify-self: start;
}
@media (max-width: 991px) {
  .site-footer__switch {
    -ms-grid-row: 1;
    -ms-grid-row-span: 1;
    grid-row: 1/2;
    grid-column: 2/-1;
    -ms-grid-column-align: end;
        justify-self: end;
    padding-bottom: 2rem;
  }
}
@media (max-width: 767px) and (orientation: portrait) {
  .site-footer__switch {
    -webkit-box-ordinal-group: 5;
        -ms-flex-order: 4;
            order: 4;
    padding: 1rem 0 0;
  }
}
.site-footer__switch a {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  width: -webkit-max-content;
  width: -moz-max-content;
  width: max-content;
  position: relative;
  gap: 1.8em;
  margin-top: calc((1em - 1lh) * 0.5);
}
.site-footer__switch a .text {
  font-family: var(--font-sans);
  display: block;
  line-height: 1.5384615385;
  letter-spacing: var(--ls-sans);
  white-space: nowrap;
  font-size: min(2.6rem, 2.6vh + 0.5rem);
}
@media (max-width: 991px) {
  .site-footer__switch a .text {
    font-size: var(--fz-xl);
  }
}
.site-footer__switch a .icon {
  display: block;
  width: 3.23rem;
  height: auto;
}
@media (hover: hover) and (pointer: fine) {
  .site-footer__switch a:not(.is-disabled) {
    --hover-duration: 0.6s;
  }
  .site-footer__switch a:not(.is-disabled)::after {
    content: "";
    position: absolute;
    bottom: -8px;
    height: 1px;
    background-color: currentColor;
    left: 0;
    width: calc(100% + 8px);
    -webkit-transform: scaleX(0.95);
            transform: scaleX(0.95);
    opacity: 0;
    -webkit-transition: opacity var(--hover-duration), -webkit-transform var(--ease-out-quart) var(--hover-duration);
    transition: opacity var(--hover-duration), -webkit-transform var(--ease-out-quart) var(--hover-duration);
    transition: transform var(--ease-out-quart) var(--hover-duration), opacity var(--hover-duration);
    transition: transform var(--ease-out-quart) var(--hover-duration), opacity var(--hover-duration), -webkit-transform var(--ease-out-quart) var(--hover-duration);
    -webkit-transform-origin: left;
            transform-origin: left;
  }
  .site-footer__switch a:not(.is-disabled) .text,
  .site-footer__switch a:not(.is-disabled) .icon {
    -webkit-transition: var(--ease-out-quart) var(--hover-duration);
    transition: var(--ease-out-quart) var(--hover-duration);
  }
  .site-footer__switch a:not(.is-disabled) .icon {
    -webkit-transition-delay: 0s;
            transition-delay: 0s;
  }
  .site-footer__switch a:not(.is-disabled):hover .text,
  .site-footer__switch a:not(.is-disabled):hover .icon {
    -webkit-transform: translateX(4px);
            transform: translateX(4px);
  }
  .site-footer__switch a:not(.is-disabled):hover .icon {
    -webkit-transition-delay: 0.05s;
            transition-delay: 0.05s;
    -webkit-transform: translateX(8px);
            transform: translateX(8px);
  }
  .site-footer__switch a:not(.is-disabled):hover::after {
    -webkit-transform: scaleX(1) translateX(-2px);
            transform: scaleX(1) translateX(-2px);
    opacity: 0.5;
  }
}
.site-footer__switch a.is-disabled {
  cursor: not-allowed;
}
@media (max-width: 767px) and (orientation: portrait) {
  .site-footer__switch a.is-disabled {
    opacity: 0.5;
  }
}
.site-footer__switch-note {
  font-family: var(--font-sans);
  font-size: var(--fz-p);
  letter-spacing: var(--ls-sans);
  line-height: 1.4;
  margin-top: 0.2rem;
}
@media (max-width: 767px) and (orientation: portrait) {
  .site-footer__switch-note {
    font-size: var(--fz-p);
  }
}
.site-footer__note {
  font-family: var(--font-sans);
  font-size: min(var(--fz-l2), 1.4vw);
  letter-spacing: var(--ls-sans);
  line-height: 1.6;
  grid-column: -1;
  -ms-grid-column: 2;
  -ms-grid-column-span: 4;
  grid-column: 2/6;
  -ms-grid-row: 4;
  -ms-grid-row-span: 1;
  grid-row: 4/5;
  -ms-grid-column-align: start;
      justify-self: start;
  padding-top: 2rem;
  word-break: keep-all;
}
@media (max-width: 767px) and (orientation: portrait) {
  .site-footer__note {
    font-size: var(--fz-p);
    word-break: break-all;
    -webkit-box-ordinal-group: 6;
        -ms-flex-order: 5;
            order: 5;
    padding-top: 25vw;
    padding-right: 25vw;
  }
}
.site-footer__note[lang=en-US], [lang=en-US] .site-footer__note {
  font-size: var(--fz-p);
}
.site-footer__arrow {
  width: 5.1rem;
  height: auto;
  aspect-ratio: 1/1;
  border-radius: 100vmax;
  border: 1px solid;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  position: absolute;
  right: calc(var(--item-horizontal-margin) - 1.5rem);
  bottom: calc(40% - 2.5rem);
}
@media (max-width: 767px) and (orientation: portrait) {
  .site-footer__arrow {
    width: 4rem;
    bottom: 22.5rem;
    right: calc(var(--item-horizontal-margin) - 1px);
  }
  .site-footer__arrow.ec-not-open {
    bottom: 22.5rem;
  }
}
.site-footer__arrow::before {
  content: "";
  display: block;
  width: 27%;
  height: 27%;
  border-top: 1px solid;
  border-right: 1px solid;
  -webkit-transform: rotate(135deg);
          transform: rotate(135deg);
  margin: 0 auto;
  margin-top: 30%;
  -webkit-transform: translateY(40%) rotate(-45deg);
          transform: translateY(40%) rotate(-45deg);
}
@media (hover: hover) and (pointer: fine) {
  .site-footer__arrow {
    -webkit-transition: -webkit-transform var(--ease-out-quart) 0.4s;
    transition: -webkit-transform var(--ease-out-quart) 0.4s;
    transition: transform var(--ease-out-quart) 0.4s;
    transition: transform var(--ease-out-quart) 0.4s, -webkit-transform var(--ease-out-quart) 0.4s;
  }
  .site-footer__arrow:hover {
    -webkit-transform: translateY(-5%);
            transform: translateY(-5%);
  }
}

/**
  * Form Parts
  */
.contact-form {
  --title-column-width: 18rem;
  width: 100%;
  max-width: 90rem;
  margin: 0 calc(var(--item-horizontal-margin) + 10rem) 0 auto;
  padding: 0 0 var(--item-vertical-margin);
  display: -ms-grid;
  display: grid;
  -ms-grid-columns: var(--title-column-width) 2rem auto;
  grid-template-columns: var(--title-column-width) auto;
  gap: 4rem 2rem;
  font-family: var(--font-sans);
  letter-spacing: var(--ls-sans);
  --input-height: 4.5rem;
}
.contact-form[lang=en-US], [lang=en-US] .contact-form {
  max-width: 103rem;
  --title-column-width: 31rem;
}
@media (max-width: 991px) {
  .contact-form {
    max-width: calc(100% - var(--item-horizontal-margin) * 2);
    width: calc(100% - var(--item-horizontal-margin) * 2);
    margin: 0 var(--item-horizontal-margin);
  }
}

.contact-form__success {
  padding: 1rem;
  margin-bottom: 1.5rem;
  background-color: #d4edda;
  border: 1px solid #c3e6cb;
  border-radius: 4px;
  color: #155724;
}

.contact-form__errors {
  padding: 1rem;
  margin-bottom: 1.5rem;
  background-color: #f8d7da;
  border: 1px solid #f5c6cb;
  border-radius: 4px;
  color: #721c24;
}

.contact-form__errors h3 {
  margin: 0 0 0.5rem 0;
  font-size: var(--fz-s);
  font-weight: 600;
}

.contact-form__errors ul {
  margin: 0;
  padding: 0 0 0 1rem;
}

.contact-form__fields {
  display: -ms-grid;
  display: grid;
  -ms-grid-columns: var(--title-column-width) 2rem auto;
  grid-template-columns: var(--title-column-width) auto;
  gap: 4rem 2rem;
  grid-column: 1/-1;
}
@media (max-width: 767px) and (orientation: portrait) {
  .contact-form__fields {
    gap: 0 1rem;
  }
}

.contact-form__field {
  display: contents;
}

.contact-form__label {
  font-weight: 500;
  font-size: var(--fz-p);
  color: #333;
  -ms-grid-column: 1;
  -ms-grid-column-span: 1;
  grid-column: 1/2;
  padding-top: calc((var(--input-height) - 1lh) * 0.5 + 0.2rem);
}
@media (max-width: 767px) and (orientation: portrait) {
  .contact-form__label {
    padding-top: 2rem;
  }
}

.required {
  color: #dc3545;
}

.contact-form__input,
.contact-form__textarea {
  margin: 0;
  padding: calc(1.5rem - (1lh - 1em) * 0.5) 2rem;
  border: none;
  border-radius: 0.6rem;
  -webkit-transition: border-color 0.2s ease;
  transition: border-color 0.2s ease;
  font-size: 1.5rem;
  line-height: 1.8;
  -ms-grid-column: 2;
  -ms-grid-column-span: 1;
  grid-column: 2/3;
  min-height: calc(var(--input-height));
  display: block;
  width: 100%;
  font-family: var(--font-form);
  font-weight: 400;
  font-optical-sizing: auto;
  font-style: normal;
}
@media (max-width: 767px) and (orientation: portrait) {
  .contact-form__input,
  .contact-form__textarea {
    font-size: 16px;
    grid-column: 1/-1;
  }
}
.contact-form__input--postal-code, .contact-form__input--region,
.contact-form__textarea--postal-code,
.contact-form__textarea--region {
  width: min(38rem, 50vw);
  max-width: 100%;
}
.contact-form__input::-webkit-input-placeholder, .contact-form__textarea::-webkit-input-placeholder {
  color: #B4B4B4;
}
.contact-form__input::-moz-placeholder, .contact-form__textarea::-moz-placeholder {
  color: #B4B4B4;
}
.contact-form__input:-ms-input-placeholder, .contact-form__textarea:-ms-input-placeholder {
  color: #B4B4B4;
}
.contact-form__input::-ms-input-placeholder, .contact-form__textarea::-ms-input-placeholder {
  color: #B4B4B4;
}
.contact-form__input::placeholder,
.contact-form__textarea::placeholder {
  color: #B4B4B4;
}
@media (max-width: 991px) {
  .contact-form__input,
  .contact-form__textarea {
    font-size: 16px;
  }
}
@media (max-width: 767px) and (orientation: portrait) {
  .contact-form__input--postal-code,
  .contact-form__textarea--postal-code {
    width: 40vw;
  }
  .contact-form__input--region,
  .contact-form__textarea--region {
    width: 100%;
  }
}

.wpcf7-form-control-wrap {
  display: block;
  -ms-grid-column: 2;
  -ms-grid-column-span: 1;
  grid-column: 2/3;
}
.wpcf7-form-control-wrap .wpcf7-not-valid-tip {
  margin-bottom: -0.5lh;
  font-size: var(--fz-s);
  letter-spacing: 0.04em;
}
@media (max-width: 767px) and (orientation: portrait) {
  .wpcf7-form-control-wrap {
    grid-column: 1/-1;
  }
}

.wpcf7 form .wpcf7-response-output {
  margin: 0;
  padding: 0;
  font-size: var(--fz-ps);
  color: #dc3232;
  border: none;
  margin-top: calc(1em - 1lh);
}

.contact-form__input:focus,
.contact-form__textarea:focus {
  outline: none;
  border-color: #007bff;
  -webkit-box-shadow: 0 0 0 2px rgba(0, 123, 255, 0.25);
          box-shadow: 0 0 0 2px rgba(0, 123, 255, 0.25);
}

.contact-form__textarea {
  resize: vertical;
  min-height: 37rem;
  font-size: 16px;
}

.contact-form__notation {
  font-size: var(--fz-s);
  line-height: 2;
  padding: 1rem 0 0;
  -ms-grid-column: 2;
  -ms-grid-column-span: 1;
  grid-column: 2/3;
}
@media (max-width: 767px) and (orientation: portrait) {
  .contact-form__notation {
    grid-column: 1/-1;
  }
}
.contact-form__notation p {
  font-size: inherit;
  line-height: inherit;
}

.contact-form__field-error {
  margin-top: 0.25rem;
  font-size: 0.875rem;
  color: #dc3545;
}

.wpcf7-response-output {
  -ms-grid-column: 2;
  -ms-grid-column-span: 1;
  grid-column: 2/3;
}
@media (max-width: 767px) and (orientation: portrait) {
  .wpcf7-response-output {
    grid-column: 1/-1;
  }
}

.wpcf7-not-valid-tip,
.wpcf7-response-output,
.wpcf7-not-valid-tip *,
.wpcf7-response-output * {
  font-family: var(--font-form) !important;
}

.contact-form__submit {
  text-align: center;
  -ms-grid-column: 2;
  -ms-grid-column-span: 1;
  grid-column: 2/3;
}
@media (max-width: 767px) and (orientation: portrait) {
  .contact-form__submit {
    grid-column: 1/-1;
  }
}

.wpcf7-turnstile:not(:empty) {
  margin: 0 0 0.5lh;
}

.contact-form__button {
  padding: 0.75rem 2rem;
  background-color: var(--color-navy);
  color: white;
  border: none;
  border-radius: 4px;
  font-size: var(--fz-ps);
  font-weight: 500;
  cursor: pointer;
  -webkit-transition: 0.3s ease;
  transition: 0.3s ease;
  height: 4.7rem;
  width: 100%;
  border-radius: 100vmax;
  border: 1px solid var(--color-navy);
}

.contact-form__button:hover {
  background-color: var(--color-white);
  color: var(--color-navy);
}

.contact-form__button:focus {
  outline: none;
  -webkit-box-shadow: 0 0 0 2px rgba(0, 123, 255, 0.5);
          box-shadow: 0 0 0 2px rgba(0, 123, 255, 0.5);
}

.postal-module {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: baseline;
      -ms-flex-align: baseline;
          align-items: baseline;
  gap: 2.7rem;
}
@media (max-width: 767px) and (orientation: portrait) {
  .postal-module {
    grid-column: 1/-1;
  }
  .postal-module ~ span {
    padding-top: 1rem;
  }
}
.postal-module .postal-module__apply {
  background: none;
  border: none;
  padding: 0;
  cursor: pointer;
  font: inherit;
  color: inherit;
  text-align: inherit;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  gap: 0.9rem;
}
.postal-module .postal-module__apply .arrow {
  --size: 2.6rem;
  width: var(--size);
  height: var(--size);
  border-radius: 100vmax;
  border: 1px solid var(--color-border);
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  -webkit-transition: -webkit-transform ease 0.3s;
  transition: -webkit-transform ease 0.3s;
  transition: transform ease 0.3s;
  transition: transform ease 0.3s, -webkit-transform ease 0.3s;
}
.postal-module .postal-module__apply .arrow::after {
  content: "";
  display: block;
  width: 25%;
  aspect-ratio: 1/1;
  border-style: solid;
  border-width: 0 1px 1px 0;
  border-color: var(--color-border);
  -webkit-transform: translateX(-10%) rotate(-45deg);
          transform: translateX(-10%) rotate(-45deg);
}
@media (hover: hover) and (pointer: fine) {
  .postal-module .postal-module__apply {
    -webkit-transition: opacity 0.4s;
    transition: opacity 0.4s;
  }
  .postal-module .postal-module__apply .text {
    -webkit-transition: -webkit-transform ease 0.3s;
    transition: -webkit-transform ease 0.3s;
    transition: transform ease 0.3s;
    transition: transform ease 0.3s, -webkit-transform ease 0.3s;
  }
  .postal-module .postal-module__apply:hover {
    opacity: 0.75;
  }
  .postal-module .postal-module__apply:hover .arrow {
    -webkit-transform: translateX(0.25rem);
            transform: translateX(0.25rem);
  }
  .postal-module .postal-module__apply:hover .text {
    -webkit-transform: translateX(0.1rem);
            transform: translateX(0.1rem);
  }
}

.option-group,
.quantity-wrapper {
  width: 100%;
  max-width: var(--form-parts-width);
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  margin-bottom: 2rem;
  border-bottom: 1px solid var(--color-border);
  font-size: var(--fz-l);
  line-height: 2.1rem;
  padding-bottom: 0.8rem;
  position: relative;
  -webkit-transition: padding-left 0.3s ease;
  transition: padding-left 0.3s ease;
}
.option-group label,
.quantity-wrapper label {
  font-size: var(--fz-p);
  margin-right: 1rem;
  padding-left: 0.8rem;
  width: 5em;
}
.option-group input[type=text],
.option-group select.product-option-select,
.quantity-wrapper input[type=text],
.quantity-wrapper select.product-option-select {
  -webkit-appearance: none;
     -moz-appearance: none;
          appearance: none;
  -webkit-box-flex: 1;
      -ms-flex-positive: 1;
          flex-grow: 1;
  -ms-flex-negative: 1;
      flex-shrink: 1;
  padding: 0.5rem;
  text-align: center;
  border: none;
  background: none;
  border-radius: 0;
  font-size: var(--fz-l);
  width: 100%;
}
.option-group select.product-option-select,
.quantity-wrapper select.product-option-select {
  padding-right: 3rem;
}
.option-group .quantity-controls,
.option-group .control-icon,
.quantity-wrapper .quantity-controls,
.quantity-wrapper .control-icon {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
}
.option-group .quantity-controls > span,
.option-group .quantity-controls button,
.option-group .control-icon > span,
.option-group .control-icon button,
.quantity-wrapper .quantity-controls > span,
.quantity-wrapper .quantity-controls button,
.quantity-wrapper .control-icon > span,
.quantity-wrapper .control-icon button {
  background: none;
  border: none;
  width: 2.5rem;
  height: var(--fz-b);
  padding: 0;
  cursor: pointer;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  position: relative;
}
.option-group .quantity-controls > span span,
.option-group .quantity-controls button span,
.option-group .control-icon > span span,
.option-group .control-icon button span,
.quantity-wrapper .quantity-controls > span span,
.quantity-wrapper .quantity-controls button span,
.quantity-wrapper .control-icon > span span,
.quantity-wrapper .control-icon button span {
  font-size: 0;
}
.option-group .quantity-controls > span::after,
.option-group .quantity-controls button::after,
.option-group .control-icon > span::after,
.option-group .control-icon button::after,
.quantity-wrapper .quantity-controls > span::after,
.quantity-wrapper .quantity-controls button::after,
.quantity-wrapper .control-icon > span::after,
.quantity-wrapper .control-icon button::after {
  content: "";
  position: absolute;
  border-style: solid;
  border-width: 1px 1px 0 0;
  border-color: var(--color-border);
  width: 0.85rem;
  height: 0.85rem;
  left: 30%;
}
.option-group .quantity-controls .control-icon__up,
.option-group .quantity-controls .quantity-increment,
.option-group .control-icon .control-icon__up,
.option-group .control-icon .quantity-increment,
.quantity-wrapper .quantity-controls .control-icon__up,
.quantity-wrapper .quantity-controls .quantity-increment,
.quantity-wrapper .control-icon .control-icon__up,
.quantity-wrapper .control-icon .quantity-increment {
  -webkit-box-pack: end;
      -ms-flex-pack: end;
          justify-content: flex-end;
}
.option-group .quantity-controls .control-icon__up::after,
.option-group .quantity-controls .quantity-increment::after,
.option-group .control-icon .control-icon__up::after,
.option-group .control-icon .quantity-increment::after,
.quantity-wrapper .quantity-controls .control-icon__up::after,
.quantity-wrapper .quantity-controls .quantity-increment::after,
.quantity-wrapper .control-icon .control-icon__up::after,
.quantity-wrapper .control-icon .quantity-increment::after {
  -webkit-transform: rotate(-45deg);
          transform: rotate(-45deg);
}
.option-group .quantity-controls .control-icon__down,
.option-group .quantity-controls .quantity-decrement,
.option-group .control-icon .control-icon__down,
.option-group .control-icon .quantity-decrement,
.quantity-wrapper .quantity-controls .control-icon__down,
.quantity-wrapper .quantity-controls .quantity-decrement,
.quantity-wrapper .control-icon .control-icon__down,
.quantity-wrapper .control-icon .quantity-decrement {
  -webkit-box-pack: start;
      -ms-flex-pack: start;
          justify-content: flex-start;
}
.option-group .quantity-controls .control-icon__down::after,
.option-group .quantity-controls .quantity-decrement::after,
.option-group .control-icon .control-icon__down::after,
.option-group .control-icon .quantity-decrement::after,
.quantity-wrapper .quantity-controls .control-icon__down::after,
.quantity-wrapper .quantity-controls .quantity-decrement::after,
.quantity-wrapper .control-icon .control-icon__down::after,
.quantity-wrapper .control-icon .quantity-decrement::after {
  -webkit-transform: rotate(135deg);
          transform: rotate(135deg);
}
.option-group .control-icon,
.quantity-wrapper .control-icon {
  position: absolute;
  top: 50%;
  right: 0;
  -webkit-transform: translateY(-50%);
          transform: translateY(-50%);
  pointer-events: none;
}
.option-group .quantity-update,
.quantity-wrapper .quantity-update {
  text-align: center;
  width: 4rem;
  white-space: nowrap;
  font-size: var(--fz-s);
  border: none;
  background: none;
  padding: 0.5rem 0.8rem;
  color: var(--color-navy);
  border: 1px solid var(--color-navy);
  border-radius: 0.4rem;
  margin: 0 0 0 1rem;
  cursor: pointer;
}
@media (hover: hover) and (pointer: fine) {
  .option-group .quantity-update,
  .quantity-wrapper .quantity-update {
    -webkit-transition: ease 300ms;
    transition: ease 300ms;
  }
  .option-group .quantity-update:hover,
  .quantity-wrapper .quantity-update:hover {
    background-color: var(--color-navy);
    color: var(--color-white);
  }
}
.option-group.quantity-changed,
.quantity-wrapper.quantity-changed {
  padding-left: 0.8rem;
}
.option-group.quantity-changed::before,
.quantity-wrapper.quantity-changed::before {
  content: "";
  position: absolute;
  top: 50%;
  left: 0;
  -webkit-transform: translateY(calc(-50% - 0.5rem));
          transform: translateY(calc(-50% - 0.5rem));
  width: 0.8rem;
  height: 0.8rem;
  border-radius: 100vmax;
  background-color: var(--color-caution);
}

.gift-option,
.cart-coupon {
  margin-top: 3rem;
  width: 100%;
  margin-bottom: 0;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
  border-bottom: none;
  padding-bottom: 0;
}
.gift-option .gift-option__label,
.gift-option .cart-coupon__label,
.cart-coupon .gift-option__label,
.cart-coupon .cart-coupon__label {
  display: block;
  width: 40%;
}
.gift-option .quantity-wrapper, .gift-option .gift-option__form-wrapper,
.cart-coupon .quantity-wrapper,
.gift-option .cart-coupon__form-wrapper,
.cart-coupon .gift-option__form-wrapper,
.cart-coupon .cart-coupon__form-wrapper {
  width: 60%;
  margin-bottom: 0;
}
.gift-option .gift-option__form[type=text],
.gift-option .cart-coupon__form[type=text],
.cart-coupon .gift-option__form[type=text],
.cart-coupon .cart-coupon__form[type=text] {
  border-bottom: 1px solid var(--color-border);
}
.gift-option .gift-option__form--text[type=text],
.gift-option .cart-coupon__form--text[type=text],
.cart-coupon .gift-option__form--text[type=text],
.cart-coupon .cart-coupon__form--text[type=text] {
  text-align: left;
}

.cart-coupon .cart-coupon__form-wrapper {
  position: relative;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
}
.cart-coupon .cart-coupon__form[type=text] {
  width: calc(100% - 10rem);
  text-align: left;
  font-size: var(--fz-s);
}
@media (max-width: 767px) and (orientation: portrait) {
  .cart-coupon .cart-coupon__form[type=text] {
    font-size: 16px;
  }
}
.cart-coupon .coupon-apply-button {
  text-align: center;
  width: 8rem;
  white-space: nowrap;
  font-size: var(--fz-s);
  border: none;
  background: none;
  padding: 0.5rem 0.8rem;
  color: var(--color-navy);
  border: 1px solid var(--color-navy);
  border-radius: 0.4rem;
  margin: 0 0 0 1rem;
  cursor: pointer;
}
@media (hover: hover) and (pointer: fine) {
  .cart-coupon .coupon-apply-button {
    -webkit-transition: ease 300ms;
    transition: ease 300ms;
  }
  .cart-coupon .coupon-apply-button:hover {
    background-color: var(--color-navy);
    color: var(--color-white);
  }
}

.buy-button,
.shopify-payment-button__button,
.checkout-button {
  margin: 2.5rem 0 0;
  background-color: var(--button-color);
  color: var(--button-text-color);
  width: 100%;
  max-width: var(--form-parts-width);
  height: 5rem;
  font-size: var(--fz-p);
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  border: 1px solid var(--button-border-color);
  cursor: pointer;
  border-radius: 100vmax;
  padding: 0.1em 0 0;
}
@media (hover: hover) and (pointer: fine) {
  .buy-button,
  .shopify-payment-button__button,
  .checkout-button {
    -webkit-transition: ease 300ms;
    transition: ease 300ms;
  }
  .buy-button:hover,
  .shopify-payment-button__button:hover,
  .checkout-button:hover {
    background-color: var(--button-text-color);
    color: var(--button-color);
  }
}

.sold-out-message-dummy-button {
  margin: 2.5rem 0 0;
  width: 100%;
  max-width: var(--form-parts-width);
  height: 5rem;
  font-size: var(--fz-p);
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  border: 1px solid var(--color-border);
  color: var(--color-border);
  border-radius: 100vmax;
  padding: 0.1em 0 0;
  opacity: 0.6;
  cursor: not-allowed;
}

.kvsample {
  vertical-align: bottom;
  width: 100%;
}

/**
 * People Archive Page Items
 */
.ppl-archive {
  background: #E3E3DD;
}
@media (min-width: 992px) {
  .ppl-archive .tblt {
    display: none !important;
  }
}
@media (max-width: 991px) {
  .ppl-archive .tblt {
    display: inline;
  }
}
.ppl-archive-container {
  padding: 0 var(--item-horizontal-margin) 0;
}
.ppl-archive-list {
  width: 100%;
  margin: 0;
  padding: 12rem 0 0;
}
@media (max-width: 767px) and (orientation: portrait) {
  .ppl-archive-list {
    padding: 4rem 0;
  }
}
.ppl-archive-list li {
  padding: var(--item-vertical-margin) 0;
}
.ppl-archive-list li:not(:last-child) {
  border-bottom: 1px solid #6C6C6C;
}
@media (max-width: 767px) and (orientation: portrait) {
  .ppl-archive-list li {
    padding: 8rem 0;
  }
}
.ppl-archive-list-item {
  display: -ms-grid;
  display: grid;
  -ms-grid-columns: 45rem 9rem 1fr;
  grid-template-columns: 45rem 1fr;
  gap: 9rem;
}
@media (max-width: 991px) {
  .ppl-archive-list-item {
    -ms-grid-columns: 1fr;
    grid-template-columns: 1fr;
  }
}
@media (max-width: 767px) and (orientation: portrait) {
  .ppl-archive-list-item {
    gap: 4rem;
  }
}
.ppl-archive-list-item .img {
  aspect-ratio: 45/57;
  margin-bottom: 0;
}
.ppl-archive-list-item .img img {
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
  vertical-align: bottom;
}
.ppl-archive-list-item .img a {
  display: block;
  overflow: hidden;
}
@media (hover: hover) and (pointer: fine) {
  .ppl-archive-list-item .img a img {
    -webkit-transition: -webkit-transform 1.2s var(--ease-out-quart);
    transition: -webkit-transform 1.2s var(--ease-out-quart);
    transition: transform 1.2s var(--ease-out-quart);
    transition: transform 1.2s var(--ease-out-quart), -webkit-transform 1.2s var(--ease-out-quart);
    will-change: transform;
  }
  .ppl-archive-list-item .img a:hover img {
    -webkit-transform: scale(1.05);
            transform: scale(1.05);
  }
}
.ppl-archive-list-item .cont {
  position: relative;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
  padding-right: min(22rem, 15vw);
  -webkit-box-flex: 1;
      -ms-flex-positive: 1;
          flex-grow: 1;
}
@media (max-width: 767px) and (orientation: portrait) {
  .ppl-archive-list-item .cont {
    padding-right: 3.5rem;
  }
}
.ppl-archive-list-item .cont[lang=en-US], [lang=en-US] .ppl-archive-list-item .cont {
  padding-right: min(18rem, 20vw);
}
.ppl-archive-list-item .cont-summary .no {
  position: absolute;
  right: 0;
  top: calc((1em - 1lh) / 2 + 0.2rem);
  font-family: var(--font-sans);
  font-size: var(--fz-l);
}
.ppl-archive-list-item .cont-summary .name-en {
  -webkit-writing-mode: vertical-lr;
      -ms-writing-mode: tb-lr;
          writing-mode: vertical-lr;
  font-family: var(--font-sans);
  font-size: 2.2rem;
  position: absolute;
  right: calc((1em - 1lh) / 2);
  top: 0;
  height: 100%;
  text-align: center;
}
@media (max-width: 767px) and (orientation: portrait) {
  .ppl-archive-list-item .cont-summary .name-en {
    font-size: var(--fz-l);
  }
}
.ppl-archive-list-item .cont-summary .position-en {
  font-size: var(--fz-b);
  font-family: var(--font-sans);
  line-height: 1.375;
  margin-bottom: 3.2rem;
  display: block;
}
@media (max-width: 991px) {
  .ppl-archive-list-item .cont-summary .ttl {
    margin-bottom: var(--item-vertical-margin);
  }
}
@media (max-width: 767px) and (orientation: portrait) {
  .ppl-archive-list-item .cont-summary .ttl {
    margin-bottom: 2lh;
  }
}
.ppl-archive-list-item .cont-summary .ttl .position {
  display: block;
  font-size: var(--fz-p);
  letter-spacing: var(--ls-sans);
  line-height: 1.375;
  margin-bottom: 1rem;
}
.ppl-archive-list-item .cont-summary .ttl .position[lang=en-US], [lang=en-US] .ppl-archive-list-item .cont-summary .ttl .position {
  font-size: var(--fz-p-eng);
  letter-spacing: var(--ls-p-eng);
}
.ppl-archive-list-item .cont-summary .ttl .name {
  display: block;
  font-size: var(--fz-xl);
  line-height: 1.375;
  letter-spacing: var(--ls-l);
  margin-bottom: 1.5lh;
}
.ppl-archive-list-item .cont-summary .ttl .name[lang=en-US], [lang=en-US] .ppl-archive-list-item .cont-summary .ttl .name {
  letter-spacing: var(--ls-l-eng);
}
.ppl-archive-list-item .cont-detail {
  display: block;
  max-width: 56rem;
}
.ppl-archive-list-item .cont-detail .catch {
  font-size: var(--fz-xl);
  letter-spacing: var(--ls-copy);
  line-height: 1.88;
}
.ppl-archive-list-item .cont-detail .catch[lang=en-US], [lang=en-US] .ppl-archive-list-item .cont-detail .catch {
  font-size: 2.2rem;
  line-height: 1.5909090909;
  letter-spacing: var(--ls-l-eng);
}
.ppl-archive-list-item .cont-detail .txt {
  margin-top: var(--fz-xl);
  font-size: var(--fz-ps);
  line-height: 2.15;
  font-family: var(--font-jp-gothic);
  letter-spacing: 0.1em;
}
.ppl-archive-list-item .cont-detail .txt[lang=en-US], [lang=en-US] .ppl-archive-list-item .cont-detail .txt {
  font-family: var(--font-serif);
  font-size: var(--fz-p-eng);
  letter-spacing: var(--ls-p-eng);
  line-height: 1.8823529412;
}
.ppl-archive-list-item .cont-detail .btn {
  margin-top: 4rem;
}

/**
 * People Single Page Items
 */
.ppl-single-container {
  padding: calc(var(--item-vertical-margin) + 13rem) var(--item-horizontal-margin) 0;
  position: relative;
}
@media (max-width: 767px) and (orientation: portrait) {
  .ppl-single-container {
    padding: calc(var(--item-vertical-margin) + 0rem) var(--item-horizontal-margin) 0;
    overflow: hidden;
  }
}
.ppl-single-head {
  padding-bottom: 15rem;
  border-bottom: 1px solid #6C6C6C;
}
@media (max-width: 767px) and (orientation: portrait) {
  .ppl-single-head {
    padding-bottom: var(--item-vertical-margin);
  }
}
.ppl-single-head .no {
  position: absolute;
  right: var(--item-horizontal-margin);
  top: var(--item-vertical-margin);
  font-family: var(--font-sans);
  font-size: var(--fz-l);
}
@media (max-width: 767px) and (orientation: portrait) {
  .ppl-single-head .no {
    top: calc(var(--item-vertical-margin) * 0.5);
  }
}
.ppl-single-head .ttl {
  margin: 0 0 calc((1em - 1lh) / 2) 0;
  text-align: center;
  font-size: var(--fz-xl);
  line-height: 1.88;
  letter-spacing: 0.17em;
}
.ppl-single-head .ttl[lang=en-US], [lang=en-US] .ppl-single-head .ttl {
  letter-spacing: var(--ls-l-eng);
}
.ppl-single-about {
  min-width: 43rem;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  -webkit-box-align: end;
      -ms-flex-align: end;
          align-items: flex-end;
  width: -webkit-fit-content;
  width: -moz-fit-content;
  width: fit-content;
  margin: 0 auto;
  padding-top: 16.5rem;
  padding-bottom: 14.5rem;
}
@media (max-width: 767px) and (orientation: portrait) {
  .ppl-single-about {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    width: 100%;
    min-width: auto;
    padding: 8rem 0;
  }
}
.ppl-single-about .ttl .position {
  display: block;
  font-size: var(--fz-b);
  letter-spacing: var(--ls-copy);
  line-height: 1.3;
  text-align: center;
}
.ppl-single-about .ttl .position[lang=en-US], [lang=en-US] .ppl-single-about .ttl .position {
  font-size: var(--fz-p-eng);
  letter-spacing: var(--ls-p-eng);
}
.ppl-single-about .ttl .name {
  text-align: center;
  display: block;
  font-size: var(--fz-xxl);
  line-height: 1.88;
  letter-spacing: 0.06em;
}
.ppl-single-about .ttl .name[lang=en-US], [lang=en-US] .ppl-single-about .ttl .name {
  letter-spacing: var(--ls-l-eng);
  font-size: 3rem;
}
@media (max-width: 767px) and (orientation: portrait) {
  .ppl-single-about .ttl .name[lang=en-US], [lang=en-US] .ppl-single-about .ttl .name {
    font-size: var(--fz-xxl);
  }
}
.ppl-single-about .x {
  font-size: var(--fz-xxl);
  line-height: 1.88;
  letter-spacing: 0.03em;
  margin: 0 auto 0.15em;
  font-family: var(--font-jp-mincho);
}
@media (max-width: 767px) and (orientation: portrait) {
  .ppl-single-about .x {
    margin: 0 auto 0.5em;
  }
}
.ppl-single-main-section {
  display: -ms-grid;
  display: grid;
  gap: 5.5rem 8rem;
}
@media (min-width: 992px) {
  .ppl-single-main-section {
    -ms-grid-columns: 1fr 1fr;
    grid-template-columns: 1fr 1fr;
    grid-auto-rows: auto 1fr;
    margin-bottom: calc(var(--data-extra-margin-bottom-pc, 0) * 0.1rem);
  }
}
@media (min-width: 992px) and (min-width: 1441px) {
  .ppl-single-main-section {
    -ms-grid-columns: 1fr 4rem 60rem 4rem 1fr 4rem 60rem 4rem 1fr;
    grid-template-columns: 1fr 60rem 1fr 60rem 1fr;
    gap: 5.5rem 4rem;
  }
}
@media (max-width: 991px) {
  .ppl-single-main-section {
    -ms-grid-columns: 1fr;
    grid-template-columns: 1fr;
  }
}
@media (max-width: 767px) and (orientation: portrait) {
  .ppl-single-main-section {
    gap: 4rem;
  }
}
.ppl-single-main-section:not(:last-child) {
  padding-bottom: 15.5rem;
}
@media (max-width: 767px) and (orientation: portrait) {
  .ppl-single-main-section:not(:last-child) {
    padding-bottom: 8rem;
  }
}
.ppl-single-main-section .ttl {
  font-size: var(--fz-l2);
  letter-spacing: var(--ls-l);
  line-height: 1.7;
}
@media (min-width: 992px) {
  .ppl-single-main-section .ttl {
    -ms-grid-column: 2;
    -ms-grid-column-span: 1;
    grid-column: 2/3;
    -ms-grid-row: 1;
    -ms-grid-row-span: 1;
    grid-row: 1/2;
  }
}
@media (min-width: 992px) and (min-width: 1441px) {
  .ppl-single-main-section .ttl {
    -ms-grid-column: 4;
    -ms-grid-column-span: 1;
    grid-column: 4/5;
  }
}
@media (min-width: 992px) {
  .ppl-single-main-section .txtbox {
    -ms-grid-column: 2;
    -ms-grid-column-span: 1;
    grid-column: 2/3;
    -ms-grid-row: 2;
    -ms-grid-row-span: 1;
    grid-row: 2/3;
  }
}
@media (min-width: 992px) and (min-width: 1441px) {
  .ppl-single-main-section .txtbox {
    -ms-grid-column: 4;
    -ms-grid-column-span: 1;
    grid-column: 4/5;
  }
}
.ppl-single-main-section .txtbox p {
  font-size: var(--fz-ps);
  line-height: 2.28;
  letter-spacing: var(--ls-p);
  -webkit-font-feature-settings: normal;
          font-feature-settings: normal;
}
.ppl-single-main-section .imgs {
  position: relative;
  margin-top: 1rem;
}
@media (min-width: 992px) {
  .ppl-single-main-section .imgs {
    -ms-grid-column: 1;
    -ms-grid-column-span: 1;
    grid-column: 1/2;
    -ms-grid-row: 2;
    -ms-grid-row-span: 1;
    grid-row: 2/3;
  }
}
@media (min-width: 992px) and (min-width: 1441px) {
  .ppl-single-main-section .imgs {
    -ms-grid-column: 2;
    -ms-grid-column-span: 1;
    grid-column: 2/3;
  }
}
.ppl-single-main-section .imgs .img {
  margin: 0;
  max-width: 100%;
  border-radius: 3px;
  overflow: hidden;
}
@media (min-width: 992px) {
  .ppl-single-main-section .imgs .img {
    width: calc(var(--data-width) * 0.1rem);
    top: calc(var(--data-top) * 0.1rem);
    margin: 0;
    padding: 0;
    position: absolute;
  }
}
@media (max-width: 991px) {
  .ppl-single-main-section .imgs .img {
    width: min(var(--data-width) * 0.2vw, 100%);
  }
}
@media (max-width: 767px) and (orientation: portrait) {
  .ppl-single-main-section .imgs .img {
    width: min(var(--data-width) * 0.15vw, 100%);
  }
}
.ppl-single-main-section .imgs .img img {
  vertical-align: bottom;
  width: 100%;
}
@media (max-width: 991px) {
  .ppl-single-main-section .imgs .img + .img {
    margin-top: 4rem;
  }
}
@media (min-width: 992px) {
  .ppl-single-main-section .imgs .img[style*="--data-position:left"] {
    left: 0;
  }
}
@media (max-width: 991px) {
  .ppl-single-main-section .imgs .img[style*="--data-position:left"] {
    margin-right: auto;
  }
}
@media (min-width: 992px) {
  .ppl-single-main-section .imgs .img[style*="--data-position:right"] {
    right: 0;
  }
}
@media (max-width: 991px) {
  .ppl-single-main-section .imgs .img[style*="--data-position:right"] {
    margin-left: auto;
  }
}
.ppl-single-main-section .imgs .img[style*="--data-position:center"] {
  margin-left: auto;
  margin-right: auto;
}
@media (min-width: 992px) {
  .ppl-single-main-section .imgs .img[style*="--data-position:center"] {
    left: 0;
    right: 0;
  }
}
@media (max-width: 767px) and (orientation: portrait) {
  .ppl-single-main-img {
    width: calc(100% + var(--item-horizontal-margin) * 2);
    margin-left: calc(var(--item-horizontal-margin) * -1);
  }
}
.ppl-single-main-img:not(:last-child) {
  padding-bottom: 15.5rem;
}
@media (max-width: 767px) and (orientation: portrait) {
  .ppl-single-main-img:not(:last-child) {
    padding-bottom: 8rem;
  }
}
.ppl-single-main-img figure {
  display: block;
  margin: 0;
  max-width: 100%;
}
.ppl-single-main-img img {
  display: block;
  width: 100%;
}
.ppl-single-profile {
  display: -ms-grid;
  display: grid;
  -ms-grid-columns: min(52rem, 42%) 12rem 1fr;
  grid-template-columns: min(52rem, 42%) 1fr;
  gap: 12rem;
  padding-top: 6rem;
  padding-bottom: 7rem;
  border-top: 1px solid #6C6C6C;
  border-bottom: 1px solid #6C6C6C;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
}
@media (max-width: 991px) {
  .ppl-single-profile {
    -ms-grid-columns: 1fr;
    grid-template-columns: 1fr;
    gap: 8rem;
  }
}
@media (max-width: 767px) and (orientation: portrait) {
  .ppl-single-profile {
    gap: 4rem;
    padding: 8rem 0;
  }
}
.ppl-single-profile .img {
  aspect-ratio: 52/42;
  margin-bottom: 0;
}
.ppl-single-profile .img img {
  border-radius: 3px;
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
  vertical-align: bottom;
}
.ppl-single-profile .cont {
  position: relative;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  margin-top: 1rem;
  padding-right: 10rem;
}
@media (max-width: 767px) and (orientation: portrait) {
  .ppl-single-profile .cont {
    padding-right: 4rem;
    margin-top: 0;
  }
}
.ppl-single-profile .cont-summary .no {
  position: absolute;
  right: 0;
  top: calc((1em - 1lh) / 2 + 0.2rem);
  font-family: var(--font-sans);
  font-size: var(--fz-l);
  letter-spacing: var(--ls-sans);
}
.ppl-single-profile .cont-summary .name-en {
  -webkit-writing-mode: vertical-lr;
      -ms-writing-mode: tb-lr;
          writing-mode: vertical-lr;
  font-family: var(--font-sans);
  font-size: 2.2rem;
  letter-spacing: var(--ls-sans);
  position: absolute;
  right: calc((1em - 1lh) / 2);
  top: 0;
  height: 100%;
  text-align: center;
}
@media (max-width: 767px) and (orientation: portrait) {
  .ppl-single-profile .cont-summary .name-en {
    font-size: var(--fz-l);
  }
}
.ppl-single-profile .cont-summary .position-en {
  font-size: var(--fz-b);
  font-family: var(--font-sans);
  letter-spacing: var(--ls-sans);
  line-height: 1.375;
  margin-bottom: 8.5rem;
  display: block;
}
@media (max-width: 767px) and (orientation: portrait) {
  .ppl-single-profile .cont-summary .position-en {
    margin-bottom: 3.2rem;
  }
}
@media (max-width: 991px) {
  .ppl-single-profile .cont-summary .ttl {
    margin-bottom: var(--item-vertical-margin);
  }
}
@media (max-width: 767px) and (orientation: portrait) {
  .ppl-single-profile .cont-summary .ttl {
    margin-bottom: 2lh;
  }
}
.ppl-single-profile .cont-summary .ttl .position {
  display: block;
  font-size: var(--fz-p);
  letter-spacing: var(--ls-sans);
  line-height: 1.375;
  margin-bottom: 1rem;
}
.ppl-single-profile .cont-summary .ttl .name {
  display: block;
  font-size: var(--fz-xl);
  line-height: 1.375;
  letter-spacing: var(--ls-l);
}
.ppl-single-profile .cont-detail .txt {
  margin-top: var(--fz-xl);
  font-size: var(--fz-ps);
  line-height: 2.15;
  font-family: var(--font-jp-gothic);
  letter-spacing: var(--ls-sans);
  max-width: 62rem;
}
.ppl-single-profile .cont-detail .url {
  display: block;
  width: -webkit-fit-content;
  width: -moz-fit-content;
  width: fit-content;
  margin-top: 3rem;
  font-family: var(--font-sans);
  color: var(--color-black);
  text-decoration: none;
}
@media (max-width: 767px) and (orientation: portrait) {
  .ppl-single-profile .cont-detail .url {
    margin-bottom: calc((1em - 1lh) / 2);
  }
}
@media (hover: hover) and (pointer: fine) {
  .ppl-single-profile .cont-detail .url {
    -webkit-transition: opacity 0.2s;
    transition: opacity 0.2s;
  }
  .ppl-single-profile .cont-detail .url:hover {
    opacity: 0.5;
  }
}
.ppl-single-profile .cont-detail .insta {
  --button-size: 4.4rem;
  --icon-size: 2.3rem;
  display: block;
  width: -webkit-fit-content;
  width: -moz-fit-content;
  width: fit-content;
  margin-top: 3.4rem;
  color: var(--color-black);
  text-decoration: none;
  padding: calc((var(--button-size) - var(--icon-size)) / 2);
  margin-left: calc((var(--button-size) - var(--icon-size)) / -2);
}
.ppl-single-profile .cont-detail .insta svg {
  display: block;
  width: var(--icon-size);
  aspect-ratio: 1/1;
  height: auto;
}
@media (hover: hover) and (pointer: fine) {
  .ppl-single-profile .cont-detail .insta {
    -webkit-transition: opacity 0.2s;
    transition: opacity 0.2s;
  }
  .ppl-single-profile .cont-detail .insta:hover {
    opacity: 0.5;
  }
}

.ppl-single-other {
  position: relative;
  background-color: var(--color-beige);
  z-index: 12;
  padding: calc(var(--item-vertical-margin) + 7rem) 0 var(--item-vertical-margin);
}
@media (max-width: 767px) and (orientation: portrait) {
  .ppl-single-other {
    padding: 8rem 0 4rem;
  }
}
.ppl-single-other .page-title {
  opacity: 0;
}

.ppl-single-other-slider {
  list-style-type: none;
  margin: 0 auto;
  margin-left: calc(var(--item-horizontal-margin) - var(--gap) * 0.5);
  padding: 0;
  --gap: min(3.3rem, 3.3vw);
  --card-width: min(51.7rem, 60vw);
  width: calc(var(--card-width) * 2 + var(--gap) * 2);
}
.ppl-single-other-slider:not(.slick-initialized) {
  opacity: 0;
  height: calc(var(--card-width) * 750 / 520);
}
@media (max-width: 767px) and (orientation: portrait) {
  .ppl-single-other-slider {
    width: calc(var(--card-width) * 1 + var(--gap) * 2);
    margin-left: calc(var(--item-horizontal-margin) - (var(--gap)));
  }
}
.ppl-single-other-slider .slick-list {
  overflow: visible;
}
.ppl-single-other-slider__slide {
  padding: 0 calc(var(--gap) * 0.5);
}
.ppl-single-other-slider__wrapper {
  overflow: hidden;
  width: 100%;
}

/**
 * Swup Page Transition
 */
html.is-changing .transition-fade {
  -webkit-transition: opacity 0.8s;
  transition: opacity 0.8s;
  will-change: opacity;
  opacity: 1;
}

html.is-animating .transition-fade {
  opacity: 0;
}

/**
 * Top Page Hero
 */
@-webkit-keyframes scrollIndicatorTextAnimation {
  0% {
    -webkit-transform: translateY(-10%);
            transform: translateY(-10%);
    opacity: 0;
  }
  30% {
    -webkit-transform: translateY(0%);
            transform: translateY(0%);
    opacity: 1;
  }
  60% {
    -webkit-transform: translateY(0%);
            transform: translateY(0%);
    opacity: 1;
  }
  90%, 100% {
    -webkit-transform: translateY(10%);
            transform: translateY(10%);
    opacity: 0;
  }
}
@keyframes scrollIndicatorTextAnimation {
  0% {
    -webkit-transform: translateY(-10%);
            transform: translateY(-10%);
    opacity: 0;
  }
  30% {
    -webkit-transform: translateY(0%);
            transform: translateY(0%);
    opacity: 1;
  }
  60% {
    -webkit-transform: translateY(0%);
            transform: translateY(0%);
    opacity: 1;
  }
  90%, 100% {
    -webkit-transform: translateY(10%);
            transform: translateY(10%);
    opacity: 0;
  }
}
@-webkit-keyframes scrollIndicatorBarAnimation {
  0% {
    -webkit-transform: translateY(-100%);
            transform: translateY(-100%);
  }
  30% {
    -webkit-transform: translateY(0%);
            transform: translateY(0%);
  }
  60% {
    -webkit-transform: translateY(0%);
            transform: translateY(0%);
  }
  90%, 100% {
    -webkit-transform: translateY(100%);
            transform: translateY(100%);
  }
}
@keyframes scrollIndicatorBarAnimation {
  0% {
    -webkit-transform: translateY(-100%);
            transform: translateY(-100%);
  }
  30% {
    -webkit-transform: translateY(0%);
            transform: translateY(0%);
  }
  60% {
    -webkit-transform: translateY(0%);
            transform: translateY(0%);
  }
  90%, 100% {
    -webkit-transform: translateY(100%);
            transform: translateY(100%);
  }
}
.top-hero,
.subpage-hero {
  background-size: cover;
  background-position: center;
  height: 100svh;
  width: 100%;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  --duration: 5s;
}
.top-hero__bg-slider,
.subpage-hero__bg-slider {
  position: absolute;
  width: 100%;
  height: 100%;
  top: 0;
  left: 0;
  z-index: 0;
}
.top-hero__bg-slide,
.subpage-hero__bg-slide {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  overflow: hidden;
  -webkit-mask-image: -webkit-gradient(linear, left top, left bottom, color-stop(33%, rgba(0, 0, 0, 0)), color-stop(66%, #000));
  -webkit-mask-image: linear-gradient(to bottom, rgba(0, 0, 0, 0) 33%, #000 66%);
          mask-image: -webkit-gradient(linear, left top, left bottom, color-stop(33%, rgba(0, 0, 0, 0)), color-stop(66%, #000));
          mask-image: linear-gradient(to bottom, rgba(0, 0, 0, 0) 33%, #000 66%);
  -webkit-mask-size: 100% 300%;
          mask-size: 100% 300%;
  opacity: 0;
}
.top-hero__bg-slide img,
.subpage-hero__bg-slide img {
  display: block;
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
}
.top-hero__scroll-indicator,
.subpage-hero__scroll-indicator {
  position: absolute;
  width: 5rem;
  text-align: center;
  font-family: var(--font-sans);
  font-size: var(--fz-ps);
  letter-spacing: var(--ls-sans);
  text-indent: var(--ls-sans);
  color: var(--color-white);
  left: calc(50% - 2.5rem);
  bottom: calc(var(--item-vertical-margin) * 0.5);
}
.top-hero__scroll-indicator .text,
.subpage-hero__scroll-indicator .text {
  display: block;
  -webkit-animation: scrollIndicatorTextAnimation var(--duration) var(--ease-in-out-quart) infinite 0.3s;
          animation: scrollIndicatorTextAnimation var(--duration) var(--ease-in-out-quart) infinite 0.3s;
  opacity: 0;
  line-height: 1;
}
.top-hero__scroll-indicator .bar,
.subpage-hero__scroll-indicator .bar {
  width: 1px;
  height: 10rem;
  top: 2rem;
  position: absolute;
  left: 50%;
  overflow: hidden;
}
.top-hero__scroll-indicator .bar::after,
.subpage-hero__scroll-indicator .bar::after {
  content: "";
  display: block;
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background-color: currentColor;
  -webkit-animation: scrollIndicatorBarAnimation var(--duration) var(--ease-in-out-quart) infinite 0.3s;
          animation: scrollIndicatorBarAnimation var(--duration) var(--ease-in-out-quart) infinite 0.3s;
  -webkit-transform: translateY(-100%);
          transform: translateY(-100%);
}

.top-hero {
  background-image: var(--bg-url);
}
@media (orientation: portrait) {
  .top-hero {
    background-image: var(--portrait-bg-url, var(--bg-url));
  }
}
.top-hero__logo {
  position: relative;
  display: block;
  width: min(28rem, 36svh);
  max-width: 40vw;
  aspect-ratio: 98.78/99.1;
}
@media (max-width: 767px) and (orientation: portrait) {
  .top-hero__logo {
    width: min(280px, 36svh);
  }
}
.top-hero__logo svg {
  display: block;
  width: 100%;
  height: 100%;
  color: #fff;
}
.top-hero__logo .main {
  position: relative;
  z-index: 10;
  width: 100%;
  opacity: 0;
}
.top-hero__logo .leaf {
  position: absolute;
  width: 100%;
  height: 100%;
  -o-object-fit: contain;
     object-fit: contain;
  opacity: 0;
  top: 0;
  left: 0;
}

.subpage-hero {
  background-image: var(--bg-url);
}
@media (orientation: portrait) {
  .subpage-hero {
    background-image: var(--portrait-bg-url, var(--bg-url));
  }
}
.subpage-hero__logo {
  position: absolute;
  display: block;
  width: min(10rem, 10svh);
  aspect-ratio: 98.78/99.1;
  top: calc(var(--item-vertical-margin) - 1rem);
  left: calc(var(--item-horizontal-margin) - 1rem);
}
@media (max-width: 767px) and (orientation: portrait) {
  .subpage-hero__logo {
    top: 1rem;
    left: 1.2rem;
    width: 6rem;
  }
}
.subpage-hero__logo svg {
  display: block;
  width: 100%;
  height: 100%;
  color: #fff;
}
.subpage-hero__logo .main {
  position: relative;
  z-index: 10;
  width: 100%;
  opacity: 0;
}
.subpage-hero__logo .leaf {
  position: absolute;
  width: 100%;
  height: 100%;
  -o-object-fit: contain;
     object-fit: contain;
  opacity: 0;
  top: 0;
  left: 0;
}

.simple-page-top {
  position: relative;
  width: 100%;
  height: min(24.5rem, 24vh + 4rem);
}
.simple-page-top__logo {
  position: absolute;
  display: block;
  width: min(10rem, 10svh);
  aspect-ratio: 98.78/99.1;
  top: calc(var(--item-vertical-margin) - 1rem);
  left: calc(var(--item-horizontal-margin) - 1rem);
}
@media (max-width: 767px) and (orientation: portrait) {
  .simple-page-top__logo {
    top: 1rem;
    left: 1.2rem;
    width: 6rem;
  }
}
.simple-page-top__logo svg {
  display: block;
  width: 100%;
  height: 100%;
  color: #fff;
}
.simple-page-top__logo .main {
  position: relative;
  z-index: 10;
  width: 100%;
  opacity: 0;
}
.simple-page-top__logo .leaf {
  position: absolute;
  width: 100%;
  height: 100%;
  -o-object-fit: contain;
     object-fit: contain;
  opacity: 0;
  top: 0;
  left: 0;
}

.simple-page-header {
  width: calc(100% - var(--item-horizontal-margin) * 2);
  margin: 0 auto var(--item-vertical-margin);
  position: relative;
}
@media (max-width: 767px) and (orientation: portrait) {
  .simple-page-header {
    margin: 0 auto 2lh;
  }
}

.simple-page-title {
  font-size: var(--fz-l2);
  line-height: 1.4;
  font-family: var(--font-sans);
  letter-spacing: var(--ls-sans);
  padding-bottom: 2.5rem;
  border-bottom: 1px solid var(--color-border);
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  margin: 0;
}
.simple-page-title--no-border {
  border-bottom: none;
  padding-bottom: 0;
}
@media (max-width: 767px) and (orientation: portrait) {
  .simple-page-title--sp-no-border {
    border-bottom: none;
    padding-bottom: 0;
  }
}
.simple-page-title .category {
  font-size: var(--fz-p);
  letter-spacing: var(--ls-sans);
  margin-left: 1rem;
  display: -webkit-inline-box;
  display: -ms-inline-flexbox;
  display: inline-flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  padding-top: 0.25em;
}
.simple-page-title .category::before {
  content: "";
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  width: 1.2rem;
  height: 1px;
  background-color: var(--color-border);
  margin-right: 1rem;
}

.simple-page-content {
  width: calc(100% - var(--item-horizontal-margin) * 2);
  margin: 0 auto var(--item-vertical-margin);
  padding: 0 0 var(--item-vertical-margin);
  min-height: 30svh;
}
.simple-page-content--404 {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  text-align: center;
}

/**
 * Top Page Items
 */
.intro-area {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
}
@media (max-width: 991px) {
  .intro-area {
    display: block;
  }
}
@media (max-height: 500px) and (max-width: 900px) and (orientation: landscape) {
  .intro-area {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
  }
}

.intro-slider {
  position: relative;
  width: 50%;
  height: 100lvh;
  overflow: hidden;
}
@media (max-width: 991px) {
  .intro-slider {
    position: absolute;
    width: 100%;
    z-index: 2;
    pointer-events: none;
  }
}
@media (max-height: 500px) and (max-width: 900px) and (orientation: landscape) {
  .intro-slider {
    position: relative;
    width: 40%;
    height: 100lvh;
  }
}

.intro-slide {
  position: absolute;
  width: 100%;
  height: 100lvh;
  overflow: hidden;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  left: 0;
  top: 0;
}
@media (max-width: 991px) {
  .intro-slide {
    height: 50svh;
    top: auto;
    bottom: 0;
  }
}
@media (max-height: 500px) and (max-width: 900px) and (orientation: landscape) {
  .intro-slide {
    width: 100%;
    height: 100lvh;
    bottom: auto;
    top: 0;
  }
}
.intro-slide__figure {
  width: 100%;
  height: 100%;
  left: 0;
  top: 0;
  position: absolute;
  overflow: hidden;
}
.intro-slide__figure img {
  display: block;
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
}

.intro-text {
  margin: calc(25rem - 0.8lh) 0;
}
.intro-text[lang=en-US], [lang=en-US] .intro-text {
  margin: calc(17.5rem - 0.8lh) 0;
}
.intro-text:first-child {
  margin-top: calc(50svh - var(--item-vertical-margin) - 4rem);
}
@media (max-width: 991px) {
  .intro-text:first-child {
    margin-top: calc(30svh - var(--item-vertical-margin));
  }
}
.intro-text:first-child .title-cmn {
  margin-bottom: var(--fz-l);
}
.intro-text__wrapper {
  width: 50%;
  margin-left: auto;
  padding: var(--item-vertical-margin) var(--item-horizontal-margin);
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  position: relative;
}
@media (max-width: 991px) {
  .intro-text__wrapper {
    width: 100%;
    z-index: 0;
  }
}
@media (max-height: 500px) and (max-width: 900px) and (orientation: landscape) {
  .intro-text__wrapper {
    width: 60%;
  }
}
.intro-text .intro-text__copy {
  letter-spacing: 0.4em;
}

.top-sake {
  position: relative;
  background-color: var(--color-green);
  z-index: 10;
  padding: var(--item-vertical-margin) 0;
}
.top-sake * {
  color: var(--color-white);
}
.top-sake__upper {
  position: relative;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  height: 46rem;
  width: 100%;
  padding: 0 var(--item-horizontal-margin);
  margin-bottom: var(--item-vertical-margin);
}
@media (max-width: 767px) and (orientation: portrait) {
  .top-sake__upper {
    height: auto;
  }
}
.top-sake__content {
  margin-left: auto;
  width: 50%;
  padding-left: 2rem;
}
@media (min-width: 768px) and (max-width: 991px) {
  .top-sake__content {
    white-space: nowrap;
  }
}
@media (max-width: 767px) and (orientation: portrait) {
  .top-sake__content {
    width: 100%;
    padding-left: 0;
  }
}
.top-sake__content[lang=en-US] p, [lang=en-US] .top-sake__content p {
  max-width: 50rem;
}
.top-sake__series {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  --gap: min(4rem, 4vw);
  gap: var(--gap);
  -webkit-box-pack: start;
      -ms-flex-pack: start;
          justify-content: flex-start;
  padding: 0 var(--gap);
}
@media (max-width: 991px) {
  .top-sake__series {
    --gap: min(2rem, 2vw);
    padding: 0 var(--item-horizontal-margin);
  }
}
@media (max-width: 767px) and (orientation: portrait) {
  .top-sake__series {
    --gap: 1.5rem;
  }
}
.top-sake__series .top-sake-card {
  position: relative;
  width: calc((100% - var(--gap)) / 2);
  aspect-ratio: 660/820;
  overflow: hidden;
  text-decoration: none;
  color: var(--color-white);
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  -webkit-mask-image: -webkit-gradient(linear, left top, left bottom, from(black), color-stop(33%, black), color-stop(66%, black), to(transparent));
  -webkit-mask-image: linear-gradient(to bottom, black 0%, black 33%, black 66%, transparent);
          mask-image: -webkit-gradient(linear, left top, left bottom, from(black), color-stop(33%, black), color-stop(66%, black), to(transparent));
          mask-image: linear-gradient(to bottom, black 0%, black 33%, black 66%, transparent);
  -webkit-mask-size: 100% 200%;
          mask-size: 100% 200%;
  -webkit-mask-repeat: no-repeat;
          mask-repeat: no-repeat;
  --mask-progress: 0;
  -webkit-mask-position: 0 calc(200% * (1 - var(--mask-progress)));
          mask-position: 0 calc(200% * (1 - var(--mask-progress)));
}
@media (max-width: 767px) and (orientation: portrait) {
  .top-sake__series .top-sake-card {
    width: 100%;
    aspect-ratio: 660/900;
  }
}
.top-sake__series .top-sake-card__bg {
  position: absolute;
  width: 100%;
  height: 100%;
  top: 0;
  left: 0;
  -o-object-fit: cover;
     object-fit: cover;
  -webkit-transition: -webkit-transform 1.2s var(--ease-out-quart), -webkit-filter 1.2s ease;
  transition: -webkit-transform 1.2s var(--ease-out-quart), -webkit-filter 1.2s ease;
  transition: transform 1.2s var(--ease-out-quart), filter 1.2s ease;
  transition: transform 1.2s var(--ease-out-quart), filter 1.2s ease, -webkit-transform 1.2s var(--ease-out-quart), -webkit-filter 1.2s ease;
}
.top-sake__series .top-sake-card__icon {
  position: absolute;
  top: calc(var(--gap) + 0.8rem);
  left: calc(var(--gap) + 0.8rem);
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  aspect-ratio: 1/1;
  width: 8.3rem;
}
@media (max-width: 767px) and (orientation: portrait) {
  .top-sake__series .top-sake-card__icon {
    width: 6.6rem;
    top: calc(var(--gap));
    left: calc(var(--gap));
  }
}
.top-sake__series .top-sake-card__icon .border {
  position: absolute;
  width: 100%;
  height: 100%;
  top: 0;
  left: 0;
  -webkit-transition: -webkit-transform 0.8s var(--ease-out-quart);
  transition: -webkit-transform 0.8s var(--ease-out-quart);
  transition: transform 0.8s var(--ease-out-quart);
  transition: transform 0.8s var(--ease-out-quart), -webkit-transform 0.8s var(--ease-out-quart);
}
.top-sake__series .top-sake-card__icon span {
  position: relative;
  font-size: 3rem;
  display: block;
  line-height: 2;
  top: 0.1em;
  letter-spacing: 0;
}
@media (max-width: 767px) and (orientation: portrait) {
  .top-sake__series .top-sake-card__icon span {
    font-size: var(--fz-xl);
  }
}
.top-sake__series .top-sake-card__title {
  margin: 0;
  text-align: center;
  position: relative;
  z-index: 1;
  padding-top: 0.3rem;
}
.top-sake__series .top-sake-card__desc {
  position: absolute;
  bottom: calc(var(--gap) + 0.5rem);
  left: calc(var(--gap) * 0.5);
  width: calc(100% - var(--gap));
  margin: 0;
  font-size: var(--fz-p);
  line-height: 1.4;
  text-align: center;
  letter-spacing: var(--ls-copy);
  text-indent: var(--ls-copy);
}
.top-sake__series .top-sake-card__desc[lang=en-US], [lang=en-US] .top-sake__series .top-sake-card__desc {
  font-size: var(--fz-p-eng);
  letter-spacing: var(--ls-p-eng);
}
.top-sake__series .top-sake-card:hover .top-sake-card__bg {
  -webkit-transform: scale(1.05);
          transform: scale(1.05);
  -webkit-filter: blur(8px) brightness(0.75);
          filter: blur(8px) brightness(0.75);
}
.top-sake__series .top-sake-card:hover .top-sake-card__icon .border {
  -webkit-transform: rotate(45deg);
          transform: rotate(45deg);
}
.top-sake .page-title {
  opacity: 0;
}
.top-sake .link-cmn {
  --accent-color: var(--color-white);
}

.top-people {
  position: relative;
  background-color: var(--color-beige);
  z-index: 12;
  padding: calc(var(--item-vertical-margin) + 8rem) 0 var(--item-vertical-margin);
}
.top-people .page-title {
  opacity: 0;
}

.top-people-slider {
  list-style-type: none;
  margin: 0 auto;
  padding: 0;
  --gap: min(3.3rem, 1.5vw);
  --card-width: min(51.7rem, 40vw);
  width: calc(var(--card-width) * 2 + var(--gap) * 2);
}
@media (max-width: 767px) and (orientation: portrait) {
  .top-people-slider {
    --card-width: min(51.7rem, 70vw);
    width: calc(var(--card-width) * 1 + var(--gap) * 2);
  }
}
.top-people-slider:not(.slick-initialized) {
  opacity: 0;
  height: calc(var(--card-width) * 750 / 520);
}
.top-people-slider .slick-list {
  overflow: visible;
}
.top-people-slider__slide {
  padding: 0 calc(var(--gap) * 0.5);
}
.top-people-slider__wrapper {
  overflow: hidden;
  width: 100%;
}

.people-card {
  width: var(--card-width);
}
.people-card .page-title {
  opacity: 0;
}
.people-card .card {
  display: block;
  aspect-ratio: 517/644;
  width: 100%;
  height: auto;
  position: relative;
  overflow: hidden;
  text-decoration: none;
  color: var(--color-white);
  font-family: var(--font-sans);
  letter-spacing: var(--ls-sans);
  --parts-offset: 4rem;
  border-radius: 3px;
}
@media (max-width: 767px) and (orientation: portrait) {
  .people-card .card {
    --parts-offset: var(--fz-p);
  }
}
.people-card .card .bg {
  display: block;
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
  -webkit-transition: -webkit-transform 1.2s var(--ease-out-quart);
  transition: -webkit-transform 1.2s var(--ease-out-quart);
  transition: transform 1.2s var(--ease-out-quart);
  transition: transform 1.2s var(--ease-out-quart), -webkit-transform 1.2s var(--ease-out-quart);
  will-change: transform;
  z-index: 0;
}
.people-card .card .no {
  position: absolute;
  top: calc(var(--parts-offset) - (1lh - 1em) * 0.5);
  left: var(--parts-offset);
  font-size: var(--fz-l);
  line-height: 2;
  z-index: 1;
}
.people-card .card .name {
  position: absolute;
  top: 0;
  height: 100%;
  right: calc(var(--parts-offset) - (1lh - 1em) * 0.5);
  font-size: 2.2rem;
  line-height: 1.2;
  text-align: center;
  -webkit-writing-mode: vertical-lr;
      -ms-writing-mode: tb-lr;
          writing-mode: vertical-lr;
  z-index: 1;
}
@media (max-width: 767px) and (orientation: portrait) {
  .people-card .card .name {
    font-size: var(--fz-l);
  }
}
.people-card .card .position {
  position: absolute;
  bottom: var(--parts-offset);
  left: var(--parts-offset);
  font-size: var(--fz-ps);
  line-height: 1.2857142857;
  z-index: 1;
}
@media (max-width: 767px) and (orientation: portrait) {
  .people-card .card .position {
    font-size: var(--fz-p);
  }
}
.people-card .card:hover .bg {
  -webkit-transform: scale(1.05);
          transform: scale(1.05);
}
.people-card .label {
  padding-top: 2rem;
}
.people-card .label .position {
  font-size: var(--fz-p);
  letter-spacing: var(--ls-p);
  line-height: 2.6666666667;
  margin-bottom: -0.5em;
}
.people-card .label .name {
  font-size: 2.5rem;
  letter-spacing: var(--ls-l);
  line-height: 1.88;
}
@media (max-width: 767px) and (orientation: portrait) {
  .people-card .label .name {
    font-size: var(--fz-xl);
  }
}

.top-shop {
  position: relative;
  z-index: 13;
  background-color: var(--color-beige);
}
.top-shop .page-title {
  opacity: 0;
}
.top-shop__inner {
  width: calc(100% - var(--item-horizontal-margin) * 1);
  margin: 0 auto;
  padding: calc(var(--item-vertical-margin) + 6rem) calc(var(--item-horizontal-margin) * 0.5) var(--item-vertical-margin) 0;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  border-top: 1px solid var(--color-border);
  gap: min(6.6rem, 5vw);
}
@media (max-width: 991px) {
  .top-shop__inner {
    padding: calc(var(--item-vertical-margin) + 6rem) var(--item-horizontal-margin) var(--item-vertical-margin);
    width: 100%;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
    gap: 0;
  }
}
.top-shop__ph {
  width: 50%;
  padding: 0 1.4rem;
  -ms-flex-negative: 0;
      flex-shrink: 0;
  margin: 0;
}
@media (max-width: 991px) {
  .top-shop__ph {
    width: 100%;
    padding: 0;
    margin-bottom: 3rem;
  }
}
.top-shop__ph img {
  overflow: hidden;
  border-radius: 3px;
  display: block;
  max-width: 100%;
}
.top-shop__detail {
  -ms-flex-negative: 1;
      flex-shrink: 1;
  width: 100%;
  padding-bottom: 12rem;
}
@media (max-width: 991px) {
  .top-shop__detail {
    padding: 3.6rem 0 12rem;
  }
}
.top-shop__detail p:first-child {
  margin-top: calc((1em - 1lh) * 0.5);
}
.top-shop__detail p {
  text-align: justify;
}
.top-shop__detail[lang=en-US], [lang=en-US] .top-shop__detail {
  padding-bottom: 12rem;
}
.top-shop__detail[lang=en-US] p, [lang=en-US] .top-shop__detail p {
  max-width: 50rem;
  text-align: left;
}
.top-shop__title {
  margin-top: 0;
  font-size: 2.5rem;
  line-height: 1.2;
  letter-spacing: var(--ls-copy);
  margin-bottom: 1em;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
}
.top-shop__title[lang=en-US], [lang=en-US] .top-shop__title {
  letter-spacing: var(--ls-l-eng);
  padding-top: 0.6rem;
}
.top-shop__title span {
  font-size: var(--fz-ps);
  font-family: var(--font-sans);
  letter-spacing: var(--ls-sans);
  margin-left: 0.5em;
  display: block;
  position: relative;
  top: -0.2em;
}

.top-news {
  position: relative;
  color: var(--color-white);
  background-color: var(--color-green);
  z-index: 13;
  padding: calc(var(--item-vertical-margin) + 8rem) var(--item-horizontal-margin) var(--item-vertical-margin);
}
@media (max-width: 767px) and (orientation: portrait) {
  .top-news {
    padding: calc(var(--item-vertical-margin) + 4rem) var(--item-horizontal-margin) var(--item-vertical-margin);
  }
}
.top-news .news-list {
  --border-color: var(--color-white);
}
.top-news .news-list a {
  color: var(--color-white);
  --accent-color: var(--color-white);
}
@media (hover: hover) and (pointer: fine) {
  .top-news .news-list a:hover {
    background-color: var(--color-beige-quarter);
  }
}
.top-news__more {
  -webkit-box-pack: end;
      -ms-flex-pack: end;
          justify-content: flex-end;
}
.top-news__more .link-cmn {
  color: var(--color-white);
  --accent-color: var(--color-white);
}
.top-news .page-title {
  opacity: 0;
}

.news-list {
  list-style-type: none;
  padding: 0;
  margin: 0;
  --border-color: var(--color-border);
}
@media (max-width: 767px) and (orientation: portrait) {
  .news-list {
    margin: 0 -1em;
    width: calc(100% + 2em);
  }
}
.news-list__item {
  border-bottom: 1px solid var(--border-color);
}
.news-list__item:first-child {
  border-top: 1px solid var(--border-color);
}
.news-list__item a {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  text-decoration: none;
  font-family: var(--font-sans);
  letter-spacing: var(--ls-sans);
  line-height: 2;
  padding: 2.6rem 2em;
  -webkit-transition: color 0.4s, background-color 0.4s;
  transition: color 0.4s, background-color 0.4s;
  color: var(--color-black);
}
@media (max-width: 991px) {
  .news-list__item a {
    padding: 2rem 1em;
    gap: 0.25lh 0;
    display: -ms-grid;
    display: grid;
    -ms-grid-columns: 12rem 0 1fr 0 4rem;
    grid-template-columns: 12rem 1fr 4rem;
  }
}
@media (max-width: 767px) and (orientation: portrait) {
  .news-list__item a {
    -ms-grid-columns: 10rem 1fr 4rem;
    grid-template-columns: 10rem 1fr 4rem;
  }
}
.news-list__item a .date {
  -webkit-box-flex: 0;
      -ms-flex: 0 0 14.5rem;
          flex: 0 0 14.5rem;
}
@media (max-width: 991px) {
  .news-list__item a .date {
    -ms-grid-row: 1;
    -ms-grid-row-span: 1;
    grid-row: 1/2;
    -ms-grid-column: 1;
    -ms-grid-column-span: 1;
    grid-column: 1/2;
  }
}
.news-list__item a .category {
  -webkit-box-flex: 0;
      -ms-flex: 0 0 16.5rem;
          flex: 0 0 16.5rem;
}
@media (max-width: 991px) {
  .news-list__item a .category {
    width: auto;
    -ms-grid-row: 1;
    -ms-grid-row-span: 1;
    grid-row: 1/2;
    -ms-grid-column: 2;
    -ms-grid-column-span: 1;
    grid-column: 2/3;
  }
}
.news-list__item a .title {
  -webkit-box-flex: 1;
      -ms-flex: 1 1 auto;
          flex: 1 1 auto;
}
@media (min-width: 992px) {
  .news-list__item a .title {
    padding-right: 2rem;
  }
}
@media (max-width: 991px) {
  .news-list__item a .title {
    -ms-grid-row: 2;
    -ms-grid-row-span: 1;
    grid-row: 2/3;
    -ms-grid-column: 1;
    -ms-grid-column-span: 2;
    grid-column: 1/3;
  }
}
@media (max-width: 767px) and (orientation: portrait) {
  .news-list__item a .title {
    -ms-grid-column: 1;
    -ms-grid-column-span: 3;
    grid-column: 1/4;
    line-height: 2;
  }
}
.news-list__item a .arrow {
  display: block;
  -webkit-box-flex: 0;
      -ms-flex: 0 0 4rem;
          flex: 0 0 4rem;
  height: var(--fz-s);
  margin-left: auto;
  -webkit-transition: -webkit-transform var(--ease-out-quart) 0.6s;
  transition: -webkit-transform var(--ease-out-quart) 0.6s;
  transition: transform var(--ease-out-quart) 0.6s;
  transition: transform var(--ease-out-quart) 0.6s, -webkit-transform var(--ease-out-quart) 0.6s;
}
@media (max-width: 991px) {
  .news-list__item a .arrow {
    -ms-grid-row: 1;
    -ms-grid-row-span: 2;
    grid-row: 1/3;
    -ms-grid-column: 3;
    -ms-grid-column-span: 1;
    grid-column: 3/4;
  }
}
@media (max-width: 767px) and (orientation: portrait) {
  .news-list__item a .arrow {
    -ms-grid-row: 1;
    -ms-grid-row-span: 1;
    grid-row: 1/2;
  }
}
.news-list__item a .arrow svg {
  display: block;
  width: 100%;
  height: 100%;
}
@media (hover: hover) and (pointer: fine) {
  .news-list__item a:hover {
    background-color: rgba(255, 255, 255, 0.5019607843);
  }
}

.news-pagination {
  padding-top: 6.5rem;
}
.news-pagination .page-numbers {
  margin: 0;
  padding: 0;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  list-style-type: none;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: end;
      -ms-flex-pack: end;
          justify-content: flex-end;
  gap: 0.5rem;
  --arrow-size: 0.8rem;
}
.news-pagination .page-numbers .current,
.news-pagination .page-numbers a {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  color: var(--color-black);
  padding: 0;
  line-height: 1;
  font-size: var(--fz-ps);
  text-decoration: none;
  width: 3rem;
  height: 4rem;
  position: relative;
}
.news-pagination .page-numbers .current::after {
  content: "";
  display: block;
  border-bottom: 1px solid var(--color-border);
  width: 1.2rem;
  height: 1px;
  position: absolute;
  bottom: 0.8rem;
  left: calc(50% - 0.6rem);
}
.news-pagination .page-numbers a:not(.next):not(.prev)::after {
  content: "";
  display: block;
  width: 4px;
  height: 4px;
  border-radius: 100vmax;
  background-color: var(--color-border);
  position: absolute;
  bottom: 0.6rem;
  left: calc(50% - 2px);
  -webkit-transition: opacity 0.3s;
  transition: opacity 0.3s;
  opacity: 0;
}
@media (hover: hover) and (pointer: fine) {
  .news-pagination .page-numbers a:not(.next):not(.prev) {
    -webkit-transition: opacity 0.3s;
    transition: opacity 0.3s;
  }
  .news-pagination .page-numbers a:not(.next):not(.prev):hover {
    opacity: 0.65;
  }
  .news-pagination .page-numbers a:not(.next):not(.prev):hover::after {
    opacity: 1;
  }
}
.news-pagination .page-numbers .next,
.news-pagination .page-numbers .prev {
  font-size: 0;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
}
@media (hover: hover) and (pointer: fine) {
  .news-pagination .page-numbers .next,
  .news-pagination .page-numbers .prev {
    -webkit-transition: opacity 0.3s;
    transition: opacity 0.3s;
  }
  .news-pagination .page-numbers .next:hover,
  .news-pagination .page-numbers .prev:hover {
    opacity: 0.65;
  }
}
.news-pagination .page-numbers .next::after,
.news-pagination .page-numbers .prev::after {
  content: "";
  display: block;
  position: absolute;
  width: calc(var(--arrow-size) / 1.4142);
  height: calc(var(--arrow-size) / 1.4142);
  border-style: solid;
  border-width: 1px 0 0 1px;
  border-color: var(--border-color);
  -webkit-transition: -webkit-transform var(--ease-out-quart) 0.6s;
  transition: -webkit-transform var(--ease-out-quart) 0.6s;
  transition: transform var(--ease-out-quart) 0.6s;
  transition: transform var(--ease-out-quart) 0.6s, -webkit-transform var(--ease-out-quart) 0.6s;
}
.news-pagination .page-numbers .next::after {
  -webkit-transform: rotate(135deg);
          transform: rotate(135deg);
}
@media (hover: hover) and (pointer: fine) {
  .news-pagination .page-numbers .next:hover::after {
    -webkit-transform: translate(0.25rem) rotate(135deg);
            transform: translate(0.25rem) rotate(135deg);
  }
}
.news-pagination .page-numbers .prev::after {
  -webkit-transform: rotate(-45deg);
          transform: rotate(-45deg);
}
@media (hover: hover) and (pointer: fine) {
  .news-pagination .page-numbers .prev:hover::after {
    -webkit-transform: translate(-0.25rem) rotate(-45deg);
            transform: translate(-0.25rem) rotate(-45deg);
  }
}

.top-access {
  position: relative;
  background-color: var(--color-beige);
  z-index: 14;
  padding: var(--item-vertical-margin) var(--item-horizontal-margin) var(--item-vertical-margin);
}
.top-access__content {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: horizontal;
  -webkit-box-direction: reverse;
      -ms-flex-direction: row-reverse;
          flex-direction: row-reverse;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
  height: 100%;
}
@media (max-width: 767px) and (orientation: portrait) {
  .top-access__content {
    height: auto;
    -webkit-box-orient: vertical;
    -webkit-box-direction: reverse;
        -ms-flex-direction: column-reverse;
            flex-direction: column-reverse;
    gap: 4rem;
  }
}
.top-access__content .map {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-flex: 0.5;
      -ms-flex-positive: 0.5;
          flex-grow: 0.5;
  -ms-flex-negative: 1;
      flex-shrink: 1;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  margin: 0 0 -0.5rem;
}
@media (max-width: 767px) and (orientation: portrait) {
  .top-access__content .map {
    margin: 0 0 0;
  }
}
.top-access__content .map img {
  display: block;
  max-width: 100%;
  max-width: min(60vw, 124rem);
}
@media (max-width: 767px) and (orientation: portrait) {
  .top-access__content .map img {
    max-width: calc(100% + var(--item-horizontal-margin) - 1px);
    width: calc(100% + var(--item-horizontal-margin) - 1px);
  }
}
.top-access__content .info {
  padding-top: var(--item-vertical-margin);
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
}
@media (max-width: 767px) and (orientation: portrait) {
  .top-access__content .info {
    padding-top: 0;
  }
}
.top-access__content .info .name {
  font-size: var(--fz-l2);
  line-height: 1.2;
  letter-spacing: 0.09em;
  margin: 0 0 2rem;
}
.top-access__content .info .name[lang=en-US], [lang=en-US] .top-access__content .info .name {
  font-size: var(--fz-xl);
  letter-spacing: var(--ls-l-eng);
  line-height: 1.68;
  margin-bottom: 0.5em;
}
.top-access__content .info hr {
  display: block;
  border: none;
  height: 1px;
  width: 1.4rem;
  background-color: currentColor;
  margin: 1.6rem 0 3.6rem;
}
.top-access__content .info hr[lang=en-US], [lang=en-US] .top-access__content .info hr {
  display: none;
}
.top-access__content .info .shop-name {
  margin-top: -1.2rem;
  font-size: var(--fz-l2);
  line-height: 1.2;
  letter-spacing: var(--ls-copy);
  margin-bottom: 1em;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
}
.top-access__content .info .shop-name[lang=en-US], [lang=en-US] .top-access__content .info .shop-name {
  font-size: var(--fz-xl);
  letter-spacing: var(--ls-l-eng);
  line-height: 1.68;
  margin-top: 2rem;
  margin-bottom: 0.5em;
}
.top-access__content .info .shop-name span {
  font-size: var(--fz-ps);
  font-family: var(--font-sans);
  letter-spacing: var(--ls-sans);
  margin-left: 0.5em;
  display: block;
  position: relative;
  top: -0.2em;
}
.top-access__content .info p {
  font-family: var(--font-sans);
  font-size: var(--fz-ps);
  line-height: 1.7857142857;
  letter-spacing: 0.09em;
  margin-bottom: 2rem;
}
.top-access__content .info p + p {
  margin-top: 0;
}
.top-access__content .info .link {
  margin-top: auto;
}

/**
 * About Page
 */
.about-nav {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  padding: calc(var(--item-vertical-margin) + 12.2rem) 0 calc(var(--item-vertical-margin) + 4.8rem);
  max-width: calc(100% - var(--item-horizontal-margin) * 2);
  margin: 0 auto;
}
@media (max-width: 767px) and (orientation: portrait) {
  .about-nav {
    padding: var(--item-vertical-margin) 0 2rem;
  }
}
.about-nav ul {
  list-style-type: none;
  margin: 0;
  width: 100%;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  gap: 5.5rem;
  padding: 0;
}
@media (min-width: 992px) {
  .about-nav ul {
    padding-right: 2.5rem;
  }
}
@media (max-width: 767px) and (orientation: portrait) {
  .about-nav ul {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
    gap: 0lh;
  }
}
.about-nav a {
  text-decoration: none;
  font-family: var(--font-sans);
  letter-spacing: var(--ls-sans);
  font-size: var(--fz-p);
  line-height: 5rem;
  --accent-color: var(--color-border);
}
.about-nav a[lang=en-US], [lang=en-US] .about-nav a {
  font-size: var(--fz-ps);
}

.about-section {
  padding: 0 0 var(--item-vertical-margin);
}
.about-section__inner {
  display: -ms-grid;
  display: grid;
  -ms-grid-columns: 1fr 1fr;
  grid-template-columns: 1fr 1fr;
  margin: 0 var(--item-horizontal-margin);
}
@media (max-width: 767px) and (orientation: portrait) {
  .about-section__inner {
    -ms-grid-columns: 1fr;
    grid-template-columns: 1fr;
  }
  .about-section__inner * {
    -ms-grid-column: 1 !important;
    -ms-grid-column-span: 1 !important;
    grid-column: 1/2 !important;
  }
}
.about-section__small-heading {
  --top-padding: calc(var(--item-vertical-margin) - (1lh - 1em) * 0.5);
  font-size: var(--fz-l);
  letter-spacing: 0.1em;
  -ms-grid-column: 2;
  -ms-grid-column-span: 1;
  grid-column: 2/3;
  font-family: var(--font-sans);
  font-size: var(--fz-l);
  text-transform: capitalize;
  margin-bottom: 5rem;
  letter-spacing: var(--ls-sans);
  top: 0;
  position: sticky;
  z-index: 1;
  padding-top: var(--top-padding);
  width: -webkit-max-content;
  width: -moz-max-content;
  width: max-content;
  -webkit-transition: color 0.3s;
  transition: color 0.3s;
}
.about-section__small-heading[lang=en-US], [lang=en-US] .about-section__small-heading {
  font-size: var(--fz-b);
}
@media (max-width: 767px) and (orientation: portrait) {
  .about-section__small-heading {
    -ms-grid-column: 1;
    -ms-grid-column-span: 1;
    grid-column: 1/2;
    font-size: var(--fz-b);
  }
}

.about-message {
  background-color: var(--color-beige);
  padding-bottom: 0;
}
.about-message__heading {
  -webkit-box-shadow: 0 0 0 100vmax var(--color-beige);
          box-shadow: 0 0 0 100vmax var(--color-beige);
  background-color: var(--color-beige);
  clip-path: inset(calc(var(--item-vertical-margin) * -1) -100vmax 0 -1rem);
  width: calc(100vw - var(--item-horizontal-margin) - 1px);
  margin-left: -50vw;
  padding-left: 50vw;
  margin-bottom: 2rem;
  padding-bottom: 3rem;
  -webkit-mask-image: -webkit-gradient(linear, left top, left bottom, from(black), color-stop(black), to(transparent));
  -webkit-mask-image: linear-gradient(to bottom, black 0%, black calc(100% - 3rem), transparent 100%);
          mask-image: -webkit-gradient(linear, left top, left bottom, from(black), color-stop(black), to(transparent));
          mask-image: linear-gradient(to bottom, black 0%, black calc(100% - 3rem), transparent 100%);
}
@media (max-width: 767px) and (orientation: portrait) {
  .about-message__heading {
    width: calc(100% + var(--item-horizontal-margin) * 2 - 1px);
    margin-left: calc(var(--item-horizontal-margin) * -1);
    padding-left: var(--item-horizontal-margin);
  }
}
@media (max-width: 767px) and (orientation: portrait) {
  .about-message__title {
    margin-bottom: 1lh;
  }
}
.about-message__body {
  padding-bottom: var(--item-vertical-margin);
}
.about-message .autograph {
  max-width: min(100%, 33.2rem, 70vw);
  margin-top: 2.8rem;
  margin-left: -3.2rem;
  mix-blend-mode: multiply;
}
@media (max-width: 767px) and (orientation: portrait) {
  .about-message .autograph {
    margin-left: auto;
  }
}
.about-message .autograph img {
  display: block;
  width: 100%;
}

.about-brewer {
  background-color: var(--color-green);
  padding-bottom: 0;
  color: var(--color-white);
}
.about-brewer__heading {
  -webkit-box-shadow: 0 0 0 100vmax var(--color-green);
          box-shadow: 0 0 0 100vmax var(--color-green);
  background-color: var(--color-green);
  clip-path: inset(calc(var(--item-vertical-margin) * -1) -100vmax 0 -1rem);
  width: calc(100vw - var(--item-horizontal-margin) - 1px);
  margin-left: -50vw;
  padding-left: 50vw;
  margin-bottom: 2rem;
  padding-bottom: 3rem;
  -webkit-mask-image: -webkit-gradient(linear, left top, left bottom, from(black), color-stop(black), to(transparent));
  -webkit-mask-image: linear-gradient(to bottom, black 0%, black calc(100% - 3rem), transparent 100%);
          mask-image: -webkit-gradient(linear, left top, left bottom, from(black), color-stop(black), to(transparent));
          mask-image: linear-gradient(to bottom, black 0%, black calc(100% - 3rem), transparent 100%);
}
@media (max-width: 767px) and (orientation: portrait) {
  .about-brewer__heading {
    width: calc(100% + var(--item-horizontal-margin) * 2 - 1px);
    margin-left: calc(var(--item-horizontal-margin) * -1);
    padding-left: var(--item-horizontal-margin);
  }
}
@media (min-width: 768px) or (orientation: landscape) {
  .about-brewer .about-section__inner {
    -ms-grid-rows: 1fr auto 1fr;
    grid-template-rows: 1fr auto 1fr;
  }
}
@media (max-width: 767px) and (orientation: portrait) {
  .about-brewer .about-section__inner {
    padding-bottom: vaR(--item-vertical-margin);
  }
}
.about-brewer__heading {
  color: var(--color-white);
}
.about-brewer__ph {
  -ms-flex-item-align: start;
      -ms-grid-row-align: start;
      align-self: start;
  margin: 0;
}
@media (min-width: 768px) or (orientation: landscape) {
  .about-brewer__ph {
    padding-right: min(12.5rem, 10vw);
  }
}
@media (max-width: 767px) and (orientation: portrait) {
  .about-brewer__ph {
    margin-bottom: 2rem;
  }
}
.about-brewer__ph img {
  display: block;
  width: 100%;
  border-radius: 0.3em;
}
.about-brewer__name {
  font-size: var(--fz-l2);
  letter-spacing: var(--ls-copy);
  margin: 0 0 1rem;
}
.about-brewer__name[lang=en-US], [lang=en-US] .about-brewer__name {
  font-size: var(--fz-xl);
  letter-spacing: var(--ls-l-eng);
  line-height: 1.68;
  margin-bottom: 2rem;
}
.about-brewer__body {
  padding-right: min(12rem, 10vw);
  -ms-flex-item-align: end;
      -ms-grid-row-align: end;
      align-self: end;
}
@media (max-width: 767px) and (orientation: portrait) {
  .about-brewer__body {
    padding-right: 0;
  }
}
.about-brewer__body p,
.about-brewer__body td {
  font-family: var(--font-sans);
  letter-spacing: var(--ls-sans);
}
.about-brewer__body p {
  font-size: var(--fz-ps);
  letter-spacing: 0.1em;
  line-height: 2.1428571429;
}
.about-brewer__body p[lang=en-US], [lang=en-US] .about-brewer__body p {
  line-height: 2;
  letter-spacing: var(--ls-l-eng);
}
.about-brewer__body table {
  font-size: var(--fz-s);
  line-height: 2;
  margin: 5.5rem 0 calc((1em - 1lh) * 0.5);
}
.about-brewer__body table td {
  vertical-align: top;
  padding: 0;
}
.about-brewer__body table td:first-child {
  padding-right: 1em;
  white-space: nowrap;
}
.about-brewer__body p.history {
  font-size: var(--fz-s);
  line-height: 2;
}

.about-gallery {
  padding-bottom: 8rem;
}
.about-gallery__heading {
  -webkit-box-shadow: 0 0 0 100vmax var(--color-beige);
          box-shadow: 0 0 0 100vmax var(--color-beige);
  background-color: var(--color-beige);
  clip-path: inset(calc(var(--item-vertical-margin) * -1) -100vmax 0 -1rem);
  width: 100vw;
  padding-left: 50vw;
  margin-bottom: 2rem;
  padding-bottom: 3rem;
  -webkit-mask-image: -webkit-gradient(linear, left top, left bottom, from(black), color-stop(black), to(transparent));
  -webkit-mask-image: linear-gradient(to bottom, black 0%, black calc(100% - 3rem), transparent 100%);
          mask-image: -webkit-gradient(linear, left top, left bottom, from(black), color-stop(black), to(transparent));
          mask-image: linear-gradient(to bottom, black 0%, black calc(100% - 3rem), transparent 100%);
}
@media (max-width: 767px) and (orientation: portrait) {
  .about-gallery__heading {
    width: calc(100% + var(--item-horizontal-margin) * 2 - 1px);
    padding-left: var(--item-horizontal-margin);
  }
}
.about-gallery__content {
  position: relative;
  min-height: 100lvh;
}
.about-gallery__link-wrap {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: end;
      -ms-flex-pack: end;
          justify-content: flex-end;
  margin-top: 4rem;
}
.about-gallery__link-wrap .link-large {
  position: relative;
  bottom: 0;
}

.about-access {
  position: relative;
  padding-top: 0;
}
.about-access__heading {
  color: var(--color-white);
  margin-bottom: calc(-1 * (1lh + var(--item-vertical-margin)));
  margin-left: 50vw;
  z-index: 2;
}
.about-access__heading.invert-color {
  color: var(--color-black);
}
@media (max-width: 767px) and (orientation: portrait) {
  .about-access__heading {
    margin-left: var(--item-horizontal-margin);
  }
}
.about-access__heading span {
  display: inline-block;
}
.about-access__hero {
  position: relative;
  height: 100lvh;
}
.about-access__hero img {
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
  display: block;
}
.about-access__detail {
  padding: var(--item-vertical-margin) 0 2rem;
  width: calc(100% - var(--item-horizontal-margin) * 2);
  margin: 0 auto;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  padding-top: 0;
}
.about-access__detail::before {
  content: "";
  display: block;
  position: sticky;
  top: 0;
  left: 0;
  width: 100%;
  height: calc(var(--item-vertical-margin) + var(--fz-l) * 1.8 + 3rem);
  background-color: var(--color-beige);
  z-index: 1;
  margin-bottom: calc(var(--fz-l) * -1.8 - 3rem);
  -webkit-mask-image: -webkit-gradient(linear, left top, left bottom, from(black), color-stop(black), to(transparent));
  -webkit-mask-image: linear-gradient(to bottom, black 0%, black calc(100% - 3rem), transparent 100%);
          mask-image: -webkit-gradient(linear, left top, left bottom, from(black), color-stop(black), to(transparent));
          mask-image: linear-gradient(to bottom, black 0%, black calc(100% - 3rem), transparent 100%);
}
@media (max-width: 767px) and (orientation: portrait) {
  .about-access__detail::before {
    -webkit-box-ordinal-group: 11;
        -ms-flex-order: 10;
            order: 10;
  }
}
@media (max-width: 991px) {
  .about-access__detail {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
    position: relative;
    padding-bottom: 0;
  }
}
@media (max-width: 767px) and (orientation: portrait) {
  .about-access__detail {
    padding: 0 0;
    width: 100%;
    -webkit-box-orient: vertical;
    -webkit-box-direction: reverse;
        -ms-flex-direction: column-reverse;
            flex-direction: column-reverse;
  }
}
.about-access__detail .description {
  padding-top: 7rem;
  width: min(58rem, 580px);
}
@media (max-width: 991px) {
  .about-access__detail .description {
    display: contents;
  }
}
@media (max-width: 767px) and (orientation: portrait) {
  .about-access__detail .description {
    display: block;
    width: 100%;
    padding: 0 var(--item-horizontal-margin) 0;
  }
}
.about-access__detail .description p {
  font-family: var(--font-sans);
  font-size: var(--fz-ps);
  line-height: 1.7857142857;
  letter-spacing: var(--ls-p);
}
.about-access__detail .description p + p {
  margin-top: calc(1lh - (1lh - 1em));
}
.about-access__detail .description .name {
  font-family: var(--font-serif);
  letter-spacing: var(--ls-copy);
  font-size: var(--fz-l2);
  line-height: 1;
  margin-bottom: 1em;
}
.about-access__detail .description .name[lang=en-US], [lang=en-US] .about-access__detail .description .name {
  font-size: var(--fz-xl);
  letter-spacing: var(--ls-l-eng);
  line-height: 1.68;
  margin-bottom: 0.5em;
}
.about-access__detail .description hr {
  display: block;
  border: none;
  height: 1px;
  width: 1.4rem;
  background-color: currentColor;
  margin: 3.6rem 0;
}
.about-access__detail .description hr[lang=en-US], [lang=en-US] .about-access__detail .description hr {
  display: none;
}
.about-access__detail .description .shop-name {
  font-size: var(--fz-l2);
  line-height: 1.2;
  letter-spacing: var(--ls-copy);
  margin-bottom: 1em;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  margin-top: 0.2em;
}
.about-access__detail .description .shop-name[lang=en-US], [lang=en-US] .about-access__detail .description .shop-name {
  margin-top: 3rem;
  font-size: var(--fz-xl);
  letter-spacing: var(--ls-l-eng);
  line-height: 1.68;
  margin-top: 4rem;
  margin-bottom: 0.5em;
}
.about-access__detail .description .shop-name span {
  font-size: var(--fz-ps);
  font-family: var(--font-sans);
  letter-spacing: var(--ls-sans);
  margin-left: 0.5em;
  display: block;
  position: relative;
  top: -0.2em;
}
.about-access__detail .map {
  width: min(100% - min(58rem, 580px), 973px);
  margin-right: auto;
}
@media (max-width: 991px) {
  .about-access__detail .map {
    width: 60vw;
    margin-left: auto;
    position: absolute;
    top: 0;
    right: 0;
  }
}
@media (max-width: 767px) and (orientation: portrait) {
  .about-access__detail .map {
    position: relative;
    display: block;
    width: 100%;
    margin: 0;
    overflow: hidden;
  }
}
.about-access__detail .map img {
  display: block;
  width: 100%;
}
@media (max-width: 767px) and (orientation: portrait) {
  .about-access__detail .map img {
    position: relative;
    width: 120vw;
    left: -15vw;
  }
}
.about-access__detail .path {
  padding-top: 6.5rem;
}
@media (max-width: 991px) {
  .about-access__detail .path img {
    display: block;
    width: min(100%, 58rem);
  }
}
.about-access__detail .path figcaption {
  margin-bottom: 1rem;
}

/**
 * Kakera Gallery Grid
 */
#kakera-gallery {
  display: -ms-grid;
  display: grid;
  gap: 0;
  position: relative;
  width: 100%;
  min-height: auto;
}
@media (max-width: 991px) {
  #kakera-gallery {
    min-height: auto;
  }
}

@-webkit-keyframes kakeraInitialFadein {
  from {
    -webkit-mask-position: 0 100%;
            mask-position: 0 100%;
    opacity: 0;
  }
  to {
    -webkit-mask-position: 0 0%;
            mask-position: 0 0%;
    opacity: 1;
  }
}

@keyframes kakeraInitialFadein {
  from {
    -webkit-mask-position: 0 100%;
            mask-position: 0 100%;
    opacity: 0;
  }
  to {
    -webkit-mask-position: 0 0%;
            mask-position: 0 0%;
    opacity: 1;
  }
}
.kakera-gallery__item {
  position: relative;
  overflow: hidden;
  cursor: pointer;
  text-decoration: none;
  -webkit-transition: opacity 0.3s ease, -webkit-transform 0.3s ease;
  transition: opacity 0.3s ease, -webkit-transform 0.3s ease;
  transition: transform 0.3s ease, opacity 0.3s ease;
  transition: transform 0.3s ease, opacity 0.3s ease, -webkit-transform 0.3s ease;
  display: block;
  -webkit-mask-image: -webkit-gradient(linear, left top, left bottom, from(black), color-stop(33%, black), color-stop(66%, transparent));
  -webkit-mask-image: linear-gradient(to bottom, black 0%, black 33%, transparent 66%);
          mask-image: -webkit-gradient(linear, left top, left bottom, from(black), color-stop(33%, black), color-stop(66%, transparent));
          mask-image: linear-gradient(to bottom, black 0%, black 33%, transparent 66%);
  -webkit-mask-size: 100% 300%;
          mask-size: 100% 300%;
}
.kakera-gallery__item-inner {
  display: block;
  width: 100%;
  height: 100%;
  -webkit-mask-image: -webkit-gradient(linear, left top, left bottom, from(black), color-stop(33%, black), color-stop(66%, transparent));
  -webkit-mask-image: linear-gradient(to bottom, black 0%, black 33%, transparent 66%);
          mask-image: -webkit-gradient(linear, left top, left bottom, from(black), color-stop(33%, black), color-stop(66%, transparent));
          mask-image: linear-gradient(to bottom, black 0%, black 33%, transparent 66%);
  -webkit-mask-size: 100% 300%;
          mask-size: 100% 300%;
  --fadein-duration: 0.5s;
  -webkit-animation: kakeraInitialFadein var(--fadein-duration) 0.4s ease both;
          animation: kakeraInitialFadein var(--fadein-duration) 0.4s ease both;
}
.kakera-gallery__item img {
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
  display: block;
  -webkit-transition: opacity 0.4s, -webkit-transform 0.8s var(--ease-out-quart);
  transition: opacity 0.4s, -webkit-transform 0.8s var(--ease-out-quart);
  transition: transform 0.8s var(--ease-out-quart), opacity 0.4s;
  transition: transform 0.8s var(--ease-out-quart), opacity 0.4s, -webkit-transform 0.8s var(--ease-out-quart);
  will-change: opacity, transform;
}
@media (hover: hover) and (pointer: fine) {
  .kakera-gallery__item:hover img {
    -webkit-transform: scale(1.025);
            transform: scale(1.025);
    opacity: 0.75;
  }
}

.kakera-gallery__load-more {
  margin: 0 auto;
  margin-top: 10rem;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
}
.kakera-gallery__load-more .kakera-gallery__load-more-button {
  background: none;
  border: none;
  padding: 0;
  cursor: pointer;
  font: inherit;
  color: inherit;
  text-align: inherit;
  position: relative;
  --arrow-size: 2.6rem;
  padding: calc(var(--arrow-size) + 0em) 0 0;
}
.kakera-gallery__load-more .kakera-gallery__load-more-button .arrow {
  -webkit-transform: rotate(90deg);
          transform: rotate(90deg);
  position: absolute;
  width: vaR(--arrow-size);
  height: calc(var(--arrow-size) * 0.5);
  left: calc(50% - var(--arrow-size) * 0.5);
  top: calc(0.8em - var(--arrow-size) * 0.25 + 1px);
  color: var(--color-border);
}
.kakera-gallery__load-more .kakera-gallery__load-more-button .text {
  font-family: var(--font-sans);
  letter-spacing: var(--ls-sans);
  font-size: var(--fz-b);
  line-height: 2.6em;
  border-bottom: 1px solid;
  display: block;
}
@media (hover: hover) and (pointer: fine) {
  .kakera-gallery__load-more .kakera-gallery__load-more-button {
    -webkit-transition: opacity 0.4s;
    transition: opacity 0.4s;
  }
  .kakera-gallery__load-more .kakera-gallery__load-more-button .arrow,
  .kakera-gallery__load-more .kakera-gallery__load-more-button .text {
    -webkit-transition: -webkit-transform var(--ease-out-quart) 0.4s;
    transition: -webkit-transform var(--ease-out-quart) 0.4s;
    transition: transform var(--ease-out-quart) 0.4s;
    transition: transform var(--ease-out-quart) 0.4s, -webkit-transform var(--ease-out-quart) 0.4s;
  }
  .kakera-gallery__load-more .kakera-gallery__load-more-button:hover {
    opacity: 0.7;
  }
  .kakera-gallery__load-more .kakera-gallery__load-more-button:hover .arrow {
    -webkit-transform: translateY(0.5rem) rotate(90deg);
            transform: translateY(0.5rem) rotate(90deg);
  }
  .kakera-gallery__load-more .kakera-gallery__load-more-button:hover .text {
    -webkit-transform: translateY(0.3rem);
            transform: translateY(0.3rem);
  }
}
.kakera-gallery__load-more .kakera-gallery__load-more-button.all-loaded {
  opacity: 0;
  pointer-events: none;
}

/**
 * Kakera Modal
 */
.kakera-modal {
  position: fixed;
  inset: 0;
  z-index: 9999;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  opacity: 0;
  pointer-events: none;
  -webkit-transition: opacity 0.4s ease;
  transition: opacity 0.4s ease;
  --icon-size: 2.2rem;
}
.kakera-modal.is-open {
  opacity: 1;
  pointer-events: all;
}
.kakera-modal__overlay {
  position: absolute;
  inset: 0;
  background: rgba(0, 0, 0, 0.9);
  cursor: pointer;
}
@media (max-width: 991px) {
  .kakera-modal__overlay {
    background: rgba(0, 0, 0, 0.95);
    --offset-y: 2rem;
    --offset-x: 1.5rem;
  }
  .kakera-modal__overlay::before, .kakera-modal__overlay::after {
    content: "";
    position: absolute;
    width: calc(var(--icon-size) * 1.4142);
    height: 1px;
    background-color: var(--color-beige);
    opacity: 0.5;
    right: var(--offset-x);
    top: calc(var(--offset-y) + var(--icon-size) * 0.5);
  }
  .kakera-modal__overlay::before {
    -webkit-transform: rotate(45deg);
            transform: rotate(45deg);
  }
  .kakera-modal__overlay::after {
    -webkit-transform: rotate(-45deg);
            transform: rotate(-45deg);
  }
}
.kakera-modal__content {
  position: relative;
  max-width: 90vw;
  max-height: 90vh;
  z-index: 1;
  -webkit-transform: scale(0.95);
          transform: scale(0.95);
  -webkit-filter: blur(8px);
          filter: blur(8px);
  -webkit-transition: -webkit-transform 1.6s ease, -webkit-filter 0.8s ease;
  transition: -webkit-transform 1.6s ease, -webkit-filter 0.8s ease;
  transition: transform 1.6s ease, filter 0.8s ease;
  transition: transform 1.6s ease, filter 0.8s ease, -webkit-transform 1.6s ease, -webkit-filter 0.8s ease;
}
.kakera-modal.is-open .kakera-modal__content {
  -webkit-transform: scale(1);
          transform: scale(1);
  -webkit-filter: blur(0);
          filter: blur(0);
}
.kakera-modal__close {
  background: none;
  border: none;
  padding: 0;
  cursor: pointer;
  font: inherit;
  color: inherit;
  text-align: inherit;
  position: absolute;
  top: 3rem;
  right: 3rem;
  background: transparent;
  border: none;
  color: var(--color-beige);
  font-size: 4rem;
  line-height: 1;
  z-index: 10;
  cursor: pointer;
  padding: 0;
  width: 4rem;
  height: 4rem;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  -webkit-transition: opacity 0.3s ease, -webkit-transform 0.3s ease;
  transition: opacity 0.3s ease, -webkit-transform 0.3s ease;
  transition: transform 0.3s ease, opacity 0.3s ease;
  transition: transform 0.3s ease, opacity 0.3s ease, -webkit-transform 0.3s ease;
  will-change: transform, opacity;
}
@media (max-width: 991px) {
  .kakera-modal__close {
    display: none;
  }
}
.kakera-modal__close::before, .kakera-modal__close::after {
  content: "";
  position: absolute;
  width: calc(var(--icon-size) * 1.4142);
  height: 1px;
  background-color: currentColor;
  opacity: 0.85;
}
.kakera-modal__close::before {
  -webkit-transform: rotate(45deg);
          transform: rotate(45deg);
}
.kakera-modal__close::after {
  -webkit-transform: rotate(-45deg);
          transform: rotate(-45deg);
}
.kakera-modal__close:hover {
  -webkit-transform: rotate(90deg);
          transform: rotate(90deg);
  opacity: 0.7;
}
.kakera-modal__media img,
.kakera-modal__media video {
  max-width: 100%;
  max-height: 90vh;
  width: auto;
  height: auto;
  display: block;
}
.kakera-modal__media video {
  outline: none;
}
.kakera-modal__video-wrapper {
  position: relative;
  display: -webkit-inline-box;
  display: -ms-inline-flexbox;
  display: inline-flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  background: rgba(0, 0, 0, 0.3);
  -webkit-transition: width 0.2s ease, height 0.42 ease;
  transition: width 0.2s ease, height 0.42 ease;
}
.kakera-modal__play-button {
  background: none;
  border: none;
  padding: 0;
  cursor: pointer;
  font: inherit;
  color: inherit;
  text-align: inherit;
  position: absolute;
  z-index: 2;
  cursor: pointer;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
}
.kakera-modal__play-button img {
  width: 7rem;
  height: 7rem;
}
@media (max-width: 767px) and (orientation: portrait) {
  .kakera-modal__play-button img {
    width: 6rem;
    height: 6rem;
  }
}
@media (hover: hover) and (pointer: fine) {
  .kakera-modal__play-button img {
    -webkit-filter: brightness(0) invert(1) blur(1px);
            filter: brightness(0) invert(1) blur(1px);
    opacity: 0.75;
    -webkit-transform: scale(1.05);
            transform: scale(1.05);
    -webkit-transition: all 0.3s ease;
    transition: all 0.3s ease;
  }
  .kakera-modal__play-button:hover img {
    opacity: 1;
    -webkit-transform: scale(1);
            transform: scale(1);
    -webkit-filter: brightness(0) invert(1) blur(0px);
            filter: brightness(0) invert(1) blur(0px);
  }
  .kakera-modal__play-button:active img {
    -webkit-transform: scale(0.95);
            transform: scale(0.95);
  }
}
.kakera-modal__prev, .kakera-modal__next {
  background: none;
  border: none;
  padding: 0;
  cursor: pointer;
  font: inherit;
  color: inherit;
  text-align: inherit;
  position: absolute;
  top: 0;
  width: 5rem;
  height: 100%;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  cursor: pointer;
  background: transparent;
  color: var(--color-beige);
  z-index: 10;
}
.kakera-modal__prev::before, .kakera-modal__next::before {
  content: "";
  display: block;
  position: absolute;
  width: 50%;
  aspect-ratio: 1/1;
  border-style: solid;
  border-width: 1px 0 0 1px;
  border-color: currentColor;
  -webkit-transition: -webkit-transform var(--ease-out-quart) 0.6s;
  transition: -webkit-transform var(--ease-out-quart) 0.6s;
  transition: transform var(--ease-out-quart) 0.6s;
  transition: transform var(--ease-out-quart) 0.6s, -webkit-transform var(--ease-out-quart) 0.6s;
  opacity: 0.85;
}
@media (max-width: 767px) and (orientation: portrait) {
  .kakera-modal__prev::before, .kakera-modal__next::before {
    width: 25%;
  }
}
.kakera-modal__prev {
  left: max(-5rem, -2.5vw);
}
.kakera-modal__prev::before {
  -webkit-transform: rotate(-45deg);
          transform: rotate(-45deg);
}
@media (hover: hover) and (pointer: fine) {
  .kakera-modal__prev:not(:disabled):hover::before {
    -webkit-transform: translate(-0.25rem) rotate(-45deg);
            transform: translate(-0.25rem) rotate(-45deg);
  }
}
.kakera-modal__next {
  right: max(-5rem, -2.5vw);
}
.kakera-modal__next::before {
  -webkit-transform: rotate(135deg);
          transform: rotate(135deg);
}
@media (hover: hover) and (pointer: fine) {
  .kakera-modal__next:not(:disabled):hover::before {
    -webkit-transform: translate(0.25rem) rotate(135deg);
            transform: translate(0.25rem) rotate(135deg);
  }
}
.kakera-modal__loading {
  position: absolute;
  top: 50%;
  left: 50%;
  -webkit-transform: translate(-50%, -50%);
          transform: translate(-50%, -50%);
  z-index: 1;
}
.kakera-modal__spinner {
  width: 7rem;
  height: 7rem;
  border: 2px solid rgba(255, 255, 255, 0.3);
  border-top-color: #fff;
  border-radius: 50%;
  -webkit-animation: kakera-modal-spin 2s linear infinite;
          animation: kakera-modal-spin 2s linear infinite;
}
@media (max-width: 767px) and (orientation: portrait) {
  .kakera-modal__spinner {
    width: 6rem;
    height: 6rem;
  }
}
.kakera-modal__error {
  color: #fff;
  font-size: 14px;
  text-align: center;
  padding: 1rem;
}

@-webkit-keyframes kakera-modal-spin {
  to {
    -webkit-transform: rotate(360deg);
            transform: rotate(360deg);
  }
}

@keyframes kakera-modal-spin {
  to {
    -webkit-transform: rotate(360deg);
            transform: rotate(360deg);
  }
}
/**
 * Sparking Sake Page
 */
.sake-intro {
  padding-top: calc(10rem + var(--item-vertical-margin));
}
@media (max-width: 767px) and (orientation: portrait) {
  .sake-intro {
    padding-top: var(--item-vertical-margin);
  }
  .sake-intro__title {
    margin-bottom: 1lh;
  }
}

.sake-slider {
  --ui-padding-vertical: calc(var(--item-vertical-margin));
  --ui-padding-horizontal: calc(var(--item-horizontal-margin));
}
@media (max-width: 767px) and (orientation: portrait) {
  .sake-slider {
    --ui-padding-vertical: calc(var(--item-horizontal-margin));
    --ui-padding-horizontal: calc(var(--item-horizontal-margin) - 0.5rem);
  }
}
.sake-slider__ui {
  position: sticky;
  margin-bottom: -100svh;
  top: 0;
  left: 0;
  width: 100%;
  height: 100svh;
  color: var(--color-white);
  pointer-events: none;
  z-index: 10;
}
.sake-slider__ui .shoulder-icon {
  position: absolute;
  aspect-ratio: 1/1;
  top: var(--ui-padding-vertical);
  right: var(--ui-padding-horizontal);
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  aspect-ratio: 1/1;
  width: 7.5rem;
  --icon-index: 0;
}
@media (max-width: 767px) and (orientation: portrait) {
  .sake-slider__ui .shoulder-icon {
    width: 6.6rem;
  }
}
.sake-slider__ui .shoulder-icon .border {
  position: absolute;
  width: 100%;
  height: 100%;
  top: 0;
  left: 0;
  -webkit-transition: -webkit-transform 0.8s var(--ease-out-quart);
  transition: -webkit-transform 0.8s var(--ease-out-quart);
  transition: transform 0.8s var(--ease-out-quart);
  transition: transform 0.8s var(--ease-out-quart), -webkit-transform 0.8s var(--ease-out-quart);
  -webkit-transform: rotate(calc(45deg * var(--icon-index)));
          transform: rotate(calc(45deg * var(--icon-index)));
}
.sake-slider__ui .shoulder-icon__text {
  position: relative;
  font-size: 3rem;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  line-height: 2;
  top: 0.095em;
  letter-spacing: 0;
}
@media (max-width: 767px) and (orientation: portrait) {
  .sake-slider__ui .shoulder-icon__text {
    font-size: var(--fz-xl);
  }
}
.sake-slider__ui .shoulder-icon__text span {
  display: block;
  will-change: transform, opacity;
}
.sake-slider__ui .shoulder-icon__text span:not(:first-child) {
  position: absolute;
  opacity: 0;
}
.sake-slider__ui .title {
  position: absolute;
  top: calc(var(--ui-padding-vertical) + 0.3rem);
  left: var(--ui-padding-horizontal);
}
.sake-slider__ui .title .en {
  text-indent: 0;
}
.sake-slider__ui .title .en,
.sake-slider__ui .title .jp {
  position: relative;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
}
.sake-slider__ui .title .en span,
.sake-slider__ui .title .jp span {
  display: block;
  -webkit-mask-image: -webkit-gradient(linear, left top, left bottom, color-stop(20%, rgba(0, 0, 0, 0)), color-stop(40%, #000), color-stop(60%, #000), color-stop(80%, rgba(0, 0, 0, 0)));
  -webkit-mask-image: linear-gradient(to bottom, rgba(0, 0, 0, 0) 20%, #000 40%, #000 60%, rgba(0, 0, 0, 0) 80%);
          mask-image: -webkit-gradient(linear, left top, left bottom, color-stop(20%, rgba(0, 0, 0, 0)), color-stop(40%, #000), color-stop(60%, #000), color-stop(80%, rgba(0, 0, 0, 0)));
          mask-image: linear-gradient(to bottom, rgba(0, 0, 0, 0) 20%, #000 40%, #000 60%, rgba(0, 0, 0, 0) 80%);
  -webkit-mask-size: 100% 500%;
          mask-size: 100% 500%;
  -webkit-mask-position: 0 0%;
          mask-position: 0 0%;
  will-change: transform, opacity, mask-position;
}
.sake-slider__ui .title .en span:not(:first-child),
.sake-slider__ui .title .jp span:not(:first-child) {
  position: absolute;
  opacity: 0;
}
.sake-slider__ui .pagination {
  position: absolute;
  display: -ms-grid;
  display: grid;
  -ms-grid-columns: (1fr)[2];
  grid-template-columns: repeat(2, 1fr);
  -ms-grid-rows: (1fr)[2];
  grid-template-rows: repeat(2, 1fr);
  bottom: calc(var(--ui-padding-vertical) - 0.5rem);
  left: calc(var(--ui-padding-horizontal) - 0.5rem);
  width: 5rem;
  height: 5rem;
  font-family: var(--font-sans);
  font-size: var(--fz-p);
  letter-spacing: var(--ls-sans);
  line-height: 1;
}
.sake-slider__ui .pagination > *:nth-child(1) {
  -ms-grid-row: 1;
  -ms-grid-column: 1;
}
.sake-slider__ui .pagination > *:nth-child(2) {
  -ms-grid-row: 1;
  -ms-grid-column: 2;
}
.sake-slider__ui .pagination > *:nth-child(3) {
  -ms-grid-row: 2;
  -ms-grid-column: 1;
}
.sake-slider__ui .pagination > *:nth-child(4) {
  -ms-grid-row: 2;
  -ms-grid-column: 2;
}
.sake-slider__ui .pagination .current {
  -ms-grid-column: 1;
  -ms-grid-column-span: 1;
  grid-column: 1/2;
  -ms-grid-row: 1;
  -ms-grid-row-span: 1;
  grid-row: 1/2;
  font-size: var(--fz-b);
  -ms-grid-row-align: center;
      align-self: center;
  padding: 0.1em 0 0 0.1em;
  position: relative;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
}
.sake-slider__ui .pagination .current span {
  display: block;
  will-change: transform, opacity;
}
.sake-slider__ui .pagination .current span:not(:first-child) {
  position: absolute;
  opacity: 0;
}
.sake-slider__ui .pagination .total {
  -ms-grid-column: 2;
  -ms-grid-column-span: 1;
  grid-column: 2/3;
  -ms-grid-row: 2;
  -ms-grid-row-span: 1;
  grid-row: 2/3;
  font-size: var(--fz-l);
  -ms-grid-row-align: end;
      align-self: end;
  -ms-grid-column-align: end;
      justify-self: end;
  padding-bottom: 0.05em;
}
.sake-slider__ui .pagination .separator {
  position: absolute;
  top: 50%;
  left: 10%;
  width: 80%;
  height: 1px;
  background-color: currentColor;
  -webkit-transform: translateY(-50%) rotate(-45deg) scaleX(1.4142);
          transform: translateY(-50%) rotate(-45deg) scaleX(1.4142);
}
.sake-slider__switch-link {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  width: -webkit-max-content;
  width: -moz-max-content;
  width: max-content;
  position: relative;
  gap: 1.8em;
  text-decoration: none;
  color: inherit;
}
.sake-slider__switch-link .text {
  font-family: var(--font-sans);
  display: block;
  line-height: 1.5384615385;
  letter-spacing: var(--ls-sans);
  color: inherit;
  white-space: nowrap;
  font-size: min(2.6rem, 2.6vh + 0.5rem);
}
@media (max-width: 991px) {
  .sake-slider__switch-link .text {
    font-size: var(--fz-xl);
  }
}
.sake-slider__switch-link .icon {
  display: block;
  width: 3.23rem;
  height: auto;
}
@media (hover: hover) and (pointer: fine) {
  .sake-slider__switch-link:not(.is-disabled) {
    --hover-duration: 0.6s;
  }
  .sake-slider__switch-link:not(.is-disabled)::after {
    content: "";
    position: absolute;
    bottom: -8px;
    height: 1px;
    background-color: currentColor;
    left: 0;
    width: calc(100% + 8px);
    -webkit-transform: scaleX(0.95);
            transform: scaleX(0.95);
    opacity: 0;
    -webkit-transition: opacity var(--hover-duration), -webkit-transform var(--ease-out-quart) var(--hover-duration);
    transition: opacity var(--hover-duration), -webkit-transform var(--ease-out-quart) var(--hover-duration);
    transition: transform var(--ease-out-quart) var(--hover-duration), opacity var(--hover-duration);
    transition: transform var(--ease-out-quart) var(--hover-duration), opacity var(--hover-duration), -webkit-transform var(--ease-out-quart) var(--hover-duration);
    -webkit-transform-origin: left;
            transform-origin: left;
  }
  .sake-slider__switch-link:not(.is-disabled) .text,
  .sake-slider__switch-link:not(.is-disabled) .icon {
    -webkit-transition: var(--ease-out-quart) var(--hover-duration);
    transition: var(--ease-out-quart) var(--hover-duration);
  }
  .sake-slider__switch-link:not(.is-disabled) .icon {
    -webkit-transition-delay: 0s;
            transition-delay: 0s;
  }
  .sake-slider__switch-link:not(.is-disabled):hover .text,
  .sake-slider__switch-link:not(.is-disabled):hover .icon {
    -webkit-transform: translateX(4px);
            transform: translateX(4px);
  }
  .sake-slider__switch-link:not(.is-disabled):hover .icon {
    -webkit-transition-delay: 0.05s;
            transition-delay: 0.05s;
    -webkit-transform: translateX(8px);
            transform: translateX(8px);
  }
  .sake-slider__switch-link:not(.is-disabled):hover::after {
    -webkit-transform: scaleX(1) translateX(-2px);
            transform: scaleX(1) translateX(-2px);
    opacity: 0.5;
  }
}
.sake-slider__bottom-link-wrap {
  position: relative;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  padding: var(--item-vertical-margin) var(--item-horizontal-margin);
  background-color: var(--color-green);
  color: var(--color-white);
  z-index: 11;
}
.sake-slider__bottom-link-wrap .link-cmn__wrapper {
  margin-top: 0;
}
.sake-slider__bottom-link-wrap.is-disabled {
  display: -ms-grid;
  display: grid;
  -ms-grid-columns: 1fr auto 1fr;
  grid-template-columns: 1fr auto 1fr;
}
@media (max-width: 767px) and (orientation: portrait) {
  .sake-slider__bottom-link-wrap.is-disabled {
    -ms-grid-columns: 1fr;
    grid-template-columns: 1fr;
  }
}
.sake-slider__bottom-link-wrap.is-disabled .sake-slider__bottom-link {
  -ms-grid-column: 2;
  -ms-grid-column-span: 1;
  grid-column: 2/3;
  cursor: default;
}
@media (max-width: 767px) and (orientation: portrait) {
  .sake-slider__bottom-link-wrap.is-disabled .sake-slider__bottom-link {
    -ms-grid-column: 1;
    grid-column: 1;
    -ms-grid-row: 1;
    grid-row: 1;
    -ms-grid-column-align: center;
        justify-self: center;
    opacity: 0.5;
  }
}
.sake-slider__bottom-link-wrap.is-disabled .note {
  -ms-grid-column: 3;
  -ms-grid-column-span: 1;
  grid-column: 3/4;
  text-align: right;
  font-size: var(--fz-ps);
  font-family: var(--font-sans);
  letter-spacing: var(--ls-sans);
  -ms-grid-row-align: center;
      align-self: center;
}
@media (max-width: 767px) and (orientation: portrait) {
  .sake-slider__bottom-link-wrap.is-disabled .note {
    -ms-grid-column: 1;
    grid-column: 1;
    -ms-grid-row: 2;
    grid-row: 2;
    text-align: center;
    -ms-grid-column-align: center;
        justify-self: center;
    padding-top: 1rem;
  }
}
.sake-slider__bottom-link-wrap.is-disabled .link-cmn {
  --accent-color: var(--color-white);
}

.sake-slider-wrapper {
  position: relative;
  z-index: 11;
}

.sake-item {
  display: contents;
}
.sake-item__hero {
  height: 100lvh;
  width: 100%;
  overflow: hidden;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  position: relative;
  z-index: 0;
  cursor: pointer;
}
@media (max-width: 767px) and (orientation: portrait) {
  .sake-item__hero {
    -webkit-box-pack: start;
        -ms-flex-pack: start;
            justify-content: flex-start;
  }
}
.sake-item__hero .bg {
  display: block;
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
}
.sake-item__hero .copy {
  position: absolute;
  color: var(--color-white);
  font-family: var(--font-serif);
  font-size: var(--fz-l2);
  line-height: 1.5555555556;
  letter-spacing: var(--ls-copy);
  text-indent: var(--ls-copy);
  max-width: 80%;
  text-align: center;
}
@media (max-width: 767px) and (orientation: portrait) {
  .sake-item__hero .copy {
    max-width: calc(100% - (4rem + var(--item-horizontal-margin)) * 1 - 2rem);
    line-height: var(--lh-base);
    word-break: keep-all;
    text-align: left;
    padding-left: var(--item-horizontal-margin);
    font-size: var(--fz-xl);
    letter-spacing: var(--ls-xl);
    line-height: 1.8;
    text-indent: 0;
  }
  .sake-item__hero .copy wbr {
    display: block;
  }
}
.sake-item__hero .indicator {
  background: none;
  border: none;
  padding: 0;
  cursor: pointer;
  font: inherit;
  color: inherit;
  text-align: inherit;
  color: var(--color-white);
  pointer-events: auto;
  position: absolute;
  --button-width: 5.1rem;
  --button-height: 12.3rem;
  --button-position: 50lvh;
  top: calc(var(--button-position) - var(--button-height) / 2);
  right: var(--ui-padding-horizontal);
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
  width: var(--button-width);
  height: calc(100lvh - var(--button-position) - var(--ui-padding-vertical) + var(--button-height) / 2);
}
@media (max-width: 767px) and (orientation: portrait) {
  .sake-item__hero .indicator {
    --button-width: 4rem;
    --button-height: 15rem;
  }
}
.sake-item__hero .indicator__story {
  width: var(--button-width);
  height: var(--button-height);
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  border: 1px solid;
  border-radius: 100vmax;
  font-size: var(--fz-p);
}
.sake-item__hero .indicator__story span {
  -webkit-writing-mode: vertical-rl;
      -ms-writing-mode: tb-rl;
          writing-mode: vertical-rl;
}
@media (hover: hover) and (pointer: fine) {
  .sake-item__hero .indicator__story {
    -webkit-transition: color 0.4s, background-color 0.4s, border-color 0.4s;
    transition: color 0.4s, background-color 0.4s, border-color 0.4s;
  }
  .sake-item__hero .indicator__story:hover {
    background-color: var(--color-white);
    color: var(--color-black);
  }
}
.sake-item__hero .indicator__bar {
  width: 1px;
  -webkit-box-flex: 1;
      -ms-flex: 1 1 auto;
          flex: 1 1 auto;
  background-color: currentColor;
}
.sake-item__hero .indicator__arrow {
  width: var(--button-width);
  height: auto;
  aspect-ratio: 1/1;
  border-radius: 100vmax;
  border: 1px solid;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
}
.sake-item__hero .indicator__arrow::before {
  content: "";
  display: block;
  width: 27%;
  height: 27%;
  border-top: 1px solid;
  border-right: 1px solid;
  -webkit-transform: rotate(135deg);
          transform: rotate(135deg);
  margin: 0 auto;
  margin-top: 30%;
  -webkit-transition: -webkit-transform 0.4s var(--ease-out-quart);
  transition: -webkit-transform 0.4s var(--ease-out-quart);
  transition: transform 0.4s var(--ease-out-quart);
  transition: transform 0.4s var(--ease-out-quart), -webkit-transform 0.4s var(--ease-out-quart);
}
.sake-item__hero.open .indicator__arrow::before {
  -webkit-transform: translateY(40%) rotate(-45deg);
          transform: translateY(40%) rotate(-45deg);
}
.sake-item__detail {
  position: relative;
  z-index: 1001;
  background-color: var(--color-beige);
  height: 0;
  overflow: hidden;
  cursor: pointer;
}
.sake-item__detail-inner {
  padding: calc(var(--item-vertical-margin) + 2rem) var(--item-horizontal-margin) calc(var(--item-vertical-margin) + 8rem);
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: horizontal;
  -webkit-box-direction: reverse;
      -ms-flex-direction: row-reverse;
          flex-direction: row-reverse;
}
@media (max-width: 767px) and (orientation: portrait) {
  .sake-item__detail-inner {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
    padding-bottom: var(--item-vertical-margin);
  }
}
.sake-item__detail .image-column {
  width: 50%;
  padding-right: 10rem;
  margin: 0;
}
@media (max-width: 767px) and (orientation: portrait) {
  .sake-item__detail .image-column {
    width: 100%;
    padding-right: 0;
    padding-bottom: 10rem;
  }
}
.sake-item__detail .description-column {
  width: 50%;
  margin: 0;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
}
@media (max-width: 767px) and (orientation: portrait) {
  .sake-item__detail .description-column {
    width: 100%;
    padding-right: 0;
  }
  .sake-item__detail .description-column:not(:last-child) {
    margin-bottom: 5rem;
  }
}
.sake-item__detail .sake-title {
  margin-bottom: 6rem;
}
.sake-item__detail .sake-title .en {
  text-indent: 0;
}
.sake-item__detail .copy {
  font-family: var(--font-serif);
  font-size: 2.5rem;
  line-height: 1.7142857143;
  letter-spacing: var(--ls-xl);
  margin-bottom: calc(var(--fz-p) * -1);
  margin-top: 6.5rem;
}
@media (max-width: 767px) and (orientation: portrait) {
  .sake-item__detail .copy {
    font-size: var(--fz-xl);
    word-break: keep-all;
  }
}
.sake-item__detail .copy[lang=en-US], [lang=en-US] .sake-item__detail .copy {
  margin-bottom: 1lh;
}
.sake-item__detail .copy .en {
  letter-spacing: calc(var(--ls-xl) / 2);
}
.sake-item__detail p:not(.copy) + p {
  margin-top: 1em;
}
.sake-item__detail .spec-cmn + .copy {
  margin-top: 8rem;
}
.sake-item__detail .link-wrap {
  margin-top: 4rem;
}
.sake-item__detail .link-wrap .link-large {
  position: relative;
  bottom: 0;
  right: auto;
}
.sake-item__detail .ec-link-wrap {
  margin-top: auto;
  padding-top: 3.75rem;
}
.sake-item__detail .images {
  margin: 0;
  margin-left: auto;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  gap: 2.5rem;
}
.sake-item__detail .images img {
  display: block;
  width: 100%;
  height: auto;
}
.sake-item__detail .icon-closer {
  width: 5.1rem;
  height: auto;
  aspect-ratio: 1/1;
  border-radius: 100vmax;
  border: 1px solid;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  position: absolute;
  right: calc(var(--item-horizontal-margin) - 1.5rem);
  bottom: calc(var(--item-vertical-margin) + 8rem + 2.5rem);
  -webkit-transition: opacity 0.4s, -webkit-transform var(--ease-out-quart) 0.4s;
  transition: opacity 0.4s, -webkit-transform var(--ease-out-quart) 0.4s;
  transition: transform var(--ease-out-quart) 0.4s, opacity 0.4s;
  transition: transform var(--ease-out-quart) 0.4s, opacity 0.4s, -webkit-transform var(--ease-out-quart) 0.4s;
  opacity: 0;
}
@media (max-width: 767px) and (orientation: portrait) {
  .sake-item__detail .icon-closer {
    width: 4rem;
    bottom: calc(var(--item-vertical-margin) + 1.75rem);
  }
}
.sake-item__detail .icon-closer::before {
  content: "";
  display: block;
  width: 27%;
  height: 27%;
  border-top: 1px solid;
  border-right: 1px solid;
  -webkit-transform: rotate(135deg);
          transform: rotate(135deg);
  margin: 0 auto;
  margin-top: 30%;
  -webkit-transform: translateY(40%) rotate(-45deg);
          transform: translateY(40%) rotate(-45deg);
}
@media (hover: hover) and (pointer: fine) {
  .sake-item__detail .icon-closer:hover {
    -webkit-transform: translateY(-10%);
            transform: translateY(-10%);
  }
}
.sake-item__detail.open .icon-closer {
  opacity: 1;
  -webkit-transition-delay: 0s, 1s;
          transition-delay: 0s, 1s;
}

.gallery-page-gallery {
  padding: calc(var(--item-vertical-margin) + 10rem) 0 var(--item-vertical-margin);
}

/**
 * Distributor Page
 */
.distribution-flow {
  list-style-type: none;
  display: -ms-grid;
  display: grid;
  grid-auto-flow: row dense;
  width: 50%;
  margin-left: auto;
  -ms-grid-columns: 5rem 1.4rem 1fr;
  grid-template-columns: 5rem 1fr;
  gap: 1.4rem;
  font-family: var(--font-sans);
  letter-spacing: var(--ls-sans);
}
@media (max-width: 767px) and (orientation: portrait) {
  .distribution-flow {
    width: 100%;
  }
}
.distribution-flow__title {
  font-family: var(--font-sans);
  letter-spacing: var(--ls-sans);
  font-size: var(--fz-l2);
}
@media (max-width: 767px) and (orientation: portrait) {
  .distribution-flow__title {
    margin-bottom: 1lh;
  }
}
.distribution-flow__wrapper {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  max-width: calc(100% - var(--item-horizontal-margin) * 2);
  margin: 0 auto;
  padding: 0 4rem var(--item-vertical-margin);
}
@media (max-width: 767px) and (orientation: portrait) {
  .distribution-flow__wrapper {
    width: 100%;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
    padding: 0 0 var(--item-vertical-margin);
  }
}
.distribution-flow__wrapper[lang=en-US], [lang=en-US] .distribution-flow__wrapper {
  padding: 0 4rem var(--item-vertical-margin) 0;
}
@media (max-width: 767px) and (orientation: portrait) {
  .distribution-flow__wrapper[lang=en-US], [lang=en-US] .distribution-flow__wrapper {
    padding: 0 0 var(--item-vertical-margin);
  }
}
.distribution-flow__item {
  display: contents;
}
.distribution-flow__item .no {
  border-radius: 100vmax;
  aspect-ratio: 1/1;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  border: 1px solid var(--color-border);
  font-size: 2.2rem;
  letter-spacing: 0;
  line-height: 1;
  -ms-grid-column: 1;
  -ms-grid-column-span: 1;
  grid-column: 1/2;
}
.distribution-flow__item .title {
  -ms-grid-row-align: center;
      align-self: center;
  font-size: var(--fz-l2);
  margin: 0;
  -ms-grid-column: 2;
  -ms-grid-column-span: 1;
  grid-column: 2/3;
}
.distribution-flow__item .detail {
  -ms-grid-row-align: start;
      align-self: start;
  font-size: var(--fz-ps);
  line-height: 2.1428571429;
  -ms-grid-column: 2;
  -ms-grid-column-span: 1;
  grid-column: 2/3;
  min-height: 12rem;
}
.distribution-flow__item.last .detail {
  min-height: unset;
}
.distribution-flow .arrow {
  position: relative;
  -ms-grid-column: 1;
  grid-column: 1/1;
  -ms-grid-column-align: center;
      justify-self: center;
  width: 0.92rem;
}
.distribution-flow .arrow::before {
  content: "";
  display: block;
  width: 1px;
  height: 100%;
  position: absolute;
  top: 0;
  left: calc(50% - 0.5px);
  background-color: var(--color-border);
}
.distribution-flow .arrow::after {
  content: "";
  display: block;
  width: 100%;
  aspect-ratio: 1/1;
  position: absolute;
  left: 0;
  bottom: 0;
  border-style: solid;
  border-width: 0 0 1px 1px;
  border-color: var(--color-border);
  -webkit-transform: translateX(-0.5px) translateY(-1.25px) rotate(-45deg);
          transform: translateX(-0.5px) translateY(-1.25px) rotate(-45deg);
}
.distribution-flow .link-wrap {
  -ms-grid-column: 1;
  -ms-grid-column-span: 2;
  grid-column: 1/3;
  margin-top: 5rem;
}
.distribution-flow .link-wrap .link {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  text-decoration: none;
  color: var(--color-black);
  border: 1px solid var(--color-border);
  height: 4.7rem;
  width: 28rem;
  max-width: 100%;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  font-size: var(--fz-ps);
  border-radius: 100vmax;
  position: relative;
  cursor: pointer;
}
@media (max-width: 767px) and (orientation: portrait) {
  .distribution-flow .link-wrap .link {
    width: 100%;
  }
}
.distribution-flow .link-wrap .link__arrow {
  right: 2.5rem;
  height: 0.97rem;
  width: 1.085rem;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  position: absolute;
}
.distribution-flow .link-wrap .link__arrow::before {
  content: "";
  height: 1px;
  width: 100%;
  background-color: var(--color-border);
  display: block;
  position: absolute;
  top: 50%;
}
.distribution-flow .link-wrap .link__arrow::after {
  content: "";
  display: block;
  position: absolute;
  height: 70.7113562438%;
  width: auto;
  top: 50%;
  right: 0;
  aspect-ratio: 1/1;
  border-style: solid;
  border-width: 1px 1px 0 0;
  -webkit-transform-origin: top right;
          transform-origin: top right;
  -webkit-transform: rotate(45deg);
          transform: rotate(45deg);
}
@media (hover: hover) and (pointer: fine) {
  .distribution-flow .link-wrap .link {
    -webkit-transition: background-color 0.3s, color 0.3s;
    transition: background-color 0.3s, color 0.3s;
  }
  .distribution-flow .link-wrap .link__arrow {
    -webkit-transition: -webkit-transform var(--ease-out-quart) 0.3s;
    transition: -webkit-transform var(--ease-out-quart) 0.3s;
    transition: transform var(--ease-out-quart) 0.3s;
    transition: transform var(--ease-out-quart) 0.3s, -webkit-transform var(--ease-out-quart) 0.3s;
  }
  .distribution-flow .link-wrap .link__arrow::before, .distribution-flow .link-wrap .link__arrow::after {
    -webkit-transition: background-color 0.3s, border-color 0.3s;
    transition: background-color 0.3s, border-color 0.3s;
  }
  .distribution-flow .link-wrap .link:hover {
    background-color: var(--color-black);
    color: var(--color-white);
  }
  .distribution-flow .link-wrap .link:hover .link__arrow {
    -webkit-transform: translateX(0.2rem);
            transform: translateX(0.2rem);
  }
  .distribution-flow .link-wrap .link:hover .link__arrow::before {
    background-color: var(--color-white);
  }
  .distribution-flow .link-wrap .link:hover .link__arrow::after {
    border-color: var(--color-white);
  }
}

/**
 * Single Post Page
 */
.article-wrapper {
  max-width: min(100%, 1440px - var(--item-horizontal-margin) * 2);
  width: calc(100% - var(--item-horizontal-margin) * 2);
  margin: 0 auto;
  padding: 0 10rem var(--item-vertical-margin) 0;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: horizontal;
  -webkit-box-direction: reverse;
      -ms-flex-direction: row-reverse;
          flex-direction: row-reverse;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
  font-family: var(--font-sans);
  letter-spacing: var(--ls-sans);
  font-size: var(--fz-ps);
}
@media (max-width: 991px) {
  .article-wrapper {
    gap: 5rem;
  }
}
@media (max-width: 767px) and (orientation: portrait) {
  .article-wrapper {
    gap: 0;
    padding: 0;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
  }
}

.article-side-bar {
  min-width: 20rem;
  width: 19.4915254237%;
}
@media (max-width: 767px) and (orientation: portrait) {
  .article-side-bar {
    width: 100%;
    padding: calc(var(--item-vertical-margin) * 0.5) 0;
  }
}
.article-side-bar .post-categories {
  --link-height: 4rem;
  list-style-type: none;
  margin: calc((1em - var(--link-height)) * 0.5) 0 0 0;
  padding: 0;
  font-size: var(--fz-p);
}
.article-side-bar .post-categories li {
  margin-bottom: 0.3rem;
}
.article-side-bar .post-categories li:last-child {
  margin-bottom: 0;
}
@media (max-width: 767px) and (orientation: portrait) {
  .article-side-bar .post-categories li {
    margin: 0;
    border-bottom: 1px solid var(--color-border);
  }
}
.article-side-bar .post-categories li a {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  text-decoration: none;
  color: var(--color-black);
  font-size: var(--fz-p);
  padding: max((3rem - 1lh) * 0.5, 0px) 0;
  -webkit-transition: opacity 0.3s;
  transition: opacity 0.3s;
  --arrow-size: calc(0.5em / 1.4142);
  height: var(--link-height);
  width: 100%;
  gap: 1.5rem;
}
.article-side-bar .post-categories li a::after {
  content: "";
  display: block;
  width: var(--arrow-size);
  aspect-ratio: 1/1;
  border-style: solid;
  border-width: 0 1px 1px 0;
  -webkit-transform: translateX(-0.5rem) rotate(-45deg);
          transform: translateX(-0.5rem) rotate(-45deg);
  -webkit-transition: opacity 0.3s, -webkit-transform var(--ease-out-quart) 0.6s;
  transition: opacity 0.3s, -webkit-transform var(--ease-out-quart) 0.6s;
  transition: transform var(--ease-out-quart) 0.6s, opacity 0.3s;
  transition: transform var(--ease-out-quart) 0.6s, opacity 0.3s, -webkit-transform var(--ease-out-quart) 0.6s;
  opacity: 0;
}
.article-side-bar .post-categories li a .text {
  display: block;
  position: relative;
  -webkit-transition: -webkit-transform var(--ease-out-quart) 0.6s;
  transition: -webkit-transform var(--ease-out-quart) 0.6s;
  transition: transform var(--ease-out-quart) 0.6s;
  transition: transform var(--ease-out-quart) 0.6s, -webkit-transform var(--ease-out-quart) 0.6s;
}
@media (hover: hover) and (pointer: fine) {
  .article-side-bar .post-categories li a:hover {
    opacity: 0.65;
  }
  .article-side-bar .post-categories li a:hover::after {
    -webkit-transform: translateX(0rem) rotate(-45deg);
            transform: translateX(0rem) rotate(-45deg);
    opacity: 1;
    -webkit-transition: opacity 0.3s, -webkit-transform var(--ease-out-quart) 0.6s;
    transition: opacity 0.3s, -webkit-transform var(--ease-out-quart) 0.6s;
    transition: transform var(--ease-out-quart) 0.6s, opacity 0.3s;
    transition: transform var(--ease-out-quart) 0.6s, opacity 0.3s, -webkit-transform var(--ease-out-quart) 0.6s;
  }
}
@media (hover: none), (pointer: coarse) {
  .article-side-bar .post-categories li a {
    -webkit-box-pack: justify;
        -ms-flex-pack: justify;
            justify-content: space-between;
  }
  @media (min-width: 768px) or (orientation: landscape) {
    .article-side-bar .post-categories li a {
      max-width: 18rem;
    }
  }
  .article-side-bar .post-categories li a:after {
    -webkit-transform: translateX(0rem) rotate(-45deg);
            transform: translateX(0rem) rotate(-45deg);
    opacity: 1;
  }
}
.article-side-bar .post-categories li a.is-current .text::after {
  content: "";
  border-bottom: 1px solid var(--color-border);
  position: absolute;
  width: 100%;
  bottom: 0.4rem;
  left: 0;
}

.article-header {
  display: -ms-grid;
  display: grid;
  -ms-grid-columns: auto 2rem 12rem;
  grid-template-columns: auto 12rem;
  gap: 0 2rem;
  padding-bottom: 1rem;
  border-bottom: 1px solid var(--color-border);
  margin-bottom: 8rem;
  margin-top: calc((1em - 1lh) * 0.5);
}
.article-header .category {
  font-size: var(--fz-p);
}
.article-header .category[lang=en-US], [lang=en-US] .article-header .category {
  font-size: var(--fz-ps);
  line-height: 2;
}
.article-header .date {
  font-size: var(--fz-p);
  -ms-grid-column-align: end;
      justify-self: end;
  text-align: right;
  -ms-grid-column: 2;
  -ms-grid-column-span: 1;
  grid-column: 2/3;
  -ms-grid-row: 2;
  -ms-grid-row-span: 1;
  grid-row: 2/3;
  -ms-grid-row-align: center;
      align-self: center;
  padding-bottom: 0.2em;
}
.article-header .date[lang=en-US], [lang=en-US] .article-header .date {
  font-size: var(--fz-ps);
  line-height: 2;
}
@media (max-width: 767px) and (orientation: portrait) {
  .article-header .date {
    -ms-grid-row: 1;
    -ms-grid-row-span: 1;
    grid-row: 1/2;
  }
}
.article-header .title {
  font-size: var(--fz-l2);
  -ms-grid-column: 1;
  -ms-grid-column-span: 1;
  grid-column: 1/2;
  margin: 0;
}
@media (max-width: 767px) and (orientation: portrait) {
  .article-header .title {
    -ms-grid-column: 1;
    -ms-grid-column-span: 2;
    grid-column: 1/3;
  }
}

.article-content {
  font-size: var(--fz-ps);
  line-height: 2.1428571429;
  margin-top: calc((1em - 1lh) * 0.5);
}
.article-content p {
  margin: 0;
}
.article-content p + p {
  margin-top: 1lh;
}
.article-content ul,
.article-content ol {
  margin: 1lh 0 1lh 2em;
  padding: 0;
}
.article-content ul li,
.article-content ol li {
  margin: 0;
}
.article-content ul li + li,
.article-content ol li + li {
  margin-top: 0.25lh;
}
.article-content table {
  margin: 1lh 0;
  border-collapse: collapse;
  width: 100%;
}
.article-content table th,
.article-content table td {
  border: 1px solid var(--color-border);
  padding: max(0px, 1.5rem - (1lh - 1em) * 0.5) 0.8rem;
}
.article-content .wp-block-image {
  margin: 2lh 0;
}
.article-content .wp-block-image img {
  display: block;
  width: 100%;
  height: auto;
  -o-object-fit: contain;
     object-fit: contain;
}

.article-footer {
  margin-top: 8rem;
  padding-top: 6rem;
  border-top: 1px solid var(--color-border);
}
.article-footer__post-navigation {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
  font-size: var(--fz-p);
  --arrow-size: calc(0.6em / 1.4142);
}
.article-footer__post-navigation a {
  text-decoration: none;
  color: var(--color-black);
  -webkit-transition: opacity 0.3s;
  transition: opacity 0.3s;
}
.article-footer__post-navigation a:hover {
  color: var(--color-green);
}
.article-footer__post-navigation .nav-prev {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  gap: 1.5rem;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
}
.article-footer__post-navigation .nav-prev::before {
  content: "";
  display: block;
  width: var(--arrow-size);
  aspect-ratio: 1/1;
  border-style: solid;
  border-width: 1px 0 0 1px;
  -webkit-transform: rotate(-45deg);
          transform: rotate(-45deg);
  -webkit-transition: -webkit-transform var(--ease-out-quart) 0.6s;
  transition: -webkit-transform var(--ease-out-quart) 0.6s;
  transition: transform var(--ease-out-quart) 0.6s;
  transition: transform var(--ease-out-quart) 0.6s, -webkit-transform var(--ease-out-quart) 0.6s;
}
@media (hover: hover) and (pointer: fine) {
  .article-footer__post-navigation .nav-prev:link {
    -webkit-transition: opacity 0.3s;
    transition: opacity 0.3s;
  }
  .article-footer__post-navigation .nav-prev:link .text {
    -webkit-transition: -webkit-transform var(--ease-out-quart) 0.8s;
    transition: -webkit-transform var(--ease-out-quart) 0.8s;
    transition: transform var(--ease-out-quart) 0.8s;
    transition: transform var(--ease-out-quart) 0.8s, -webkit-transform var(--ease-out-quart) 0.8s;
  }
  .article-footer__post-navigation .nav-prev:link:hover {
    opacity: 0.65;
  }
  .article-footer__post-navigation .nav-prev:link:hover .text {
    -webkit-transform: translateX(-0.5rem);
            transform: translateX(-0.5rem);
  }
  .article-footer__post-navigation .nav-prev:link:hover::before {
    -webkit-transform: translateX(-0.25rem) rotate(-45deg);
            transform: translateX(-0.25rem) rotate(-45deg);
  }
}
.article-footer__post-navigation .nav-next {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  gap: 1.5rem;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
}
.article-footer__post-navigation .nav-next::after {
  content: "";
  display: block;
  width: var(--arrow-size);
  aspect-ratio: 1/1;
  border-style: solid;
  border-width: 0 1px 1px 0;
  -webkit-transform: rotate(-45deg);
          transform: rotate(-45deg);
  -webkit-transition: -webkit-transform var(--ease-out-quart) 0.6s;
  transition: -webkit-transform var(--ease-out-quart) 0.6s;
  transition: transform var(--ease-out-quart) 0.6s;
  transition: transform var(--ease-out-quart) 0.6s, -webkit-transform var(--ease-out-quart) 0.6s;
}
@media (hover: hover) and (pointer: fine) {
  .article-footer__post-navigation .nav-next:link {
    -webkit-transition: opacity 0.3s;
    transition: opacity 0.3s;
  }
  .article-footer__post-navigation .nav-next:link .text {
    -webkit-transition: -webkit-transform var(--ease-out-quart) 0.8s;
    transition: -webkit-transform var(--ease-out-quart) 0.8s;
    transition: transform var(--ease-out-quart) 0.8s;
    transition: transform var(--ease-out-quart) 0.8s, -webkit-transform var(--ease-out-quart) 0.8s;
  }
  .article-footer__post-navigation .nav-next:link:hover {
    opacity: 0.65;
  }
  .article-footer__post-navigation .nav-next:link:hover .text {
    -webkit-transform: translateX(0.5rem);
            transform: translateX(0.5rem);
  }
  .article-footer__post-navigation .nav-next:link:hover::after {
    -webkit-transform: translateX(0.25rem) rotate(-45deg);
            transform: translateX(0.25rem) rotate(-45deg);
  }
}
.article-footer__post-navigation .nav-disabled {
  opacity: 0.5;
  pointer-events: none;
}

.article-main-column,
.article-list-column {
  width: 76.2711864407%;
}
@media (max-width: 767px) and (orientation: portrait) {
  .article-main-column,
  .article-list-column {
    width: 100%;
  }
}

.article-list {
  width: 100%;
  margin-bottom: 7.5rem;
  border-top: 1px solid var(--color-border);
}

.article-item {
  width: 100%;
}
.article-item a {
  text-decoration: none;
  font-size: var(--fz-p);
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
}

/**
 * Mouse Stalker (.sake-item__hero専用)
 */
.mouse-stalker {
  --size: 6rem;
  position: fixed;
  width: var(--size);
  height: var(--size);
  color: var(--color-white);
  border: 1px solid currentColor;
  border-radius: 50%;
  pointer-events: none;
  z-index: 9999;
  top: calc(var(--size) * -0.8);
  left: calc(var(--size) * -0.8);
  opacity: 0;
  -webkit-transition: opacity 0.3s ease, color 0.3s ease;
  transition: opacity 0.3s ease, color 0.3s ease;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
}
.mouse-stalker::before {
  position: absolute;
  content: "open";
  font-size: var(--fz-s);
  line-height: 2;
  color: inherit;
  letter-spacing: var(--ls-p);
  text-align: center;
  text-indent: var(--ls-p);
  display: block;
  -webkit-transform: translateY(0em);
          transform: translateY(0em);
  opacity: 1;
  -webkit-transition: opacity 0.3s, -webkit-transform var(--ease-out-quart) 0.6s;
  transition: opacity 0.3s, -webkit-transform var(--ease-out-quart) 0.6s;
  transition: opacity 0.3s, transform var(--ease-out-quart) 0.6s;
  transition: opacity 0.3s, transform var(--ease-out-quart) 0.6s, -webkit-transform var(--ease-out-quart) 0.6s;
  will-change: opacity, transform;
  margin-top: 0.1em;
}
.mouse-stalker::after {
  position: absolute;
  content: "close";
  font-size: var(--fz-s);
  line-height: 2;
  color: inherit;
  letter-spacing: var(--ls-p);
  text-align: center;
  text-indent: var(--ls-p);
  display: block;
  -webkit-transform: translateY(1em);
          transform: translateY(1em);
  opacity: 0;
  -webkit-transition: opacity 0.3s, -webkit-transform var(--ease-out-quart) 0.6s;
  transition: opacity 0.3s, -webkit-transform var(--ease-out-quart) 0.6s;
  transition: opacity 0.3s, transform var(--ease-out-quart) 0.6s;
  transition: opacity 0.3s, transform var(--ease-out-quart) 0.6s, -webkit-transform var(--ease-out-quart) 0.6s;
  will-change: opacity, transform;
  margin-top: 0.2em;
}
.mouse-stalker.is-open::before {
  -webkit-transform: translateY(-1em);
          transform: translateY(-1em);
  opacity: 0;
}
.mouse-stalker.is-open::after {
  -webkit-transform: translateY(0em);
          transform: translateY(0em);
  opacity: 1;
}
.mouse-stalker.is-active {
  opacity: 1;
}
.mouse-stalker.is-inverted {
  color: var(--color-black);
}
@media (max-width: 767px) and (orientation: portrait) {
  .mouse-stalker {
    display: none;
  }
}

/**
 * Policy Pages
 */
.shopify-policy__container {
  width: 100% !important;
  max-width: 128rem !important;
  margin: 0 auto;
}
.shopify-policy__title h1 {
  font-size: var(--fz-l2);
  padding-bottom: 1em;
  border-bottom: 1px solid var(--color-border);
  margin-bottom: 8rem;
  text-align: left;
}
.shopify-policy__body {
  font-size: var(--fz-p);
  line-height: 2.14;
  max-width: 71rem;
  width: 100%;
  margin-left: auto;
}
@media (max-width: 767px) and (orientation: portrait) {
  .shopify-policy__body {
    padding: 0 var(--item-horizontal-margin) var(--item-vertical-margin);
  }
}
.shopify-policy__body * {
  letter-spacing: var(--ls-sans);
}
.shopify-policy__body h2 {
  font-size: var(--fz-l);
  margin-bottom: 1.5rem;
}
@media (max-width: 767px) and (orientation: portrait) {
  .shopify-policy__body h2 {
    font-size: var(--fz-b);
  }
}
.shopify-policy__body h2:not(:first-child) {
  margin-top: 6.3rem;
}
.shopify-policy__body h2 + :is(ul, ol, p) {
  margin-top: 1.5rem;
}
.shopify-policy__body h3 {
  font-size: var(--fz-p);
  margin-top: 2rem;
}
.shopify-policy__body ul,
.shopify-policy__body ol {
  padding: 1em 0 1em 1.5em;
}
.shopify-policy__body p,
.shopify-policy__body li {
  font-size: inherit;
  line-height: inherit;
}
.shopify-policy__body p + p {
  margin-top: 1.5rem;
}
.shopify-policy__body ul {
  font-size: var(--fz-ps);
  line-height: 2.14;
  padding: 0 1rem 0 1.5em;
  letter-spacing: 0.03em;
  margin: 0;
  list-style-type: none;
}
.shopify-policy__body ul li {
  /* margin-bottom: 0.5rem; */
  position: relative;
  --size: 0.9em;
}
.shopify-policy__body ul li::before {
  content: "";
  position: absolute;
  left: calc(var(--size) * -1 - 0.85rem);
  top: calc(0.5lh - var(--size) / 2 - 0.1em);
  width: var(--size);
  aspect-ratio: 1/1;
  border-radius: 50%;
  border: 1px solid var(--color-border);
}
.shopify-policy__body a {
  color: var(--color-black);
  text-decoration: underline;
  text-underline-offset: 0.3em;
}
.shopify-policy__body a:hover {
  opacity: 0.75;
}
.shopify-policy__body table {
  width: 100%;
  border-collapse: collapse;
  margin: 2rem 0;
}
.shopify-policy__body table th,
.shopify-policy__body table td {
  border: 1px solid var(--color-border);
  padding: 1rem;
  text-align: left;
}
.shopify-policy__body table th {
  background-color: var(--color-white);
}
.shopify-policy__body dl {
  border-bottom: 1px solid var(--color-border);
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  --dt-width: 22rem;
}
.shopify-policy__body dl:first-child {
  margin-top: -8rem;
}
.shopify-policy__body dl dt {
  padding: 3rem 1rem;
  width: var(--dt-width);
  text-align: left;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
}
.shopify-policy__body dl dd {
  width: calc(100% - var(--dt-width));
  padding: 3rem 1rem;
}
.shopify-policy__body dl dd p + p {
  margin-top: 0.25lh;
}
.shopify-policy__body .link-wrap {
  -ms-grid-column: 1;
  -ms-grid-column-span: 2;
  grid-column: 1/3;
  margin-top: 5rem;
}
.shopify-policy__body .link-wrap .link {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  text-decoration: none;
  color: var(--color-black);
  border: 1px solid var(--color-border);
  height: 4.7rem;
  width: 28rem;
  max-width: 100%;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  font-size: var(--fz-ps);
  border-radius: 100vmax;
  position: relative;
  cursor: pointer;
}
@media (max-width: 767px) and (orientation: portrait) {
  .shopify-policy__body .link-wrap .link {
    width: 100%;
  }
}
.shopify-policy__body .link-wrap .link__arrow {
  right: 2.5rem;
  height: 0.97rem;
  width: 1.085rem;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  position: absolute;
}
.shopify-policy__body .link-wrap .link__arrow::before {
  content: "";
  height: 1px;
  width: 100%;
  background-color: var(--color-border);
  display: block;
  position: absolute;
  top: 50%;
}
.shopify-policy__body .link-wrap .link__arrow::after {
  content: "";
  display: block;
  position: absolute;
  height: 70.7113562438%;
  width: auto;
  top: 50%;
  right: 0;
  aspect-ratio: 1/1;
  border-style: solid;
  border-width: 1px 1px 0 0;
  -webkit-transform-origin: top right;
          transform-origin: top right;
  -webkit-transform: rotate(45deg);
          transform: rotate(45deg);
}
@media (hover: hover) and (pointer: fine) {
  .shopify-policy__body .link-wrap .link {
    -webkit-transition: background-color 0.3s, color 0.3s;
    transition: background-color 0.3s, color 0.3s;
  }
  .shopify-policy__body .link-wrap .link__arrow {
    -webkit-transition: -webkit-transform var(--ease-out-quart) 0.3s;
    transition: -webkit-transform var(--ease-out-quart) 0.3s;
    transition: transform var(--ease-out-quart) 0.3s;
    transition: transform var(--ease-out-quart) 0.3s, -webkit-transform var(--ease-out-quart) 0.3s;
  }
  .shopify-policy__body .link-wrap .link__arrow::before, .shopify-policy__body .link-wrap .link__arrow::after {
    -webkit-transition: background-color 0.3s, border-color 0.3s;
    transition: background-color 0.3s, border-color 0.3s;
  }
  .shopify-policy__body .link-wrap .link:hover {
    background-color: var(--color-black);
    color: var(--color-white);
  }
  .shopify-policy__body .link-wrap .link:hover .link__arrow {
    -webkit-transform: translateX(0.2rem);
            transform: translateX(0.2rem);
  }
  .shopify-policy__body .link-wrap .link:hover .link__arrow::before {
    background-color: var(--color-white);
  }
  .shopify-policy__body .link-wrap .link:hover .link__arrow::after {
    border-color: var(--color-white);
  }
}
/*# sourceMappingURL=bundle.css.map */