@charset "UTF-8";
:root {
  --color-main: #b28446;
  --color-bg: #fff;
  --color-text: #1a1819;
  --color-beige: #f6f1eb;
  --color-gray: #a3a3a3;
  --color-border: #c7c7c7;
  --color-light-brown: #915a0f;
  --color-brown: #502e00;
  --color-faq-bg: #5c5156;
  --color-dark-brown: #5a5156;
  --color-red: #f23a3c;
  --font-sans: "Noto Sans JP", sans-serif;
  --font-serif: "Noto Serif JP", serif;
  --font-en: "Cormorant Garamond", serif;
  /*

  // <weight>: Use a value from 100 to 900
  // <uniquifier>: Use a unique and descriptive class name

  .noto-sans-jp-<uniquifier> {
    font-family: "Noto Sans JP", sans-serif;
    font-optical-sizing: auto;
    font-weight: <weight>;
    font-style: normal;
  }
  // <weight>: Use a value from 300 to 700
  // <uniquifier>: Use a unique and descriptive class name

  .cormorant-garamond-<uniquifier> {
    font-family: "Cormorant Garamond", serif;
    font-optical-sizing: auto;
    font-weight: <weight>;
    font-style: normal;
  }
  // <weight>: Use a value from 200 to 900
  // <uniquifier>: Use a unique and descriptive class name

  .noto-serif-jp-<uniquifier> {
    font-family: "Noto Serif JP", serif;
    font-optical-sizing: auto;
    font-weight: <weight>;
    font-style: normal;
  }



  */
  --transition-duration: 800ms;
  --base: 375;
  --radius: 5px;
  --duration-transition: 800ms;
}
@media screen and (min-width: 768px) {
  :root {
    --base: 768;
  }
}
@media screen and (min-width: 1024px) {
  :root {
    --base: 1240;
  }
}

:where(:focus-visible, :target) {
  scroll-margin-block: 0;
}

html {
  scroll-behavior: smooth;
}
@media screen and (min-width: 1024px) {
  html {
    scroll-padding-top: min(80px, 80 / 1440 * 100vw);
  }
}

