/*
Theme Name: THE NOMU
Theme URI: https://the-nomu.com/
Author: THE NOMU
Author URI: https://the-nomu.com/
Description: THE NOMU
*/

html {
  font-size: 62.5%;
  scroll-padding-top: 60px;
}

@media screen and (min-width: 769px) {
  html { scroll-padding-top: 100px; }
}

body {
  width: 100%;
  height: 100%;
  background: url(./_assets/img/share/bg3.webp) repeat center top #212224;
  background-size: 100%;
  -webkit-text-size-adjust: 100%;
  font-family: 'Shippori Mincho', 'Hiragino Kaku Gothic ProN', 'ヒラギノ明朝 ProN', 'ヒラギノ明朝 ProN', 'Hiragino Mincho ProN', serif;
  font-size: 1rem;
  line-height: 1.6;
  font-weight: 500;
  color: #fff;
}

@media screen and (min-width: 769px) {
  body { background-size: 1440px; }
}

*,
*:before,
*:after { -webkit-box-sizing: border-box; -moz-box-sizing: border-box; -ms-box-sizing: border-box; box-sizing: border-box; }

a { color: #fff; }
img { width: auto; height: auto; max-width: 100%; border: none; vertical-align: top; }
picture { display: block; position: relative; width: 100%; height: 100%; }

/* utility
------------------------------------------------ */
.u-r-lists { margin: 0; padding: 0; list-style: none; }
.u-r-btn { -webkit-appearance: none; -moz-appearance: none; -ms-appearance: none; appearance: none; position: relative; padding: 0; background: none; border: none; border-radius: 0; box-shadow: none; font-family: inherit; cursor: pointer; }
.u-r-input { -webkit-appearance: none; -moz-appearance: none; -ms-appearance: none; appearance: none; position: relative; padding: 0; background: none; border: none; border-radius: 0; box-shadow: none; font-family: inherit; }
.u-r-select { -webkit-appearance: none; -moz-appearance: none; -ms-appearance: none; appearance: none; position: relative; padding: 0; background: none; border: none; border-radius: 0; box-shadow: none; font-family: inherit; }
.u-object-fit { width: 100%; height: 100%; max-width: inherit; object-fit: cover; font-family: 'object-fit: cover;'; }

.u-f-Gothic { font-family: 'Hiragino Kaku Gothic ProN', 'ヒラギノ角ゴ ProN W3', 'Meiryo', 'メイリオ', 'ＭＳ Ｐゴシック', 'MS P Gothic', Osaka, Arial, Helvetica, Verdana, sans-serif; }
.u-f-CrimsonPro { font-family: 'Crimson Pro', serif; }
.u-f-garamondPremierPro { font-family: 'garamond-premier-pro', serif; }
.u-f-garamondPremierProDisplay { font-family: 'garamond-premier-pro-display', serif; }

.u-figure { position: relative; margin: 0; }
.u-figure-caption { position: absolute; bottom: 13px; right: 15px; font-size: 1.2rem; font-weight: 400; letter-spacing: 0.1em; line-height: 1.6; z-index: 2; }
.u-figure.is-comingsoon::before { content: 'Coming Soon'; display: flex; justify-content: center; align-items: center; position: absolute; top: 0; left: 0; width: 100%; height: 100%; font-family: 'garamond-premier-pro', serif; font-size: 1.6rem; font-weight: 400; letter-spacing: 0.15em; line-height: 1.2; color: #fff; z-index: 2; }
.u-figure.is-comingsoon::after { content: ''; position: absolute; top: 0; left: 0; width: 100%; height: 100%; background-color: #212224; mix-blend-mode: multiply; opacity: 0.7; z-index: 1; }

.u-btn-copy.is-active { opacity: 1 !important; }
.u-btn-copy__text { pointer-events: none; position: absolute; top: 50%; left: 0; transition: transform 0.4s ease, opacity 0.4s ease; transform: translate(-120%, -50%); padding: 4px 10px; background-color: #fff; border-radius: 8px; white-space: nowrap; font-size: 1rem; line-height: 1.2; opacity: 0; }
.u-btn-copy__text.is-active { transform: translate(-110%, -50%); opacity: 1; }

.u-deco,
.u-lazy { transition-duration: 0.6s; transition-timing-function: linear; }

.u-deco { pointer-events: none; position: absolute; transition-property: transform, opacity; transform: translateY(20px); opacity: 0; z-index: -1; }
.u-deco-done { transform: translateY(0); opacity: 1; }

.u-lazy-opacity { transition-property: opacity; opacity: 0; }
.u-lazy-opacity.u-lazy-done { opacity: 1; }
.u-lazy-fadeup { transition-property: transform, opacity; transform: translateY(20px); opacity: 0; }
.u-lazy-fadeup.u-lazy-done { transform: translateY(0); opacity: 1; }
.u-lazy-span > span { transition-property: opacity; opacity: 0; }
.u-lazy-span.u-lazy-done > span { opacity: 1; }

@media screen and (max-width: 768px) {
  .u-d-mobile { display: inherit !important; }
  .u-d-desktop { display: none !important; }
  .u-deco { width: 50px; }
}

@media screen and (min-width: 769px) {
  .u-d-mobile { display: none !important; }
  .u-d-desktop { display: inherit !important; }
  .u-figure-caption { bottom: 8px; right: 8px; font-size: 1.2rem; }
  .u-figure.is-comingsoon::before { font-size: 2rem; }
  .u-btn-copy__text { padding: 6px 10px; font-size: 1.2rem; }
  .u-deco { width: 92px; }
}

/* component
------------------------------------------------ */
/* is */
.is-status-progress { background-color: #BF9D6D; color: #fff; }
.is-status-scheduled { background-color: #8B6038; color: #fff; }
.is-status-ended { background-color: #808080; color: #fff; }

/* page */
.page-transition { position: relative; }
.page-transition::before { content: ''; pointer-events: none; position: fixed; top: 0; left: 0; transition-property: opacity; transition-timing-function: ease; width: 100%; height: 100%; background-color: #fff; z-index: 1000; }
.page-transition.is-fadeIn::before { transition-duration: 0.4s; opacity: 1; }
.page-transition.is-fadeOut::before { transition-duration: 1s; opacity: 0; }

/* link */
.link-skipcontent { position: absolute; margin: -1px; width: 1px; height: 1px; overflow: hidden; }
.link-1 { margin: 0; font-size: 1.5rem; font-weight: 400; letter-spacing: 0.1em; line-height: 1.2; }
.link-1 > a { display: inline-flex; align-items: center; gap: 14px; position: relative; text-decoration: none; vertical-align: top; }
.link-1 > a::before { content: ''; position: absolute; top: 0; right: 4px; width: 8px; height: 100%; background: url(./_assets/img/icon/arrow1-white.svg) no-repeat center center; background-size: 100%; }
.link-1 > a::after { content: ''; width: 18px; height: 18px; background-color: #BF9D6D; border-radius: 50%; }
.link-1 > a[target=_blank]::before { right: 4px; width: 10px; background-image: url(./_assets/img/icon/external1-white.svg); }

.u-device-click .link-1 > a { transition: color 0.4s ease; }
.u-device-click .link-1 > a:hover { color: #BF9D6D; }

@media screen and (max-width: 768px) {
}

@media screen and (min-width: 769px) {
  .link-1 { font-size: 1.575rem; }
  .link-1 > a { gap: 20px; }
  .link-1 > a::before { right: 5px; width: 9px; }
  .link-1 > a::after { width: 20px; height: 20px; }
  .link-1 > a[target=_blank]::before { right: 5px; width: 10px; }
}

/* button */
.btn-1 > a,
.btn-1 > button { display: block; position: relative; padding: 10px 20px; width: 100%; background-color: #BF9D6D; color: #fff; }
.btn-1 > a { text-decoration: none; }
.btn-1 > a::after,
.btn-1 > button::after { content: ''; position: absolute; top: 50%; right: 20px; transform: translateY(-50%); width: 13px; height: 12px; background: url(./_assets/img/icon/arrow1-white.svg) no-repeat center center; background-size: 100%; }
.btn-1 > a[target=_blank]::after { width: 13px; height: 13px; background-image: url(./_assets/img/icon/external1-white.svg); }
.btn-1-ja,
.btn-1-en { margin: 0; }
.btn-1-ja { font-size: 1.8rem; font-weight: 500; letter-spacing: 0.15em; line-height: 1.8; }
.btn-1-en { margin-top: 0; font-family: 'garamond-premier-pro', serif; font-size: 1.4rem; font-weight: 400; letter-spacing: 0.15em; line-height: 1.8; }

.u-device-click .btn-1 > a,
.u-device-click .btn-1 > button { transition: background-color 0.4s ease; }
.u-device-click .btn-1 > a:hover,
.u-device-click .btn-1 > button:hover { background-color: rgba(191, 157, 109, 0.8); }

@media screen and (max-width: 768px) {
}

@media screen and (min-width: 769px) {
  .btn-1 > a,
  .btn-1 > button { padding: 14px 40px; }
  .btn-1 > a::after,
  .btn-1 > button::after { right: 40px; width: 13px; height: 12px; }
  .btn-1-ja { font-size: 1.8rem; }
  .btn-1-en { margin-top: -4px; font-size: 1.6rem; }
}

/* title */
.title-page { position: relative; padding-top: 130px; }
.title-page-ja,
.title-page-en { animation: titlePageJaMask 2s steps(40) 0.2s forwards; mask-image: url(./_assets/img/share/mask1.png); mask-position: 0 0; mask-size: 200% 1000%; margin: 0; width: fit-content; }
.title-page-ja { font-size: 2.8rem; font-weight: 400; letter-spacing: 0.3em; line-height: 1.6; }
.title-page-en { margin-top: 10px; font-family: 'garamond-premier-pro-display', serif; font-size: 1.2rem; font-weight: 400; letter-spacing: 0.15em; line-height: 1.8; color: #EECD9D; }
.title-page-links { margin-top: 62px; }
.title-page-links__item { font-size: 1.4rem; font-weight: 500; letter-spacing: 0.13em; line-height: 2.4; }
.title-page-links__item > a { display: inline-block; position: relative; text-decoration: none; vertical-align: top; }
.title-page-links__item > a.is-active { padding-left: 23px; text-decoration: underline; color: #EECD9D; }
.title-page-links__item > a.is-active::before { content: ''; position: absolute; top: 11px; left: 0; width: 13px; height: 12px; background: url(./_assets/img/icon/arrow1-gold.svg) no-repeat center center; background-size: 100%; }
.title-page-visual { margin-top: 52px; }
.title-page.is-bg { background-repeat: no-repeat; background-position: center center; background-size: cover; }
.title-1-en,
.title-1-ja { margin: 0; position: relative; }
.title-1-en { font-family: 'garamond-premier-pro-display', serif; font-size: 4rem; font-weight: 300; letter-spacing: 0.05em; line-height: 1.2; }
.title-1-ja { display: flex; align-items: center; gap: 10px; margin-top: 10px; font-size: 1.4rem; font-weight: 400; letter-spacing: 0.2em; line-height: 1.2; }
.title-1-ja::before { content: ''; display: block; width: 17px; height: 17px; background: url(./_assets/img/icon/symbol1.png) no-repeat center center; background-size: 100%; }
.title-2-en,
.title-2-ja { margin: 0; color: #EECD9D; }
.title-2-en { font-family: 'garamond-premier-pro-display', serif; font-size: 1.4rem; font-weight: 400; letter-spacing: 0.15em; line-height: 1.8; }
.title-2-ja { margin-top: 20px; font-size: 2.2rem; font-weight: 400; letter-spacing: 0.15em; line-height: 1.6; }
.title-3-en,
.title-3-ja { margin: 0; color: #EECD9D; }
.title-3-en { font-family: 'garamond-premier-pro-display', serif; font-size: 1.4rem; font-weight: 400; letter-spacing: 0.15em; line-height: 1.8; }
.title-3-ja { margin-top: 16px; font-size: 2rem; font-weight: 500; letter-spacing: 0.25em; line-height: 1.6; }
.title-4 { display: flex; align-items: flex-start; gap: 10px; position: relative; margin: 0; font-size: 1.8rem; font-weight: 500; letter-spacing: 0.1em; line-height: 2.4; color: #EECD9D; }
.title-4::before { content: ''; margin-top: 14px; width: 17px; height: 17px; background: url(./_assets/img/icon/symbol1.png) no-repeat center center; background-size: 100%; }

@keyframes titlePageJaMask {
  0% {
    mask-position: 0 0;
  }
  100% {
    mask-position: 0 100%;
  }
}

@media screen and (max-width: 768px) {
  .title-page > .l-wrap { padding: 0 20px; }
  .title-page-ja,
  .title-page-en { padding: 0 10px; }
  .title-page-links__item:not(:first-child) { margin-top: 15px; }
  .title-page.is-bg { min-height: 269px; background-image: url(./_assets/img/share/bg2.png); }
}

@media screen and (min-width: 769px) {
  .title-page { padding-top: 212px; }
  .title-page > .l-wrap { max-width: 1330px; }
  .title-page-ja,
  .title-page-en,
  .title-page-links { padding: 0 70px; }
  .title-page-ja { font-size: 3.6rem; }
  .title-page-en { margin-top: 16px; font-size: 1.4rem; }
  .title-page.is-bg { min-height: 427px; background-image: url(./_assets/img/share/bg2-desktop.png); }
  .title-page-links { display: flex; flex-wrap: wrap; row-gap: 20px; column-gap: 40px; margin: 42px 0 -45px; }
  .title-page-links__item { font-size: 1.4rem; }
  .title-page-links__item > a.is-active { padding-left: 23px; }
  .title-page-links__item > a.is-active::before { top: 11px; width: 13px; height: 12px; }
  .title-page-visual { margin-top: 96px; }
  .title-1-en { font-size: 5rem; }
  .title-1-ja { margin-top: 12px; font-size: 1.4rem; }
  .title-2-en { font-size: 1.6rem; }
  .title-2-ja { margin-top: 30px; font-size: 2.8rem; }
  .title-3-en { font-size: 1.4rem; }
  .title-3-ja { margin-top: 15px; font-size: 2.4rem; }
  .title-4 { gap: 25px; font-size: 1.6rem; letter-spacing: 0.13em; }
  .title-4::before { margin-top: 12px; width: 17px; height: 17px; }
}

/* lists */
.lists-events-item > a:not(.post-edit-link) { display: block; position: relative; text-decoration: none; }
.lists-events-photo { position: relative; aspect-ratio: 335 / 220; margin-bottom: 22px; overflow: hidden; }
.lists-events-info { position: relative; }
.lists-events-status { display: inline-block; margin: 0; padding: 4px; min-width: 60px; text-align: center; vertical-align: top; font-size: 1.3rem; font-weight: 400; letter-spacing: 0.13em; line-height: 1.2; }
.lists-events-date { margin: 0; font-family: 'garamond-premier-pro-display', serif; font-size: 1.6rem; font-weight: 400; letter-spacing: 0.05em; line-height: 1.2; }
.lists-events-date > span { display: inline-block; position: relative; vertical-align: top; }
.lists-events-date > span + span { padding-left: 24px; }
.lists-events-date > span + span::before { content: ''; position: absolute; top: 50%; left: 8px; width: 8px; height: 1px; background-color: #fff; }
.lists-events-title { margin: 0; font-size: 1.6rem; font-weight: 400; letter-spacing: 0.08em; line-height: 1.8; color: #EECD9D; }
.lists-events2-item > a:not(.post-edit-link) { display: block; position: relative; text-decoration: none; }
.lists-events2-photo { position: relative; aspect-ratio: 315 / 189; overflow: hidden; }
.lists-events2-info { position: relative; }
.lists-events2-status { display: inline-block; margin: 0; padding: 4px; min-width: 60px; text-align: center; vertical-align: top; font-size: 1.3rem; font-weight: 400; letter-spacing: 0.13em; line-height: 1.2; }
.lists-events2-date { margin: 0; font-family: 'garamond-premier-pro-display', serif; font-size: 1.6rem; font-weight: 400; letter-spacing: 0.05em; line-height: 1.2; }
.lists-events2-date > span { display: inline-block; position: relative; vertical-align: top; }
.lists-events2-date > span + span { padding-left: 24px; }
.lists-events2-date > span + span::before { content: ''; position: absolute; top: 50%; left: 8px; width: 8px; height: 1px; background-color: #fff; }
.lists-events2-title { margin: 0; font-size: 1.6rem; font-weight: 400; letter-spacing: 0.08em; line-height: 1.8; color: #EECD9D; }
.lists-events2-excerpt { font-size: 1.3rem; letter-spacing: 0.08em; line-height: 2; }
.lists-events2-excerpt p { margin: 0; }
.lists-products-item { position: relative; }
.lists-products-item .post-edit-link { position: absolute; top: 0; left: 0; z-index: 2; }
.lists-products-item > a:not(.post-edit-link),
.lists-products-item > span { position: relative; text-decoration: none; }
.lists-products-photo { position: relative; aspect-ratio: 243 / 265; margin-bottom: 12px; overflow: hidden; }
.lists-products-info { position: relative; }
.lists-products-title { margin: 0; font-size: 1.6rem; font-weight: 400; letter-spacing: 0.08em; line-height: 1.8; color: #EECD9D; }
.lists-products-explanation { margin: 4px 0 0; font-size: 1.4rem; font-weight: 400; letter-spacing: 0.05em; line-height: 1.6; }
.lists-products-price { margin: 12px 0 0; font-family: 'garamond-premier-pro-display', serif; font-size: 1.8rem; font-weight: 400; letter-spacing: 0.05em; line-height: 1.2; }
.lists-news-item { position: relative; border-bottom: 1px solid #6D6D6D; }
.lists-news-item > a:not(.post-edit-link) { display: block; position: relative; padding: 20px 88px 20px 5px; text-decoration: none; }
.lists-news-item > a:not(.post-edit-link)::before,
.lists-news-item > a:not(.post-edit-link)::after { content: ''; position: absolute; top: 50%; transform: translateY(-50%); height: 18px; }
.lists-news-item > a:not(.post-edit-link)::before { right: 10px; width: 8px; background: url(./_assets/img/icon/arrow1-white.svg) no-repeat center center; background-size: 100%; z-index: 2; }
.lists-news-item > a:not(.post-edit-link)::after { right: 5px; width: 18px; background-color: #BF9D6D; border-radius: 50%; z-index: 1; }
.lists-news-date { margin: 0; font-family: 'garamond-premier-pro-display', serif; font-size: 1.5rem; font-weight: 400; letter-spacing: 0.1em; line-height: 1.2; }
.lists-news-title { margin: 0; text-overflow: ellipsis; white-space: nowrap; font-size: 1.4rem; font-weight: 400; letter-spacing: 0.08em; line-height: 1.5; overflow: hidden; }
.lists-shops-item { position: relative; }
.lists-shops-item:not(:first-child) { margin-top: 94px; }
.lists-shops-photo { position: relative; aspect-ratio: 335 / 203; overflow: hidden; }
.lists-shops-info { position: relative; }
.lists-shops-above { display: flex; justify-content: space-between; align-items: center; padding: 23px 0; }
.lists-shops-title { margin: 0; width: fit-content; font-size: 1.8rem; font-weight: 400; letter-spacing: 0.15em; line-height: 1.8; color: #EECD9D; overflow: hidden; }
.lists-shops-reservation { margin: 0; font-size: 1.5rem; font-weight: 400; letter-spacing: 0.1em; line-height: 1.7; }
.lists-shops-reservation > a { display: inline-flex; align-items: center; gap: 14px; position: relative; text-decoration: none; }
.lists-shops-reservation > a::before { content: ''; position: absolute; top: 0; right: 4px; width: 10px; height: 100%; background: url(./_assets/img/icon/external1-white.svg) no-repeat center center; background-size: 100%; }
.lists-shops-reservation > a::after { content: ''; width: 18px; height: 18px; background-color: #BF9D6D; border-radius: 50%; }
.lists-shops-box { margin: 0; }
.lists-shops-box__title,
.lists-shops-box__text { font-size: 1.4rem; font-weight: 500; letter-spacing: 0.15em; line-height: 1.4; }
.lists-shops-box__title { border-top: 1px solid #6D6D6D; }
.lists-shops-box__text { margin: 0; }
.lists-shops-box__text > a { display: inline-block; vertical-align: top; }
.lists-exhibition-item { position: relative; }
.lists-exhibition-item .post-edit-link { position: absolute; top: 0; left: 0; z-index: 2; }
.lists-exhibition-item > a:not(.post-edit-link) { display: block; position: relative; text-decoration: none; }
.lists-exhibition-photo { position: relative; aspect-ratio: 335 / 201; margin-bottom: 16px; overflow: hidden; }
.lists-exhibition-info { position: relative; }
.lists-exhibition-title { margin: 0; word-break: break-all; font-size: 1.6rem; font-weight: 400; letter-spacing: 0.08em; line-height: 1.8; color: #EECD9D; }
.lists-exhibition-author { margin: 2px 0 0; font-size: 1.3rem; letter-spacing: 0.08em; line-height: 2.1; }
.lists-exhibition-date { margin: 18px 0 0; font-family: 'garamond-premier-pro', serif; font-size: 1.6rem; font-weight: 400; letter-spacing: 0.05em; line-height: 1.2; }
.lists-exhibition-date > span { display: inline-block; position: relative; vertical-align: top; }
.lists-exhibition-date > span + span { padding-left: 24px; }
.lists-exhibition-date > span + span::before { content: ''; position: absolute; top: 50%; left: 8px; width: 8px; height: 1px; background-color: #fff; }

.u-device-click .lists-events-photo img { transition: transform 0.4s ease; }
.u-device-click .lists-events-item > a:not(.post-edit-link):hover .lists-events-photo img { transform: scale(1.06); }
.u-device-click .lists-events2-photo img { transition: transform 0.4s ease; }
.u-device-click .lists-events2-item > a:not(.post-edit-link):hover .lists-events2-photo img { transform: scale(1.06); }
.u-device-click .lists-products-photo img { transition: transform 0.4s ease; }
.u-device-click .lists-products-item > a:not(.post-edit-link):hover .lists-products-photo img { transform: scale(1.06); }
.u-device-click .lists-news-title span { display: inline-block; position: relative; transition: transform 0.4s cubic-bezier(0.21, 0.6, 0.35, 1); vertical-align: top; }
.u-device-click .lists-news-title span::before { content: attr(data-text); position: absolute; top: 0; left: 0; transition: opacity 1s ease; transform: translateY(1.4em); opacity: 0; }
.u-device-click .lists-news-item > a:not(.post-edit-link):hover .lists-news-title span { transform: translateY(-1.4em); }
.u-device-click .lists-news-item > a:not(.post-edit-link):hover .lists-news-title span::before { opacity: 1; }
.u-device-click .lists-shops-reservation > a { transition: color 0.4s ease; }
.u-device-click .lists-shops-reservation > a:hover { color: #BF9D6D; }

@media screen and (max-width: 768px) {
  .lists-events-status { margin-bottom: 22px; }
  .lists-events-date { margin-bottom: 10px; }
  .lists-events2-item:not(:last-child) { margin-bottom: 50px; padding-bottom: 40px; border-bottom: 1px solid #656565; }
  .lists-events2-photo { margin-bottom: 22px; }
  .lists-events2-status { margin-bottom: 22px; }
  .lists-events2-date { margin-bottom: 10px; }
  .lists-events2-excerpt { margin-top: 16px; }
  .lists-news-date { margin-bottom: 12px; }
  .lists-shops-box__title { padding-top: 16px; }
  .lists-shops-box__text { margin-top: 14px; }
  .lists-shops-box__text:not(:last-child) { padding-bottom: 16px; }
  .lists-exhibition[data-column-mobile] { display: grid; }
  .lists-exhibition[data-column-mobile='1'] { row-gap: 45px; }
  .lists-exhibition[data-column-mobile='1'] .lists-exhibition-item:not(:first-child) { padding-top: 50px; border-top: 1px solid #656565; }
}

@media screen and (min-width: 769px) {
  .lists-events-photo { aspect-ratio: 557 / 337; }
  .lists-events-info { display: flex; flex-wrap: wrap; align-items: center; column-gap: 13px; padding-top: 22px; }
  .lists-events-status { padding: 4px; min-width: 60px; font-size: 1.3rem; }
  .lists-events-date { font-size: 1.6rem; }
  .lists-events-title { width: 100%; font-size: 1.5rem; }
  .lists-events-date + .lists-events-title { margin-top: 14px; }
  .lists-events2-item { position: relative; padding-bottom: 20px; border-bottom: 1px solid #656565; }
  .lists-events2-item:not(:last-child) { margin-bottom: 30px; }
  .lists-events2-item .post-edit-link { position: absolute; top: 0; left: 0; }
  .lists-events2-item > a:not(.post-edit-link) { display: flex; flex-flow: row-reverse; align-items: center; gap: 70px; padding: 0 10px; }
  .lists-events2-photo { aspect-ratio: 387 / 236; width: 43.2402234636%; }
  .lists-events2-info { display: flex; flex-wrap: wrap; align-items: center; column-gap: 13px; width: calc(100% - (43.2402234636% + 70px)); }
  .lists-events2-status { padding: 4px; min-width: 60px; font-size: 1.3rem; }
  .lists-events2-date { font-size: 2rem; }
  .lists-events2-title { margin-top: 30px; width: 100%; font-size: 2rem; letter-spacing: 0.15em; }
  .lists-events2-excerpt { margin-top: 22px; width: 100%; font-size: 1.4rem; letter-spacing: 0.15em; line-height: 2.3; }
  .lists-products-item { display: grid; }
  .lists-products-item > a:not(.post-edit-link),
  .lists-products-item > span { display: grid; grid-template-rows: auto 1fr; }
  .lists-products-photo { aspect-ratio: 1 / 1; margin-bottom: 20px; }
  .lists-products-info { display: grid; grid-template-rows: subgrid; grid-row: span 2; }
  .lists-products-title { font-size: 1.8rem; line-height: 1.5; }
  .lists-products-explanation { margin-top: 12px; font-size: 1.4rem; line-height: 1.6; }
  .lists-products-price { margin-top: 22px; font-size: 1.8rem; }
  .lists-news-item > a:not(.post-edit-link) { display: grid; align-items: flex-start; grid-template-columns: 160px calc(100% - 160px); padding: 20px 40px 20px 10px; }
  .lists-news-item > a:not(.post-edit-link)::before,
  .lists-news-item > a:not(.post-edit-link)::after { height: 20px; }
  .lists-news-item > a:not(.post-edit-link)::before { right: 16px; width: 9px; }
  .lists-news-item > a:not(.post-edit-link)::after { right: 10px; width: 20px; }
  .lists-news-date { padding-top: 3px; font-size: 1.6rem; }
  .lists-news-title { font-size: 1.4rem; }
  .lists-shops-item { display: grid; gap: 60px; grid-template-columns: 46.0954446854% calc(100% - (46.0954446854% + 60px)); }
  .lists-shops-item:not(:first-child) { margin-top: 70px; }
  .lists-shops-photo { aspect-ratio: 425 / 257; }
  .lists-shops-above { padding: 6px 0 20px; }
  .lists-shops-title { font-size: 2rem; }
  .lists-shops-reservation { font-size: 1.6rem; }
  .lists-shops-reservation > a { gap: 15px; }
  .lists-shops-reservation > a::before { right: 5px; width: 10px; }
  .lists-shops-reservation > a::after { width: 20px; height: 20px; }
  .lists-shops-box { display: grid; grid-template-columns: 105px calc(100% - 105px); }
  .lists-shops-box__title,
  .lists-shops-box__text { padding: 16px 0; border-top: 1px solid #6D6D6D; font-size: 1.4rem; }
  .lists-exhibition-item { display: grid; }
  .lists-exhibition-item > a:not(.post-edit-link) { display: grid; grid-template-rows: auto 1fr; }
  .lists-exhibition-photo { margin-bottom: 28px; }
  .lists-exhibition-info { display: grid; grid-template-rows: subgrid; grid-row: span 2; }
  .lists-exhibition-title { font-size: 1.6rem; }
  .lists-exhibition-author { margin-top: 7px; font-size: 1.4rem; line-height: 2; }
  .lists-exhibition-date { margin-top: 26px; font-size: 1.6rem; }
  .lists-exhibition[data-column-desktop] { display: grid; }
  .lists-exhibition[data-column-desktop='3'] { row-gap: 60px; column-gap: 43px; grid-template-columns: repeat(3,calc((100% / 3) - (43px / (3 / 2)))); }
}

/* splide */
.splide { padding-bottom: 60px; }
.splide.has-numbering { padding-bottom: 0; }
.splide .splide__arrows { width: 57px; height: 14px; }
.splide.has-numbering .splide__arrows,
.splide-numbering { width: 140px; height: 14px; }
.splide .splide__arrows { position: absolute; bottom: 0; }
.splide .splide__arrow { top: 0; transform: none; width: 16px; height: 100%; background: none; border-radius: 0; opacity: 1; }
.splide .splide__arrow svg { display: none; }
.splide .splide__arrow::before { content: ''; position: absolute; top: 0; left: 0; width: 100%; height: 100%; background: url(./_assets/img/icon/arrow1-gold.svg) no-repeat center center; background-size: 100%; }
.splide .splide__arrow--prev { left: 0; }
.splide .splide__arrow--prev::before { transform: rotate(180deg); }
.splide .splide__arrow--next { right: 0; }
.splide .splide__arrow:disabled { opacity: 1; }
.splide .splide__arrow:disabled::before { background-image: url(./_assets/img/icon/arrow1-gray.svg); }
.splide-numbering { display: flex; align-items: center; gap: 18px; margin-top: 42px; }
.splide-numbering > span { display: inline-block; position: relative; vertical-align: top; font-family: 'garamond-premier-pro', serif; font-size: 1.4rem; font-weight: 400; letter-spacing: 0.1em; line-height: 1; }
.splide-numbering > span.is-current { padding-left: 36px; }
.splide-numbering > span.is-total { padding: 0 36px 0 18px; }
.splide-numbering > span.is-total::before { content: ''; position: absolute; top: 50%; left: 0; transform: translateY(-50%); width: 1px; height: 10px; background-color: #fff; }

@media screen and (max-width: 768px) {
}

@media screen and (min-width: 769px) {
  .splide { padding-bottom: 70px; }
  .splide.has-numbering { padding-bottom: 0; }
  .splide .splide__arrows { width: 60px; height: 13px; }
  .splide.has-numbering .splide__arrows,
  .splide-numbering { width: 127px; height: 13px; }
  .splide .splide__arrow::before { width: 15px; height: 13px; }
  .splide-numbering { gap: 15px; margin-top: 48px; }
  .splide-numbering > span { font-size: 1.477rem; }
  .splide-numbering > span.is-current { padding-left: 32px; }
  .splide-numbering > span.is-total { padding: 0 32px 0 15px; }
}

/* pagination */
.pagination { display: flex; justify-content: center; align-items: center; gap: 30px; margin-top: 40px; }
.pagination-prev,
.pagination-next { position: relative; width: 15px; height: 100%; text-indent: -9999px; white-space: nowrap; overflow: hidden; }
.pagination-prev::before,
.pagination-next::before { content: ''; position: absolute; top: 0; left: 0; width: 100%; height: 100%; background: url(./_assets/img/icon/arrow1-white.svg) no-repeat center center; background-size: 100%; }
.pagination-prev::before { transform: rotate(180deg); }
.pagination-prev { margin-right: 10px; }
.pagination-next { margin-left: 10px; }
.pagination-link { text-decoration: none; }
.pagination-link,
.pagination-current,
.pagination-ellipsis { position: relative; font-family: 'garamond-premier-pro', serif; font-size: 1.8rem; font-weight: 400; letter-spacing: 0.1em; line-height: 2.3; }
.pagination-current { color: #EECD9D; }
.pagination-current::after { content: ''; position: absolute; bottom: 10px; left: 0; width: 100%; height: 1px; background-color: #EECD9D; }

.u-device-click .pagination-link { transition: color 0.4s ease; }
.u-device-click .pagination-link:hover { color: #EECD9D; }

@media screen and (min-width: 769px) {
  .pagination { gap: 30px; margin-top: 100px; }
  .pagination-prev,
  .pagination-next { width: 15px; }
  .pagination-prev { margin-right: 10px; }
  .pagination-next { margin-left: 10px; }
  .pagination-link,
  .pagination-current,
  .pagination-ellipsis { font-size: 1.8rem; }
}

/* pager */
.pager { display: flex; justify-content: space-between; padding-top: 20px; border-top: 1px solid #fff; }
.pager-back { margin: 0; font-size: 1.4rem; font-weight: 500; letter-spacing: 0.1em; line-height: 1.7; }
.pager-back > a { display: inline-flex; align-items: center; gap: 16px; position: relative; text-decoration: none; vertical-align: top; }
.pager-back > a::before { content: ''; width: 16px; height: 16px; background-color: #BF9D6D; border-radius: 50%; }
.pager-back > a::after { content: ''; position: absolute; top: 0; left: 4px; transform: rotate(180deg); width: 7px; height: 100%; background: url(./_assets/img/icon/arrow1-white.svg) no-repeat center center; background-size: 100%; }
.pager-share { display: flex; align-items: center; gap: 20px; margin: 0; }
.pager-share-title { margin: 0; font-family: 'garamond-premier-pro', serif; font-size: 1.2rem; font-weight: 400; letter-spacing: 0.1em; line-height: 1.8; color: #EECD9D; }
.pager-share-content { margin: 0; }
.pager-share-links { display: flex; align-items: center; gap: 20px; }
.pager-share-links__item { width: 20px; }
.pager-share-links__item > a,
.pager-share-links__item > button { display: block; position: relative; width: 100%; }

.u-device-click .pager-back > a { transition: color 0.4s ease; }
.u-device-click .pager-back > a:hover { color: #BF9D6D; }
.u-device-click .pager-share-links__item > a,
.u-device-click .pager-share-links__item > button { transition: opacity 0.4s ease; }
.u-device-click .pager-share-links__item > a:hover,
.u-device-click .pager-share-links__item > button:hover { opacity: 0.4; }

@media screen and (min-width: 769px) {
  .pager { padding-top: 30px; }
  .pager-back { font-size: 1.6rem; }
  .pager-back > a { gap: 20px; }
  .pager-back > a::before { width: 20px; height: 20px; }
  .pager-back > a::after { left: 5px; width: 9px; }
  .pager-share { gap: 40px; }
  .pager-share-title { font-size: 1.2rem; }
  .pager-share-links { gap: 30px; }
  .pager-share-links__item { width: 20px; }
}

/* coming */
.coming { position: relative; }
.coming-title,
.coming-text { margin: 0; text-align: center; }
.coming-title { margin-bottom: 38px; font-family: 'garamond-premier-pro', serif; font-size: 2.8rem; font-weight: 300; letter-spacing: 0.1em; line-height: 1.2; color: #EECD9D; }
.coming-text { font-size: 1.2em; letter-spacing: 0.1em; line-height: 2; }

@media screen and (min-width: 769px) {
  .coming-title { margin-bottom: 42px; font-size: 3.2rem; }
  .coming-text { font-size: 1.4rem; }
}

/* banner */
.banner-onlineshop { position: relative; }
.banner-onlineshop-cover { display: flex; flex-flow: column; justify-content: center; position: relative; padding: 0 20px; text-decoration: none; overflow: hidden; }
.banner-onlineshop-cover::before { content: ''; position: absolute; top: 0; left: 0; width: 100%; height: 100%; background-repeat: no-repeat; background-position: center center; background-size: cover; z-index: -1; }
.banner-onlineshop-ja,
.banner-onlineshop-en,
.banner-onlineshop-text { position: relative; margin: 0; }
.banner-onlineshop-ja { font-size: 2rem; font-weight: 500; letter-spacing: 0.15em; line-height: 1; overflow: hidden; }
.banner-onlineshop-en { margin-top: 16px; font-family: 'garamond-premier-pro', serif; font-size: 1.6rem; font-weight: 400; letter-spacing: 0.15em; line-height: 1; color: #BF9D6D; }
.banner-onlineshop-text { margin-top: 30px; font-size: 1.4rem; font-weight: 400; letter-spacing: 0.15em; line-height: 1.8; }

.u-device-click .banner-onlineshop-ja > span { display: inline-block; position: relative; transition: transform 0.6s cubic-bezier(0.21, 0.6, 0.35, 1); vertical-align: top; }
.u-device-click .banner-onlineshop-ja > span::before { content: attr(data-text); position: absolute; top: 0; left: 0; transition: opacity 1s ease; transform: translateY(1em); opacity: 0; }
.u-device-click .banner-onlineshop-ja > span:nth-of-type(2) { transition-delay: 0.05s; }
.u-device-click .banner-onlineshop-ja > span:nth-of-type(3) { transition-delay: 0.1s; }
.u-device-click .banner-onlineshop-ja > span:nth-of-type(4) { transition-delay: 0.15s; }
.u-device-click .banner-onlineshop-ja > span:nth-of-type(5) { transition-delay: 0.2s; }
.u-device-click .banner-onlineshop-ja > span:nth-of-type(6) { transition-delay: 0.25s; }
.u-device-click .banner-onlineshop-ja > span:nth-of-type(7) { transition-delay: 0.3s; }
.u-device-click .banner-onlineshop-ja > span:nth-of-type(8) { transition-delay: 0.35s; }
.u-device-click .banner-onlineshop-ja > span:nth-of-type(9) { transition-delay: 0.4s; }
.u-device-click .banner-onlineshop-cover::before { transition: transform 0.4s ease; }
.u-device-click .banner-onlineshop-cover:hover::before { transform: scale(1.1); }
.u-device-click .banner-onlineshop-cover:hover .banner-onlineshop-ja > span { transform: translateY(-1em); }
.u-device-click .banner-onlineshop-cover:hover .banner-onlineshop-ja > span::before { opacity: 1; }

@media screen and (max-width: 768px) {
  .banner-onlineshop > .l-wrap { padding: 0 20px; }
  .banner-onlineshop-cover { aspect-ratio: 335 / 198; }
  .banner-onlineshop-cover::before { background-image: url(./_assets/img/share/onlineshop_bg1.webp); }
  .banner-onlineshop-ja::after { content: ''; position: absolute; top: 50%; right: 0; transform: translateY(-50%); width: 15px; height: 15px; background: url(./_assets/img/icon/external1-white.svg) no-repeat center center; background-size: 100%; }
}

@media screen and (min-width: 769px) {
  .banner-onlineshop-cover { padding: 0 60px; height: 320px; }
  .banner-onlineshop-cover::before { background-image: url(./_assets/img/share/onlineshop_bg1-desktop.webp); }
  .banner-onlineshop-cover::after { content: ''; position: absolute; top: 50%; right: 60px; transform: translateY(-50%); width: 25px; height: 25px; background: url(./_assets/img/icon/external1-white.svg) no-repeat center center; background-size: 100%; }
  .banner-onlineshop > .l-wrap { max-width: 1260px; }
  .banner-onlineshop-ja { width: fit-content; font-size: 3.2rem; }
  .banner-onlineshop-en { margin-top: 30px; font-size: 1.6rem; }
  .banner-onlineshop-text { margin-top: 70px; font-size: 1.6rem; }
}

/* wp */
.wp-block-heading { margin-top: 50px; color: #EECD9D; }
.wp-block-heading:first-child { margin-top: 0; }
.wp-block-heading:last-child { margin-bottom: 0; }
h1.wp-block-heading { font-size: 2.4rem; font-weight: 400; letter-spacing: 0.2em; line-height: 1.6; }
h2.wp-block-heading { font-size: 2rem; font-weight: 400; letter-spacing: 0.3em; line-height: 1.6; }
h3.wp-block-heading { font-size: 1.8rem; font-weight: 400; letter-spacing: 0.3em; line-height: 1.6; }
.wp-block-image { margin: 0; }
.wp-block-image:not(:first-child) { margin-top: 50px; }
.wp-block-image:not(:last-child) { margin-bottom: 50px; }
.wp-block-image.size-large { width: 100%; }

@media screen and (min-width: 769px) {
  .wp-block-heading { margin-top: 80px; }
  h1.wp-block-heading { margin-bottom: 28px; font-size: 2.8rem; letter-spacing: 0.3em; }
  h2.wp-block-heading { margin-bottom: 24px; font-size: 2.4rem; }
  h3.wp-block-heading { margin-bottom: 30px; font-size: 1.8rem; }
  .wp-block-image:not(:first-child) { margin-top: 90px; }
  .wp-block-image:not(:last-child) { margin-bottom: 90px; }
  .wp-block-image.size-large { margin-right: auto; margin-left: auto; width: calc(100% - (105px * 2)); }
}

/* wpcf7 */
.wpcf7-not-valid-tip { margin-top: 15px; font-size: 1.4rem; font-weight: 500; letter-spacing: 0.1em; line-height: 1.4; }
.wpcf7 form .wpcf7-response-output { padding: 16px 20px; font-size: 1.6rem; font-weight: 500; letter-spacing: 0.1em; line-height: 1.4; }

/* container
------------------------------------------------ */
.l-container { position: relative; }
.l-main { position: relative; }
.l-wrap { position: relative; }

@media screen and (min-width: 769px) {
  .l-wrap { margin: 0 auto; padding: 0 80px 0 20px; max-width: 1360px; }
}

/* header
------------------------------------------------ */
.l-hd { position: absolute; top: 0; left: 0; width: 100%; }
.l-hd-fixed { position: fixed; top: 0; left: 0; transition: opacity ease; width: 100%; height: 60px; opacity: 0; z-index: 10; }
.l-hd-logo { position: absolute; top: 15px; left: 20px; margin: 0; width: 147px; z-index: 3; }
.l-hd-logo > a { display: block; width: 100%; }
.l-hd-tagline { position: absolute; margin: 0; font-size: 1.3rem; letter-spacing: 0.13em; line-height: 1.8; z-index: 3; }
.l-hd-menu { position: absolute; top: 15px; right: 13px; width: 28px; height: 28px; overflow: hidden; z-index: 3; }
.l-hd-menu__open,
.l-hd-menu__close { position: absolute; top: 0; left: 0; transition: opacity 0.8s linear, transform 1s cubic-bezier(0.6, 0.3, 0.15, 1); margin: 0; width: 100%; height: 100%; }
.l-hd-menu__close { transform: translateX(100%); opacity: 0; }
.l-hd-menu__open > span,
.l-hd-menu__close > span { position: absolute; top: 0; left: 0; width: 100%; height: 100%; text-indent: -9999px; white-space: nowrap; overflow: hidden; }
.l-hd-menu__open::after,
.l-hd-menu__open > span::before,
.l-hd-menu__open > span::after,
.l-hd-menu__close > span::before,
.l-hd-menu__close > span::after { content: ''; position: absolute; top: 0; height: 100%; background-color: #BF9D6D; }
.l-hd-menu__open::after { left: 6px; width: 2.1px; }
.l-hd-menu__open > span::before,
.l-hd-menu__close > span::before { width: 1px; }
.l-hd-menu__open > span::after,
.l-hd-menu__close > span::after { width: 2.5px; }
.l-hd-menu__open > span::before { left: 13px; }
.l-hd-menu__open > span::after { left: 20px; }
.l-hd-menu__close > span::before,
.l-hd-menu__close > span::after { left: 50%; }
.l-hd-menu__close > span::before { transform: rotate(-25deg); }
.l-hd-menu__close > span::after { transform: rotate(25deg); }
.l-hd-menu[aria-expanded=true] .l-hd-menu__open { transform: translateX(-100%); opacity: 0; }
.l-hd-menu[aria-expanded=true] .l-hd-menu__close { transform: translateX(0); opacity: 1; }
.l-hd-links { display: flex; gap: 30px; position: absolute; z-index: 11; }
.l-hd-links__item { transition-property: transform, opacity; transition-duration: 0.4s; transition-timing-function: ease; transform: translateX(10px); opacity: 0; }
.l-hd-links__item:nth-of-type(1) { transition-delay: 0.4s; }
.l-hd-links__item:nth-of-type(2) { transition-delay: 0.3s; }
.l-hd-links__item:nth-of-type(3) { transition-delay: 0.2s; }
.l-hd-links__item:nth-of-type(4) { transition-delay: 0.1s; }
.l-hd-links__item > a { display: inline-flex; flex-flow: row-reverse; position: relative; text-decoration: none; vertical-align: top; color: #BF9D6D; }
.l-hd-links__ja,
.l-hd-links__en { position: relative; margin: 0; writing-mode: vertical-rl; }
.l-hd-links__ja { width: fit-content; font-size: 1.4rem; letter-spacing: 0.2em; line-height: 1.2; overflow: hidden; }
.l-hd-links__en { margin-right: 3px; font-family: 'garamond-premier-pro', serif; font-size: 1.2rem; font-weight: 400; letter-spacing: 0.1em; line-height: 1.8; }
.l-hd-links__item > a[target=_blank] .l-hd-links__ja { padding-bottom: 26px; }
.l-hd-links__item > a[target=_blank] .l-hd-links__ja::after { content: ''; position: absolute; bottom: 0; left: 50%; transform: translateX(-50%); width: 14px; height: 14px; background: url(./_assets/img/icon/external1-gold.svg) no-repeat center center; background-size: 100%; }

.body-gnav-open .l-hd-links { z-index: 1; }

.body-fadein .l-hd-fixed { opacity: 1; }
.body-fadein .l-hd-links__item { transform: translateX(0); opacity: 1; }

.u-device-click .l-hd-links__ja > span { display: inline-block; position: relative; transition: transform 0.6s cubic-bezier(0.21, 0.6, 0.35, 1); vertical-align: top; }
.u-device-click .l-hd-links__ja > span::before { content: attr(data-text); position: absolute; top: 0; left: 0; transition: opacity 1s ease; transform: translateX(-1.2em); opacity: 0; }
.u-device-click .l-hd-links__item > a:hover .l-hd-links__ja > span { transform: translateX(1.2em); }
.u-device-click .l-hd-links__item > a:hover .l-hd-links__ja > span::before { opacity: 1; }

@media screen and (max-width: 768px) {
  .l-hd-tagline,
  .l-hd-links { display: none; }
}

@media screen and (min-width: 769px) {
  .l-hd-fixed { height: 100px; }
  .l-hd-logo { top: 30px; left: 60px; width: 170px; }
  .l-hd-tagline { top: 36px; left: 253px; }
  .l-hd-menu { top: 40px; right: 88px; }
  .l-hd-links { top: 40px; right: 145px; }
}

/* gnav */
.l-gnav { pointer-events: none; position: absolute; top: 0; left: 0; transition: mask-size 3s cubic-bezier(0.1, 0.6, 0.25, 1), mask-position 3s cubic-bezier(0.1, 0.6, 0.25, 1); padding: 120px 0 54px; width: 100%; height: 100dvh; background-color: #212224; mask-image: url(./_assets/img/share/gnav_mask1.webp); mask-size: 180% 100%; mask-position: -110% 0%; mask-repeat: no-repeat; overflow-y: auto; overscroll-behavior-y: contain; z-index: 2; }
.l-gnav[aria-hidden=false] { pointer-events: all; mask-size: 320% 160%; mask-position: 80% 0%; }
.l-gnav-reservation > button { display: block; position: relative; padding: 11px 20px; width: 100%; background-color: #BF9D6D; text-align: left; color: #fff; }
.l-gnav-reservation > button::after { content: ''; position: absolute; top: 50%; right: 20px; transform: translateY(-50%); width: 12px; height: 12px; background: url(./_assets/img/icon/external1-white.svg) no-repeat center center; background-size: 100%; }
.l-gnav-reservation__ja,
.l-gnav-reservation__en { margin: 0; }
.l-gnav-reservation__ja { font-size: 1.8rem; font-weight: 500; letter-spacing: 0.15em; line-height: 1.8; }
.l-gnav-reservation__en { font-family: 'garamond-premier-pro', serif; font-size: 1.4rem; font-weight: 400; letter-spacing: 0.15em; line-height: 1.8; }
.l-gnav-links__item { position: relative; }
.l-gnav-links__link { display: block; position: relative; width: 100%; text-align: left; text-decoration: none; color: #EECD9D; }
.l-gnav-links__ja,
.l-gnav-links__en { position: relative; margin: 0; }
.l-gnav-links__ja { font-size: 1.6rem; font-weight: 500; letter-spacing: 0.1em; line-height: 1.2; overflow: hidden; }
.l-gnav-links__en { margin-top: 6px; font-family: 'garamond-premier-pro', serif; font-size: 1.3rem; font-weight: 400; letter-spacing: 0.1em; line-height: 1.8; }
.l-gnav-sublinks__item { font-size: 1.4rem; font-weight: 500; letter-spacing: 0.1em; line-height: 1.8; }
.l-gnav-sublinks__item:not(:first-child) { margin-top: 15px; }
.l-gnav-sublinks__item > a { display: block; position: relative; padding-left: 0.5em; text-decoration: none; }
.l-gnav-sublinks__item > a::before { content: '-'; position: absolute; top: 0; left: 0; }
.l-gnav-btns__item:not(:first-child) { margin-top: 10px; }
.l-gnav-btns__item > a { display: grid; align-items: center; grid-template-columns: 120px calc(100% - 120px); position: relative; text-decoration: none; }
.l-gnav-btns__item > a::after { content: ''; position: absolute; top: 50%; right: 18px; transform: translateY(-50%); width: 9px; height: 8px; background: url(./_assets/img/icon/arrow1-white.svg) no-repeat center center; background-size: 100%; }
.l-gnav-btns__item > a[target=_blank]::after { width: 12px; height: 12px; background-image: url(./_assets/img/icon/external1-white.svg); }
.l-gnav-btns__item.is-btn-shop > a { background-color: #8B6038; }
.l-gnav-btns__item.is-btn-online > a { background-color: #BF9D6D; }
.l-gnav-btns__photo { position: relative; overflow: hidden; }
.l-gnav-btns__info { padding: 10px; }
.l-gnav-btns__ja,
.l-gnav-btns__en { margin: 0; }
.l-gnav-btns__ja { position: relative; width: fit-content; font-size: 1.5rem; font-weight: 500; letter-spacing: 0.05em; line-height: 1.2; overflow: hidden; }
.l-gnav-btns__en { margin-top: 3px; font-family: 'garamond-premier-pro', serif; font-size: 1.2rem; font-weight: 400; letter-spacing: 0.05em; line-height: 1.8; }
.l-gnav-sns { margin: 0; }
.l-gnav-sns__title { font-family: 'garamond-premier-pro', serif; font-size: 1.3rem; font-weight: 400; letter-spacing: 0.1em; line-height: 1.8; color: #EECD9D; }
.l-gnav-sns__content { margin: 0; }
.l-gnav-sns__lists { display: flex; align-items: center; gap: 20px; }
.l-gnav-sns__lists__item.is-sns-x { width: 20px; }
.l-gnav-sns__lists__item.is-sns-instagram { width: 20px; }
.l-gnav-sns__lists__item.is-sns-youtube { width: 22px; }
.l-gnav-sns__lists__item > a { display: block; width: 100%; }
.l-gnav-sns__lists__item > a img { width: 100%; max-width: inherit; }
.l-gnav-others__item { font-size: 1.4rem; font-weight: 500; letter-spacing: 0.1em; line-height: 1.8; }
.l-gnav-others__item:not(:first-child) { margin-top: 15px; }
.l-gnav-others__item > a { display: inline-block; text-decoration: none; vertical-align: top; }

.u-device-click .l-gnav-links__ja > span { display: inline-block; position: relative; transition: transform 0.6s cubic-bezier(0.21, 0.6, 0.35, 1); vertical-align: top; }
.u-device-click .l-gnav-links__ja > span::before { content: attr(data-text); position: absolute; top: 0; left: 0; transition: opacity 1s ease; transform: translateY(1.2em); opacity: 0; }
.u-device-click .l-gnav-links__link:hover .l-gnav-links__ja > span { transform: translateY(-1.2em); }
.u-device-click .l-gnav-links__link:hover .l-gnav-links__ja > span::before { opacity: 1; }
.u-device-click .l-gnav-sns__lists__item > a { transition: opacity 0.4s ease; }
.u-device-click .l-gnav-sns__lists__item > a:hover { opacity: 0.4; }
.u-device-click .l-gnav-btns__photo > img { transition: transform 0.4s ease; }
.u-device-click .l-gnav-btns__ja > span { display: inline-block; position: relative; transition: transform 0.6s cubic-bezier(0.21, 0.6, 0.35, 1); vertical-align: top; }
.u-device-click .l-gnav-btns__ja > span::before { content: attr(data-text); position: absolute; top: 0; left: 0; transition: opacity 1s ease; transform: translateY(1.2em); opacity: 0; }
.u-device-click .l-gnav-btns__item > a:hover .l-gnav-btns__photo > img { transform: scale(1.1); }
.u-device-click .l-gnav-btns__item > a:hover .l-gnav-btns__ja > span { transform: translateY(-1.2em); }
.u-device-click .l-gnav-btns__item > a:hover .l-gnav-btns__ja > span::before { opacity: 1; }

@media screen and (max-width: 768px) {
  .l-gnav > .l-wrap { padding: 0 20px; }
  .l-gnav-links { margin-top: 50px; }
  .l-gnav-links__item { border-bottom: 1px solid #6D6D6D; }
  .l-gnav-links__link { padding: 15px 0; }
  .l-gnav-links__link::after { content: ''; position: absolute; top: 22px; right: 5px; width: 18px; height: 18px; background-color: #BF9D6D; border-radius: 50%; z-index: 1; }
  .l-gnav-links__link .l-gnav-links__ja::after { content: ''; position: absolute; top: 12px; right: 9px; width: 9px; height: 8px; background: url(./_assets/img/icon/arrow1-white.svg) no-repeat center center; background-size: 100%; z-index: 2; }
  .l-gnav-links__link[aria-expanded] .l-gnav-links__ja::before,
  .l-gnav-links__link[aria-expanded] .l-gnav-links__ja::after { content: ''; position: absolute; top: 15px; right: 9px; width: 10px; height: 1px; background-color: #fff; z-index: 2; }
  .l-gnav-links__link[aria-expanded] .l-gnav-links__ja::after { transition: transform 0.4s ease; transform: rotate(90deg); }
  .l-gnav-links__link[aria-expanded=true] .l-gnav-links__ja::after { transform: rotate(0); }
  .l-gnav-sublinks { display: none; padding-bottom: 20px; }
  .l-gnav-btns { margin-top: 60px; }
  .l-gnav-sns { display: flex; align-items: center; gap: 20px; margin-top: 50px; }
  .l-gnav-others { margin-top: 44px; }
}

@media screen and (min-width: 769px) {
  .l-gnav { display: flex; align-items: center; padding: 234px 0 140px/*100px 0*/; }
  .l-gnav > .l-wrap { display: grid; align-content: start; column-gap: 40px; grid-template-columns: calc(100% - (320px + 40px)) 320px; width: 100%; max-width: 1270px; }
  .l-gnav-reservation { display: none; }
  .l-gnav-links { display: flex; gap: 106px; grid-row: 1 / 5; grid-column: 1; }
  .l-gnav-links__item:not(:first-child) { margin-top: 60px; }
  .l-gnav-links__ja { width: fit-content; font-size: 1.7rem; }
  .l-gnav-links__en { margin-top: 6px; font-size: 1.3rem; }
  .l-gnav-sublinks { display: block !important; margin-top: 16px; }
  .l-gnav-sublinks__item { font-size: 1.4rem; }

  .l-gnav-btns { grid-row: 1; grid-column: 2; }
  .l-gnav-btns__item:not(:first-child) { margin-top: 18px; }
  .l-gnav-btns__item > a { grid-template-columns: 110px calc(100% - 110px); }
  .l-gnav-btns__info { padding: 10px 22px; }
  .l-gnav-btns__ja { font-size: 1.5rem; }
  .l-gnav-btns__en { margin-top: 5px; font-size: 1.2rem; }
  .l-gnav-sns { grid-row: 2; grid-column: 2; margin-top: 45px; }
  .l-gnav-sns__title { margin-bottom: 20px; font-size: 1.3rem; }
  .l-gnav-others { grid-row: 2; grid-column: 2; margin-top: 42px; }
  .l-gnav-sns + .l-gnav-others { grid-row: 3; grid-column: 2; }
  .l-gnav-others__item { font-size: 1.2rem; }
  .l-gnav-others__item:not(:first-child) { margin-top: 10px; }
}

/* top
------------------------------------------------ */
/* visual */
.top-visual { position: relative; height: 100dvh; overflow: hidden; }
.top-visual::after { content: ''; position: absolute; top: 0; left: 0; width: 100%; height: 100%; background-repeat: no-repeat; background-position: center center; background-size: cover; z-index: -1; }
.top-visual-logo { position: absolute; margin: 0; width: 54.6666666666%; z-index: 2; }
.top-visual-panel { pointer-events: none; position: absolute; top: 0; width: calc((100% / 3) + 1px); height: 100%; background: linear-gradient(to right, rgba(255, 255, 255, 0), rgba(255, 255, 255, 0), rgba(255, 255, 255, 1), rgba(255, 255, 255, 1)); background-position: 100% 0%; background-size: 400% 100%; z-index: 1; }
.top-visual-panel:nth-of-type(1) { left: 0; }
.top-visual-panel:nth-of-type(2) { left: calc(100% / 3); }
.top-visual-panel:nth-of-type(3) { left: calc((100% / 3) * 2); }

.body-fadein .top-visual-panel { animation: topVisualPanel 1s linear forwards; }
.body-fadein .top-visual-panel:nth-of-type(2) { animation-delay: 0.3s; }
.body-fadein .top-visual-panel:nth-of-type(3) { animation-delay: 0.6s; }

@keyframes topVisualPanel {
  0% {
    background-position: 100% 0%;
  }
  50% {
    background-position: 50% 0%;
  }
  100% {
    background-position: 0% 0%;
  }
}

@media screen and (max-width: 768px) {
  .top-visual::after { background-image: url(./_assets/img/top/visual_bg.png); }
  .top-visual-logo { top: 50%; left: 50%; transform: translate(-50%, -50%); }
  .top-visual.has-informations .top-visual-logo { top: auto; bottom: calc(10vh + (268px + 20px)); transform: translate(-50%, 0); }
}

@media screen and (min-width: 769px) {
  .top-visual { width: calc(100% - 60px); }
  .top-visual::after { background-image: url(./_assets/img/top/visual_bg-desktop.png); }
  .top-visual-logo { top: 50%; left: 50%; transform: translate(-50%, -50%); width: 270px; }
}

/* informations */
.top-informations { display: grid; gap: 14px; position: absolute; bottom: 20px; z-index: 2; }
.top-informations-item { position: relative; }
.top-informations-item .post-edit-link { position: absolute; top: 0; left: 0; z-index: 2; }
.top-informations-item > a:not(.post-edit-link),
.top-informations-item > span { display: grid; align-items: center; grid-template-columns: 120px calc(100% - 120px); min-height: 80px; background-color: #fff; text-decoration: none; color: #212224; }
.top-informations-photo { position: relative; height: 100%; }
.top-informations-photo img { position: absolute; top: 0; left: 0; }
.top-informations-info { display: flex; flex-wrap: wrap; align-content: flex-start; row-gap: 0; column-gap: 6px; padding: 6px 15px; }
.top-informations-tag { margin: 0; padding: 2px 10px; min-width: 57px; background-color: #BF9D6D; text-align: center; font-size: 1.1rem; font-weight: 500; letter-spacing: 0.08em; line-height: 1.2; color: #fff; }
.top-informations-type { margin: 0; font-family: 'Crimson Pro', serif; font-size: 1.3rem; font-weight: 400; letter-spacing: 0.05em; line-height: 1.2; }
.top-informations-title { margin: 6px 0 0; width: 100%; font-size: 1.2rem; font-weight: 400; letter-spacing: 0.1em; line-height: 1.5; }
.top-informations-close { position: absolute; top: 10px; right: 10px; width: 10px; height: 10px; text-indent: -9999px; white-space: nowrap; overflow: hidden; }
.top-informations-close::before,
.top-informations-close::after { content: ''; position: absolute; top: 0; left: 50%; height: 100%; background-color: #212224; }
.top-informations-close::before { transform: rotate(45deg); width: 1.5px; }
.top-informations-close::after { transform: rotate(-45deg); width: 1px; }

@media screen and (max-width: 768px) {
  .top-informations { left: 20px; width: calc(100% - 40px); }
}

@media screen and (min-width: 769px) {
  .top-informations { bottom: 40px; right: 90px; width: 360px; }
}

/* about */
.top-about { position: relative; padding: 80px 0 90px; }
.top-about-title { display: flex; }
.top-about-title__ja,
.top-about-title__en { margin: 0; writing-mode: vertical-rl; }
.top-about-title__ja { font-size: 2.4rem; letter-spacing: 0.3em; line-height: 1.4; color: #EECD9D; }
.top-about-title__en { margin-left: 20px; font-family: 'garamond-premier-pro', serif; font-size: 1.4rem; font-weight: 400; letter-spacing: 0.2em; line-height: 1; color: #BF9D6D; }
.top-about-text { margin: 0; writing-mode: vertical-rl; font-size: 1.3rem; letter-spacing: 0.2em; line-height: 2.4; color: #EECD9D; }
.top-about-link { margin: 0; writing-mode: vertical-rl; font-size: 1.5rem; letter-spacing: 0.1em; line-height: 1.3; }
.top-about-link > a { display: inline-flex; align-items: center; gap: 14px; position: relative; text-decoration: none; vertical-align: top; }
.top-about-link > a::before { content: ''; position: absolute; bottom: 5px; left: 0; width: 100%; height: 7px; background: url(./_assets/img/icon/arrow1-white.svg) no-repeat center center; background-size: auto 100%; }
.top-about-link > a::after { content: ''; width: 18px; height: 18px; background-color: #BF9D6D; border-radius: 50%; }
.top-about .u-deco-1,
.top-about .u-deco-2,
.top-about .u-deco-3 { mix-blend-mode: overlay; }

.u-device-click .top-about-link > a { transition: color 0.4s ease; }
.u-device-click .top-about-link > a:hover { color: #BF9D6D; }

@media screen and (max-width: 768px) {
  .top-about > .l-wrap { display: grid; }
  .top-about-title { grid-row: 1; grid-column: 2; }
  .top-about-text { grid-row: 2; grid-column: 1 / 3; margin: 80px auto 0; }
  .top-about-link { grid-row: 1; grid-column: 1; margin: auto 45px 0 0; }
  .top-about .u-deco-1,
  .top-about .u-deco-4,
  .top-about .u-deco-5 { display: none; }
  .top-about .u-deco-2 { top: 0; right: 50px; }
  .top-about .u-deco-3 { top: 0; right: 0; }
  .top-about .u-deco-5 { bottom: 0; right: 47px; }
  .top-about .u-deco-6 { top: 0; left: 0; }
  .top-about .u-deco-7 { bottom: 40px; left: 50px; }
}

@media screen and (min-width: 769px) {
  .top-about { padding: 190px 0 175px; }
  .top-about > .l-wrap { display: flex; flex-flow: row-reverse; justify-content: center; }
  .top-about-title { margin-left: 106px; }
  .top-about-title__ja { font-size: 2.8rem; }
  .top-about-title__en { margin-left: 30px; font-size: 1.4rem; }
  .top-about-text,
  .top-about-link { padding-top: 78px; }
  .top-about-text { font-size: 1.5rem; }
  .top-about-link { margin-right: 58px; font-size: 1.6rem; }
  .top-about-link > a { gap: 20px; }
  .top-about-link > a::before { bottom: 6px; height: 8px; }
  .top-about-link > a::after { width: 20px; height: 20px; }
  .top-about .u-deco-1 { bottom: 202px; right: 58px; }
  .top-about .u-deco-2 { top: 0; right: 150px; }
  .top-about .u-deco-3 { top: 305px; left: 92px; }
  .top-about .u-deco-4 { top: 164px; right: 60px; }
  .top-about .u-deco-5 { bottom: 38px; right: 150px; }
  .top-about .u-deco-6 { top: 0; left: 184px; }
  .top-about .u-deco-7 { bottom: 0; left: 184px; }
  .top-about .u-deco-8 { bottom: 288px; left: 0; }
}

/* parallax */
.top-parallax { position: relative; z-index: 5; }
.top-parallax-links { pointer-events: none; position: fixed; top: 50%; left: 60px; transition: opacity 0.4s ease; transform: translateY(-50%); width: 126px; opacity: 0; z-index: 5; }
.top-parallax-links.is-show { pointer-events: all; opacity: 1; }
.top-parallax-links.is-stay { position: absolute; top: auto; bottom: calc(100dvh / 2); transform: translateY(50%); }
.top-parallax-links__item:not(:first-child) { margin-top: 35px; }
.top-parallax-links__item > a { display: block; position: relative; aspect-ratio: 126 / 66; border: 1px solid transparent; overflow: hidden; }
.top-parallax-links__item > a.is-active { border-color: #fff; }
.top-parallax-block { position: relative; background: url(./_assets/img/share/bg3.webp) repeat center top #212224; background-size: 1440px; }
.top-parallax-block__photo { position: relative; overflow: hidden; }
.top-parallax-block__photo picture { height: 100%; }
.top-parallax-title { margin: 0 0 8px; text-align: center; font-family: 'garamond-premier-pro', serif; font-size: 4rem; font-weight: 400; letter-spacing: 0.02em; line-height: 2.3; }
.top-parallax-text { margin: 0; text-align: center; font-size: 1.4rem; letter-spacing: 0.13em; line-height: 2; }
.top-parallax-lists { display: grid; justify-content: center; gap: 12px; grid-template-columns: repeat(3,26.8656716417%); margin-top: 32px; }
.top-parallax-lists__item { display: flex; flex-flow: column; justify-content: center; align-items: center; position: relative; aspect-ratio: 1 / 1; border: 1px solid #fff; border-radius: 50%; }
.top-parallax-lists__item::before,
.top-parallax-lists__item::after { content: ''; position: absolute; left: 50%; transform: translateX(-50%); width: 2px; height: 1px; background-color: #212224; }
.top-parallax-lists__item::before { top: -1px; }
.top-parallax-lists__item::after { bottom: -1px; }
.top-parallax-lists__ja,
.top-parallax-lists__en { margin: 0; }
.top-parallax-lists__ja { font-size: 1.3rem; letter-spacing: 0.1em; line-height: 1.8; }
.top-parallax-lists__en { margin-top: -2px; font-family: 'garamond-premier-pro', serif; font-size: 1.2rem; font-weight: 400; letter-spacing: 0.1em; line-height: 1.8; }
.top-parallax-link { margin: 60px 0 0; text-align: center; }

.u-lazy + .top-parallax-link { transition-property: transform, opacity; transition-duration: 0.6s; transition-timing-function: linear; transform: translateY(20px); opacity: 0; }
.u-lazy-done + .top-parallax-link { transform: translateY(0); opacity: 1; }

@media screen and (max-width: 768px) {
  .top-parallax-links { display: none; }
  .top-parallax-block { display: flex; flex-flow: column-reverse; justify-content: flex-end; }
  .top-parallax-block__photo { padding-bottom: 52.5333333333%; height: 0; }
  .top-parallax-block__photo picture { position: absolute; top: 0; left: 0; width: 100%; height: 100%; }
  .top-parallax-block__content { padding: 20px 0 100px; }
  .top-parallax-block__content > .l-wrap { padding: 0 20px; }
  .top-parallax-block:last-child .top-parallax-block__content { padding-bottom: 0; }
}

@media screen and (min-width: 769px) {
  .top-parallax-block { position: sticky; top: 0; left: 0; width: 100%; height: 100dvh; }
  .top-parallax-block__photo { position: absolute; top: 0; left: 0; width: 100%; height: 100%; z-index: -1; }
  .top-parallax-block__content { display: flex; flex-flow: column; justify-content: center; align-items: center; height: 100%; }
  .top-parallax-block__content > .l-wrap { width: 100%; }
  .top-parallax-title { margin-bottom: -1px; font-size: 5rem; }
  .top-parallax-text { font-size: 1.4rem; }
  .top-parallax-lists { gap: 30px; grid-template-columns: repeat(3,calc((100% / 3) - (30px / (3 / 2)))); margin: 60px auto 0; max-width: 450px; }
  .top-parallax-lists__item::before,
  .top-parallax-lists__item::after { width: 3px; }
  .top-parallax-lists__ja { font-size: 1.4rem; }
  .top-parallax-lists__en { margin-top: 2px; font-size: 1.3rem; }
  .top-parallax-link { margin-top: 90px; }
}

/* event */
.top-event { position: relative; padding: 140px 0 50px; }
.top-event .u-deco-2,
.top-event .u-deco-3 { mix-blend-mode: overlay; }

@media screen and (max-width: 768px) {
  .top-event { margin-top: -15px; }
  .top-event-above > .l-wrap { padding: 0 20px; }
  .top-event-above .title-1 { margin-bottom: 74px; }
  .top-event-slide .splide__arrows { left: 20px; }
  .top-event-slide .splide-numbering { margin-left: 20px; }
  .top-event-below > .l-wrap { position: inherit; }
  .top-event .link-1 { position: absolute; top: calc(140px + 90px); right: 20px; }
  .top-event .u-deco-1 { top: 0; left: 0; }
  .top-event .u-deco-2 { top: 60px; left: 50px; }
  .top-event .u-deco-3 { top: 150px; left: 0; }
}

@media screen and (min-width: 769px) {
  .top-event { padding: 240px 0 90px; }
  .top-event-above .title-1 { position: absolute; top: 0; left: 20px; }
  .top-event-slide { margin: 0 60px 0 calc(((340 * 100 / 1400) * 1vw) - 60px); }
  .top-event-below { margin-top: -17px; }
  .top-event-below .link-1 { text-align: right; }
  .top-event .u-deco-1 { top: 0; left: 0; }
  .top-event .u-deco-2 { top: 110px; left: 92px; }
  .top-event .u-deco-3 { top: 273px; left: 0; }
}

@media screen and (min-width: 769px) and (max-width: 1260px) {
  .top-event-slide { margin-left: 230px; }
}

/* exhibition */
.top-exhibition { position: relative; padding: 50px 0 30px; }
.top-exhibition-above { position: relative; margin-bottom: 40px; }
 
@media screen and (max-width: 768px) {
  .top-exhibition-above > .l-wrap { padding: 0 20px; }
  .top-exhibition-above .title-1 { margin-bottom: 20px; }
  .top-exhibition-links__item { text-align: right; }
  .top-exhibition-links__item:not(:first-child) { margin-top: 16px; }
}

@media screen and (min-width: 769px) {
  .top-exhibition { padding: 90px 0 0; }
  .top-exhibition-above { margin-bottom: 60px; }
  .top-exhibition-above > .l-wrap { display: flex; justify-content: space-between; align-items: flex-end; }
  .top-exhibition-links { display: flex; gap: 20px; }
}

/* product */
.top-product { position: relative; padding: 75px 0 40px; }
.top-product .title-1 { margin-bottom: 68px; }
.top-product .u-deco-2 { mix-blend-mode: multiply; }
.top-product .u-deco-3 { mix-blend-mode: overlay; }

@media screen and (max-width: 768px) {
  .top-product > .l-wrap { padding: 0 20px; }
  .top-product .link-1 { position: absolute; top: 90px; right: 20px; }
  .top-product .u-deco-1 { top: 14px; left: 0; }
  .top-product .u-deco-2 { top: 75px; left: 50px; }
  .top-product .u-deco-3 { top: 0; left: 100px; }
}

@media screen and (min-width: 769px) {
  .top-product { padding: 270px 0 90px; }
  .top-product .title-1 { margin-bottom: 60px; }
  .top-product .coming { position: absolute; top: 15px; left: 0; width: 100%; }
  .top-product .link-1 { margin-top: -17px; text-align: right; }
  .top-product .u-deco-1 { top: 52px; left: 0; }
  .top-product .u-deco-2 { top: 163px; left: 92px; }
  .top-product .u-deco-3 { top: 0; left: 182px; }
}

/* news */
.top-news { position: relative; padding: 60px 0 50px; }
.top-news .u-deco-2 { mix-blend-mode: multiply; }

@media screen and (max-width: 768px) {
  .top-news > .l-wrap { padding: 0 20px; }
  .top-news .title-1 { margin-bottom: 30px; }
  .top-news .u-deco-1 { top: 0; right: 0; }
  .top-news .u-deco-2 { display: none; }
}

@media screen and (min-width: 769px) {
  .top-news { padding: 200px 0 40px; }
  .top-news > .l-wrap { display: grid; grid-template-columns: 256px calc(100% - 256px); }
  .top-news .u-deco-1 { top: 0; right: 202px; }
  .top-news .u-deco-2 { top: 74px; right: 110px; }
}

/* shop */
.top-shop { position: relative; padding-top: 50px; }
.top-shop .title-1 { margin-bottom: 58px; }
.top-shop-links { position: relative; }
.top-shop-links__item { font-size: 1.4rem; font-weight: 500; letter-spacing: 0.13em; line-height: 1.4; }
.top-shop-links__item:not(:first-child) { margin-top: 24px; }
.top-shop-links__item > a { display: inline-block; position: relative; padding-left: 40px; text-decoration: none; vertical-align: top; }
.top-shop-links__item > a.is-active { color: #EECD9D; }
.top-shop-links__item > a.is-active::before { content: ''; position: absolute; top: 4px; left: 0; width: 13px; height: 12px; background: url(./_assets/img/icon/arrow1-gold.svg) no-repeat center center; background-size: 100%; }
.top-shop-links__item > a.is-active::after { content: ''; position: absolute; bottom: 0; left: 40px; width: calc(100% - 40px); height: 1px; background-color: #EECD9D; }
.top-shop .u-deco-1 { mix-blend-mode: multiply; }
.top-shop .u-deco-2 { mix-blend-mode: overlay; }

.u-device-click .top-shop-links__item > a span { display: inline-block; position: relative; transition: transform 0.6s cubic-bezier(0.21, 0.6, 0.35, 1); vertical-align: top; }
.u-device-click .top-shop-links__item > a span::before { content: attr(data-text); position: absolute; top: 0; left: 0; transition: opacity 1s ease; transform: translateY(1.2em); opacity: 0; }
.u-device-click .top-shop-links__item > a:hover span { transform: translateY(-1.2em); }
.u-device-click .top-shop-links__item > a:hover span::before { opacity: 1; }

@media screen and (max-width: 768px) {
  .top-shop > .l-wrap { padding: 0 20px; }
  .top-shop .lists-shops { margin-top: 58px; }
  .top-shop .u-deco { display: none; }
}

@media screen and (min-width: 769px) {
  .top-shop { padding-top: 210px; }
  .top-shop > .l-wrap { display: grid; grid-template-columns: 238px calc(100% - 238px); }
  .top-shop .title-1 { grid-row: 1; grid-column: 1; margin-bottom: 70px; }
  .top-shop-links { grid-row: 2; grid-column: 1; position: sticky; top: 160px; z-index: 5; }
  .top-shop-links__item { font-size: 1.4rem; }
  .top-shop-links__item:not(:first-child) { margin-top: 32px; }
  .top-shop .lists-shops { grid-row: 1 / 4; grid-column: 2; }
  .top-shop .u-deco-1 { top: 0; left: 94px; }
  .top-shop .u-deco-2 { top: 80px; left: 0; }
}

/* about
------------------------------------------------ */
/* concept */
.about-concept { position: relative; padding: 48px 0 40px; }
.about-concept-title { display: flex; flex-flow: row-reverse; gap: 32px; }
.about-concept-title__en,
.about-concept-title__ja { margin: 0; writing-mode: vertical-rl; }
.about-concept-title__en { font-family: 'garamond-premier-pro', serif; font-size: 1.2rem; font-weight: 400; letter-spacing: 0.2em; line-height: 1; color: #BF9D6D; }
.about-concept-title__ja { display: grid; gap: 26px; font-size: 1.8rem; font-weight: 500; letter-spacing: 0.3em; line-height: 1.3; color: #EECD9D; }
.about-concept-title__ja > p { margin: 0; }
.about-concept-text { font-size: 1.3rem; font-weight: 500; letter-spacing: 0.1em; line-height: 2.7; }
.about-concept-text > p { margin: 0; }
.about-concept-text > p + p { margin-top: 2.7em; }
.about-concept .u-deco-2 { mix-blend-mode: multiply; }
.about-concept .u-deco-5 { mix-blend-mode: overlay; }

@media screen and (max-width: 768px) {
  .about-concept > .l-wrap { padding: 0 20px; }
  .about-concept-text { margin-top: 18px; }
  .about-concept .u-deco-3,
  .about-concept .u-deco-4,
  .about-concept .u-deco-5 { display: none; }
  .about-concept .u-deco-1 { top: 137px; left: 0; }
  .about-concept .u-deco-2 { top: 48px; left: 50px; }
}

@media screen and (min-width: 769px) {
  .about-concept { padding: 220px 0 106px; }
  .about-concept > .l-wrap { display: flex; flex-flow: row-reverse; justify-content: space-between; align-items: center; max-width: 993px; }
  .about-concept-title { gap: 43px; }
  .about-concept-title__en { font-size: 1.6rem; line-height: 2.3; }
  .about-concept-title__ja { gap: 18px; font-size: 2.8rem; line-height: 1.4; }
  .about-concept-text { max-width: 550px; font-size: 1.6rem; line-height: 3; }
  .about-concept-text > p + p { margin-top: 3em; }
  .about-concept .u-deco-1 { top: 193px; left: 0; }
  .about-concept .u-deco-2 { top: 30px; left: 92px; }
  .about-concept .u-deco-3 { bottom: 67px; right: 60px; }
  .about-concept .u-deco-4 { bottom: -27px; right: 152px; }
  .about-concept .u-deco-5 { bottom: -163px; right: 60px; }
}

/* message */
.about-message { position: relative; padding: 40px 0 108px; }
.about-message:last-child { padding-bottom: 0; }
.about-message-title { display: flex; gap: 32px; }
.about-message-title__en,
.about-message-title__ja { margin: 0; writing-mode: vertical-rl; }
.about-message-title__en { font-family: 'garamond-premier-pro', serif; font-size: 1.2rem; font-weight: 400; letter-spacing: 0.2em; line-height: 1; color: #BF9D6D; }
.about-message-title__ja { display: grid; gap: 26px; font-size: 1.8rem; font-weight: 500; letter-spacing: 0.3em; line-height: 1.35; color: #EECD9D; }
.about-message-title__ja > p { margin: 0; }
.about-message-text { font-size: 1.3rem; font-weight: 500; letter-spacing: 0.05em; line-height: 2.7; }
.about-message-text > p { margin: 0; }
.about-message-text > p + p { margin-top: 2.7em; }
.about-message .u-deco-1 { mix-blend-mode: overlay; }

@media screen and (max-width: 768px) {
  .about-message > .l-wrap { padding: 0 20px; }
  .about-message-text { margin-top: 33px; }
  .about-message .u-deco-1 { display: none; }
  .about-message .u-deco-2 { top: 40px; right: 0; }
}

@media screen and (min-width: 769px) {
  .about-message { padding: 106px 0 184px; }
  .about-message > .l-wrap { display: flex; justify-content: space-between; align-items: center; max-width: 1095px; }
  .about-message-title { gap: 43px; }
  .about-message-title__en { font-size: 1.6rem; line-height: 2.3; }
  .about-message-title__ja { gap: 18px; font-size: 2.8rem; line-height: 1.45; }
  .about-message-text { max-width: 620px; font-size: 1.6rem; letter-spacing: 0.13em; line-height: 2.8; }
  .about-message-text > p + p { margin-top: 2.8em; }
  .about-message .u-deco-1 { bottom: 202px; left: 0; }
  .about-message .u-deco-2 { bottom: 92px; left: 92px; }
}

/* meditation
------------------------------------------------ */
/* method */
.meditation-method { position: relative; padding: 50px 0; }
.meditation-method-above { position: relative; }
.meditation-method-lists { display: grid; justify-content: space-between; margin: 0 auto; max-width: 256px; }
.meditation-method-lists__item { display: flex; flex-flow: column; justify-content: center; align-items: center; position: relative; aspect-ratio: 1 / 1; width: 120px; border: 1px solid #EECD9D; border-radius: 50%; }
.meditation-method-lists__item:nth-of-type(1) { grid-row: 1; grid-column: 1 / 3; margin: 0 auto; }
.meditation-method-lists__item:nth-of-type(2) { grid-row: 2; grid-column: 1; }
.meditation-method-lists__item:nth-of-type(3) { grid-row: 2; grid-column: 2; }
.meditation-method-lists__item::before,
.meditation-method-lists__item::after { content: ''; position: absolute; left: 50%; transform: translateX(-50%); width: 2px; height: 1px; background-color: #212224; }
.meditation-method-lists__item::before { top: -1px; }
.meditation-method-lists__item::after { bottom: -1px; }
.meditation-method-lists__ja,
.meditation-method-lists__en { margin: 0; line-height: 1.2; color: #EECD9D; }
.meditation-method-lists__ja { font-size: 1.6rem; letter-spacing: 0.1em; }
.meditation-method-lists__en { margin-top: 6px; font-family: 'garamond-premier-pro', serif; font-size: 1.4rem; letter-spacing: 0.05em; }
.meditation-method-text { margin: 0; font-size: 1.3rem; font-weight: 500; letter-spacing: 0.1em; line-height: 2; }
.meditation-method-detail { position: relative; margin-top: 85px; }
.meditation-method-detail__links__item { font-size: 1.6rem; font-weight: 500; letter-spacing: 0.15em; line-height: 2.4; }
.meditation-method-detail__links__item:not(:first-child) { margin-top: 18px; }
.meditation-method-detail__links__item > a { display: inline-block; position: relative; padding-left: 42px; text-decoration: none; vertical-align: top; }
.meditation-method-detail__links__item > a.is-active { color: #EECD9D; }
.meditation-method-detail__links__item > a.is-active::before { content: ''; position: absolute; top: 12px; left: 0; width: 17px; height: 17px; background: url(./_assets/img/icon/symbol1.png) no-repeat center center; background-size: 100%; }
.meditation-method-block { position: relative; }
.meditation-method-block + .meditation-method-block { margin-top: 70px; padding-top: 70px; border-top: 1px solid #656565; }
.meditation-method-block .title-3 { margin-bottom: 26px; }
.meditation-method-block__text { margin: 0; font-size: 1.3rem; font-weight: 500; letter-spacing: 0.1em; line-height: 2; }
.meditation-method1 { margin-top: 62px; }
.meditation-method1-graphs__item:not(:first-child) { margin-top: 50px; }
.meditation-method1-box { margin: 0; }
.meditation-method1-box__title { position: relative; margin-bottom: 20px; padding-left: 30px; font-size: 1.8rem; font-weight: 400; letter-spacing: 0.15em; line-height: 1.6; color: #EECD9D; }
.meditation-method1-box__title:not(:first-child) { margin-top: 40px; }
.meditation-method1-box__title::before { content: ''; position: absolute; top: 15px; left: 0; width: 20px; height: 1px; background-color: #EECD9D; }
.meditation-method1-box__text { margin: 0; font-size: 1.3rem; font-weight: 500; letter-spacing: 0.08em; line-height: 2; }
.meditation-method1-attentions { margin-top: 36px; }
.meditation-method1-attentions__item { font-size: 1.2rem; font-weight: 700; letter-spacing: 0.15em; line-height: 2; }
.meditation-method1-attentions__item::before { content: '※'; padding-right: 0.4em; }
.meditation-method2 { margin-top: 42px; }
.meditation-method2-images__item:not(:first-child) { margin-top: 50px; }
.meditation-method2-box { margin: 0; }
.meditation-method2-box__title { margin-bottom: 2em; font-size: 1.3rem; font-weight: 500; letter-spacing: 0.15em; line-height: 2; }
.meditation-method2-box__title strong { font-weight: 500; }
.meditation-method2-box__text { margin: 0; font-size: 1.3rem; font-weight: 500; letter-spacing: 0.08em; line-height: 2; }
.meditation-method .u-deco-2 { mix-blend-mode: multiply; }
.meditation-method .u-deco-4 { mix-blend-mode: overlay; }

@media screen and (max-width: 768px) {
  .meditation-method-above > .l-wrap,
  .meditation-method-detail > .l-wrap { padding: 0 20px; }
  .meditation-method-above .title-2 { margin-bottom: 42px; }
  .meditation-method-lists { margin-bottom: 42px; }
  .meditation-method-detail__links { display: none; }
  .meditation-method1-graphs { margin-bottom: 62px; padding: 0 32px; }
  .meditation-method2-images { margin-bottom: 42px; padding: 0 42px; }
  .meditation-method .u-deco { display: none; }
  .meditation-method-block.is-method-3 .title-3-ja { letter-spacing: 0.1em; }
}

@media screen and (min-width: 769px) {
  .meditation-method { padding: 162px 0 80px; }
  .meditation-method-above > .l-wrap,
  .meditation-method-detail > .l-wrap { max-width: 1227px; }
  .meditation-method-above > .l-wrap { display: grid; align-items: flex-start; grid-template-columns: calc(100% - 370px) 370px; }
  .meditation-method-above .title-2 { grid-row: 1; grid-column: 1; margin-bottom: 44px; }
  .meditation-method-lists { grid-row: 1 / 4; grid-column: 2; max-width: 327px; }
  .meditation-method-lists__item { width: 156px; }
  .meditation-method-lists__item::before,
  .meditation-method-lists__item::after { width: 4px; }
  .meditation-method-lists__ja { font-size: 1.7rem; letter-spacing: 0.15em; }
  .meditation-method-lists__en { margin-top: 6px; font-size: 1.618rem; letter-spacing: 0.08em; line-height: 1.8; }
  .meditation-method-text { grid-row: 2; grid-column: 1; font-size: 1.3rem; letter-spacing: 0.15em; line-height: 2; }
  .meditation-method-detail { margin-top: 172px; }
  .meditation-method-detail > .l-wrap { display: grid; align-items: flex-start; grid-template-columns: 267px calc(100% - 267px); }
  .meditation-method-detail__links { position: sticky; top: 160px; left: 0; }
  .meditation-method-block + .meditation-method-block { margin-top: 80px; padding-top: 80px; }
  .meditation-method-block .title-3 { margin-bottom: 26px; }
  .meditation-method-block__text { font-size: 1.3rem; letter-spacing: 0.15em; }
  .meditation-method1 { display: grid; column-gap: 83px; grid-template-columns: 257px calc(100% - (257px + 83px)); margin-top: 56px; }
  .meditation-method1-graphs__item:not(:first-child) { margin-top: 56px; }
  .meditation-method1-box__title { margin-bottom: 20px; padding-left: 38px; font-size: 1.8rem; line-height: 2; }
  .meditation-method1-box__title:not(:first-child) { margin-top: 42px; }
  .meditation-method1-box__title::before { top: 20px; width: 28px; }
  .meditation-method1-box__text { font-size: 1.3rem; }
  .meditation-method1-attentions { margin-top: 46px; }
  .meditation-method1-attentions__item { font-size: 1.3rem; font-weight: 400; }
  .meditation-method2 { display: grid; column-gap: 68px; grid-template-columns: 285px calc(100% - (285px + 68px)); margin-top: 60px; }
  .meditation-method2-images__item:not(:first-child) { margin-top: 56px; }
  .meditation-method2-box__title { margin-bottom: 2em; font-size: 1.3rem; font-weight: 400; }
  .meditation-method2-box__title strong { font-weight: 400; }
  .meditation-method2-box__text { font-size: 1.3rem; font-weight: 400; letter-spacing: 0.15em; }
  .meditation-method .u-deco-1 { top: 32px; right: 60px; }
  .meditation-method .u-deco-2 { top: 168px; right: 152px; }
  .meditation-method .u-deco-3 { bottom: 55px; left: 0; }
  .meditation-method .u-deco-4 { bottom: -50px; left: 92px; }
}

/* other */
.meditation-other { position: relative; padding: 50px 0 127px; }
.meditation-other:last-child { padding-bottom: 0; }
.meditation-other .title-2 { margin-bottom: 55px; }
.meditation-other-lists { display: grid; gap: 12px; }
.meditation-other-lists__item { display: flex; flex-flow: column; justify-content: center; padding: 20px 25px; min-height: 314px; background-image: linear-gradient(59.44deg, #2D2D2D 6.5%, #242424 88.58%); }
.meditation-other-lists__icon { display: flex; justify-content: center; margin-bottom: 34px; height: 51px; }
.meditation-other-lists__icon img { width: auto; height: 100%; max-width: inherit; }
.meditation-other-lists__box { margin: 0; }
.meditation-other-lists__box__title { margin-bottom: 28px; text-align: center; font-family: 'garamond-premier-pro', serif; font-size: 1.6rem; font-weight: 500; letter-spacing: 0.15em; line-height: 1.6; color: #EECD9D; }
.meditation-other-lists__box__text { margin: 0; font-size: 1.3rem; font-weight: 500; letter-spacing: 0.13em; line-height: 1.8; }

.meditation-other-lists.u-lazy .meditation-other-lists__item { transition: opacity 0.4s; opacity: 0; }
.meditation-other-lists.u-lazy .meditation-other-lists__item:nth-of-type(2) { transition-delay: 0.2s; }
.meditation-other-lists.u-lazy .meditation-other-lists__item:nth-of-type(3) { transition-delay: 0.4s; }
.meditation-other-lists.u-lazy .meditation-other-lists__item:nth-of-type(4) { transition-delay: 0.6s; }
.meditation-other-lists.u-lazy .meditation-other-lists__item:nth-of-type(5) { transition-delay: 0.8s; }
.meditation-other-lists.u-lazy .meditation-other-lists__item:nth-of-type(6) { transition-delay: 1s; }
.meditation-other-lists.u-lazy-done .meditation-other-lists__item { opacity: 1; }

@media screen and (max-width: 768px) {
  .meditation-other > .l-wrap { padding: 0 20px; }
}

@media screen and (min-width: 769px) {
  .meditation-other { padding: 80px 0 195px; }
  .meditation-other > .l-wrap { max-width: 1150px; }
  .meditation-other .title-2 { margin-bottom: 74px; }
  .meditation-other-lists { gap: 20px; grid-template-columns: repeat(3,calc((100% / 3) - (20px / (3 / 2)))); }
  .meditation-other-lists__item { padding: 20px 25px; min-height: 314px; }
  .meditation-other-lists__icon { margin-bottom: 34px; height: 51px; }
  .meditation-other-lists__box__title { margin-bottom: 28px; font-size: 1.6rem; }
  .meditation-other-lists__box__text { font-size: 1.3rem; }
}

/* event
------------------------------------------------ */
/* pickup */
.event-pickup { position: relative; margin-top: 52px; padding: 46px 0 52px; background-image: linear-gradient(248.15deg, #2D2D2D 2.16%, #242424 95.42%); }

@media screen and (max-width: 768px) {
  .event-pickup-slide .splide__arrows { left: 20px; }
}

@media screen and (min-width: 769px) {
  .event-pickup { margin-top: 98px; padding: 80px 0; }
  .event-pickup > .l-wrap { max-width: 1258px; }
}

/* about */
.event-about { position: relative; padding: 72px 0 44px; }
.event-about-above .title-2 { margin-bottom: 44px; }
.event-about-text { margin: 0; font-size: 1.3rem; font-weight: 500; letter-spacing: 0.15em; line-height: 2; }
.event-about-case { position: relative; margin-top: 80px; }
.event-about-case .title-4 { margin-bottom: 28px; }
.event-about-case__lists { display: grid; gap: 12px; }
.event-about-case__lists__item { padding: 42px 30px; background-image: linear-gradient(256.9deg, #242424 4.43%, #2D2D2D 94.03%); }
.event-about-case__box { margin: 0; }
.event-about-case__box__title { margin-bottom: 25px; text-align: center; font-size: 1.6rem; font-weight: 500; letter-spacing: 0.15em; line-height: 1.8; }
.event-about-case__box__title::after { content: ''; display: block; margin: 22px auto 0; width: 30px; height: 1px; background-color: #BF9D6D; }
.event-about-case__box__text { margin: 0; text-align: center; font-size: 1.3rem; font-weight: 500; letter-spacing: 0.06em; line-height: 1.8; }
.event-about-block { position: relative; margin-top: 66px; }
.event-about-block__text { margin: 0; font-size: 1.3rem; font-weight: 500; letter-spacing: 0.05em; line-height: 1.8; }
.event-about-block__btn { margin-top: 34px; }
.event-about .u-deco-2 { mix-blend-mode: multiply; }

@media screen and (max-width: 768px) {
  .event-about > .l-wrap { padding: 0 20px; }
  .event-about-photo { margin: 0 0 42px auto; width: 71.6417910447%; }
  .event-about-block .title-4 { margin-bottom: 22px; }
  .event-about .u-deco { display: none; }
}

@media screen and (min-width: 769px) {
  .event-about { padding: 150px 0 85px; }
  .event-about > .l-wrap { max-width: 1260px; }
  .event-about-above { display: grid; align-items: center; column-gap: 146px; grid-template-columns: calc(100% - (32.3275862068% + 146px)) 32.3275862068%; }
  .event-about-above .title-2 { grid-row: 1; grid-column: 1; margin: auto 0 42px; }
  .event-about-photo { grid-row: 1 / 3; grid-column: 2; }
  .event-about-text { grid-row: 2; grid-column: 1; margin-bottom: auto; font-size: 1.6rem; letter-spacing: 0.13em; line-height: 2.4; }
  .event-about-case { margin-top: 38px; }
  .event-about-case .title-4 { margin-bottom: 30px; }
  .event-about-case__lists { display: grid; gap: 13px; grid-template-columns: repeat(2,calc(50% - (13px / 2))); }
  .event-about-case__lists__item { padding: 42px 30px; }
  .event-about-case__box__title { margin-bottom: 25px; font-size: 1.6rem; }
  .event-about-case__box__title::after { margin-top: 22px; width: 30px; }
  .event-about-case__box__text { margin: 0 auto; max-width: 320px; font-size: 1.3rem; letter-spacing: 0.13em; }
  .event-about-block { display: grid; grid-template-columns: 342px calc(100% - 342px); margin-top: 75px; }
  .event-about-block + .event-about-block { margin-top: 30px; }
  .event-about-block__text { font-size: 1.3rem; letter-spacing: 0.15em; }
  .event-about-block__btn { margin-top: 34px; }
  .event-about-block__btn > a { max-width: 420px; }
  .event-about .u-deco-1 { top: 87px; left: 0; }
  .event-about .u-deco-2 { top: 168px; left: 92px; }
}

/* archive */
.event-archive { position: relative; padding: 44px 0 110px; }
.event-archive:last-child { padding-bottom: 0; }
.event-archive .title-2 { margin-bottom: 45px; }
.event-archive-links__item { font-size: 1.4rem; font-weight: 500; letter-spacing: 0.13em; line-height: 1; }
.event-archive-links__item:not(:first-child) { margin-top: 18px; }
.event-archive-links__item > a { display: block; position: relative; padding: 10px 0; width: fit-content; text-decoration: none; }
.event-archive-links__item > a.is-active { padding-left: 23px; text-decoration: underline; color: #EECD9D; }
.event-archive-links__item > a.is-active::before { content: ''; position: absolute; top: 12px; left: 0; width: 13px; height: 12px; background: url(./_assets/img/icon/arrow1-gold.svg) no-repeat center center; background-size: 100%; }
.event-archive-links__text { margin: 0; overflow: hidden; }
.event-archive .u-deco-2 { mix-blend-mode: multiply; }

.u-device-click .event-archive-links__item > a span { display: inline-block; position: relative; transition: transform 0.6s cubic-bezier(0.21, 0.6, 0.35, 1); vertical-align: top; }
.u-device-click .event-archive-links__item > a span::before { content: attr(data-text); position: absolute; top: 0; left: 0; transition: opacity 1s ease; transform: translateY(1em); opacity: 0; }
.u-device-click .event-archive-links__item > a span:nth-of-type(2) { transition-delay: 0.05s; }
.u-device-click .event-archive-links__item > a span:nth-of-type(3) { transition-delay: 0.1s; }
.u-device-click .event-archive-links__item > a span:nth-of-type(4) { transition-delay: 0.15s; }
.u-device-click .event-archive-links__item > a span:nth-of-type(5) { transition-delay: 0.2s; }
.u-device-click .event-archive-links__item > a span:nth-of-type(6) { transition-delay: 0.25s; }
.u-device-click .event-archive-links__item > a span:nth-of-type(7) { transition-delay: 0.3s; }
.u-device-click .event-archive-links__item > a span:nth-of-type(8) { transition-delay: 0.35s; }
.u-device-click .event-archive-links__item > a:hover span { transform: translateY(-1em); }
.u-device-click .event-archive-links__item > a:hover span::before { opacity: 1; }

@media screen and (max-width: 768px) {
  .event-archive > .l-wrap { padding: 0 20px; }
  .event-archive .u-deco { display: none; }
  .event-archive-links { margin-bottom: 50px; }
}

@media screen and (min-width: 769px) {
  .event-archive { padding: 85px 0 190px; }
  .event-archive .title-2 { margin-bottom: 100px; }
  .event-archive-main { display: grid; align-items: flex-start; grid-template-columns: 240px calc(100% - 240px); }
  .event-archive-links { position: sticky; top: 160px; left: 0; }
  .event-archive-links__item { font-size: 1.4rem; }
  .event-archive-links__item > a.is-active { padding-left: 23px; }
  .event-archive-links__item > a.is-active::before { top: 12px; width: 13px; height: 12px; }
  .event-archive .pagination { justify-content: flex-end; }
  .event-archive .u-deco-1 { top: 74px; right: 150px; }
  .event-archive .u-deco-2 { top: -20px; right: 60px; }
}

/* detail */
.event-detail-hd { position: relative; padding: 140px 0 68px; background-repeat: no-repeat; background-position: center center; background-size: cover; }
.event-detail-status { display: inline-block; margin: 0 0 25px; padding: 3px 8px 4px; vertical-align: top; font-size: 1.3rem; font-weight: 400; letter-spacing: 0.13em; line-height: 1.2; }
.event-detail-date { margin: 0 0 26px; font-family: 'garamond-premier-pro', serif; font-size: 1.8rem; font-weight: 400; letter-spacing: 0.05em; line-height: 1.2; }
.event-detail-date > span { display: inline-block; position: relative; vertical-align: top; }
.event-detail-date > span + span { padding-left: 24px; }
.event-detail-date > span + span::before { content: ''; position: absolute; top: 50%; left: 8px; width: 8px; height: 1px; background-color: #fff; }
.event-detail-title { margin: 0; font-size: 2rem; font-weight: 400; letter-spacing: 0.08em; line-height: 1.8; color: #EECD9D; }
.event-detail-eyecatch { position: relative; aspect-ratio: 335 / 240; }
.event-detail-content { position: relative; padding: 70px 0 100px; font-size: 1.3rem;font-weight: 500; letter-spacing: 0.15em; line-height: 2; }
.event-detail-content p { margin: 0; }
.event-detail-content p + p { margin-top: 2em; }
.event-detail-ft { position: relative; }
.event-detail-reservation + .pager { margin-top: 80px; }

@media screen and (max-width: 768px) {
  .event-detail-hd > .l-wrap,
  .event-detail-content > .l-wrap,
  .event-detail-ft > .l-wrap { padding: 0 20px; }
  .event-detail-hd { background-image: url(./_assets/img/share/bg1.webp); }
  .event-detail-eyecatch { margin-top: 40px; }
}

@media screen and (min-width: 769px) {
  .event-detail-hd { padding: 206px 0 110px; background-image: url(./_assets/img/share/bg1-desktop.webp); }
  .event-detail-hd > .l-wrap { display: grid; align-items: center; column-gap: 54px; grid-template-columns: calc(100% - (53.1034482758% + 54px)) 53.1034482758%; max-width: 1260px; }
  .event-detail-hd__info { grid-row: 1; grid-column: 1; }
  .event-detail-status { margin-bottom: 35px; padding: 3px 8px 4px; font-size: 1.5rem; }
  .event-detail-date { margin-bottom: 30px; font-size: 2.4rem; }
  .event-detail-title { font-size: 2.4rem; }
  .event-detail-eyecatch { grid-row: 1; grid-column: 2; aspect-ratio: 616 / 374; }
  .event-detail-content { padding: 106px 0; font-size: 1.4rem;font-weight: 400; letter-spacing: 0.08em; }
  .event-detail-content > .l-wrap { max-width: 1100px; }
  .event-detail-ft > .l-wrap { max-width: 1100px; }
  .event-detail-reservation { margin: 0 auto; width: 420px; }
  .event-detail-reservation + .pager { margin-top: 120px; }
}

/* exhibition
------------------------------------------------ */
/* about */
.exhibition-about { position: relative; padding: 55px 0 110px; }
.exhibition-about-text { margin: 0; font-size: 1.3rem; font-weight: 500; letter-spacing: 0.1em; line-height: 2; }
.exhibition-about .u-deco-2 { mix-blend-mode: multiply; }

@media screen and (max-width: 768px) {
  .exhibition-about > .l-wrap { padding: 0 20px; }
  .exhibition-about .title-2 { margin-bottom: 45px; }
  .exhibition-about-photo { margin: 0 0 45px auto; width: 71.6417910447%; }
  .exhibition-about .u-deco { display: none; }
}

@media screen and (min-width: 769px) {
  .exhibition-about { padding: 150px 0 160px; }
  .exhibition-about > .l-wrap { display: grid; align-items: center; column-gap: 20px; grid-template-columns: calc(100% - (375px + 20px)) 375px; max-width: 1260px; }
  .exhibition-about .title-2 { grid-row: 1; grid-column: 1; margin: auto 0 42px; }
  .exhibition-about-photo { grid-row: 1 / 3; grid-column: 2; }
  .exhibition-about-text { grid-row: 2; grid-column: 1; margin-bottom: auto; max-width: 636px; font-size: 1.6rem; letter-spacing: 0.13em; line-height: 2.4; }
  .exhibition-about .u-deco-1 { top: 87px; left: 0; }
  .exhibition-about .u-deco-2 { top: 168px; left: 92px; }
}

/* article */
.exhibition-article { position: relative; background-image: linear-gradient(248.15deg, #242424 2.16%, #2D2D2D 95.42%); }

@media screen and (max-width: 768px) {
}

@media screen and (min-width: 769px) {
}

/* ondisplay */
.exhibition-ondisplay { position: relative; }
.exhibition-ondisplay-photo { position: relative; overflow: hidden; }
.exhibition-ondisplay-photo picture { height: 100%; }
.exhibition-ondisplay-inform { position: relative; padding: 20px 25px 34px; background-color: #BF9D6D; color: #fff; z-index: 2; }
.exhibition-ondisplay-status { margin: 0 0 28px; font-size: 1.3rem; font-weight: 400; letter-spacing: 0.3em; line-height: 1.6; }
.exhibition-ondisplay-title { margin: 0 0 4px; font-size: 2rem; font-weight: 400; letter-spacing: 0.3em; line-height: 1.6; }
.exhibition-ondisplay-author { margin: 0 0 24px; font-size: 1.3rem; font-weight: 400; letter-spacing: 0.3em; line-height: 1.6; }
.exhibition-ondisplay-date { margin: 0 0 20px; font-family: 'garamond-premier-pro', serif; font-size: 1.6rem; font-weight: 400; letter-spacing: 0.05em; line-height: 1.2; }
.exhibition-ondisplay-date > span { display: inline-block; position: relative; vertical-align: top; }
.exhibition-ondisplay-date > span + span { padding-left: 24px; }
.exhibition-ondisplay-date > span + span::before { content: ''; position: absolute; top: 50%; left: 8px; width: 8px; height: 1px; background-color: #fff; }
.exhibition-ondisplay-explanation { margin: 0; font-size: 1.3rem; font-weight: 400; letter-spacing: 0.08em; line-height: 2; }
.exhibition-ondisplay-title + .exhibition-ondisplay-explanation { margin-top: 20px; }
.exhibition-ondisplay-link { margin-top: 24px; font-size: 1.5rem; font-weight: 400; letter-spacing: 0.1em; line-height: 1.2; }
.exhibition-ondisplay-link > a { display: inline-flex; align-items: center; gap: 14px; position: relative; text-decoration: none; vertical-align: top; }
.exhibition-ondisplay-link > a::before { content: ''; position: absolute; top: 0; right: 5px; width: 8px; height: 100%; background: url(./_assets/img/icon/arrow1-gold.svg) no-repeat center center; background-size: 100%; }
.exhibition-ondisplay-link > a::after { content: ''; width: 18px; height: 18px; background-color: #fff; border-radius: 50%; }
.exhibition-ondisplay-link__text { position: relative; margin: 0; width: fit-content; overflow: hidden; }

.u-device-click .exhibition-ondisplay-link span { display: inline-block; position: relative; transition: transform 0.6s cubic-bezier(0.21, 0.6, 0.35, 1); vertical-align: top; }
.u-device-click .exhibition-ondisplay-link span::before { content: attr(data-text); position: absolute; top: 0; left: 0; transition: opacity 1s ease; transform: translateY(1.2em); opacity: 0; }
.u-device-click .exhibition-ondisplay-link span:nth-of-type(2) { transition-delay: 0.05s; }
.u-device-click .exhibition-ondisplay-link span:nth-of-type(3) { transition-delay: 0.1s; }
.u-device-click .exhibition-ondisplay-link span:nth-of-type(4) { transition-delay: 0.15s; }
.u-device-click .exhibition-ondisplay-link span:nth-of-type(5) { transition-delay: 0.2s; }
.u-device-click .exhibition-ondisplay-link > a:hover span { transform: translateY(-1.2em); }
.u-device-click .exhibition-ondisplay-link > a:hover span::before { opacity: 1; }

@media screen and (max-width: 768px) {
  .exhibition-ondisplay-photo { aspect-ratio: 375 / 200; }
  .exhibition-ondisplay-inform { margin: -15px 0 0 auto; width: calc(100% - 20px); }
  .exhibition-ondisplay-links__item { text-align: right; }
  .exhibition-ondisplay-links__item:not(:first-child) { margin-top: 16px; }
}

@media screen and (min-width: 769px) {
  .exhibition-ondisplay { min-height: 768px; }
  .exhibition-ondisplay-photo { position: absolute; top: 0; left: 0; width: 100%; height: 100%; z-index: 1; }
  .exhibition-ondisplay-inform { position: absolute; bottom: -120px; right: 110px; padding: 32px 30px 56px; max-width: 356px; }
  .exhibition-ondisplay-status { margin-bottom: 26px; font-size: 1.5rem; }
  .exhibition-ondisplay-title { margin-bottom: 8px; font-size: 2.8rem; letter-spacing: 0.1em; }
  .exhibition-ondisplay-author { margin-bottom: 35px; font-size: 1.4rem; letter-spacing: 0.1em; }
  .exhibition-ondisplay-date { margin-bottom: 25px; font-size: 1.7rem; }
  .exhibition-ondisplay-explanation { font-size: 1.4rem; }
  .exhibition-ondisplay-title + .exhibition-ondisplay-explanation { margin-top: 25px; }
  .exhibition-ondisplay-link { margin-top: 58px; font-size: 1.6rem; }
  .exhibition-ondisplay-link > a { gap: 20px; }
  .exhibition-ondisplay-link > a::before { right: 6px; width: 9px; }
  .exhibition-ondisplay-link > a::after { width: 20px; height: 20px; }
}

/* archive */
.exhibition-archive { position: relative; padding: 50px 0 90px; }
.exhibition-archive .title-4 { margin-bottom: 25px; }

@media screen and (max-width: 768px) {
  .exhibition-archive > .l-wrap { padding: 0 20px; }
}

@media screen and (min-width: 769px) {
  .exhibition-archive { padding: 190px 0 100px; }
  .exhibition-archive > .l-wrap { max-width: 1260px; }
}

/* artist */
.exhibition-artist { position: relative; padding: 90px 0 140px; }
.exhibition-artist .title-2 { margin-bottom: 65px; }
.exhibition-artist-copy { margin: 0 0 28px; font-size: 2rem; font-weight: 500; letter-spacing: 0.25em; line-height: 1.6; color: #EECD9D; }
.exhibition-artist-text { margin: 0; font-size: 1.3rem; font-weight: 400; letter-spacing: 0.15em; line-height: 2; }
.exhibition-artist-contact { position: relative; margin-top: 60px; }
.exhibition-artist-contact__block { position: relative; }
.exhibition-artist-contact__block + .exhibition-artist-contact__block { margin-top: 46px; }
.exhibition-artist-contact__text { margin: 0; font-size: 1.3rem; font-weight: 500; letter-spacing: 0.13em; line-height: 1.8; }
.exhibition-artist-contact__btn { margin-top: 35px; }
.exhibition-artist-contact__btn > a { display: block; position: relative; padding: 10px 20px; background-color: #BF9D6D; text-decoration: none; color: #fff; }
.exhibition-artist-contact__btn > a::after { content: ''; position: absolute; top: 50%; right: 20px; transform: translateY(-50%); width: 13px; height: 12px; background: url(./_assets/img/icon/arrow1-white.svg) no-repeat center center; background-size: 100%; }
.exhibition-artist-contact__btn__ja,
.exhibition-artist-contact__btn__en { margin: 0; }
.exhibition-artist-contact__btn__ja { font-size: 1.8rem; font-weight: 500; letter-spacing: 0.15em; line-height: 1.8; }
.exhibition-artist-contact__btn__en { margin-top: -2px; font-family: 'garamond-premier-pro-display', serif; font-size: 1.4rem; font-weight: 400; letter-spacing: 0.15em; line-height: 1.8; }
.exhibition-artist .u-deco-2 { mix-blend-mode: multiply; }
.exhibition-artist .u-deco-3 { mix-blend-mode: overlay; }

.u-device-click .exhibition-artist-contact__btn > a { transition: background-color 0.4s ease; }
.u-device-click .exhibition-artist-contact__btn > a:hover { background-color: rgba(191, 157, 109, 0.8); }

@media screen and (max-width: 768px) {
  .exhibition-artist > .l-wrap { padding: 0 20px; }
  .exhibition-artist-contact__block .title-4 { margin-bottom: 14px; }
  .exhibition-artist .u-deco { display: none; }
}

@media screen and (min-width: 769px) {
  .exhibition-artist { padding: 166px 0 0; }
  .exhibition-artist > .l-wrap { max-width: 1260px; }
  .exhibition-artist .title-2 { margin-bottom: 105px; }
  .exhibition-artist-copy { margin-bottom: 30px; font-size: 2.4rem; font-weight: 400; letter-spacing: 0.3em; }
  .exhibition-artist-text { font-size: 1.3rem; letter-spacing: 0.08em; }
  .exhibition-artist-contact { margin-top: 62px; }
  .exhibition-artist-contact__block { display: grid; align-items: flex-start; column-gap: 20px; grid-template-columns: 253px calc((100% - (253px + 20px))); }
  .exhibition-artist-contact__block + .exhibition-artist-contact__block { margin-top: 55px; }
  .exhibition-artist-contact__block .title-4 { grid-row: 1 / 3; grid-column: 1; }
  .exhibition-artist-contact__text { grid-row: 1; grid-column: 2; font-size: 1.3rem; }
  .exhibition-artist-contact__btn { grid-row: 2; grid-column: 2; margin-top: 30px; }
  .exhibition-artist-contact__btn > a { padding: 12px 40px; max-width: 420px; }
  .exhibition-artist-contact__btn > a::after { right: 40px; width: 13px; height: 12px; }
  .exhibition-artist-contact__btn__ja { font-size: 1.8rem; }
  .exhibition-artist-contact__btn__en { margin-top: 0; font-size: 1.6rem; }
  .exhibition-artist .u-deco-1 { top: 270px; right: 150px; }
  .exhibition-artist .u-deco-2 { top: 176px; right: 56px; }
  .exhibition-artist .u-deco-3 { top: 433px; right: 56px; }
}

/* detail */
.exhibition-detail-hd { position: relative; padding: 140px 0 68px; background-repeat: no-repeat; background-position: center center; background-size: cover; }
.exhibition-detail-status { display: inline-block; margin: 0 0 24px; padding: 3px 8px 4px; vertical-align: top; font-size: 1.3rem; font-weight: 400; letter-spacing: 0.13em; line-height: 1.2; }
.exhibition-detail-title { margin: 0; font-size: 2.4rem; font-weight: 400; letter-spacing: 0.08em; line-height: 1.8; color: #EECD9D; }
.exhibition-detail-author { margin: 6px 0 0; font-size: 1.6rem; font-weight: 400; letter-spacing: 0.3em; line-height: 1.8; }
.exhibition-detail-date { margin: 26px 0 0; font-family: 'garamond-premier-pro', serif; font-size: 1.8rem; font-weight: 400; letter-spacing: 0.05em; line-height: 1.2; }
.exhibition-detail-date > span { display: inline-block; position: relative; vertical-align: top; }
.exhibition-detail-date > span + span { padding-left: 24px; }
.exhibition-detail-date > span + span::before { content: ''; position: absolute; top: 50%; left: 8px; width: 8px; height: 1px; background-color: #fff; }
.exhibition-detail-eyecatch { position: relative; aspect-ratio: 335 / 240; }
.exhibition-detail-content { position: relative; padding: 70px 0 100px; font-size: 1.3rem;font-weight: 500; letter-spacing: 0.15em; line-height: 2; }
.exhibition-detail-content p { margin: 0; }
.exhibition-detail-content p + p { margin-top: 2em; }
.exhibition-detail-ft { position: relative; }
.exhibition-detail-profile .title-4 { margin-bottom: 30px; }
.exhibition-detail-profile__content { display: grid; align-items: flex-start; column-gap: 20px; grid-template-columns: 120px calc(100% - (120px + 20px)); }
.exhibition-detail-profile__name { grid-row: 1; grid-column: 2; margin: 0; padding-top: 5px; font-size: 1.8rem; font-weight: 400; letter-spacing: 0.3em; line-height: 1.6; color: #EECD9D; }
.exhibition-detail-profile__title { grid-row: 2; grid-column: 2; margin: 5px 0 0; font-size: 1.4rem; font-weight: 400; letter-spacing: 0.3em; line-height: 1.6; }
.exhibition-detail-profile__introduction { grid-row: 4; grid-column: 1 / 3; margin-top: 30px; font-size: 1.3rem;font-weight: 500; letter-spacing: 0.13em; line-height: 2; }
.exhibition-detail-profile__photo { grid-row: 1 / 4; grid-column: 1; }
.exhibition-detail-profile + .pager { margin-top: 55px; }

@media screen and (max-width: 768px) {
  .exhibition-detail-hd > .l-wrap,
  .exhibition-detail-content > .l-wrap,
  .exhibition-detail-ft > .l-wrap { padding: 0 20px; }
  .exhibition-detail-hd { background-image: url(./_assets/img/share/bg1.webp); }
  .exhibition-detail-eyecatch { margin-top: 40px; }
  .exhibition-detail-profile { padding: 0 10px; }
}

@media screen and (min-width: 769px) {
  .exhibition-detail-hd { padding: 206px 0 110px; background-image: url(./_assets/img/share/bg1-desktop.webp); }
  .exhibition-detail-hd > .l-wrap { display: grid; align-items: center; column-gap: 20px; grid-template-columns: calc(100% - (53.1034482758% + 20px)) 53.1034482758%; max-width: 1260px; }
  .exhibition-detail-hd__info { grid-row: 1; grid-column: 1; }
  .exhibition-detail-status { margin-bottom: 35px; padding: 3px 8px 4px; font-size: 1.5rem; }
  .exhibition-detail-title { font-size: 3.2rem; letter-spacing: 0.3em; }
  .exhibition-detail-author { margin-top: 4px; font-size: 1.8rem; }
  .exhibition-detail-date { margin-top: 40px; font-size: 2.4rem; }
  .exhibition-detail-eyecatch { grid-row: 1; grid-column: 2; aspect-ratio: 616 / 374; }
  .exhibition-detail-content { padding: 106px 0; font-size: 1.4rem;font-weight: 400; letter-spacing: 0.08em; }
  .exhibition-detail-content > .l-wrap { max-width: 1100px; }
  .exhibition-detail-ft > .l-wrap { max-width: 1100px; }
  .exhibition-detail-profile .title-4 { margin-bottom: 30px; }
  .exhibition-detail-profile__content { column-gap: 55px; grid-template-columns: 200px calc(100% - (200px + 55px)); }
  .exhibition-detail-profile__name { grid-row: 1; grid-column: 2; padding-top: 10px; font-size: 2.2rem; }
  .exhibition-detail-profile__title { grid-row: 2; grid-column: 2; margin-top: 8px; font-size: 1.6rem; }
  .exhibition-detail-profile__introduction { grid-row: 3; grid-column: 2; margin-top: 24px; font-size: 1.3rem; letter-spacing: 0.08em; }
  .exhibition-detail-profile__photo { grid-row: 1 / 5; grid-column: 1; }
  .exhibition-detail-profile + .pager { margin-top: 120px; }
}

/* guide
------------------------------------------------ */
/* flow */
.guide-flow { position: relative; padding: 100px 0 75px; }
.guide-flow-above { margin-bottom: 65px; }
.guide-flow-above .title-2 { margin-bottom: 46px; }
.guide-flow-text { margin: 0; font-size: 1.3rem; font-weight: 500; letter-spacing: 0.03em; line-height: 2.4; }
.guide-flow-links__item { font-size: 1.6rem; font-weight: 500; letter-spacing: 0.13em; line-height: 2.4; }
.guide-flow-links__item:not(:first-child) { margin-top: 18px; }
.guide-flow-links__item > a { display: inline-block; position: relative; padding-left: 27px; text-decoration: none; vertical-align: top; }
.guide-flow-links__item > a.is-active { color: #EECD9D; }
.guide-flow-links__item > a.is-active::before { content: ''; position: absolute; top: 11px; left: 0; width: 17px; height: 17px; background: url(./_assets/img/icon/symbol1.png) no-repeat center center; background-size: 100%; }
.guide-flow-lists__item { padding: 0 5px 50px; border-bottom: 1px solid #656565; }
.guide-flow-lists__item:not(:last-child) { margin-bottom: 55px; }
.guide-flow-lists__num,
.guide-flow-lists__title,
.guide-flow-lists__text,
.guide-flow-lists__attention { margin: 0; }
.guide-flow-lists__num { margin-bottom: 18px; font-family: 'garamond-premier-pro', serif; font-size: 1.4rem; font-weight: 400; letter-spacing: 0.15em; line-height: 1.8; color: #EECD9D; }
.guide-flow-lists__title { margin-bottom: 32px; font-size: 2rem; font-weight: 700; letter-spacing: 0.25em; line-height: 1.6; color: #EECD9D; }
.guide-flow-lists__text { font-size: 1.3rem; font-weight: 400; letter-spacing: 0.15em; line-height: 2; }
.guide-flow-lists__attention { margin-top: 30px; font-size: 1.2rem; font-weight: 400; letter-spacing: 0.15em; line-height: 2; }
.guide-flow .u-deco-2 { mix-blend-mode: multiply; }

@media screen and (max-width: 768px) {
  .guide-flow > .l-wrap { padding: 0 20px; }
  .guide-flow-links { display: none; }
  .guide-flow .u-deco { display: none; }
}

@media screen and (min-width: 769px) {
  .guide-flow { padding: 170px 0 80px; }
  .guide-flow > .l-wrap { max-width: 1320px; }
  .guide-flow-above { margin-bottom: 180px; padding: 0 27px; }
  .guide-flow-above .title-2 { margin-bottom: 46px; }
  .guide-flow-text { font-size: 1.3rem; letter-spacing: 0.15em; }
  .guide-flow-main { display: grid; align-items: flex-start; grid-template-columns: 300px calc(100% - 300px); }
  .guide-flow-links { position: sticky; top: 160px; left: 0; }
  .guide-flow-lists__item { padding: 0 10px 45px; }
  .guide-flow-lists__item:not(:last-child) { margin-bottom: 42px; }
  .guide-flow-lists__num { margin-bottom: 10px; font-size: 1.4rem; letter-spacing: 0.1em; line-height: 1.8; }
  .guide-flow-lists__title { margin-bottom: 26px; font-size: 2.8rem; font-weight: 400; letter-spacing: 0.3em; line-height: 1.6; }
  .guide-flow-lists__text { font-size: 1.4rem; letter-spacing: 0.08em; }
  .guide-flow-lists__attention { margin-top: 28px; font-size: 1.3rem; letter-spacing: 0.08em; }
  .guide-flow .u-deco-1 { top: 587px; right: 60px; }
  .guide-flow .u-deco-2 { top: 723px; right: 152px; }
}

/* terms */
.guide-terms { position: relative; padding-top: 75px; }
.guide-terms .title-2 { margin-bottom: 46px; }
.guide-terms-text { margin: 0; font-size: 1.3rem; font-weight: 400; letter-spacing: 0.15em; line-height: 2; }
.guide-terms-lists { counter-reset: guideTermsNumber 0; margin-top: 65px; }
.guide-terms-lists__item:not(:first-child) { margin-top: 65px; }
.guide-terms-lists__title,
.guide-terms-lists__text { margin: 0; }
.guide-terms-lists__title { margin-bottom: 16px; font-size: 2rem; font-weight: 400; letter-spacing: 0.15em; line-height: 1.6; color: #EECD9D; }
.guide-terms-lists__title::before { content: counter(guideTermsNumber)'.'; counter-increment: guideTermsNumber 1; }
.guide-terms-lists__text { font-size: 1.3rem; font-weight: 400; letter-spacing: 0.05em; line-height: 2; }
.guide-terms .u-deco-2 { mix-blend-mode: overlay; }
.guide-terms .u-deco-4 { mix-blend-mode: multiply; }

@media screen and (max-width: 768px) {
  .guide-terms > .l-wrap { padding: 0 20px; }
  .guide-terms .u-deco { display: none; }
}

@media screen and (min-width: 769px) {
  .guide-terms { padding-top: 80px; }
  .guide-terms > .l-wrap { max-width: 1100px; }
  .guide-terms .title-2 { margin-bottom: 42px; }
  .guide-terms-text { font-size: 1.3rem; line-height: 2.4; }
  .guide-terms-lists { margin-top: 34px; }
  .guide-terms-lists__item:not(:first-child) { margin-top: 34px; }
  .guide-terms-lists__title { margin-bottom: 26px; font-size: 2rem; }
  .guide-terms-lists__text { font-size: 1.3rem; letter-spacing: 0.15em; line-height: 2.4; }
  .guide-terms .u-deco-1 { top: 0; left: 0; }
  .guide-terms .u-deco-2 { top: 72px; left: 92px; }
  .guide-terms .u-deco-3 { bottom: -64px; right: 60px; }
  .guide-terms .u-deco-4 { bottom: -200px; right: 152px; }
}

/* facility
------------------------------------------------ */
/* about */
.facility-about { position: relative; padding-top: 100px; }
.facility-about-above { margin-bottom: 114px; }
.facility-about-above .title-2 { margin-bottom: 45px; }
.facility-about-text { margin: 0; font-size: 1.3rem; font-weight: 500; letter-spacing: 0.15em; line-height: 2.4; }
.facility-about-gallery { display: grid; gap: 7px; grid-template-columns: repeat(2,calc(50% - (7px / 2))); margin-top: 50px; }
.facility-about-links__item { font-size: 1.6rem; font-weight: 500; letter-spacing: 0.13em; line-height: 2.4; }
.facility-about-links__item:not(:first-child) { margin-top: 18px; }
.facility-about-links__item > a { display: inline-block; position: relative; padding-left: 27px; text-decoration: none; vertical-align: top; }
.facility-about-links__item > a.is-active { color: #EECD9D; }
.facility-about-links__item > a.is-active::before { content: ''; position: absolute; top: 11px; left: 0; width: 17px; height: 17px; background: url(./_assets/img/icon/symbol1.png) no-repeat center center; background-size: 100%; }
.facility-about-block:not(:last-child) { margin-bottom: 52px; padding-bottom: 52px; border-bottom: 1px solid #656565; }
.facility-about-title { margin-bottom: 56px; }
.facility-about-title__en,
.facility-about-title__ja { margin: 0; color: #EECD9D; }
.facility-about-title__en { margin-bottom: 16px; font-family: 'garamond-premier-pro-display', serif; font-size: 1.4rem; font-weight: 400; letter-spacing: 0.15em; line-height: 1.8; }
.facility-about-title__ja { font-size: 2rem; font-weight: 500; letter-spacing: 0.25em; line-height: 1.6; }
.facility-about-lists__item:not(:first-child) { margin-top: 55px; }
.facility-about-lists__title,
.facility-about-lists__text,
.facility-about-lists__attention { margin: 0; position: relative; }
.facility-about-lists__title { margin-bottom: 16px; padding-left: 36px; font-size: 1.8rem; font-weight: 400; letter-spacing: 0.3em; line-height: 1.6; color: #EECD9D; }
.facility-about-lists__title::before { content: ''; position: absolute; top: 50%; left: 0; width: 26px; height: 1px; background-color: #EECD9D; }
.facility-about-lists__text { font-size: 1.3rem; font-weight: 400; letter-spacing: 0.15em; line-height: 2; }
.facility-about-lists__attention { margin-top: 16px; font-size: 1.3rem; font-weight: 400; letter-spacing: 0.07em; line-height: 2; }
.facility-about-lists2__item { position: relative; }
.facility-about-lists2__photo { position: relative; z-index: 1; }
.facility-about-lists2__title { position: absolute; bottom: 6px; right: 12px; margin: 0; padding-left: 30px; font-size: 1.6rem; font-weight: 400; letter-spacing: 0.15em; line-height: 2; color: #EECD9D; z-index: 2; }
.facility-about-lists2__title::before { content: ''; position: absolute; top: 50%; left: 0; width: 20px; height: 1px; background-color: #EECD9D; }
.facility-about .u-deco-2 { mix-blend-mode: overlay; }

@media screen and (max-width: 768px) {
  .facility-about > .l-wrap { padding: 0 20px; }
  .facility-about-links { display: none; }
  .facility-about-lists__photo { margin-bottom: 22px; }
  .facility-about-lists2__item:not(:first-child) { margin-top: 40px; }
  .facility-about .u-deco { display: none; }
}

@media screen and (min-width: 769px) {
  .facility-about { padding-top: 100px; }
  .facility-about > .l-wrap { max-width: 1260px; }
  .facility-about-above { margin-bottom: 170px; }
  .facility-about-above .title-2 { margin-bottom: 45px; }
  .facility-about-text { font-size: 1.3rem; }
  .facility-about-gallery { gap: 12px; grid-template-columns: repeat(4,calc((100% / 4) - (12px / (4 / 3)))); margin-top: 72px; }
  .facility-about-main { display: grid; align-items: flex-start; grid-template-columns: 300px calc(100% - 300px); }
  .facility-about-links { position: sticky; top: 160px; left: 0; }
  .facility-about-block:not(:last-child) { margin-bottom: 120px; padding-bottom: 120px; }
  .facility-about-title { margin-bottom: 60px; }
  .facility-about-title__en { margin-bottom: 14px; font-size: 1.4rem; }
  .facility-about-title__ja { font-size: 2.4rem; }
  .facility-about-lists__item { display: grid; column-gap: 40px; grid-template-columns: calc(100% - (300px + 40px)) 300px; }
  .facility-about-lists__item:not(:first-child) { margin-top: 50px; }
  .facility-about-lists__info { padding-top: 10px; }
  .facility-about-lists__title { margin-bottom: 22px; padding-left: 38px; font-size: 1.8rem; letter-spacing: 0.15em; line-height: 2; }
  .facility-about-lists__title::before { width: 28px; }
  .facility-about-lists__text { font-size: 1.3rem; letter-spacing: 0.08em; line-height: 1.8; }
  .facility-about-lists__attention { margin-top: 22px; font-size: 1.3rem; }
  .facility-about-lists2 { display: grid; gap: 16px; grid-template-columns: repeat(2,calc(50% - 8px)); }
  .facility-about-lists2__title { bottom: 20px; right: 20px; padding-left: 38px; font-size: 1.8rem; }
  .facility-about-lists2__title::before { width: 28px; }
  .facility-about .u-deco-1 { top: 50%; left: 0; }
  .facility-about .u-deco-2 { top: calc(50% + 39px); left: 92px; }
}

/* price
------------------------------------------------ */
/* facility */
.price-facility { position: relative; padding: 100px 0 55px; }
.price-facility-box { margin: 0; border-top: 1px solid #6D6D6D; }
.price-facility-box__title { font-size: 1.8rem; font-weight: 500; letter-spacing: 0.15em; line-height: 2.4; color: #EECD9D; }
.price-facility-box__text { margin: 0; font-size: 1.6rem; font-weight: 500; letter-spacing: 0.15em; line-height: 2.4; }
.price-facility-attention { margin: 20px 0 0; font-size: 1.3rem; letter-spacing: 0.08em; line-height: 2; }

@media screen and (max-width: 768px) {
  .price-facility > .l-wrap { padding: 0 20px; }
  .price-facility-box__title,
  .price-facility-box__text { padding: 0 20px; }
  .price-facility-box__title { padding-top: 18px; }
  .price-facility-box__text { margin-top: 6px; padding-bottom: 18px; border-bottom: 1px solid #6D6D6D; }
  .price-facility .u-deco { display: none; }
}

@media screen and (min-width: 769px) {
  .price-facility { padding: 180px 0 90px; }
  .price-facility > .l-wrap { max-width: 1100px; }
  .price-facility-box { display: grid; grid-template-columns: 150px calc(100% - 150px); }
  .price-facility-box__title,
  .price-facility-box__text { padding: 12px 0; border-bottom: 1px solid #6D6D6D; line-height: 2.4; }
  .price-facility-box__title { padding-left: 20px; font-size: 1.8rem; }
  .price-facility-box__text { padding-top: 15px; padding-right: 20px; font-size: 1.6rem; }
  .price-facility-attention { margin-top: 22px; font-size: 1.3rem; }
  .price-facility .u-deco-1 { top: 180px; left: 0; }
}

/* plan */
.price-plan { position: relative; padding: 55px 0; }
.price-plan .title-2 { margin-bottom: 20px; }
.price-plan-attention { margin: 0 0 30px; padding-left: 1.5em; text-indent: -1.5em; font-size: 1.2rem; font-weight: 500; letter-spacing: 0.15em; line-height: 1.8; }
.price-plan-block + .price-plan-block { margin-top: 80px; }
.price-plan-box { margin: 18px 0 0; border-top: 1px solid #6D6D6D; }
.price-plan-box__title { font-size: 1.8rem; font-weight: 500; letter-spacing: 0.15em; line-height: 2.4; color: #EECD9D; }
.price-plan-box__text { display: grid; grid-template-columns: 56px calc(100% - 56px); margin: 0; font-size: 1.6rem; font-weight: 500; letter-spacing: 0.15em; line-height: 2.4; }
.price-plan-box__text p { margin: 0; }
.price-plan-block__attention { margin: 0; font-size: 1.4rem; font-weight: 400; letter-spacing: 0.08em; line-height: 2; }
.price-plan-block__attention + .price-plan-block { margin-top: 0; }
.price-plan .u-deco-2 { mix-blend-mode: multiply; }

@media screen and (max-width: 768px) {
  .price-plan > .l-wrap { padding: 0 20px; }
  .price-plan-box__title,
  .price-plan-box__text { padding: 0 20px; }
  .price-plan-box__title { padding-top: 18px; }
  .price-plan-box__text { margin-top: 6px; padding-bottom: 18px; border-bottom: 1px solid #6D6D6D; }
  .price-plan-block__attention { margin: 10px 0 22px; }
  .price-plan .u-deco { display: none; }
}

@media screen and (min-width: 769px) {
  .price-plan { padding: 55px 0; }
  .price-plan > .l-wrap { max-width: 1100px; }
  .price-plan .title-2 { margin-bottom: 40px; }
  .price-plan-attention { margin-bottom: 40px; font-size: 1.6rem; line-height: 2.4; }
  .price-plan-block { display: flex; flex-wrap: wrap; align-items: center; }
  .price-plan-block + .price-plan-block { margin-top: 50px; }
  .price-plan-block .title-4 { gap: 20px; font-size: 2rem; }
  .price-plan-block .title-4::before { margin-top: 16px; width: 20px; height: 20px; }
  .price-plan-box { display: grid; grid-template-columns: 150px calc(100% - 150px); width: 100%; margin-top: 18px; }
  .price-plan-box__title,
  .price-plan-box__text { padding: 12px 0; border-bottom: 1px solid #6D6D6D; line-height: 2.4; }
  .price-plan-box__title { padding-left: 20px; font-size: 1.8rem; }
  .price-plan-box__text { grid-template-columns: 110px calc(100% - 110px); padding-top: 15px; padding-right: 20px; font-size: 1.6rem; }
  .price-plan-block__attention { margin-left: 20px; font-size: 1.4rem; }
  .price-plan .u-deco-1 { top: 62px; right: 60px; }
  .price-plan .u-deco-2 { top: 198px; right: 152px; }
}

/* amenitie */
.price-amenitie { position: relative; padding: 55px 0; }
.price-amenitie .title-2 { margin-bottom: 55px; }
.price-amenitie-lists { display: grid; gap: 8px; grid-template-columns: repeat(2,calc(50% - 4px)); }
.price-amenitie-lists__item { display: flex; justify-content: center; align-items: center; min-height: 66px; background-image: linear-gradient(245.89deg, #2D2D2D 8.12%, #242424 89.93%); font-size: 1.5rem; font-weight: 500; letter-spacing: 0.15em; line-height: 2.4; }

@media screen and (max-width: 768px) {
  .price-amenitie > .l-wrap { padding: 0 20px; }
}

@media screen and (min-width: 769px) {
  .price-amenitie { padding: 55px 0; }
  .price-amenitie > .l-wrap { max-width: 1100px; }
  .price-amenitie .title-2 { margin-bottom: 55px; }
  .price-amenitie-lists { gap: 10px; grid-template-columns: repeat(5,calc((100% / 5) - (10px / (5 / 4)))); }
  .price-amenitie-lists__item { min-height: 66px; font-size: 1.5rem; }
}

/* service */
.price-service { position: relative; padding-top: 55px; }
.price-service .title-2 { margin-bottom: 30px; }
.price-service-attention { margin: 0; padding-left: 1.5em; text-indent: -1.5em; font-size: 1.2rem; font-weight: 500; letter-spacing: 0.15em; line-height: 1.8; }
.price-service-lists { display: grid; gap: 55px; margin-top: 40px; }
.price-service-lists__item .title-4 { margin-bottom: 15px; }
.price-service-lists__content { padding: 26px 20px; background-image: linear-gradient(138.94deg, #9A9A9A 44.41%, #D9D9D9 100.81%); }
.price-service-lists__card { display: grid; row-gap: 20px; grid-template-columns: repeat(3,calc(100% / 3)); }
.price-service-lists__card > li { display: flex; justify-content: center; align-items: center; height: 60px; }
.price-service-lists__card > li img { object-fit: contain; font-family: 'object-fit: contain;'; }
.price-service-lists__emoney { display: grid; row-gap: 20px; grid-template-columns: repeat(3,calc(100% / 3)); }
.price-service-lists__emoney > li:not(.is-transportation) { display: flex; justify-content: center; align-items: center; height: 71px; }
.price-service-lists__emoney > li:not(.is-transportation) img { object-fit: contain; font-family: 'object-fit: contain;'; }
.price-service-lists__emoney > li.is-transportation { grid-column: 1 / 4; }

@media screen and (max-width: 768px) {
  .price-service > .l-wrap { padding: 0 20px; }
  .price-service .u-deco { display: none; }
}

@media screen and (min-width: 769px) {
  .price-service { padding-top: 55px; }
  .price-service > .l-wrap { max-width: 1100px; }
  .price-service .title-2 { margin-bottom: 40px; }
  .price-service-attention { font-size: 1.3rem; line-height: 2.4; }
  .price-service-lists { display: grid; gap: 42px; grid-template-columns: repeat(3,calc((100% / 3) - (42px / (3 /2)))); margin-top: 40px; }
  .price-service-lists__item { display: grid; gap: 0; grid-row: span 2; grid-template-rows: subgrid; }
  .price-service-lists__item .title-4 { margin-bottom: 25px; }
  .price-service-lists__content { padding: 30px; }
  .price-service-lists__card { row-gap: 16px; grid-template-columns: repeat(3,calc(100% / 3)); }
  .price-service-lists__card > li { height: 50px; }
  .price-service-lists__emoney { row-gap: 16px; grid-template-columns: repeat(3,calc(100% / 3)); }
  .price-service-lists__emoney > li:not(.is-transportation) { height: 61px; }
  .price-service .u-deco-1 { top: 186px; left: 0; }
}

/* news
------------------------------------------------ */
/* archive */
.news-archive { position: relative; padding: 60px 0; }
.news-archive:last-child { padding-bottom: 0; }

@media screen and (max-width: 768px) {
  .news-archive > .l-wrap { padding: 0 20px; }
}

@media screen and (min-width: 769px) {
  .news-archive { padding: 120px 0; }
  .news-archive > .l-wrap { max-width: 1100px; }
}

/* detail */
.news-detail-hd { position: relative; padding: 140px 0 68px; background-repeat: no-repeat; background-position: center center; background-size: cover; }
.news-detail-title { margin: 0; font-size: 2.4rem; font-weight: 400; letter-spacing: 0.08em; line-height: 1.8; color: #EECD9D; }
.news-detail-date { margin: 26px 0 0; font-family: 'garamond-premier-pro', serif; font-size: 1.8rem; font-weight: 400; letter-spacing: 0.05em; line-height: 1.2; }
.news-detail-content { position: relative; padding: 70px 0 100px; font-size: 1.3rem;font-weight: 500; letter-spacing: 0.15em; line-height: 2; }
.news-detail-content p { margin: 0; }
.news-detail-content p + p { margin-top: 2em; }
.news-detail-ft { position: relative; }

@media screen and (max-width: 768px) {
  .news-detail-hd > .l-wrap,
  .news-detail-content > .l-wrap,
  .news-detail-ft > .l-wrap { padding: 0 20px; }
  .news-detail-hd { background-image: url(./_assets/img/share/bg1.webp); }
}

@media screen and (min-width: 769px) {
  .news-detail-hd { padding: 185px 0 125px; background-image: url(./_assets/img/share/bg1-desktop.webp); }
  .news-detail-hd > .l-wrap { max-width: 1260px; }
  .news-detail-title { font-size: 3.2rem; letter-spacing: 0.3em; }
  .news-detail-date { margin-top: 30px; font-size: 2.4rem; }
  .news-detail-content { padding: 106px 0; font-size: 1.4rem;font-weight: 400; letter-spacing: 0.08em; }
  .news-detail-content > .l-wrap { max-width: 1100px; }
  .news-detail-ft > .l-wrap { max-width: 1100px; }
}

/* contact
------------------------------------------------ */
.contact { position: relative; padding-top: 60px; }
.contact .is-required { color: #EECD9D; }
.contact-text { margin: 0; font-size: 1.6rem; letter-spacing: 0.15em; line-height: 1.6; }
.contact-note { margin: 10px 0 0; font-size: 1.3rem; letter-spacing: 0.08em; line-height: 2; }
.contact-form { margin-top: 52px; }
.contact-form-block { position: relative; }
.contact-form-block + .contact-form-block { margin-top: 40px; }
.contact-form-label { display: block; position: relative; width: 100%; font-size: 1.4rem; letter-spacing: 0.15em; line-height: 1.1428571428; color: #EECD9D; }
.contact-form-parts { margin-top: 14px; }
.contact-form-parts input[type=text],
.contact-form-parts input[type=email],
.contact-form-parts input[type=tel],
.contact-form-parts textarea,
.contact-form-parts select { padding: 10px 20px; width: 100%; border: 1px solid #fff; font-size: 1.4rem; letter-spacing: 0.08em; line-height: 2; color: #fff; }
.contact-form-parts textarea { height: 200px; }
.contact-form-parts select { background: url(./_assets/img/icon/select_arrow1.svg) no-repeat right 18px center; background-size: 14px; }
.contact-form-parts input::placeholder,
.contact-form-parts textarea::placeholder { color: #fff; }
.contact-form-parts input::-webkit-input-placeholder,
.contact-form-parts textarea::-webkit-input-placeholder { color: #fff; }
.contact-form-parts input::-moz-placeholder,
.contact-form-parts textarea::-moz-placeholder { color: #fff; opacity: 1; }
.contact-form-parts input:-ms-input-placeholder,
.contact-form-parts textarea:-ms-input-placeholder { color: #fff; }
.contact-form-confirm { margin-top: 16px; font-size: 1.4rem; font-weight: 500; letter-spacing: 0.08em; line-height: 1.9; }
.contact-form-privacy { margin-top: 56px; }
.contact-form-privacy label { display: inline-flex; align-items: center; gap: 10px; position: relative; vertical-align: top; font-size: 1.4rem; line-height: 1.1428571428; }
.contact-form-privacy input { -webkit-appearance: none; -moz-appearance: none; -ms-appearance: none; appearance: none; width: 16px; height: 16px; border: 1px solid #fff; border-radius: 50%; box-shadow: none; }
.contact-form-privacy input:checked + span::before { content: ''; position: absolute; top: 50%; left: 4px; transform: translateY(-50%); width: 8px; height: 8px; background-color: #fff; border-radius: 50%; }
.contact-form-submit { position: relative; margin-top: 60px; }
.contact-form-submit input { display: block; -webkit-appearance: none; -moz-appearance: none; -ms-appearance: none; appearance: none; position: relative; margin: 0; padding: 0 48px 0 0; width: 100%; height: 58px; background: url(./_assets/img/icon/arrow1-white.svg) no-repeat right 24% center #BF9D6D; background-size: 14px 12px; border: none; border-radius: 0; box-shadow: none; text-align: center; font-family: inherit; font-size: 1.6rem; font-weight: 500; letter-spacing: 0.15em; line-height: 1.6; color: #fff; cursor: pointer; }
.contact-form-submit input:disabled { opacity: 0.6; }
.contact-form-submit .wpcf7-spinner { position: absolute; top: 50%; left: 50%; transform: translate(-50%, -50%); }
.contact-form-back { margin: 40px 0 0; text-align: center; font-size: 1.4rem; line-height: 1.1428571428; }
.contact-form-back input { display: inline-block; -webkit-appearance: none; -moz-appearance: none; -ms-appearance: none; appearance: none; padding: 0; background: none; border: none; border-radius: 0; box-shadow: none; text-decoration: underline; vertical-align: top; font-family: inherit; font-weight: inherit; color: #fff; cursor: pointer; }
.contact .u-deco-2 { mix-blend-mode: multiply; }
.contact .u-deco-4 { mix-blend-mode: overlay; }

.u-device-click .contact-form-submit input { transition: background-color 0.4s ease; }
.u-device-click .contact-form-back input { transition: opacity 0.4s ease; }
.u-device-click .contact-form-submit input:hover { background-color: rgba(191, 157, 109, 0.8); }
.u-device-click .contact-form-back input:hover { opacity: 0.8; }

@media screen and (max-width: 768px) {
  .contact > .l-wrap { padding: 0 20px; }
  .contact-form-privacy { text-align: center; }
  .contact .u-deco { display: none; }

  .contact-form.is-confirm .contact-form-block { padding-bottom: 25px; border-bottom: 1px solid #fff; }
  .contact-form.is-confirm .contact-form-block + .contact-form-block { margin-top: 25px; }
}

@media screen and (min-width: 769px) {
  .contact { padding-top: 160px; }
  .contact > .l-wrap { max-width: 1100px; }
  .contact-text { font-size: 1.8rem; line-height: 0.8888888888; }
  .contact-note { margin-top: 20px; font-size: 1.2rem; letter-spacing: 0.15em; line-height: 1; }
  .contact-form { margin-top: 97px; }
  .contact-form-block + .contact-form-block { margin-top: 60px; }
  .contact-form-label { font-size: 1.6rem; line-height: 1; }
  .contact-form-parts { margin-top: 20px; }
  .contact-form-parts input[type=text],
  .contact-form-parts input[type=email],
  .contact-form-parts input[type=tel],
  .contact-form-parts textarea,
  .contact-form-parts select { padding: 15px 20px; font-size: 1.4rem; letter-spacing: 0.08em; }
  .contact-form-parts textarea { height: 260px; }
  .contact-form-confirm { margin-top: 22px; font-size: 1.4rem; line-height: 2; }
  .contact-form-privacy { margin-top: 70px; }
  .contact-form-privacy label { gap: 10px; font-size: 1.6rem; }
  .contact-form-privacy input { width: 16px; height: 16px; }
  .contact-form-submit { margin-top: 120px; }
  .contact-form-submit input { margin: 0 auto; padding: 0 0 0 34px; width: 420px; height: 80px; background-position: right 24px center; background-size: 16px 14px; text-align: left; font-size: 1.8rem; line-height: 1.8; color: #fff; }
  .contact-form-back { margin-top: 40px; font-size: 1.4rem; }
  .contact .u-deco-1 { top: 77px; left: 0; }
  .contact .u-deco-2 { top: 158px; left: 92px; }
  .contact .u-deco-3 { top: 551px; right: 60px; }
  .contact .u-deco-4 { top: 1011px; left: 0; }

  .contact-form.is-confirm .contact-form-block:not(:first-child) { padding-top: 34px; border-top: 1px solid #fff; }
  .contact-form.is-confirm .contact-form-block + .contact-form-block { margin-top: 34px; }
}

/* thanks */
.contact-thanks { position: relative; padding-top: 45px; }
.contact-thanks-title { position: relative; margin-bottom: 46px; }
.contact-thanks-title__en,
.contact-thanks-title__ja { margin: 0; color: #EECD9D; }
.contact-thanks-title__en { font-family: 'garamond-premier-pro-display', serif; font-size: 5.6rem; font-weight: 300; letter-spacing: 0.1em; line-height: 1.2; }
.contact-thanks-title__ja { margin-top: 2px; font-size: 1.4rem; font-weight: 400; letter-spacing: 0.08em; line-height: 2; }
.contact-thanks-text { font-size: 1.3rem; font-weight: 400; letter-spacing: 0.08em; line-height: 2; }
.contact-thanks-text p { margin: 0; }
.contact-thanks-text p + p { margin-top: 26px; }
.contact-thanks-email { margin: 46px 0 0; font-family: 'garamond-premier-pro', serif; font-size: 1.8rem; font-weight: 400; letter-spacing: 0.08em; line-height: 1.8; }
.contact-thanks-email > a { display: inline-flex; align-items: center; gap: 10px; color: #EECD9D; }
.contact-thanks-email > a::before { content: ''; width: 18px; height: 18px; background: url(./_assets/img/icon/email1-gold.svg) no-repeat center center; background-size: 100%; }
.contact-thanks-top { margin-top: 85px; }
.contact-thanks .u-deco-2 { mix-blend-mode: multiply; }
.contact-thanks .u-deco-4 { mix-blend-mode: overlay; }

@media screen and (max-width: 768px) {
  .contact-thanks > .l-wrap { padding: 0 20px; }
  .contact-thanks-email { text-align: center; }
  .contact-thanks-top { text-align: center; }
  .contact-thanks .u-deco { display: none; }
}

@media screen and (min-width: 769px) {
  .contact-thanks { padding-top: 150px; }
  .contact-thanks > .l-wrap { max-width: 1100px; }
  .contact-thanks-title { margin-bottom: 70px; }
  .contact-thanks-title__en { font-size: 7.2rem; letter-spacing: 0.12em; line-height: 1.2; }
  .contact-thanks-title__ja { margin-top: 2px; font-size: 1.6rem; letter-spacing: 0.15em; line-height: 1.6; }
  .contact-thanks-text { font-size: 1.6rem; letter-spacing: 0.13em; line-height: 2.3; }
  .contact-thanks-text p + p { margin-top: 30px; }
  .contact-thanks-email { margin-top: 66px; font-size: 1.8rem; letter-spacing: 0.05em; line-height: 1.5; }
  .contact-thanks-email > a { gap: 16px; }
  .contact-thanks-email > a::before { width: 18px; height: 18px; }
  .contact-thanks-top { margin-top: 70px; }

  .contact-thanks .u-deco-1 { top: 77px; left: 0; }
  .contact-thanks .u-deco-2 { top: 158px; left: 92px; }
  .contact-thanks .u-deco-3 { top: 451px; right: 60px; }
}

/* privacy
------------------------------------------------ */
.privacy { position: relative; padding-top: 70px; }
.privacy-lead { margin: 0 0 70px; font-size: 1.3rem; font-weight: 400; letter-spacing: 0.08em; line-height: 2; }
.privacy-lists-item:not(:first-child) { margin-top: 70px; }
.privacy-lists-title,
.privacy-lists-text { margin: 0; }
.privacy-lists-title { margin-bottom: 16px; font-size: 2rem; font-weight: 400; letter-spacing: 0.15em; line-height: 1.6; color: #EECD9D; }
.privacy-lists-text { font-size: 1.3rem; font-weight: 400; letter-spacing: 0.08em; line-height: 2; }
.privacy-lists-text ul,
.privacy-lists-text ol { margin: 0 0 0 1.3em; padding: 0; }
.privacy-lists-text ul { list-style: disc; }
.privacy-lists-text ol { list-style: decimal; }
.privacy .u-deco-2 { mix-blend-mode: overlay; }
.privacy .u-deco-3 { mix-blend-mode: multiply; }
.privacy .u-deco-4 { mix-blend-mode: overlay; }
.privacy .u-deco-7 { mix-blend-mode: multiply; }

@media screen and (max-width: 768px) {
  .body-privacy .title-page-ja { font-size: 2.4rem; }
  .privacy > .l-wrap { padding: 0 20px; }
  .privacy .u-deco { display: none; }
}

@media screen and (min-width: 769px) {
  .body-privacy .title-page-ja { font-size: 4rem; }
  .privacy { padding-top: 150px; }
  .privacy > .l-wrap { max-width: 1100px; }
  .privacy-lead { margin-bottom: 70px; font-size: 1.3rem; letter-spacing: 0.15em; line-height: 2.4; }
  .privacy-lists-item:not(:first-child) { margin-top: 70px; }
  .privacy-lists-title { margin-bottom: 16px; font-size: 2.4rem; letter-spacing: 0.3em; }
  .privacy-lists-text { font-size: 1.3rem; letter-spacing: 0.15em; line-height: 2.4; }
  .privacy-lists-text ul,
  .privacy-lists-text ol { margin-left: 1.3em; }
  .privacy .u-deco-1 { top: 160px; left: 0; }
  .privacy .u-deco-2 { top: 423px; right: 60px; }
  .privacy .u-deco-3 { top: 554px; right: 152px; }
  .privacy .u-deco-4 { top: 1149px; left: 0; }
  .privacy .u-deco-5 { top: 1498px; right: 60px; }
  .privacy .u-deco-6 { bottom: 54px; left: 0; }
  .privacy .u-deco-7 { bottom: -40px; left: 92px; }
}

/* terms
------------------------------------------------ */
.terms { position: relative; padding-top: 70px; }
.terms-lead { margin: 0 0 70px; font-size: 1.3rem; font-weight: 400; letter-spacing: 0.08em; line-height: 2; }
.terms-lists-item:not(:first-child) { margin-top: 70px; }
.terms-lists-title,
.terms-lists-text { margin: 0; }
.terms-lists-title { margin-bottom: 16px; font-size: 2rem; font-weight: 400; letter-spacing: 0.15em; line-height: 1.6; color: #EECD9D; }
.terms-lists-text { font-size: 1.3rem; font-weight: 400; letter-spacing: 0.08em; line-height: 2; }
.terms-lists-text ul,
.terms-lists-text ol { margin: 0 0 0 1.3em; padding: 0; }
.terms-lists-text ul { list-style: disc; }
.terms-lists-text ol { list-style: decimal; }
.terms .u-deco-2 { mix-blend-mode: overlay; }
.terms .u-deco-3 { mix-blend-mode: multiply; }
.terms .u-deco-4 { mix-blend-mode: overlay; }
.terms .u-deco-7 { mix-blend-mode: multiply; }

@media screen and (max-width: 768px) {
  .page-terms .title-page-ja { font-size: 2.4rem; }
  .terms > .l-wrap { padding: 0 20px; }
  .terms .u-deco { display: none; }
}

@media screen and (min-width: 769px) {
  .page-terms .title-page-ja { font-size: 4rem; }
  .terms { padding-top: 150px; }
  .terms > .l-wrap { max-width: 1100px; }
  .terms-lead { margin-bottom: 70px; font-size: 1.3rem; letter-spacing: 0.15em; line-height: 2.4; }
  .terms-lists-item:not(:first-child) { margin-top: 70px; }
  .terms-lists-title { margin-bottom: 16px; font-size: 2.4rem; letter-spacing: 0.3em; }
  .terms-lists-text { font-size: 1.3rem; letter-spacing: 0.15em; line-height: 2.4; }
  .terms-lists-text ul,
  .terms-lists-text ol { margin-left: 1.3em; }
  .terms .u-deco-1 { top: 160px; left: 0; }
  .terms .u-deco-2 { top: 423px; right: 60px; }
  .terms .u-deco-3 { top: 554px; right: 152px; }
  .terms .u-deco-4 { top: 1149px; left: 0; }
  .terms .u-deco-5 { top: 1498px; right: 60px; }
  .terms .u-deco-6 { top: 2139px; left: 0; }
  .terms .u-deco-7 { top: 2236px; left: 92px; }
  .terms .u-deco-8 { bottom: 0; right: 60px; }
}

/* footer
------------------------------------------------ */
.l-ft { position: relative; padding: 170px 0 20px; z-index: 5; }
.l-ft-reservation > button { display: block; position: relative; width: 100%; text-align: left; color: #fff; overflow: hidden; }
.l-ft-reservation > button::after { content: ''; pointer-events: none; position: absolute; top: 0; left: 0; width: 100%; height: 100%; background-repeat: no-repeat; background-position: center center; background-size: cover; z-index: -1; }
.l-ft-reservation__en,
.l-ft-reservation__ja { position: relative; margin: 0; }
.l-ft-reservation__en { font-family: 'garamond-premier-pro-display', serif; font-size: 5rem; font-weight: 300; letter-spacing: 0.04em; line-height: 1; }
.l-ft-reservation__ja { display: flex; align-items: center; gap: 10px; margin-top: 18px; font-size: 1.4rem; font-weight: 400; letter-spacing: 0.2em; line-height: 1; }
.l-ft-reservation__ja::before { content: ''; display: block; width: 17px; height: 17px; background: url(./_assets/img/icon/symbol1.png) no-repeat center center; background-size: 100%; }
.l-ft-reservation__text { position: relative; margin-top: 40px; font-size: 1.2rem; font-weight: 400; letter-spacing: 0.05em; line-height: 1.2; }
.l-ft-reservation__text__line { margin: 0; position: relative; width: fit-content; overflow: hidden; }
.l-ft-links__item { position: relative; }
.l-ft-links__link { display: block; position: relative; width: 100%; text-align: left; text-decoration: none; color: #EECD9D; }
.l-ft-links__ja,
.l-ft-links__en { position: relative; margin: 0; }
.l-ft-links__ja { font-size: 1.6rem; font-weight: 500; letter-spacing: 0.1em; line-height: 1.2; overflow: hidden; }
.l-ft-links__en { margin-top: 6px; font-family: 'garamond-premier-pro', serif; font-size: 1.3rem; font-weight: 400; letter-spacing: 0.1em; line-height: 1.8; }
.l-ft-sublinks__item { font-size: 1.4rem; font-weight: 500; letter-spacing: 0.1em; line-height: 1.8; }
.l-ft-sublinks__item:not(:first-child) { margin-top: 15px; }
.l-ft-sublinks__item > a { display: block; position: relative; padding-left: 0.5em; text-decoration: none; }
.l-ft-sublinks__item > a::before { content: '-'; position: absolute; top: 0; left: 0; }
.l-ft-btns__item > a { display: grid; align-items: center; grid-template-columns: 120px calc(100% - 120px); position: relative; text-decoration: none; }
.l-ft-btns__item > a::after { content: ''; position: absolute; top: 50%; right: 18px; transform: translateY(-50%); width: 9px; height: 8px; background: url(./_assets/img/icon/arrow1-white.svg) no-repeat center center; background-size: 100%; }
.l-ft-btns__item > a[target=_blank]::after { width: 12px; height: 12px; background-image: url(./_assets/img/icon/external1-white.svg); }
.l-ft-btns__item.is-btn-shop > a { background-color: #8B6038; }
.l-ft-btns__item.is-btn-online > a { background-color: #BF9D6D; }
.l-ft-btns__photo { position: relative; overflow: hidden; }
.l-ft-btns__info { padding: 10px; }
.l-ft-btns__ja,
.l-ft-btns__en { margin: 0; }
.l-ft-btns__ja { position: relative; font-size: 1.5rem; width: fit-content; font-weight: 500; letter-spacing: 0.05em; line-height: 1.2; overflow: hidden; }
.l-ft-btns__en { margin: 3px 0 0; font-family: 'garamond-premier-pro', serif; font-size: 1.2rem; font-weight: 400; letter-spacing: 0.05em; line-height: 1.8; }
.l-ft-sns { margin: 0; }
.l-ft-sns__title { font-family: 'garamond-premier-pro', serif; font-size: 1.3rem; font-weight: 400; letter-spacing: 0.1em; line-height: 1.8; color: #EECD9D; }
.l-ft-sns__content { margin: 0; }
.l-ft-sns__lists { display: flex; align-items: center; gap: 20px; }
.l-ft-sns__lists__item.is-sns-x { width: 20px; }
.l-ft-sns__lists__item.is-sns-instagram { width: 20px; }
.l-ft-sns__lists__item.is-sns-youtube { width: 22px; }
.l-ft-sns__lists__item > a { display: block; width: 100%; }
.l-ft-sns__lists__item > a img { width: 100%; max-width: inherit; }
.l-ft-others__item { font-size: 1.4rem; font-weight: 500; letter-spacing: 0.1em; line-height: 1.8; }
.l-ft-others__item:not(:first-child) { margin-top: 15px; }
.l-ft-others__item > a { display: inline-block; text-decoration: none; vertical-align: top; color: #9C9C9C; }
.l-ft-logo { margin: 0; width: 252px; }
.l-ft-logo > a { display: block; width: 100%; }
.l-ft-logo > a img { width: 100%; max-width: inherit; }
.l-ft-copyright { margin: 0; font-family: 'garamond-premier-pro', serif; font-size: 1rem; font-weight: 400; letter-spacing: 0.1em; line-height: 1.8; }
.l-ft-copyright > small { font-size: inherit; }

.u-device-click .l-ft-reservation > button::after { transition: transform 0.4s ease; }
.u-device-click .l-ft-reservation__text__line > span { display: inline-block; position: relative; transition: transform 0.4s cubic-bezier(0.21, 0.6, 0.35, 1); vertical-align: top; }
.u-device-click .l-ft-reservation__text__line > span::before { content: attr(data-text); position: absolute; top: 0; left: 0; transition: opacity 1s ease; transform: translateY(1.2em); opacity: 0; }
.u-device-click .l-ft-reservation > button:hover::after { transform: scale(1.1); }
.u-device-click .l-ft-reservation > button:hover .l-ft-reservation__text__line > span { transform: translateY(-1.2em); }
.u-device-click .l-ft-reservation > button:hover .l-ft-reservation__text__line > span::before { opacity: 1; }
.u-device-click .l-ft-links__ja > span { display: inline-block; position: relative; transition: transform 0.6s cubic-bezier(0.21, 0.6, 0.35, 1); vertical-align: top; }
.u-device-click .l-ft-links__ja > span::before { content: attr(data-text); position: absolute; top: 0; left: 0; transition: opacity 1s ease; transform: translateY(1.2em); opacity: 0; }
.u-device-click .l-ft-links__link:hover .l-ft-links__ja > span { transform: translateY(-1.2em); }
.u-device-click .l-ft-links__link:hover .l-ft-links__ja > span::before { opacity: 1; }
.u-device-click .l-ft-btns__photo > img { transition: transform 0.4s ease; }
.u-device-click .l-ft-btns__ja > span { display: inline-block; position: relative; transition: transform 0.6s cubic-bezier(0.21, 0.6, 0.35, 1); vertical-align: top; }
.u-device-click .l-ft-btns__ja > span::before { content: attr(data-text); position: absolute; top: 0; left: 0; transition: opacity 1s ease; transform: translateY(1.2em); opacity: 0; }
.u-device-click .l-ft-btns__item > a:hover .l-ft-btns__photo > img { transform: scale(1.1); }
.u-device-click .l-ft-btns__item > a:hover .l-ft-btns__ja > span { transform: translateY(-1.2em); }
.u-device-click .l-ft-btns__item > a:hover .l-ft-btns__ja > span::before { opacity: 1; }
.u-device-click .l-ft-sns__lists__item > a { transition: opacity 0.4s ease; }
.u-device-click .l-ft-sns__lists__item > a:hover { opacity: 0.4; }

@media screen and (max-width: 768px) {
  .l-ft-reservation > button { padding: 40px 20px 38px; }
  .l-ft-reservation > button::after { background-image: url(./_assets/img/share/reservation_bg1.webp); }
  .l-ft-reservation__en::after { content: ''; position: absolute; bottom: 0.2em; right: 0; width: 16px; height: 16px; background: url(./_assets/img/icon/external1-white.svg) no-repeat center center; background-size: 100%; }
  .l-ft > .l-wrap { padding: 0 20px; }
  .l-ft-links { margin-top: 50px; }
  .l-ft-links__item { border-bottom: 1px solid #6D6D6D; }
  .l-ft-links__link { padding: 15px 0; }
  .l-ft-links__link::after { content: ''; position: absolute; top: 22px; right: 5px; width: 18px; height: 18px; background-color: #BF9D6D; border-radius: 50%; z-index: 1; }
  .l-ft-links__link .l-ft-links__ja::after { content: ''; position: absolute; top: 12px; right: 9px; width: 9px; height: 8px; background: url(./_assets/img/icon/arrow1-white.svg) no-repeat center center; background-size: 100%; z-index: 2; }
  .l-ft-links__link[aria-expanded] .l-ft-links__ja::before,
  .l-ft-links__link[aria-expanded] .l-ft-links__ja::after { content: ''; position: absolute; top: 15px; right: 9px; width: 10px; height: 1px; background-color: #fff; z-index: 2; }
  .l-ft-links__link[aria-expanded] .l-ft-links__ja::after { transition: transform 0.4s ease; transform: rotate(90deg); }
  .l-ft-links__link[aria-expanded=true] .l-ft-links__ja::after { transform: rotate(0); }
  .l-ft-sublinks { display: none; padding-bottom: 20px; }
  .l-ft-btns { margin-top: 60px; }
  .l-ft-btns__item:not(:first-child) { margin-top: 10px; }
  .l-ft-sns { display: flex; align-items: center; gap: 20px; margin-top: 50px; }
  .l-ft-others { margin-top: 44px; }
  .l-ft-logo { margin: 50px auto 0; }
  .l-ft-copyright { margin-top: 12px; text-align: center; }
}

@media screen and (min-width: 769px) {
  .l-ft { padding: 200px 0 50px; }
  .l-ft-reservation { margin-bottom: 115px; }
  .l-ft-reservation > button { padding: 60px 0 70px; }
  .l-ft-reservation > button::after { background-image: url(./_assets/img/share/reservation_bg1-desktop.webp); }
  .l-ft-reservation .l-wrap { max-width: 1300px; }
  .l-ft-reservation__en { font-size: 6rem; }
  .l-ft-reservation__ja { margin-top: 12px; font-size: 1.5rem; }
  .l-ft-reservation__text { display: inline-flex; align-items: center; gap: 10px; margin-top: 150px; padding: 0 10px 20px; border-bottom: 1px solid #fff; vertical-align: top; font-size: 1.4rem; }
  .l-ft-reservation__text::after { content: ''; width: 16px; height: 16px; background: url(./_assets/img/icon/external1-white.svg) no-repeat center center; background-size: 100%; }
  .l-ft-links { display: flex; justify-content: space-between; margin-bottom: 100px; padding: 20px 200px 0 440px; }
  .l-ft-links__item:not(:first-child) { margin-top: 28px; }
  .l-ft-links__ja { width: fit-content; font-size: 1.4rem; }
  .l-ft-links__en { margin-top: 6px; font-size: 1.2rem; }
  .l-ft-sublinks { margin-top: 15px; }
  .l-ft-sublinks__item { font-size: 1.2rem }
  .l-ft-sublinks__item:not(:first-child) { margin-top: 4px; }
  .l-ft-btns { display: flex; gap: 20px; position: absolute; bottom: 0; right: 80px; }
  .l-ft-btns__item { width: 360px; }
  .l-ft-btns__info { padding: 10px 25px; }
  .l-ft-btns__ja { font-size: 1.5rem; }
  .l-ft-btns__en { margin-top: 5px; font-size: 1.2rem; }
  .l-ft-sns { position: absolute; top: 20px; right: 80px; }
  .l-ft-sns__title { margin-bottom: 22px; font-size: 1.2rem; }
  .l-ft-others__item { font-size: 1.4rem; }
  .l-ft-others__item:not(:first-child) { margin-top: 15px; }
  .l-ft-logo { position: absolute; top: 0; left: 20px; width: 289px; }
  .l-ft-copyright { margin-top: 30px; font-size: 1rem; }
}

/* fixed
------------------------------------------------ */
.l-fixed-reservation { position: fixed; top: 0; right: 0; width: 60px; height: 100dvh; z-index: 20; }
.l-fixed-reservation > button { display: flex; flex-flow: column; justify-content: space-between; align-items: center; padding: 60px 0; width: 100%; height: 100%; background-color: #BF9D6D; text-align: left; color: #fff; }
.l-fixed-reservation__ja,
.l-fixed-reservation__en { margin: 0; writing-mode: vertical-rl; }
.l-fixed-reservation__ja { display: flex; align-items: center; gap: 15px; font-size: 1.4rem; letter-spacing: 0.3em; line-height: 1.4; }
.l-fixed-reservation__ja::before { content: ''; width: 17px; height: 15px; background: url(./_assets/img/icon/symbol2-white.svg) no-repeat center center; background-size: 100%; }
.l-fixed-reservation__ja::after { content: ''; width: 12px; height: 12px; background: url(./_assets/img/icon/external1-white.svg) no-repeat center center; background-size: 100%; }
.l-fixed-reservation__en { font-family: 'garamond-premier-pro', serif; font-size: 1.3rem; font-weight: 400; letter-spacing: 0.1em; line-height: 1.8; }

.u-device-click .l-fixed-reservation > button { transition: background-color 0.4s ease; }
.u-device-click .l-fixed-reservation > button:hover { background-color: rgba(191, 157, 109, 0.8); }

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

@media screen and (min-width: 769px) {
}

/* modal
------------------------------------------------ */
.modal { pointer-events: none; position: fixed; top: 0; left: 0; transition: opacity 0.4s ease; width: 100%; height: 100%; opacity: 0; z-index: 100; }
.modal[aria-hidden=false] { pointer-events: all; opacity: 1; }
.modal-content { position: absolute; top: 50%; left: 50%; transform: translate(-50%, -50%); padding: 50px 20px 70px; max-height: calc(100dvh - 40px); background-color: #212224; overflow-y: auto; overscroll-behavior-y: contain; }
.modal-title-ja,
.modal-title-en { margin: 0; text-align: center; line-height: 1.2; }
.modal-title-ja { margin-bottom: 14px; font-size: 2.4rem; font-weight: 400; letter-spacing: 0.3em; }
.modal-title-en { font-family: 'garamond-premier-pro', serif; font-size: 1.4rem; font-weight: 400; letter-spacing: 0.15em; color: #EECD9D; }
.modal-close { position: absolute; top: 22px; right: 22px; width: 20px; height: 20px; }
.modal-close::before,
.modal-close::after { content: ''; position: absolute; top: 0; left: 50%; width: 28px; height: 100%; background-color: #fff; }
.modal-close::before { transform: rotate(-45deg); width: 1px; }
.modal-close::after { transform: rotate(45deg); width: 1.58px; }
.modal-overlay { position: absolute; top: 0; left: 0; width: 100%; height: 100%; background-color: rgba(0, 0, 0, 0.4); z-index: -1; }

@media screen and (max-width: 768px) {
  .modal-content { width: calc(100% - 40px); }
}

@media screen and (min-width: 769px) {
  .modal-content { padding: 50px 40px 100px; width: calc(100% - 40px); }
  .modal-title-ja { margin-bottom: 14px; font-size: 2.4rem; }
  .modal-title-en { font-size: 1.4rem; }
}

/* notice */
.modal-notice .modal-title { margin-bottom: 76px; }
.modal-notice-lists__title { margin: 0 0 40px; text-align: center; font-size: 1.8rem; font-weight: 500; letter-spacing: 0.15em; line-height: 1.8; color: #EECD9D; }
.modal-notice-lists__text { text-align: center; font-size: 1.3rem; font-weight: 500; letter-spacing: 0.13em; line-height: 1.8; }
.modal-notice-lists__text p { margin: 0; }
.modal-notice-lists__text p + p { margin-top: 1.8em; }
.modal-notice-lists__link { margin-top: 24px; text-align: center; font-size: 1.4rem; font-weight: 500; }
.modal-notice-lists__link > a { gap: 15px; }

@media screen and (max-width: 768px) {
  .modal-notice-lists__item:not(:last-child) { margin-bottom: 40px; padding-bottom: 40px; border-bottom: 1px solid #6D6D6D; }
}

@media screen and (min-width: 769px) {
  .modal-notice .modal-title { margin-bottom: 54px; }
  .modal-notice .modal-content { max-width: 460px; }
  .modal-notice-lists__item { padding: 26px 50px; }
  .modal-notice-lists__item:not(:last-child) { border-right: 1px solid #6D6D6D; }
  .modal-notice-lists__title { margin-bottom: 40px; font-size: 1.8rem; }
  .modal-notice-lists__text { text-align: left; font-size: 1.3rem; line-height: 2; }
  .modal-notice-lists__text p + p { margin-top: 2em; }
  .modal-notice-lists__link { margin-top: 42px; font-size: 1.4rem; }
  .modal-notice.is-column-2 .modal-content { max-width: 840px; }
  .modal-notice.is-column-3 .modal-content { max-width: 1160px; }
  .modal-notice-lists[data-column-desktop] { display: grid; }
  .modal-notice-lists[data-column-desktop='2'] { grid-template-columns: repeat(3,calc(100% / 2)); }
  .modal-notice-lists[data-column-desktop='3'] { grid-template-columns: repeat(3,calc(100% / 3)); }
  .modal-notice-lists[data-column-desktop='3'] .modal-notice-lists__item { padding-right: 40px; padding-left: 40px; }
}

/* reservation */
.modal-reservation .modal-title { margin-bottom: 76px; }
.modal-reservation-none { margin: 0; text-align: center; font-size: 1.4rem; font-weight: 400; letter-spacing: 0.01em; line-height: 1.8; color: #EECD9D; }

@media screen and (max-width: 768px) {
  .modal-reservation-lists[data-column-mobile] { display: grid; }
  .modal-reservation-lists[data-column-mobile='1'] { gap: 20px; }
}

@media screen and (min-width: 769px) {
  .modal-reservation .modal-content { max-width: 1160px; }
  .modal-reservation .modal-title { margin-bottom: 96px; }
  .modal-reservation-lists { margin: 0 auto; max-width: 880px; }
  .modal-reservation-lists[data-column-desktop] { display: grid; }
  .modal-reservation-lists[data-column-desktop='1'] { justify-content: center; gap: 20px; grid-template-columns: 280px; }
  .modal-reservation-lists[data-column-desktop='3'] { gap: 20px; grid-template-columns: repeat(3,calc((100% / 3) - (20px / (3 / 2)))); }
  .modal-reservation-none { font-size: 1.8rem; }
}