body {
  margin: 0;
  padding: 0;
  background-color: var(--color-bg);
  color: var(--color-text);
  font-size: 14px;
  font-weight: 400;
  line-height: 1.5;
  letter-spacing: 0em;
  -webkit-text-size-adjust: 100%;
  font-feature-settings: "palt";
  font-family: var(--font-serif);
  font-weight: 400;
  transition: background-color var(--duration-transition);
}
body::before {
  content: "";
  display: block;
  position: fixed;
  inset: 0 0 0 0;
  background-color: color-mix(in srgb, #000 50%, transparent);
  z-index: 1;
  opacity: 0;
  pointer-events: none;
  transition: opacity 100ms;
}
body.menu-open {
  overflow: clip;
}
body.menu-open::before {
  opacity: 1;
}
body.bg-unit-intro {
  background-color: var(--color-darkblue);
}
@media screen and (min-width: 1024px) {
  body.menu-open {
    overflow-x: visible;
  }
}

.header,
.header-shopify {
  position: fixed;
  width: 100%;
  inset: 0 0 auto 0;
  z-index: 5;
  height: 70px;
  transition: opacity var(--duration-transition);
}
.header.hide,
.header-shopify.hide {
  opacity: 0;
  pointer-events: none;
}
.header::after,
.header-shopify::after {
  display: block;
  content: "";
  width: calc(100% - 60px);
  height: 1px;
  background-color: var(--color-main);
  position: absolute;
  inset: auto auto 0 30px;
}
.header .content,
.header-shopify .content {
  padding: 116px 30px 30px 30px;
  z-index: 6;
  background-color: #fff;
  transition: transform 800ms, opacity 300ms, visibility 300ms;
  transition-timing-function: cubic-bezier(0.65, 0.06, 0.36, 0.95);
  position: absolute;
  inset: 0 30px 0 0;
  box-sizing: border-box;
  height: 100vh;
  pointer-events: none;
  translate: -100% 0;
  opacity: 0;
  transition: translate var(--duration-transition);
}
.header .content.open,
.header-shopify .content.open {
  visibility: visible;
  pointer-events: all;
  translate: 0 0;
  opacity: 1;
}
.header .menu,
.header-shopify .menu {
  font-family: var(--font-sans);
  letter-spacing: 0.03em;
  font-weight: 700;
  overflow-y: auto;
}
.header .list-main,
.header-shopify .list-main {
  margin-bottom: 40px;
  text-align: left;
  font-size: 22px;
}
.header .list-main li:not(:last-of-type),
.header-shopify .list-main li:not(:last-of-type) {
  margin-bottom: 20px;
}
.header .list-main a,
.header-shopify .list-main a {
  text-decoration: none;
  letter-spacing: 0.03em;
  color: var(--color-text);
  border-style: none;
}
.header .list-sub,
.header-shopify .list-sub {
  text-align: left;
  font-weight: 500;
  font-size: 14px;
}
.header .list-sub li:not(:last-of-type),
.header-shopify .list-sub li:not(:last-of-type) {
  margin-bottom: 13px;
}
.header .list-sub a,
.header-shopify .list-sub a {
  text-decoration: none;
  letter-spacing: 0.03em;
  color: var(--color-text);
  border-style: none;
}
.header .para-button-close,
.header-shopify .para-button-close {
  margin: 50px auto 0 auto;
  width: 46px;
}
.header .logo,
.header-shopify .logo {
  width: 58px;
  height: 30px;
  position: absolute;
  inset: 21px auto auto 50%;
  translate: -50% 0;
  z-index: 2;
}
.header .cart,
.header-shopify .cart {
  width: 22px;
  height: 20px;
  position: absolute;
  inset: 26px 30px auto auto;
  z-index: 2;
}
@media screen and (min-width: 1024px) {
  .header,
  .header-shopify {
    margin: 0 auto;
    padding: 0;
    background-color: transparent;
    inset: 0 0 auto 0;
  }
  .header .content,
  .header-shopify .content {
    display: block;
    margin: 0 auto;
    padding: 0 30px;
    height: auto;
    flex-direction: row;
    justify-content: space-between;
    align-items: center;
    background: none;
    position: static;
    visibility: visible;
    pointer-events: auto;
    background-color: transparent;
    pointer-events: all;
    translate: 0 0;
    opacity: 1;
    transition: translate var(--duration-transition);
    width: min(100%, 1203px);
  }
  .header .menu,
  .header-shopify .menu {
    margin: 0;
    padding: 0;
    overflow: visible;
    font-family: var(--font-serif);
  }
  .header .list-main,
  .header-shopify .list-main {
    display: flex;
    margin: 0 min(17px, 17 / 1240 * 100vw);
    align-items: center;
    justify-content: start;
    height: 70px;
    width: 100%;
    gap: min(24px, 24 / 1240 * 100vw);
    font-size: min(14px, 14 / 1240 * 100vw);
  }
  .header .list-main li,
  .header-shopify .list-main li {
    margin: 0;
    position: relative;
  }
  .header .list-main li:not(:last-of-type),
  .header-shopify .list-main li:not(:last-of-type) {
    margin-bottom: 0;
  }
  .header .list-main button,
  .header .list-main a,
  .header-shopify .list-main button,
  .header-shopify .list-main a {
    margin: 0;
    padding: 0;
    line-height: 1;
    color: var(--color-main);
    transition: color var(--duration-transition);
  }
  .header .list-main button:hover,
  .header .list-main a:hover,
  .header-shopify .list-main button:hover,
  .header-shopify .list-main a:hover {
    color: color-mix(in srgb, var(--color-main) 80%, #000 20%);
  }
  .header .list-sub,
  .header-shopify .list-sub {
    display: none;
  }
  .header .para-button-close,
  .header-shopify .para-button-close {
    display: none;
  }
}
@media screen and (min-width: 1366px) {
  .header,
  .header-shopify {
    margin: 0 auto;
    width: 1260px;
  }
}

.menu-sw {
  z-index: 2;
  overflow: hidden;
  position: absolute;
  inset: 25px auto auto 30px;
  width: 20px;
  height: 20px;
}
.menu-sw button {
  padding: 0;
  display: block;
  border-style: none;
  border-radius: 0;
  text-indent: 200%;
  white-space: nowrap;
  overflow: hidden;
  width: 100%;
  height: 100%;
  position: relative;
  background-color: transparent;
  box-shadow: 0 0 5px rgba(0, 0, 0, 0.2);
  transition: background-color 500ms;
  overflow: hidden;
  cursor: pointer;
}
.menu-sw span {
  position: absolute;
  width: 20px;
  height: 20px;
  inset: 0 0 0 0;
}
.menu-sw span::before, .menu-sw span::after,
.menu-sw span i {
  content: "";
  display: block;
  position: absolute;
  top: 50%;
  left: 0%;
  width: 100%;
  height: 1px;
  background-color: var(--color-main);
  margin: -0.5px 0 0 0;
  transition: background-color 500ms, transform 500ms;
}
.menu-sw span i {
  background-color: transparent;
}
.menu-sw span::before {
  transform: translate(0, -4px);
  transition: transform 500ms;
}
.menu-sw span::after {
  transform: translate(0, 4px);
  transition: transform 500ms;
}
.menu-sw.open span::before {
  transform: translate(0, 0) rotate(-45deg);
}
.menu-sw.open span::after {
  transform: translate(0, 0) rotate(45deg);
}
@media screen and (min-width: 1024px) {
  .menu-sw {
    display: none;
  }
}

.main {
  overflow: hidden;
}

.article {
  padding-top: 70px;
}

.common-header {
  height: calc(355 / var(--base) * 100vw);
  background-size: cover;
  position: relative;
  background-position: top center;
  background-size: cover;
  background-repeat: no-repeat;
  /*
  animation: common-header-anime calc(var(--duration-transition) * 2) forwards
    1000ms;

  @keyframes common-header-anime {
    0% {
      background-size: 120% auto;
    }
    100% {
      background-size: auto 100%;
    }
  }
    */
}
.common-header .content {
  margin: 0 auto;
  position: relative;
  height: 100%;
}
.common-header .title {
  font-size: calc(16 / var(--base) * 100vw);
  color: #fff;
  font-weight: 700;
  position: absolute;
  inset: calc(11 / var(--base) * 100vw) auto auto 30px;
}
.common-header .text {
  position: absolute;
  inset: auto auto 15px 30px;
}
.common-header .lead-ja {
  margin-bottom: calc(5 / var(--base) * 100vw);
  font-size: calc(19 / var(--base) * 100vw);
  line-height: 1.3;
  font-weight: 700;
  color: #fff;
}
.common-header .lead-en {
  font-size: calc(12 / var(--base) * 100vw);
  line-height: 1.6;
  font-weight: 700;
  color: #fff;
}
@media screen and (min-width: 768px) {
  .common-header .title {
    font-size: 17px;
    inset: 11px auto auto 30px;
  }
  .common-header .lead-ja {
    margin-bottom: 4px;
    font-size: 24px;
  }
  .common-header .lead-en {
    font-size: 14px;
  }
}
@media screen and (min-width: 1366px) {
  .common-header .content {
    width: min(1147px, 100%);
  }
  .common-header .title {
    inset: 11px auto auto 0;
  }
  .common-header .text {
    position: absolute;
    inset: auto auto 15px 0;
  }
}

.common-header-blank {
  background-size: cover;
  position: relative;
  background-position: top center;
}
.common-header-blank .content {
  padding: calc(15 / var(--base) * 100vw) calc(30 / var(--base) * 100vw);
}
.common-header-blank .title {
  font-size: calc(16 / var(--base) * 100vw);
  color: var(--color-main);
  font-weight: 700;
}
@media screen and (min-width: 768px) {
  .common-header-blank .content {
    padding: min(15px, calc(15 / var(--base) * 100vw)) min(30px, calc(30 / var(--base) * 100vw));
  }
  .common-header-blank .title {
    font-size: 17px;
  }
}
@media screen and (min-width: 1366px) {
  .common-header-blank .content {
    margin: 0 auto;
    width: min(1200px, 100%);
    box-sizing: border-box;
  }
}

.footer {
  padding: min(89px, calc(89 / var(--base) * 100vw)) min(30px, calc(30 / var(--base) * 100vw)) min(33px, calc(33 / var(--base) * 100vw)) min(30px, calc(30 / var(--base) * 100vw));
}
.footer .menu {
  margin-bottom: min(47px, calc(47 / var(--base) * 100vw));
  font-size: min(14px, calc(14 / var(--base) * 100vw));
  line-height: 1.5;
}
.footer .menu li:not(:last-of-type) {
  margin-bottom: min(13px, calc(13 / var(--base) * 100vw));
}
.footer .copyright {
  border-top: 1px solid var(--color-main);
  padding-top: min(24px, calc(24 / var(--base) * 100vw));
  font-family: var(--font-en);
  font-size: min(12px, calc(12 / var(--base) * 100vw));
  text-align: center;
  font-weight: 500;
}
@media screen and (min-width: 1024px) {
  .footer {
    padding: calc(67 / var(--base) * 100vw) 0 calc(23 / var(--base) * 100vw) 0;
  }
  .footer .menu {
    margin: 0 auto min(45px, calc(45 / var(--base) * 100vw)) auto;
    width: min(674px, 674 / 800 * 100vw);
  }
  .footer .menu li:not(:last-of-type) {
    margin-bottom: 10px;
  }
  .footer .copyright {
    margin: 0 30px;
    padding: 27px 0 0 0;
    font-size: 12px;
  }
}
@media screen and (min-width: 1366px) {
  .footer .copyright {
    margin: 0 auto;
    width: min(1260px, 100%);
  }
}

@media screen and (min-width: 640px) {
  .xs-only {
    display: none;
  }
}

.sm-only {
  display: none;
}
@media screen and (min-width: 640px) {
  .sm-only {
    display: inline;
  }
}

.md-only {
  display: none;
}
@media screen and (min-width: 768px) {
  .md-only {
    display: inline;
  }
}

.ts-only {
  display: block;
}
@media screen and (min-width: 1024px) {
  .ts-only {
    display: none;
  }
}

.lg-only {
  display: none;
}
@media screen and (min-width: 1024px) {
  .lg-only {
    display: inline;
  }
}

.b2t {
  transition: translate var(--duration-transition), opacity var(--duration-transition);
  translate: 0 20px;
  opacity: 0;
}
.b2t.open {
  translate: 0 0;
  opacity: 1;
}
@media screen and (min-width: 768px) {
  .b2t {
    translate: 0 40px;
  }
}

p {
  margin-bottom: 1em;
  font-size: min(14px, calc(14 / var(--base) * 100vw));
  line-height: 2;
  color: var(--color-text);
  text-align: justify;
}
p:last-of-type {
  margin-bottom: 0;
}
@media screen and (min-width: 1024px) {
  p {
    font-size: 15px;
  }
}

figure {
  margin: 0;
  padding: 0;
}

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

.video-content {
  position: relative;
  z-index: 1;
}
.video-content .inner {
  width: 100%;
  padding-bottom: 56.25%;
  position: relative;
}
.video-content .inner.vertical {
  padding-bottom: 180%;
}
.video-content .video {
  position: absolute;
  inset: 0 0 0 0;
  width: 100%;
  height: 100%;
}
/* section */
/* youtube */
#overlay {
  background: rgba(0, 0, 0, 0.95);
  position: fixed;
  left: 0;
  top: 0;
  width: 100%;
  height: 100%;
  z-index: 50;
  min-height: 700px;
  overflow: hidden;
}

/* ----------------- 
titletitle
----------------- */
.title-en {
  margin: 0 0 calc(56 / var(--base) * 100vw) 0;
  text-align: center;
  font-size: calc(32 / var(--base) * 100vw);
  color: #fff;
  font-family: var(--font-en);
  font-style: italic;
  font-weight: 700;
  line-height: 1.5;
}
@media screen and (min-width: 768px) {
  .title-en {
    margin: 0 0 min(25px, calc(25 / var(--base) * 100vw)) 0;
    text-align: left;
    font-size: min(38px, calc(38 / var(--base) * 100vw));
  }
}

.title-mid {
  margin-bottom: 23px;
  text-align: center;
  font-family: var(--font-serif);
  font-weight: 700;
  font-size: 18px;
  line-height: 1.6;
  overflow-wrap: normal;
}
@media screen and (min-width: 768px) {
  .title-mid {
    margin-bottom: 31px;
    letter-spacing: 0.1em;
  }
}
@media screen and (min-width: 1024px) {
  .title-mid {
    font-size: 28px;
    margin-bottom: 41px;
  }
}

/* ----------------- 
linklink
----------------- */
a {
  text-decoration: none;
  color: var(--color-text);
}

button {
  cursor: pointer;
}

.button-arrow {
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding: 4px 0;
  font-family: var(--font-en);
  font-size: calc(14 / var(--base) * 100vw);
  font-weight: 600;
  text-decoration: none;
  width: calc(143 / var(--base) * 100vw);
  box-sizing: border-box;
  border-bottom: 1px solid var(--color-text);
  line-height: 1.5;
}
.button-arrow.color-white {
  color: #fff;
  border-bottom-color: #fff;
}
.button-arrow .mark {
  width: 19px;
  height: 19px;
  background-color: var(--color-main);
  border-radius: 15px;
  position: relative;
}
.button-arrow .mark::after {
  content: "";
  display: block;
  width: 28%;
  height: 52%;
  background-color: #fff;
  position: absolute;
  inset: 50% auto auto 50%;
  translate: -30% -50%;
  clip-path: polygon(0% 100%, 100% 50%, 0% 0%);
}
.button-arrow .mark.color-white {
  background-color: color-mix(in srgb, #fff 30%, transparent);
}
@media screen and (min-width: 768px) {
  .button-arrow {
    font-size: 18px;
    width: min(174px, calc(174 / var(--base) * 100vw));
  }
  .button-arrow .mark {
    width: 23px;
    height: 23px;
  }
}

.button-1tone {
  display: inline-block;
  padding: calc(7 / var(--base) * 100vw) calc(24 / var(--base) * 100vw);
  border-radius: calc(2 * var(--radius));
  background-color: var(--color-main);
  font-family: var(--font-en);
  color: #fff;
  font-size: calc(13 / var(--base) * 100vw);
  font-weight: 700;
}
@media screen and (min-width: 768px) {
  .button-1tone {
    padding: 9px 22px;
    font-size: 16px;
  }
}

.button-text {
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding: 4px 8px 4px 0;
  font-family: var(--font-en);
  font-size: 14px;
  font-weight: 600;
  text-decoration: none;
  width: -moz-fit-content;
  width: fit-content;
  box-sizing: border-box;
  border-bottom: 1px solid var(--color-text);
  line-height: 1.5;
}
.button-text.color-white {
  color: #fff;
  border-bottom-color: #fff;
}
@media screen and (min-width: 768px) {
  .button-text {
    font-size: 18px;
  }
}

.sw-button-prev,
.sw-button-next {
  position: absolute;
  width: 36px;
  height: 36px;
  border-radius: 32px;
  z-index: 2;
  border: 1px solid var(--color-main);
  inset: auto auto 0 50%;
}
.sw-button-prev::after,
.sw-button-next::after {
  display: block;
  content: "";
  width: 10px;
  height: 20px;
  background-color: var(--color-main);
  position: absolute;
  inset: 50% auto auto 50%;
  translate: -30% -50%;
  clip-path: polygon(0 0, 100% 50%, 0 100%);
}
@media screen and (min-width: 1024px) {
  .sw-button-prev,
  .sw-button-next {
    display: none;
  }
}

.sw-button-next {
  translate: 48px 0;
}

.sw-button-prev {
  translate: -85px 0;
}
.sw-button-prev::after {
  scale: -1 -1;
  translate: -70% -50%;
}

.sw-pagination {
  position: absolute;
  inset: auto auto 0 50%;
  text-align: center;
}
.sw-pagination .swiper-pagination-bullet {
  width: 11px;
  height: 11px;
  border-radius: 11px;
  background-color: color-mix(in srgb, var(--color-main) 80%, transparent);
}
.sw-pagination .swiper-pagination-bullet-active {
  background-color: var(--color-main);
}
@media screen and (min-width: 1024px) {
  .sw-pagination {
    display: none;
  }
}

dl,
dt,
dd,
ul,
ol,
li {
  list-style: none;
  margin: 0;
  padding: 0;
}

.list-news li {
  padding: calc(16 / var(--base) * 100vw) 0;
  border-bottom: 1px solid var(--color-main);
}
.list-news a {
  display: grid;
  grid-template-columns: calc(94 / var(--base) * 100vw) 1fr;
  grid-template-rows: auto 1fr;
  gap: 0 calc(8 / var(--base) * 100vw);
  align-items: start;
}
.list-news .photo {
  grid-column: 1;
  grid-row: 1/3;
  width: calc(94 / var(--base) * 100vw);
}
.list-news .photo img {
  width: calc(94 / var(--base) * 100vw);
  height: calc(94 / var(--base) * 100vw);
  -o-object-fit: cover;
     object-fit: cover;
  -o-object-position: center center;
     object-position: center center;
}
.list-news .date {
  grid-column: 2;
  grid-row: 1;
  margin-bottom: calc(5 / var(--base) * 100vw);
  font-size: calc(12 / var(--base) * 100vw);
  color: var(--color-main);
}
.list-news .title {
  grid-column: 2;
  grid-row: 2;
  font-size: calc(12 / var(--base) * 100vw);
  font-weight: 700;
  line-height: 1.8;
}
@media screen and (min-width: 768px) {
  .list-news li {
    padding: 24px 0;
  }
  .list-news a {
    grid-template-columns: min(140px, calc(140 / var(--base) * 100vw)) 1fr;
    gap: 0 24px;
  }
  .list-news .photo {
    width: min(140px, calc(140 / var(--base) * 100vw));
  }
  .list-news .photo img {
    width: 100%;
    height: auto;
  }
  .list-news .date {
    margin-bottom: 5px;
    font-size: 12px;
  }
  .list-news .title {
    font-size: 14px;
  }
}

/* for inline */
.table-schedule {
  margin: calc(29 / var(--base) * 100vw) 0 0 0;
  padding: 0 0 10px 0;
  overflow-x: scroll;
}
.table-schedule .content {
  display: table;
  padding: calc(40 / var(--base) * 100vw);
}
.table-schedule .content::after {
  content: "";
  display: block;
  width: calc(24 / var(--base) * 100vw);
}
.table-schedule table {
  margin: 0;
  width: 100%;
  position: relative;
  border-collapse: collapse;
  color: var(--color-text);
  border: calc(40 / var(--base) * 100vw) solid #fff;
}
.table-schedule th {
  padding: 10px 20px;
  white-space: nowrap;
  font-size: calc(14 / var(--base) * 100vw);
  color: var(--color-text);
  vertical-align: middle;
  background-color: #fff;
}
.table-schedule td {
  padding: 10px 20px;
  white-space: nowrap;
  font-size: calc(14 / var(--base) * 100vw);
  text-align: center;
  color: var(--color-text);
  vertical-align: middle;
  background-color: #fff;
}
.table-schedule td:nth-of-type(3) {
  text-align: left;
}
.table-schedule p {
  margin: 0;
  line-height: 1.6;
  font-size: calc(14 / var(--base) * 100vw);
  font-weight: 400;
}
.table-schedule p:not(:last-of-type) {
  margin-bottom: 1em;
}
.table-schedule a {
  color: var(--color-main);
  text-decoration: none;
}
.table-schedule a:hover {
  text-decoration: underline;
}
.table-schedule thead th {
  text-align: left;
  color: var(--color-main);
  font-family: var(--font-maru);
}
.table-schedule tbody {
  border-bottom: 1px solid var(--color-gold);
}
.table-schedule tbody th {
  text-align: left;
  font-weight: 400;
  border-top: 1px solid var(--color-gold);
}
.table-schedule tbody td {
  text-align: left;
  border-top: 1px solid var(--color-gold);
}
@media screen and (min-width: 768px) {
  .table-schedule {
    margin: calc(29 / var(--base) * 100vw) 0 0 0;
    padding: 0 calc(40 / var(--base) * 100vw) 20px calc(40 / var(--base) * 100vw);
  }
  .table-schedule .content {
    width: 100%;
    box-sizing: border-box;
  }
  .table-schedule .content::after {
    display: none;
  }
  .table-schedule table {
    width: 100%;
  }
  .table-schedule th,
  .table-schedule td {
    padding: min(13px, calc(13 / var(--base) * 100vw)) 20px;
    font-size: min(14px, calc(14 / var(--base) * 100vw));
  }
  .table-schedule p {
    font-size: min(14px, calc(14 / var(--base) * 100vw));
  }
}
@media screen and (min-width: 1024px) {
  .table-schedule {
    margin: min(32px, calc(32 / var(--base) * 100vw)) auto 0 auto;
    padding: 0;
    width: min(1028px, 1028 / 1240 * 100vw);
  }
  .table-schedule .content {
    display: block;
    width: 100%;
    padding: 0;
  }
  .table-schedule .content::after {
    display: none;
  }
  .table-schedule table {
    width: 100%;
  }
  .table-schedule tbody th {
    width: 10%;
  }
  .table-schedule tbody td:nth-of-type(1) {
    width: 20%;
  }
  .table-schedule tbody td:nth-of-type(2) {
    width: 20%;
  }
  .table-schedule tbody td:nth-of-type(3) {
    white-space: wrap;
  }
}

.fx-opacity {
  opacity: 0;
  transition: opacity calc(var(--duration-transition) / 2);
}
.fx-opacity.on {
  opacity: 1;
}

.fx-b2t {
  opacity: 0;
  translate: 0 2em;
  transition: opacity var(--duration-transition), translate var(--duration-transition);
  transition-delay: calc(var(--duration-transition) / 2);
}
.fx-b2t.on {
  opacity: 1;
  translate: none;
}

.wave-reveal span {
  display: inline-block; /* inline-block にして transform を効かせる */
  transition: transform var(--duration-transition), opacity 360ms;
  transform-origin: center;
  transform: translateY(0.6em);
  opacity: 0;
}
.wave-reveal span:nth-of-type(1) {
  transition-delay: 400ms;
}
.wave-reveal span:nth-of-type(2) {
  transition-delay: 500ms;
}
.wave-reveal span:nth-of-type(3) {
  transition-delay: 600ms;
}
.wave-reveal span:nth-of-type(4) {
  transition-delay: 700ms;
}
.wave-reveal span:nth-of-type(5) {
  transition-delay: 800ms;
}
.wave-reveal span:nth-of-type(6) {
  transition-delay: 900ms;
}
.wave-reveal span:nth-of-type(7) {
  transition-delay: 1000ms;
}
.wave-reveal span:nth-of-type(8) {
  transition-delay: 1100ms;
}
.wave-reveal span:nth-of-type(9) {
  transition-delay: 1200ms;
}
.wave-reveal span:nth-of-type(10) {
  transition-delay: 1300ms;
}
.wave-reveal span:nth-of-type(11) {
  transition-delay: 1400ms;
}
.wave-reveal span:nth-of-type(12) {
  transition-delay: 1500ms;
}
.wave-reveal span:nth-of-type(13) {
  transition-delay: 1600ms;
}
.wave-reveal span:nth-of-type(14) {
  transition-delay: 1700ms;
}
.wave-reveal span:nth-of-type(15) {
  transition-delay: 1800ms;
}
.wave-reveal span:nth-of-type(16) {
  transition-delay: 1900ms;
}
.wave-reveal span:nth-of-type(17) {
  transition-delay: 2000ms;
}
.wave-reveal span:nth-of-type(18) {
  transition-delay: 2100ms;
}
.wave-reveal span:nth-of-type(19) {
  transition-delay: 2200ms;
}
.wave-reveal span:nth-of-type(20) {
  transition-delay: 2300ms;
}
.wave-reveal span:nth-of-type(21) {
  transition-delay: 2400ms;
}
.wave-reveal span:nth-of-type(22) {
  transition-delay: 2500ms;
}
.wave-reveal span:nth-of-type(23) {
  transition-delay: 2600ms;
}
.wave-reveal span:nth-of-type(24) {
  transition-delay: 2700ms;
}
.wave-reveal span:nth-of-type(25) {
  transition-delay: 2800ms;
}
.wave-reveal span:nth-of-type(26) {
  transition-delay: 2900ms;
}
.wave-reveal span:nth-of-type(27) {
  transition-delay: 3000ms;
}
.wave-reveal span:nth-of-type(28) {
  transition-delay: 3100ms;
}
.wave-reveal span:nth-of-type(29) {
  transition-delay: 3200ms;
}
.wave-reveal span:nth-of-type(30) {
  transition-delay: 3300ms;
}
.wave-reveal span:nth-of-type(31) {
  transition-delay: 3400ms;
}
.wave-reveal span:nth-of-type(32) {
  transition-delay: 3500ms;
}
.wave-reveal span:nth-of-type(33) {
  transition-delay: 3600ms;
}
.wave-reveal span:nth-of-type(34) {
  transition-delay: 3700ms;
}
.wave-reveal span:nth-of-type(35) {
  transition-delay: 3800ms;
}
.wave-reveal span:nth-of-type(36) {
  transition-delay: 3900ms;
}
.wave-reveal span:nth-of-type(37) {
  transition-delay: 4000ms;
}
.wave-reveal span:nth-of-type(38) {
  transition-delay: 4100ms;
}
.wave-reveal span:nth-of-type(39) {
  transition-delay: 4200ms;
}
.wave-reveal span:nth-of-type(40) {
  transition-delay: 4300ms;
}
.wave-reveal span:nth-of-type(41) {
  transition-delay: 4400ms;
}
.wave-reveal span:nth-of-type(42) {
  transition-delay: 4500ms;
}
.wave-reveal span:nth-of-type(43) {
  transition-delay: 4600ms;
}
.wave-reveal span:nth-of-type(44) {
  transition-delay: 4700ms;
}
.wave-reveal span:nth-of-type(45) {
  transition-delay: 4800ms;
}
.wave-reveal span:nth-of-type(46) {
  transition-delay: 4900ms;
}
.wave-reveal span:nth-of-type(47) {
  transition-delay: 5000ms;
}
.wave-reveal span:nth-of-type(48) {
  transition-delay: 5100ms;
}
.wave-reveal span:nth-of-type(49) {
  transition-delay: 5200ms;
}
.wave-reveal span:nth-of-type(50) {
  transition-delay: 5300ms;
}
.wave-reveal span:nth-of-type(51) {
  transition-delay: 5400ms;
}
.wave-reveal span:nth-of-type(52) {
  transition-delay: 5500ms;
}
.wave-reveal span:nth-of-type(53) {
  transition-delay: 5600ms;
}
.wave-reveal span:nth-of-type(54) {
  transition-delay: 5700ms;
}
.wave-reveal span:nth-of-type(55) {
  transition-delay: 5800ms;
}
.wave-reveal span:nth-of-type(56) {
  transition-delay: 5900ms;
}
.wave-reveal span:nth-of-type(57) {
  transition-delay: 6000ms;
}
.wave-reveal span:nth-of-type(58) {
  transition-delay: 6100ms;
}
.wave-reveal span:nth-of-type(59) {
  transition-delay: 6200ms;
}
.wave-reveal span:nth-of-type(60) {
  transition-delay: 6300ms;
}
.wave-reveal.on span {
  transform: none;
  opacity: 1;
}

/* formform */
select {
  padding: 0.8em 0.8em;
  font-size: calc(14 / var(--base) * 100vw);
  box-sizing: border-box;
  border: 1px solid #ccc;
  border-radius: 5px;
  -webkit-appearance: none;
     -moz-appearance: none;
          appearance: none;
  background-image: url("data:image/svg+xml,%3Csvg%20width%3D%2213%22%20height%3D%228%22%20viewBox%3D%220%200%2013%208%22%20fill%3D%22none%22%20xmlns%3D%22http%3A//www.w3.org/2000/svg%22%3E%3Cpath%20d%3D%22M12.5104%201.69058L6.5%207.70099L0.489592%201.69058L1.1967%200.983477L6.5%206.28678L11.8033%200.983477L12.5104%201.69058Z%22%20fill%3D%22black%22/%3E%3C/svg%3E");
  background-repeat: no-repeat;
  background-size: 13px auto;
  background-position: right 12px center;
}
@media screen and (min-width: 768px) {
  select {
    font-size: min(16px, calc(16 / var(--base) * 100vw));
  }
}

input[type=text],
input[type=email],
input[type=tel] {
  padding: 0.8em 0.8em;
  font-size: calc(14 / var(--base) * 100vw);
  box-sizing: border-box;
  border: 1px solid #ccc;
  border-radius: 5px;
  box-sizing: border-box;
  width: 100%;
}
input[type=text]::-moz-placeholder, input[type=email]::-moz-placeholder, input[type=tel]::-moz-placeholder {
  color: #aaa;
}
input[type=text]::placeholder,
input[type=email]::placeholder,
input[type=tel]::placeholder {
  color: #aaa;
}
@media screen and (min-width: 768px) {
  input[type=text],
  input[type=email],
  input[type=tel] {
    font-size: min(16px, calc(16 / var(--base) * 100vw));
    padding: 0.4em 0.6em;
  }
}

textarea {
  padding: 0.8em 0.8em;
  font-size: calc(14 / var(--base) * 100vw);
  line-height: 1.5;
  box-sizing: border-box;
  border: 1px solid #ccc;
  border-radius: 5px;
  box-sizing: border-box;
  width: 100%;
  height: calc(150 / var(--base) * 100vw);
}
textarea::-moz-placeholder {
  color: #aaa;
}
textarea::placeholder {
  color: #aaa;
}
@media screen and (min-width: 768px) {
  textarea {
    font-size: min(16px, calc(16 / var(--base) * 100vw));
    padding: 0.4em 0.6em;
  }
}

.list-buttons {
  margin-top: 48px;
}
.list-buttons:has(.item:nth-of-type(2)) {
  display: flex;
  justify-content: center;
  align-items: center;
  gap: 24px;
}
.list-buttons:has(.item:nth-of-type(2)) .item {
  width: 40%;
}
.list-buttons .item {
  text-align: center;
}

.type-button {
  padding: 0.6em 0em;
  background-color: var(--color-main);
  color: #fff;
  border-radius: var(--radius);
  -webkit-appearance: none;
     -moz-appearance: none;
          appearance: none;
  width: min(360px, 100%);
  text-align: center;
  font-size: 16px;
  font-weight: 700;
  cursor: pointer;
  transition: background-color var(--duration-transition), color var(--duration-transition);
}
.type-button.back {
  color: #000;
  background-color: #ccc;
  border-color: #ccc;
}
.type-button.back:hover {
  color: #000;
  background-color: #fff;
}
.type-button.submit {
  color: #fff;
  background-color: var(--color-blue);
}

.page-home {
  padding-top: 0;
}
.page-home .home-fv {
  height: calc(662 / var(--base) * 100vw);
  box-sizing: border-box;
  opacity: 0;
  transition: var(--transition-duration);
  animation: fadein 1.2s ease forwards;
}
@keyframes fadein {
  to {
    opacity: 1;
  }
}
.page-home .home-fv .content {
  position: relative;
  height: 100%;
  overflow: hidden;
}
.page-home .home-fv .swiper-slide {
  position: relative;
  background-size: cover;
  height: calc(662 / var(--base) * 100vw);
}
.page-home .home-fv .home-fv-1 {
  background-image: url(../images/home/fv-1.webp);
}
.page-home .home-fv .home-fv-1 .text {
  position: absolute;
  inset: calc(137 / var(--base) * 100vw) auto auto auto;
  width: 100%;
}
.page-home .home-fv .home-fv-1 .lead-ja {
  font-size: calc(22 / var(--base) * 100vw);
  line-height: 1.65;
  color: #fff;
  text-align: center;
  font-weight: 700;
}
.page-home .home-fv .home-fv-1 .lead-en {
  font-size: calc(11 / var(--base) * 100vw);
  line-height: 1.65;
  color: #fff;
  text-align: center;
}
.page-home .home-fv .home-fv-1 .para-button {
  margin: calc(24 / var(--base) * 100vw) auto 0 auto;
  width: -moz-fit-content;
  width: fit-content;
}
.page-home .home-fv .home-fv-2 {
  background-image: url(../images/home/fv-2.webp);
}
.page-home .home-fv .home-fv-2 .text {
  position: absolute;
  inset: 45% auto auto auto;
  width: 100%;
  translate: 0 -50%;
}
.page-home .home-fv .home-fv-2 .lead-ja {
  margin-bottom: 2px;
  font-size: 24px;
  line-height: 1.4;
  color: #fff;
  text-align: center;
  font-weight: 700;
}
.page-home .home-fv .home-fv-2 .para-ja {
  font-size: 12px;
  color: #fff;
  text-align: center;
}
.page-home .home-fv .home-fv-2 .lead-en {
  margin-bottom: 1px;
  font-size: 16px;
  line-height: 1.4;
  color: #fff;
  text-align: center;
}
.page-home .home-fv .home-fv-2 .para-en {
  font-size: 10px;
  line-height: 1.65;
  color: #fff;
  text-align: center;
}
.page-home .home-fv .home-fv-2 .para-button {
  margin: 32px auto 0 auto;
  width: -moz-fit-content;
  width: fit-content;
}
.page-home .home-fv .button-next,
.page-home .home-fv .button-prev {
  position: absolute;
  inset: auto 50% 95px auto;
  z-index: 5;
  width: 20px;
  height: 20px;
  translate: 36px 0;
}
.page-home .home-fv .button-next::before,
.page-home .home-fv .button-prev::before {
  display: block;
  content: "";
  width: 12px;
  height: 16px;
  background-image: url(../images/common/swiper-button-arrow.svg);
  background-size: contain;
  position: absolute;
  inset: 50% auto auto 50%;
  translate: -50% -50%;
}
.page-home .home-fv .button-prev {
  translate: -16px 0;
}
.page-home .home-fv .button-prev::before {
  scale: -1 -1;
}
.page-home .home-fv .news {
  padding: 8px 18px 11px 18px;
  color: #fff;
  position: absolute;
  inset: auto 0 0 0;
  background-color: color-mix(in srgb, #000 20%, transparent);
  z-index: 2;
}
.page-home .home-fv .news dt {
  display: flex;
  align-items: center;
  gap: 16px;
  font-family: var(--font-en);
  font-size: 20px;
  font-weight: 700;
  font-style: italic;
}
.page-home .home-fv .news dt .all {
  font-style: normal;
  font-size: 12px;
  color: #fff;
  text-decoration: none;
}
.page-home .home-fv .news dt .all::before {
  content: ">";
}
.page-home .home-fv .news ul {
  display: grid;
  grid-template-columns: auto 1fr;
  gap: 4px 8px;
}
.page-home .home-fv .news li {
  display: contents;
  font-size: 12px;
  line-height: 1.5;
  font-weight: 700;
}
.page-home .home-fv .news li a {
  display: grid;
  grid-template-columns: subgrid;
  grid-column: 1/3;
  color: #fff;
  text-decoration: none;
}
.page-home .home-fv .news li time {
  grid-column: 1;
  line-height: 1.2;
}
.page-home .home-fv .news li .title {
  grid-column: 2;
  color: #fff;
  line-height: 1.2;
}
.page-home .home-philosophy {
  padding: calc(125 / var(--base) * 100vw) calc(30 / var(--base) * 100vw) calc(140 / var(--base) * 100vw) calc(30 / var(--base) * 100vw);
}
.page-home .home-philosophy .content {
  margin: 0 auto;
  position: relative;
}
.page-home .home-philosophy .title {
  margin: 0 0 calc(29 / var(--base) * 100vw) 0;
  font-size: calc(25 / var(--base) * 100vw);
  line-height: 1.65;
  font-weight: 700;
  text-wrap: nowrap;
  position: relative;
  z-index: 2;
}
.page-home .home-philosophy .para-button {
  margin-top: calc(53 / var(--base) * 100vw);
}
.page-home .home-about {
  padding: calc(106 / var(--base) * 100vw) calc(30 / var(--base) * 100vw) calc(142 / var(--base) * 100vw) calc(30 / var(--base) * 100vw);
  background-color: var(--color-main);
}
.page-home .home-about p {
  color: #fff;
}
.page-home .home-about .title-en {
  text-align: left;
}
.page-home .home-about .list {
  margin-top: calc(35 / var(--base) * 100vw);
  margin-bottom: calc(28 / var(--base) * 100vw);
  font-size: calc(16 / var(--base) * 100vw);
  font-weight: 600;
  color: #fff;
}
.page-home .home-about .list li {
  display: flex;
  gap: 4px;
  align-items: center;
}
.page-home .home-about .list li:not(:last-of-type) {
  margin-bottom: calc(16 / var(--base) * 100vw);
}
.page-home .home-about .list li::before {
  display: block;
  content: "";
  width: calc(20 / var(--base) * 100vw);
  height: calc(20 / var(--base) * 100vw);
  background-color: #fff;
  -webkit-mask-image: url(../images/common/mark-bling.svg);
          mask-image: url(../images/common/mark-bling.svg);
  -webkit-mask-size: contain;
          mask-size: contain;
}
.page-home .home-about .photos {
  margin: calc(50 / var(--base) * 100vw) auto 0 auto;
  width: calc(250 / var(--base) * 100vw);
  border-radius: calc(5 / var(--base) * 100vw);
  overflow: hidden;
  position: relative;
  transition: var(--transition-duration);
  transition-delay: calc(var(--transition-duration));
  scale: 0.95;
}
.page-home .home-about .photos.on {
  scale: 1;
}
.page-home .home-about .photos .button-prev,
.page-home .home-about .photos .button-next {
  position: absolute;
  width: 33px;
  height: 33px;
  border-radius: 32px;
  background-color: color-mix(in srgb, #fff 30%, transparent);
  z-index: 2;
}
.page-home .home-about .photos .button-prev::after,
.page-home .home-about .photos .button-next::after {
  display: block;
  content: "";
  width: 12px;
  height: 16px;
  background-image: url(../images/common/swiper-button-arrow.svg);
  position: absolute;
  inset: 50% auto auto 50%;
  translate: -60% -50%;
}
.page-home .home-about .photos .button-next {
  inset: auto 65px 16px auto;
}
.page-home .home-about .photos .button-prev {
  inset: auto auto 16px 65px;
}
.page-home .home-about .photos .button-prev::after {
  scale: -1 -1;
}
.page-home .home-story {
  padding: calc(110 / var(--base) * 100vw) calc(30 / var(--base) * 100vw);
  background-color: #000;
  background-image: url(../images/home/story-1.webp);
  background-size: cover;
}
.page-home .home-story .title-en {
  text-align: left;
}
.page-home .home-story p {
  color: #fff;
}
.page-home .home-story .para-button {
  margin-top: calc(50 / var(--base) * 100vw);
}
@media screen and (min-width: 768px) {
  .page-home .home-fv {
    height: min(768px, calc(768 / var(--base) * 100vw));
  }
  .page-home .home-fv .swiper-slide {
    height: min(768px, calc(768 / var(--base) * 100vw));
  }
  .page-home .home-fv .button-arrow {
    font-size: 18px;
    width: min(143px, calc(143 / var(--base) * 100vw));
  }
  .page-home .home-fv .button-arrow .mark {
    width: 19px;
    height: 19px;
  }
  .page-home .home-fv .home-fv-1 {
    background-image: url(../images/home/fv-1-lg.webp);
    background-position: center bottom;
  }
  .page-home .home-fv .home-fv-1 .text {
    inset: min(171px, calc(171 / var(--base) * 100vw)) auto auto auto;
  }
  .page-home .home-fv .home-fv-1 .lead-ja {
    font-size: min(25px, calc(25 / var(--base) * 100vw));
  }
  .page-home .home-fv .home-fv-1 .lead-en {
    font-size: min(12px, calc(12 / var(--base) * 100vw));
  }
  .page-home .home-fv .home-fv-1 .para-button {
    margin: 24px auto 0 auto;
    width: -moz-fit-content;
    width: fit-content;
  }
  .page-home .home-fv .home-fv-2 {
    background-image: url(../images/home/fv-2-lg.webp);
    background-position: center bottom;
  }
  .page-home .home-fv .home-fv-2 .lead-ja {
    font-size: 28px;
  }
  .page-home .home-fv .home-fv-2 .para-ja {
    font-size: 16px;
  }
  .page-home .home-fv .home-fv-2 .lead-en {
    margin-top: 24px;
    margin-bottom: 10px;
    font-size: 24px;
  }
  .page-home .home-fv .home-fv-2 .para-en {
    font-size: 14px;
  }
  .page-home .home-fv .home-fv-2 .para-button {
    margin: min(34px, calc(34 / var(--base) * 100vw)) auto 0 auto;
  }
  .page-home .home-philosophy {
    padding: min(69px, calc(69 / var(--base) * 100vw)) 0 min(106px, calc(106 / var(--base) * 100vw)) 0;
  }
  .page-home .home-philosophy .content {
    margin: 0 auto;
    width: min(674px, 674 / 800 * 100vw);
  }
  .page-home .home-philosophy .logo {
    width: min(179px, calc(179 / var(--base) * 100vw));
    height: min(94px, calc(94 / var(--base) * 100vw));
  }
  .page-home .home-philosophy .title {
    margin: 0 0 min(16px, calc(16 / var(--base) * 100vw)) 0;
    font-size: min(33px, calc(33 / var(--base) * 100vw));
    text-align: left;
  }
  .page-home .home-philosophy .para-button {
    margin-top: min(24px, calc(24 / var(--base) * 100vw));
  }
  .page-home .home-about {
    padding: min(78px, calc(78 / var(--base) * 100vw)) 0 min(93px, calc(93 / var(--base) * 100vw)) 0;
  }
  .page-home .home-about .content {
    margin: 0 auto;
    width: min(700px, 700 / 800 * 100vw);
  }
  .page-home .home-about .content:has(.photos) {
    display: grid;
    grid-template-columns: 1fr min(306px, 306 / 800 * 100vw);
    align-items: start;
  }
  .page-home .home-about .list {
    margin-top: min(59px, calc(59 / var(--base) * 100vw));
    margin-bottom: min(32px, calc(32 / var(--base) * 100vw));
    font-size: min(19px, calc(19 / var(--base) * 100vw));
  }
  .page-home .home-about .list li:not(:last-of-type) {
    margin-bottom: min(19px, calc(19 / var(--base) * 100vw));
  }
  .page-home .home-about .list li::before {
    width: min(24px, calc(24 / var(--base) * 100vw));
    height: min(24px, calc(24 / var(--base) * 100vw));
  }
  .page-home .home-about .photos {
    margin: 0 auto 0 auto;
    width: 100%;
    border-radius: min(5px, calc(5 / var(--base) * 100vw));
  }
  .page-home .home-about .photos .button-prev,
  .page-home .home-about .photos .button-next {
    position: absolute;
    width: 33px;
    height: 33px;
    border-radius: 32px;
    background-color: color-mix(in srgb, #fff 30%, transparent);
    z-index: 2;
  }
  .page-home .home-about .photos .button-prev::after,
  .page-home .home-about .photos .button-next::after {
    display: block;
    content: "";
    width: 12px;
    height: 16px;
    background-image: url(../images/common/swiper-button-arrow.svg);
    position: absolute;
    inset: 50% auto auto 50%;
    translate: -60% -50%;
  }
  .page-home .home-about .photos .button-next {
    inset: auto 65px 16px auto;
  }
  .page-home .home-about .photos .button-prev {
    inset: auto auto 16px 65px;
  }
  .page-home .home-about .photos .button-prev::after {
    scale: -1 -1;
  }
  .page-home .home-about .photos img {
    transition: scale var(--transition-duration);
  }
  .page-home .home-about .photos img:hover {
    scale: 1.1;
  }
  .page-home .home-story {
    padding: min(75px, calc(75 / var(--base) * 100vw)) 0 min(166px, calc(166 / var(--base) * 100vw)) 0;
  }
  .page-home .home-story .content {
    margin: 0 auto;
    width: min(674px, 674 / 800 * 100vw);
  }
  .page-home .home-story .title-en {
    text-align: left;
  }
  .page-home .home-story p {
    font-size: min(16px, calc(16 / var(--base) * 100vw));
  }
  .page-home .home-story .para-button {
    margin-top: min(32px, calc(32 / var(--base) * 100vw));
  }
}
@media screen and (min-width: 1024px) {
  .page-home .home-fv {
    height: 100vh;
  }
  .page-home .home-fv .content {
    height: 100vh;
  }
  .page-home .home-fv .button-next,
  .page-home .home-fv .button-prev {
    bottom: 160px;
  }
  .page-home .home-fv .news dl {
    margin: 0 auto;
    width: 848px;
  }
  .page-home .home-fv .swiper-slide {
    height: 100vh;
  }
  .page-home .home-fv .news {
    padding: 16px 18px 19px 18px;
    color: #fff;
    position: absolute;
    inset: auto 0 0 0;
    background-color: color-mix(in srgb, #000 20%, transparent);
    z-index: 2;
  }
  .page-home .home-fv .news dt {
    font-size: 24px;
  }
  .page-home .home-fv .news dt .all {
    font-size: 16px;
  }
  .page-home .home-fv .news ul {
    display: grid;
    grid-template-columns: auto 1fr;
    gap: 4px 8px;
  }
  .page-home .home-fv .news li {
    display: contents;
    font-size: 16px;
    line-height: 1.5;
    font-weight: 700;
  }
  .page-home .home-fv .news li a {
    display: grid;
    grid-template-columns: subgrid;
    grid-column: 1/3;
    color: #fff;
    text-decoration: none;
  }
  .page-home .home-fv .news li time {
    grid-column: 1;
    line-height: 1.2;
  }
  .page-home .home-fv .news li .title {
    grid-column: 2;
    color: #fff;
    line-height: 1.2;
  }
  .page-home .home-philosophy {
    padding: min(110px, calc(110 / var(--base) * 100vw)) 0;
  }
  .page-home .home-philosophy .content {
    width: min(674px, 674 / 800 * 100vw);
  }
  .page-home .home-philosophy .content::before {
    left: min(58px, calc(58 / var(--base) * 100vw));
  }
  .page-home .home-philosophy .title {
    margin: 0 0 min(8px, calc(8 / var(--base) * 100vw)) 0;
    font-size: min(33px, calc(33 / var(--base) * 100vw));
  }
  .page-home .home-about {
    padding: min(78px, calc(78 / var(--base) * 100vw)) 0 min(93px, calc(93 / var(--base) * 100vw)) 0;
  }
  .page-home .home-about .content {
    margin: 0 auto;
    width: min(674px, 674 / 800 * 100vw);
  }
  .page-home .home-about .content:has(.photos) {
    display: grid;
    grid-template-columns: 1fr min(306px, 306 / 800 * 100vw);
    align-items: start;
  }
  .page-home .home-about .list {
    margin-top: min(59px, calc(59 / var(--base) * 100vw));
    margin-bottom: min(32px, calc(32 / var(--base) * 100vw));
    font-size: min(19px, calc(19 / var(--base) * 100vw));
  }
  .page-home .home-about .list li:not(:last-of-type) {
    margin-bottom: min(19px, calc(19 / var(--base) * 100vw));
  }
  .page-home .home-about .list li::before {
    width: min(24px, calc(24 / var(--base) * 100vw));
    height: min(24px, calc(24 / var(--base) * 100vw));
  }
}

.page-philosophy .common-header {
  background-image: url(../images/philosophy/header-1.webp);
}
.page-philosophy .philosophy-brand {
  padding: 64px 30px;
  background-color: var(--color-beige);
}
.page-philosophy .philosophy-brand .brand-mark {
  margin: 0 auto 11px auto;
  width: 111px;
}
.page-philosophy .philosophy-brand .brand-mark figcaption {
  margin-top: 11px;
  text-align: center;
  font-size: 22px;
  color: var(--color-main);
  font-weight: 700;
}
.page-philosophy .philosophy-brand .title {
  margin-bottom: 46px;
}
.page-philosophy .philosophy-brand .title .ja {
  display: block;
  margin-bottom: 22px;
  font-size: 28px;
  font-weight: 700;
  line-height: 1.5;
  text-align: center;
}
.page-philosophy .philosophy-brand .title .en {
  display: block;
  font-size: 16px;
  font-weight: 700;
  line-height: 1.5;
  color: var(--color-gray);
  text-align: center;
  font-family: var(--font-serif);
}
.page-philosophy .philosophy-resultato {
  padding: 64px 30px;
}
.page-philosophy .philosophy-resultato .title {
  margin-bottom: min(17px, calc(17 / var(--base) * 100vw));
  font-size: min(28px, calc(28 / var(--base) * 100vw));
  text-align: center;
}
.page-philosophy .philosophy-resultato .lead {
  margin-bottom: min(25px, calc(25 / var(--base) * 100vw));
  font-size: min(16px, calc(16 / var(--base) * 100vw));
  text-align: center;
  font-weight: 700;
  color: var(--color-dark-brown);
}
.page-philosophy .philosophy-resultato .para-button {
  margin: min(29px, calc(29 / var(--base) * 100vw)) auto 0 auto;
  text-align: center;
}
@media screen and (min-width: 768px) {
  .page-philosophy .common-header {
    background-image: url(../images/philosophy/header-1-lg.webp);
  }
  .page-philosophy .philosophy-brand {
    padding: 72px 0;
  }
  .page-philosophy .philosophy-brand .content {
    margin: 0 auto;
    width: min(700px, 700 / 800 * 100vw);
  }
  .page-philosophy .philosophy-brand .title {
    margin-bottom: 34px;
  }
  .page-philosophy .philosophy-brand .title .ja {
    margin-bottom: 23px;
  }
  .page-philosophy .philosophy-resultato {
    padding: 72px 0;
  }
  .page-philosophy .philosophy-resultato .content {
    margin: 0 auto;
    width: min(360px, 360 / 800 * 100vw);
  }
  .page-philosophy .philosophy-resultato .title {
    font-size: min(28px, calc(28 / var(--base) * 100vw));
  }
  .page-philosophy .philosophy-resultato .lead {
    margin-bottom: min(27px, calc(27 / var(--base) * 100vw));
    font-size: min(20px, calc(20 / var(--base) * 100vw));
  }
  .page-philosophy .philosophy-resultato .para-button {
    margin: min(29px, calc(29 / var(--base) * 100vw)) auto 0 auto;
    text-align: center;
  }
}

.page-about-product .common-header {
  background-image: url(../images/product/header-1.webp);
}
.page-about-product .porduct-resultato {
  padding: calc(100 / var(--base) * 100vw) 30px;
}
.page-about-product .porduct-resultato .title {
  margin-bottom: calc(26 / var(--base) * 100vw);
  line-height: 1.6;
  color: var(--color-dark-brown);
}
.page-about-product .porduct-resultato .title .sub-title {
  display: block;
  font-size: calc(16 / var(--base) * 100vw);
  font-weight: 400;
}
.page-about-product .porduct-resultato .title .main-title {
  display: block;
  font-size: calc(28 / var(--base) * 100vw);
  font-weight: 700;
}
.page-about-product .porduct-resultato .photo {
  margin-bottom: calc(20 / var(--base) * 100vw);
  border-radius: var(--radius);
  overflow: hidden;
}
.page-about-product .porduct-resultato .lead {
  margin-bottom: calc(10 / var(--base) * 100vw);
  font-size: calc(18 / var(--base) * 100vw);
  line-height: 1.8;
  font-weight: 700;
}
.page-about-product .porduct-resultato .para-button {
  margin-top: 40px;
  text-align: center;
}
.page-about-product .product-moments {
  padding: calc(100 / var(--base) * 100vw) 30px;
  background-color: var(--color-main);
}
.page-about-product .product-moments .title-mid {
  color: #fff;
}
.page-about-product .product-moments .photos {
  position: relative;
  padding-bottom: 60px;
}
.page-about-product .product-moments .swiper {
  margin-bottom: calc(44 / var(--base) * 100vw);
  border-radius: calc(2 * var(--radius));
  overflow: hidden;
}
.page-about-product .product-moments .sw-button-prev,
.page-about-product .product-moments .sw-button-next {
  border-color: #fff;
}
.page-about-product .product-moments .sw-button-prev::after,
.page-about-product .product-moments .sw-button-next::after {
  background-color: #fff;
}
.page-about-product .product-moments .sw-pagination .swiper-pagination-bullet {
  background-color: color-mix(in srgb, #fff 80%, transparent);
}
.page-about-product .product-moments .sw-pagination .swiper-pagination-bullet-active {
  background-color: #fff;
}
.page-about-product .product-moments .photo {
  transition: scale var(--transition-duration);
  transition-delay: calc(var(--transition-duration) / 2);
  scale: 0.95;
}
.page-about-product .product-moments .photo.on {
  scale: 1;
}
.page-about-product .product-moments .photo img {
  margin-bottom: calc(14 / var(--base) * 100vw);
  border-radius: calc(2 * var(--radius));
  overflow: hidden;
}
.page-about-product .product-moments .title {
  margin-bottom: min(8px, calc(8 / var(--base) * 100vw));
  font-size: min(20px, calc(20 / var(--base) * 100vw));
  font-weight: 700;
  color: #fff;
}
.page-about-product .product-moments p {
  font-size: min(14px, calc(14 / var(--base) * 100vw));
  color: #fff;
}
.page-about-product .product-gift {
  padding: calc(86 / var(--base) * 100vw) calc(30 / var(--base) * 100vw) calc(151 / var(--base) * 100vw) calc(30 / var(--base) * 100vw);
  background-color: var(--color-beige);
  position: relative;
}
.page-about-product .product-gift .title-mid {
  color: var(--color-light-brown);
}
.page-about-product .product-gift .photos {
  position: relative;
  padding-bottom: 70px;
}
.page-about-product .product-gift .swiper {
  border-radius: calc(2 * var(--radius));
  overflow: hidden;
}
.page-about-product .product-gift .swiper .photo {
  transition: scale var(--transition-duration);
  transition-delay: calc(var(--transition-duration) / 2);
  scale: 0.95;
}
.page-about-product .product-gift .swiper .photo.on {
  scale: 1;
}
.page-about-product .product-gift .swiper .photo img {
  margin-bottom: calc(14 / var(--base) * 100vw);
  border-radius: calc(2 * var(--radius));
  overflow: hidden;
}
.page-about-product .product-gift .swiper .photo figcaption {
  font-size: calc(20 / var(--base) * 100vw);
  font-weight: 700;
  color: var(--color-main);
}
.page-about-product .product-gift .swiper .title {
  margin-bottom: calc(8 / var(--base) * 100vw);
  font-size: calc(18 / var(--base) * 100vw);
  color: var(--color-light-brown);
}
.page-about-product .product-gift .swiper p {
  color: var(--color-light-brown);
  font-weight: 700;
}
.page-about-product .product-gift .para-button {
  margin-top: min(72px, calc(72 / var(--base) * 100vw));
  text-align: center;
}
.page-about-product .product-ritual {
  padding: calc(108 / var(--base) * 100vw) calc(30 / var(--base) * 100vw) calc(79 / var(--base) * 100vw) calc(30 / var(--base) * 100vw);
}
.page-about-product .product-ritual .photos {
  position: relative;
  padding-bottom: 60px;
}
.page-about-product .product-ritual .swiper {
  border-radius: calc(2 * var(--radius));
  overflow: hidden;
}
.page-about-product .product-ritual .swiper .photo {
  transition: scale var(--transition-duration);
  transition-delay: calc(var(--transition-duration) / 2);
  scale: 0.95;
}
.page-about-product .product-ritual .swiper .photo.on {
  scale: 1;
}
.page-about-product .product-ritual .swiper .photo img {
  margin-bottom: calc(14 / var(--base) * 100vw);
  border-radius: calc(2 * var(--radius));
  overflow: hidden;
}
.page-about-product .product-ritual .swiper .title {
  margin-bottom: min(8px, calc(8 / var(--base) * 100vw));
  font-size: min(18px, calc(18 / var(--base) * 100vw));
  font-weight: 700;
  text-wrap: wrap;
}
.page-about-product .product-ritual .swiper p {
  font-size: min(14px, calc(14 / var(--base) * 100vw));
  line-height: 1.9;
}
.page-about-product .product-use {
  padding: calc(84 / var(--base) * 100vw) calc(30 / var(--base) * 100vw) calc(74 / var(--base) * 100vw) calc(30 / var(--base) * 100vw);
  background-color: var(--color-beige);
}
.page-about-product .product-use .title-mid {
  color: var(--color-brown);
}
.page-about-product .product-use .photos {
  position: relative;
  padding-bottom: 60px;
}
.page-about-product .product-use .swiper {
  border-radius: calc(2 * var(--radius));
  overflow: hidden;
}
.page-about-product .product-use .swiper .photo {
  transition: scale var(--transition-duration);
  transition-delay: calc(var(--transition-duration) / 2);
  scale: 0.95;
}
.page-about-product .product-use .swiper .photo.on {
  scale: 1;
}
.page-about-product .product-use .swiper .photo img {
  margin-bottom: calc(14 / var(--base) * 100vw);
  border-radius: calc(2 * var(--radius));
  overflow: hidden;
}
.page-about-product .product-use .swiper .title {
  margin-bottom: min(8px, calc(8 / var(--base) * 100vw));
  font-size: min(18px, calc(18 / var(--base) * 100vw));
  font-weight: 700;
  color: var(--color-brown);
}
.page-about-product .product-use .swiper p {
  font-size: min(14px, calc(14 / var(--base) * 100vw));
  line-height: 1.9;
  color: var(--color-brown);
}
.page-about-product .product-use .para-button {
  margin-top: min(72px, calc(72 / var(--base) * 100vw));
  text-align: center;
}
.page-about-product .product-perfumery {
  padding: 104px calc(30 / var(--base) * 100vw) 122px calc(30 / var(--base) * 100vw);
  background-color: var(--color-text);
}
.page-about-product .product-perfumery .layers3 .title-mid {
  color: #fff;
}
.page-about-product .product-perfumery .content:not(:last-of-type) {
  margin-bottom: 100px;
}
.page-about-product .product-perfumery .title {
  margin-bottom: 34px;
  text-align: center;
  font-size: 26px;
  line-height: 1.5;
  font-weight: 700;
  color: #fff;
}
.page-about-product .product-perfumery .photo {
  margin-bottom: calc(51 / var(--base) * 100vw);
}
.page-about-product .product-perfumery p {
  color: #fff;
}
.page-about-product .product-perfumery .illust {
  margin-top: calc(53 / var(--base) * 100vw);
  margin-bottom: calc(32 / var(--base) * 100vw);
}
.page-about-product .product-perfumery .notes {
  color: #fff;
}
.page-about-product .product-perfumery .notes dt {
  display: flex;
  align-items: end;
  gap: 14px;
}
.page-about-product .product-perfumery .notes .en {
  font-family: var(--font-en);
  font-size: calc(29 / var(--base) * 100vw);
  font-weight: 900;
}
.page-about-product .product-perfumery .notes .ja {
  font-size: calc(16 / var(--base) * 100vw);
  font-weight: 900;
}
.page-about-product .product-perfumery .notes dd {
  margin-bottom: calc(14 / var(--base) * 100vw);
  line-height: 2;
}
.page-about-product .product-perfumery .perfumer {
  margin-bottom: 4px;
  color: #fff;
  font-size: 14px;
  line-height: 1.6;
}
.page-about-product .product-perfumery .perfumer .name {
  font-size: 18px;
}
.page-about-product .product-perfumery .para-button {
  margin-top: 80px;
  text-align: center;
}
@media screen and (min-width: 768px) {
  .page-about-product .common-header {
    background-image: url(../images/product/header-1-lg.webp);
  }
  .page-about-product .porduct-resultato {
    display: grid;
    grid-template-columns: 1fr min(313px, 313 / 800 * 100vw);
    grid-template-rows: auto auto auto 1fr;
    gap: 0 min(90px, 90 / 800 * 100vw);
    margin: 0 auto;
    padding: calc(63 / var(--base) * 100vw) 0 calc(95 / var(--base) * 100vw) 0;
    width: min(700px, 700 / 800 * 100vw);
  }
  .page-about-product .porduct-resultato .title {
    margin-bottom: 26px;
  }
  .page-about-product .porduct-resultato .title .sub-title {
    font-size: 16px;
  }
  .page-about-product .porduct-resultato .title .main-title {
    font-size: 28px;
  }
  .page-about-product .porduct-resultato .photo {
    grid-column: 2;
    grid-row: 1/5;
    margin-bottom: 0;
    border-radius: 0;
  }
  .page-about-product .porduct-resultato .lead {
    margin-bottom: 9px;
    font-size: 17px;
  }
  .page-about-product .porduct-resultato .para-button {
    margin: 64px auto 0 auto;
    grid-column: 1/3;
  }
  .page-about-product .product-moments .content {
    padding-right: calc(200 / var(--base) * 100vw);
    padding-left: calc(200 / var(--base) * 100vw);
  }
  .page-about-product .product-gift .content {
    padding-right: calc(200 / var(--base) * 100vw);
    padding-left: calc(200 / var(--base) * 100vw);
  }
  .page-about-product .product-ritual .content {
    padding-right: calc(200 / var(--base) * 100vw);
    padding-left: calc(200 / var(--base) * 100vw);
  }
  .page-about-product .product-use .content {
    padding-right: calc(200 / var(--base) * 100vw);
    padding-left: calc(200 / var(--base) * 100vw);
  }
  .page-about-product .product-use .para-button {
    margin-top: 20px;
  }
  .page-about-product .product-perfumery p {
    color: #fff;
    font-size: min(14px, calc(14 / var(--base) * 100vw));
  }
  .page-about-product .product-perfumery .content {
    display: grid;
    align-items: start;
    grid-template-columns: min(360px, 360 / 800 * 100vw) 1fr;
    gap: 0 min(40px, 40 / 800 * 100vw);
    margin: 0 auto;
    width: min(700px, 700 / 800 * 100vw);
  }
  .page-about-product .product-perfumery .content:not(:last-of-type) {
    margin-bottom: 32px;
  }
  .page-about-product .product-perfumery .layers3 .title-mid {
    grid-column: 1/3;
    color: #fff;
  }
  .page-about-product .product-perfumery .layers3 p {
    margin-bottom: 40px;
    grid-column: 1/3;
    padding: 0 20%;
  }
  .page-about-product .product-perfumery .layers3 .illust {
    margin: 0;
    grid-column: 1;
  }
  .page-about-product .product-perfumery .layers3 .notes {
    color: #fff;
  }
  .page-about-product .product-perfumery .layers3 .notes dt {
    display: flex;
    align-items: end;
    gap: 14px;
  }
  .page-about-product .product-perfumery .layers3 .notes .en {
    font-size: 29px;
  }
  .page-about-product .product-perfumery .layers3 .notes .ja {
    font-size: 16px;
  }
  .page-about-product .product-perfumery .layers3 .notes dd {
    margin-bottom: 40px;
  }
  .page-about-product .product-perfumery .about-perfumer .title {
    grid-column: 1/3;
    margin-bottom: 36px;
    font-size: 29px;
  }
  .page-about-product .product-perfumery .about-perfumer .photo {
    margin: 0;
    grid-column: 1;
    grid-row: 2;
  }
  .page-about-product .product-perfumery .about-perfumer .perfumer {
    margin-bottom: 12px;
    font-size: 14px;
  }
  .page-about-product .product-perfumery .about-perfumer .perfumer .name {
    font-size: 16px;
  }
  .page-about-product .product-perfumery .para-button {
    grid-column: 1/3;
    margin: 80px auto;
    text-align: center;
  }
}
@media screen and (min-width: 1024px) {
  .page-about-product .porduct-resultato {
    padding: 110px 0;
  }
  .page-about-product .product-moments {
    padding: min(149px, calc(149 / var(--base) * 100vw)) 0 min(127px, calc(127 / var(--base) * 100vw)) 0;
  }
  .page-about-product .product-moments .content {
    padding: 0;
  }
  .page-about-product .product-moments .photos {
    padding: 0;
  }
  .page-about-product .product-moments .swiper {
    margin: 0;
    border-radius: 0;
  }
  .page-about-product .product-moments .swiper p {
    font-size: 14px;
  }
  .page-about-product .product-moments .swiper-wrapper {
    margin: 0 auto;
    transform: none !important;
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    gap: min(48px, calc(48 / var(--base) * 100vw));
    width: min(880px, 880 / 1240 * 100vw);
  }
  .page-about-product .product-moments .swiper-slide {
    width: auto !important;
    flex: 1 1 auto;
  }
  .page-about-product .product-moments .photo {
    margin-bottom: 9px;
    transition: none;
    scale: 1;
  }
  .page-about-product .product-moments .photo img {
    border-radius: 0;
  }
  .page-about-product .product-moments .photo figcaption {
    font-size: min(20px, calc(20 / var(--base) * 100vw));
  }
  .page-about-product .product-gift {
    padding: min(92px, calc(92 / var(--base) * 100vw)) 0 min(162px, calc(162 / var(--base) * 100vw)) 0;
  }
  .page-about-product .product-gift .content {
    padding: 0;
  }
  .page-about-product .product-gift .photos {
    padding: 0;
  }
  .page-about-product .product-gift .swiper {
    margin: 0;
    border-radius: 0;
  }
  .page-about-product .product-gift .swiper .photo {
    transition: none;
    scale: 1;
  }
  .page-about-product .product-gift .swiper .photo img {
    border-radius: 0;
    margin-bottom: min(13px, calc(13 / var(--base) * 100vw));
  }
  .page-about-product .product-gift .swiper .photo figcaption {
    font-size: min(20px, calc(20 / var(--base) * 100vw));
    color: var(--color-brown);
  }
  .page-about-product .product-gift .swiper .title {
    margin-bottom: min(4px, calc(4 / var(--base) * 100vw));
    font-size: 18px;
  }
  .page-about-product .product-gift .swiper .title .lead {
    font-size: 21px;
  }
  .page-about-product .product-gift .swiper p {
    font-size: 14px;
  }
  .page-about-product .product-gift .swiper-wrapper {
    margin: 0 auto;
    transform: none !important;
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: min(32px, 32 / 1240 * 100vw);
    width: min(1160px, 1160 / 1240 * 100vw);
  }
  .page-about-product .product-gift .swiper-slide {
    width: auto !important;
    flex: 1 1 auto;
  }
  .page-about-product .product-ritual .content {
    padding: 0;
  }
  .page-about-product .product-ritual .photos {
    padding: 0;
  }
  .page-about-product .product-ritual .swiper {
    margin: 0;
    border-radius: 0;
  }
  .page-about-product .product-ritual .swiper p {
    font-size: 14px;
  }
  .page-about-product .product-ritual .swiper .photo {
    transition: none;
    scale: 1;
  }
  .page-about-product .product-ritual .swiper .photo img {
    border-radius: 0;
    margin-bottom: min(13px, calc(13 / var(--base) * 100vw));
  }
  .page-about-product .product-ritual .swiper-wrapper {
    margin: 0 auto;
    transform: none !important;
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    gap: min(48px, calc(48 / var(--base) * 100vw));
    width: min(880px, 880 / 1240 * 100vw);
  }
  .page-about-product .product-ritual .swiper-slide {
    width: auto !important;
    flex: 1 1 auto;
  }
  .page-about-product .product-ritual .title {
    font-size: min(16px, calc(16 / var(--base) * 100vw));
  }
  .page-about-product .product-use {
    padding: 84px 0 98px 0;
  }
  .page-about-product .product-use .content {
    padding: 0;
  }
  .page-about-product .product-use .swiper {
    border-radius: 0;
  }
  .page-about-product .product-use .swiper p {
    font-size: 14px;
  }
  .page-about-product .product-use .swiper .photo {
    margin-bottom: min(9px, calc(9 / var(--base) * 100vw));
    transition: none;
    scale: 1;
  }
  .page-about-product .product-use .swiper .photo.on {
    scale: 1;
  }
  .page-about-product .product-use .swiper .photo img {
    border-radius: 0;
  }
  .page-about-product .product-use .swiper-wrapper {
    margin: 0 auto;
    transform: none !important;
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: min(32px, 32 / 1240 * 100vw);
    width: min(1160px, 1160 / 1240 * 100vw);
  }
  .page-about-product .product-use .swiper-slide {
    width: auto !important;
    flex: 1 1 auto;
    border-radius: 0;
  }
  .page-about-product .product-use .title {
    font-size: min(16px, calc(16 / var(--base) * 100vw));
  }
  .page-about-product .product-perfumery .content {
    grid-template-columns: min(400px, 400 / 800 * 100vw) 1fr;
    gap: 0px 40px;
    width: 760px;
  }
  .page-about-product .product-perfumery .layers3 {
    align-items: center;
  }
  .page-about-product .product-perfumery p {
    padding-right: 36px;
  }
  .page-about-product .product-perfumery .about-perfumer .perfumer {
    margin-bottom: 11px;
    font-size: 16px;
  }
  .page-about-product .product-perfumery .about-perfumer .perfumer .name {
    font-size: 18px;
  }
}

.page-story .common-header {
  background-image: url(../images/story/header-1.webp);
}
.page-story .story-intro {
  padding: 50px calc(30 / var(--base) * 100vw);
}
.page-story .photo {
  margin-top: 54px;
  border-radius: var(--radius);
  overflow: hidden;
}
.page-story .story-compath {
  padding: 100px calc(30 / var(--base) * 100vw);
  background-color: var(--color-beige);
}
.page-story .story-ritual {
  padding: 100px calc(30 / var(--base) * 100vw);
}
.page-story .story-ritual .block:not(:last-of-type) {
  margin-bottom: 80px;
}
.page-story .story-resultato {
  padding: 100px calc(30 / var(--base) * 100vw);
  background-color: var(--color-main);
}
.page-story .story-resultato .block:not(:last-of-type) {
  margin-bottom: 80px;
}
.page-story .story-resultato .title-mid,
.page-story .story-resultato p {
  color: #fff;
}
.page-story .story-resultato .title {
  margin-bottom: 19px;
  color: #fff;
  text-align: center;
  font-size: 16px;
  line-height: 1.8;
}
.page-story .story-resultato .title .sub {
  font-size: 18px;
}
.page-story .story-resultato .title-sub {
  margin-top: 56px;
  margin-bottom: 11px;
  font-size: 16px;
  line-height: 1.8;
  color: #fff;
  text-align: center;
}
.page-story .item {
  background-color: var(--color-main);
  border-radius: var(--radius);
  color: #fff;
}
.page-story .item:not(:last-of-type) {
  margin-bottom: calc(27 / var(--base) * 100vw);
}
.page-story .item.open .title-button .mark {
  rotate: 45deg;
}
.page-story .item.open .item-content {
  grid-template-rows: 1fr;
  padding-bottom: calc(22 / var(--base) * 100vw);
}
.page-story .item.open .item-content p {
  line-height: 1.8;
  opacity: 1;
}
.page-story .title-button {
  padding: calc(22 / var(--base) * 100vw) calc(48 / var(--base) * 100vw) calc(22 / var(--base) * 100vw) calc(18 / var(--base) * 100vw);
  width: 100%;
  font-weight: 700;
  font-size: calc(13 / var(--base) * 100vw);
  line-height: 1.5;
  box-sizing: border-box;
  position: relative;
}
.page-story .title-button .mark {
  display: block;
  width: 14px;
  height: 14px;
  position: absolute;
  inset: 50% 11px auto auto;
  translate: 0 -50%;
  transition: rotate var(--transition-duration);
}
.page-story .title-button .mark::before, .page-story .title-button .mark::after {
  content: "";
  width: 100%;
  height: 2px;
  position: absolute;
  inset: 50% auto auto 50%;
  background-color: #fff;
  translate: -50% -50%;
}
.page-story .title-button .mark::after {
  width: 2px;
  height: 100%;
}
.page-story .item-content {
  display: grid;
  grid-template-rows: 0fr;
  overflow: hidden;
  transition: var(--transition-duration);
  margin: 0 calc(18 / var(--base) * 100vw) 0 calc(18 / var(--base) * 100vw);
}
.page-story .item-content p {
  color: #fff;
  line-height: 0;
  opacity: 0;
  transition: var(--transition-duration);
}
@media screen and (min-width: 768px) {
  .page-story {
    /*
    .item {
      &:not(:last-of-type) {
        margin-bottom: cwmin(27);
      }

      &.open {
        .item-content {
          padding-bottom: cwmin(22);
        }
      }
    }
    .title-button {
      padding: cwmin(22) cwmin(48) cwmin(22) cwmin(18);
      font-size: cwmin(13);
    }
    .item-content {
      margin: 0 cwmin(18) 0 cwmin(18);
    }
      */
  }
  .page-story .common-header {
    background-image: url(../images/story/header-1-lg.webp);
  }
  .page-story .story-intro {
    padding: 50px 0;
  }
  .page-story .story-intro .video-content {
    margin: 0 auto;
    width: min(540px, 540 / 800 * 100vw);
  }
  .page-story .story-compath {
    padding: min(73px, 73 / 800 * 100vw) 0;
  }
  .page-story .story-compath .content {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    gap: 0 40px;
    align-items: start;
    margin: 0 auto;
    width: min(720px, 720 / 800 * 100vw);
  }
  .page-story .story-compath .title-mid {
    margin-bottom: 25px;
    text-align: left;
    font-size: 20px;
  }
  .page-story .story-compath .photo {
    margin: 0;
  }
  .page-story .story-ritual {
    padding: min(73px, 73 / 800 * 100vw) 0;
  }
  .page-story .story-ritual .content {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    gap: 0 40px;
    align-items: start;
    margin: 0 auto;
    width: min(720px, 720 / 800 * 100vw);
  }
  .page-story .story-ritual .title-mid {
    margin-bottom: 25px;
    text-align: left;
    font-size: 20px;
  }
  .page-story .story-ritual .photo {
    margin: 0;
    grid-column: 2;
    grid-row: 1/3;
  }
  .page-story .story-resultato {
    padding: min(73px, 73 / 800 * 100vw) 0;
  }
  .page-story .story-resultato .content {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    gap: 0 40px;
    align-items: start;
    margin: 0 auto;
    width: min(720px, 720 / 800 * 100vw);
  }
  .page-story .story-resultato .title-mid {
    margin-bottom: 25px;
    text-align: left;
    font-size: 20px;
  }
  .page-story .story-resultato .title {
    text-align: left;
  }
  .page-story .story-resultato .title-sub {
    text-align: left;
  }
  .page-story .story-resultato .photo {
    margin: 0;
    grid-column: 2;
    grid-row: 1/3;
  }
}
@media screen and (min-width: 1024px) {
  .page-story .story-intro {
    padding: 100px 0;
  }
}

.page-faq .common-header {
  background-image: url(../images/faq/header-1.webp);
}
.page-faq .faq-content {
  padding: calc(65 / var(--base) * 100vw) calc(24 / var(--base) * 100vw);
}
.page-faq .faq-group {
  background-color: var(--color-main);
  border-radius: var(--radius);
  margin-bottom: min(32px, calc(32 / var(--base) * 100vw));
}
.page-faq .faq-group.open .group {
  grid-template-rows: 1fr;
}
.page-faq .faq-group.open .button-group .mark {
  rotate: 45deg;
}
.page-faq .button-group {
  padding: 22px 48px 22px 18px;
  width: 100%;
  font-weight: 700;
  font-size: 13px;
  line-height: 1.5;
  box-sizing: border-box;
  position: relative;
  color: #fff;
}
.page-faq .button-group .mark {
  display: block;
  width: 14px;
  height: 14px;
  position: absolute;
  inset: 50% 11px auto auto;
  translate: 0 -50%;
  transition: rotate var(--transition-duration);
}
.page-faq .button-group .mark::before, .page-faq .button-group .mark::after {
  content: "";
  width: 100%;
  height: 2px;
  position: absolute;
  inset: 50% auto auto 50%;
  background-color: #fff;
  translate: -50% -50%;
}
.page-faq .button-group .mark::after {
  width: 2px;
  height: 100%;
}
.page-faq .group {
  display: grid;
  grid-template-rows: 0fr;
  overflow: hidden;
  transition: var(--transition-duration);
  background-color: #fff;
  border-radius: 0 0 var(--radius) var(--radius);
}
.page-faq .group-content {
  overflow: hidden;
  background-color: var(--color-faq-bg);
}
.page-faq .item {
  border-radius: var(--radius);
  color: #fff;
}
.page-faq .item:last-of-type .item-content {
  border-bottom: 1px solid var(--color-faq-bg);
}
.page-faq .item.open .title-button .mark {
  rotate: 45deg;
}
.page-faq .item.open .item-content {
  grid-template-rows: 1fr;
  padding-top: 22px;
  padding-bottom: 22px;
  border-bottom: 1px solid var(--color-faq-bg);
}
.page-faq .item.open .item-content p {
  line-height: 1.8;
  opacity: 1;
}
.page-faq .title-button {
  padding: 22px 48px 22px 18px;
  width: 100%;
  font-weight: 700;
  font-size: 13px;
  line-height: 1.5;
  box-sizing: border-box;
  position: relative;
}
.page-faq .title-button .mark {
  display: block;
  width: 14px;
  height: 14px;
  position: absolute;
  inset: 50% 11px auto auto;
  translate: 0 -50%;
  transition: rotate var(--transition-duration);
}
.page-faq .title-button .mark::before, .page-faq .title-button .mark::after {
  content: "";
  width: 100%;
  height: 2px;
  position: absolute;
  inset: 50% auto auto 50%;
  background-color: #fff;
  translate: -50% -50%;
}
.page-faq .title-button .mark::after {
  width: 2px;
  height: 100%;
}
.page-faq .item-content {
  display: grid;
  grid-template-rows: 0fr;
  overflow: hidden;
  transition: grid-template-rows var(--transition-duration), padding var(--transition-duration);
  padding: 0 18px;
  background-color: #fff;
  border-radius: 0 0 var(--radius) var(--radius);
  border-right: 1px solid var(--color-faq-bg);
  border-bottom: 1px solid #fff;
  border-left: 1px solid var(--color-faq-bg);
}
.page-faq .item-content p {
  color: var(--color-text);
  line-height: 0;
  opacity: 0;
  transition: var(--transition-duration);
}
@media screen and (min-width: 768px) {
  .page-faq .common-header {
    background-image: url(../images/story/header-1-lg.webp);
  }
  .page-faq .faq-content {
    margin: 0 auto;
    padding: min(73px, 73 / 800 * 100vw) 0;
    width: min(720px, 720 / 800 * 100vw);
  }
}

.page-company .common-header {
  background-image: url(../images/company/header-1.webp);
}
.page-company .company-message {
  padding: min(70px, calc(70 / var(--base) * 100vw)) min(30px, calc(30 / var(--base) * 100vw)) min(24px, calc(24 / var(--base) * 100vw)) min(30px, calc(30 / var(--base) * 100vw));
}
.page-company .company-message .title {
  margin-bottom: calc(32 / var(--base) * 100vw);
  color: var(--color-main);
  text-align: center;
  font-size: min(20px, calc(20 / var(--base) * 100vw));
  font-weight: 700;
}
.page-company .company-information {
  padding: min(24px, calc(24 / var(--base) * 100vw)) min(30px, calc(30 / var(--base) * 100vw));
}
.page-company .table-company table {
  width: 100%;
  border-collapse: collapse;
}
.page-company .table-company th {
  padding: 8px 10px;
  font-size: 12px;
  text-align: left;
  vertical-align: center;
  font-weight: 400;
}
.page-company .table-company td {
  padding: 8px 10px;
  font-size: 12px;
  text-align: left;
  vertical-align: center;
  font-weight: 400;
}
@media screen and (min-width: 768px) {
  .page-company .common-header {
    background-image: url(../images/company/header-1-lg.webp);
  }
  .page-company .company-message {
    padding-right: 0;
    padding-left: auto;
    margin: 0 auto;
    width: min(700px, 700 / 800 * 100vw);
  }
  .page-company .company-information .title {
    font-size: min(25px, calc(25 / var(--base) * 100vw));
  }
  .page-company .table-company {
    margin: 0 auto;
    width: min(445px, 445 / 800 * 100vw);
  }
}

.page-news .news-archives {
  padding: calc(20 / var(--base) * 100vw) calc(30 / var(--base) * 100vw);
}
.page-news .news-detail {
  padding: calc(20 / var(--base) * 100vw) calc(30 / var(--base) * 100vw) calc(120 / var(--base) * 100vw) calc(30 / var(--base) * 100vw);
}
.page-news .news-detail .date {
  margin-bottom: calc(5 / var(--base) * 100vw);
  font-size: calc(12 / var(--base) * 100vw);
  color: var(--color-main);
  line-height: 1.5;
}
.page-news .news-detail .title {
  margin-bottom: calc(20 / var(--base) * 100vw);
  font-size: calc(15 / var(--base) * 100vw);
  line-height: 1.5;
}
.page-news .news-detail .photo {
  margin-bottom: calc(13 / var(--base) * 100vw);
}
.page-news .news-detail p {
  font-size: calc(12 / var(--base) * 100vw);
}
@media screen and (min-width: 768px) {
  .page-news .news-archives {
    margin: 0 auto;
    padding: 20px 0;
    width: min(720px, 720 / 800 * 100vw);
  }
  .page-news .news-detail {
    margin: 0 auto;
    padding: 20px 0 160px 0;
    width: min(720px, 720 / 800 * 100vw);
  }
  .page-news .news-detail .date {
    margin-bottom: min(5px, calc(5 / var(--base) * 100vw));
    font-size: min(12px, calc(12 / var(--base) * 100vw));
  }
  .page-news .news-detail .title {
    margin-bottom: min(20px, calc(20 / var(--base) * 100vw));
    font-size: min(15px, calc(15 / var(--base) * 100vw));
  }
  .page-news .news-detail .photo {
    margin-bottom: min(13px, calc(13 / var(--base) * 100vw));
  }
  .page-news .news-detail p {
    font-size: min(14px, calc(14 / var(--base) * 100vw));
  }
}

.page-contact .common-header {
  background-image: url(../images/contact/header-1.webp);
}
.page-contact .contact-content {
  padding: calc(30 / var(--base) * 100vw) 0;
  margin: 0 calc(30 / var(--base) * 100vw);
}
.page-contact .lead {
  font-size: 16px;
  font-weight: 700;
}
.page-contact .list-contact {
  margin-bottom: 16px;
  font-size: 12px;
  line-height: 1.5;
}
.page-contact .list-contact dt {
  font-weight: 400;
  padding-top: 13px;
  margin-bottom: 5px;
}
.page-contact .list-contact dt:not(:first-of-type) {
  margin-top: 21px;
}
.page-contact .list-contact.confirm dt:not(:first-of-type) {
  border-top: 1px solid var(--color-border);
}
.page-contact .list-contact .required {
  color: var(--color-red);
}
@media screen and (min-width: 768px) {
  .page-contact .common-header {
    background-image: url(../images/contact/header-1-lg.webp);
  }
  .page-contact .lead {
    text-align: center;
  }
  .page-contact .message {
    text-align: center;
  }
  .page-contact .contact-content {
    padding: 65px 0;
    margin: 0 auto;
    width: min(720px, 720 / 800 * 100vw);
  }
}

.page-legal .legal-content {
  padding: 15px 30px;
}
.page-legal h2 {
  margin-bottom: 10px;
  font-size: 17px;
  line-height: 1.5;
}
.page-legal h3 {
  margin-bottom: 10px;
  margin-top: 50px;
  font-size: 17px;
}
.page-legal p {
  font-size: 12px;
}
.page-legal ul {
  line-height: 1.6;
  font-size: 12px;
}
.page-legal ul li {
  margin-left: 2em;
  list-style-type: disc;
  font-style: normal;
}
.page-legal ul li:not(:last-of-type) {
  margin-bottom: 10px;
}
.page-legal ul em {
  margin-right: 4px;
  font-weight: 700;
  font-style: normal;
}
@media screen and (min-width: 768px) {
  .page-legal .legal-content {
    margin: 0 auto;
    padding: 100px 0;
    width: 556px;
  }
  .page-legal h2 {
    font-size: 20px;
  }
  .page-legal h3 {
    margin-top: 50px;
    font-size: 20px;
  }
  .page-legal p {
    font-size: 14px;
  }
  .page-legal ul {
    font-size: 14px;
  }
}

.page-product {
  margin: 0 calc(30 / var(--base) * 100vw);
  font-family: var(--font-serif);
}
.page-product .product {
  padding-top: 15px;
}
.page-product button {
  box-sizing: border-box;
}
.page-product .product__media-wrapper {
  margin-bottom: 24px;
}
.page-product h1 {
  font-size: 24px;
}
.page-product .product-copy {
  margin: 7px 0 0 0;
  line-height: 1.3;
}
.page-product .product-detail-info {
  display: flex;
  gap: 8px;
}
.page-product .product-detail-info p {
  font-size: 12px;
}
.page-product .product-comment h2,
.page-product .product-subinfo h2 {
  margin-top: 2em;
  margin-bottom: 5px;
  line-height: 1.8;
  font-size: 14px;
  font-weight: 700;
  font-family: var(--font-serif);
}
.page-product .product-comment p,
.page-product .product-subinfo p {
  line-height: 2;
}
.page-product .table-product table {
  width: 100%;
  table-layout: auto;
  box-shadow: none;
}
.page-product .table-product th {
  padding: 5px 5px 5px 0;
  border-style: none;
  vertical-align: top;
  text-align: left;
  font-size: 14px;
  line-height: 1.5;
  white-space: nowrap;
}
.page-product .table-product td {
  padding: 5px 0;
  border-style: none;
  vertical-align: top;
  text-align: left;
  font-size: 14px;
  line-height: 1.5;
}
.page-product .ingredient dt {
  font-weight: 700;
  font-size: 14px;
  line-height: 1.8;
}
.page-product .ingredient dt:not(:first-of-type) {
  margin-top: 1em;
}
.page-product .ingredient dd {
  font-size: 14px;
  line-height: 1.8;
}
.page-product .product-contact {
  margin-top: 2em;
}
.page-product .product-contact a {
  text-decoration: underline;
}
.page-product .sns-share {
  margin-top: 32px;
  display: grid;
  grid-template-columns: auto 1fr;
  align-items: center;
  gap: 16px;
  padding: 16px;
  border: 1px solid var(--color-border);
  color: var(--color-text);
  font-weight: 700;
}
.page-product .list-sns {
  display: flex;
  justify-content: start;
  gap: 16px;
}
.page-product .list-sns .link {
  display: block;
  width: 40px;
  height: 40px;
  background-color: var(--color-text);
  overflow: hidden;
  border-radius: 16px;
  -webkit-mask-size: contain;
          mask-size: contain;
  text-indent: -1000px;
  transition: background-color var(--transition-duration);
}
.page-product .list-sns .link.facebook {
  -webkit-mask-image: url(../images/common/icon-facebook.svg);
          mask-image: url(../images/common/icon-facebook.svg);
}
.page-product .list-sns .link.x {
  -webkit-mask-image: url(../images/common/icon-x.svg);
          mask-image: url(../images/common/icon-x.svg);
}
.page-product .list-sns .link.pinterest {
  -webkit-mask-image: url(../images/common/icon-pinterest.svg);
          mask-image: url(../images/common/icon-pinterest.svg);
}
.page-product .list-sns .link.instagram {
  -webkit-mask-image: url(../images/common/icon-instagram.svg);
          mask-image: url(../images/common/icon-instagram.svg);
}
.page-product .list-sns .link:hover {
  background-color: var(--color-main);
}
.page-product .button-go2cart {
  margin-top: 10px;
  display: flex;
  align-items: center;
  width: 100%;
  text-align: center;
  background-color: var(--color-main);
  color: #fff;
}
.page-product .button-go2cart::before, .page-product .button-go2cart::after {
  opacity: 0;
  transition: var(--transition-duration);
}
.page-product .button-go2cart:hover::before, .page-product .button-go2cart:hover::after {
  opacity: 1;
  transition: var(--transition-duration);
}
@media screen and (min-width: 768px) {
  .page-product .product {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
  }
  .page-product .grid--2-col-tablet .grid__item {
    width: auto;
  }
  .page-product h1 {
    font-size: 32px;
  }
}
@media screen and (min-width: 1024px) {
  .page-product .product {
    padding-top: 32px;
  }
  .page-product .grid--2-col-tablet .grid__item {
    width: auto !important;
    max-width: none !important;
  }
}
@media screen and (min-width: 1366px) {
  .page-product {
    margin: 0 auto;
    width: 1200px;
  }
}

.cart-notification-wrapper {
  z-index: 5;
}
.cart-notification-wrapper .button {
  padding: 0;
}

.cart__footer .cart__checkout-button {
  padding: 0;
}

.header__icons {
  display: none;
}/*# sourceMappingURL=style.css.map */