@charset "UTF-8";
html {
  scroll-behavior: smooth;
}

body {
  overflow: visible;
  overflow-x: visible;
  overflow-y: visible;
}

/***
* ユーティリティ
***/
/* アクセシビリティ的に入れた要素を見かけ上消す */
.visually-hidden {
  position: absolute;
  width: 1px;
  height: 1px;
  margin: -1px;
  padding: 0;
  overflow: hidden;
  clip: rect(0, 0, 0, 0);
  white-space: nowrap;
  border: 0;
}

.fadein.aElm {
  transition: opacity 0.6s ease 0s;
  opacity: 0;
}
.fadein.aElm.aStart {
  opacity: 1;
}

.fadein-up.aElm {
  transition: transform 0.6s ease 0s, opacity 0.6s ease 0s;
  transform: translateY(10px);
  opacity: 0;
}
.fadein-up.aElm.aStart {
  transform: translateY(0);
  opacity: 1;
}

.fadein-down.aElm {
  transition: transform 0.6s ease 0s, opacity 0.6s ease 0s;
  transform: translateY(-10px);
  opacity: 0;
}
.fadein-down.aElm.aStart {
  transform: translateY(0);
  opacity: 1;
}

.fadein-l-to-r.aElm {
  transition: transform 0.6s ease 0s, opacity 0.6s ease 0s;
  transform: translateX(-10px);
  opacity: 0;
}
.fadein-l-to-r.aElm.aStart {
  transform: translateX(0);
  opacity: 1;
}

.fadein-r-to-l.aElm {
  transition: transform 0.6s ease 0s, opacity 0.6s ease 0s;
  transform: translateX(10px);
  opacity: 0;
}
.fadein-r-to-l.aElm.aStart {
  transform: translateX(0);
  opacity: 1;
}

/* アニメーション */
@keyframes luxury-shine-loop {
  /* 待機（高級感の間） */
  0% {
    transform: translateX(-130%) skewX(-20deg);
    opacity: 0;
  }
  12% {
    opacity: 1;
  }
  /* 光が流れる */
  28% {
    transform: translateX(130%) skewX(-20deg);
    opacity: 1;
  }
  /* 余韻でフェードアウト */
  35% {
    opacity: 0;
  }
  /* 残りは何もしない（間を作る） */
  100% {
    transform: translateX(130%) skewX(-20deg);
    opacity: 0;
  }
}
/***
  アコーディオン用
**********************/
.acOuter {
  height: 0;
  overflow: hidden;
}
.acOuter.loaded {
  height: auto;
}

.acInner {
  transition: margin-top 0.4s ease 0s;
}
.acInner.onOpen {
  margin-top: 0 !important;
}

/***
* 共通パーツ
***/
/* 来店予約ボタン全般につける */
.reserveButton {
  cursor: pointer;
}

/* 来店予約ブロック */
.common-reservation-block {
  position: relative;
  padding-top: 18.0952380952cqw;
  padding-bottom: 10.2380952381cqw;
  width: 100cqw;
}
.common-reservation-block--iridescent-effect::after {
  content: "";
  display: block;
  position: absolute;
  left: 0;
  bottom: 0;
  width: 100%;
  aspect-ratio: 420/285;
  z-index: 1;
  background-image: url(../img/common-reservation-block-iridescent-effect.webp);
  background-repeat: no-repeat;
  background-size: contain;
  background-position: center bottom;
  mix-blend-mode: screen;
  z-index: 1;
}
.common-reservation-block--text-brown .common-reservation-block__text01 > svg path,
.common-reservation-block--text-brown .common-reservation-block__text02 > svg path {
  fill: #6F4A0D;
}

.common-reservation-block__inner {
  position: relative;
  display: flex;
  flex-direction: column;
  align-items: center;
  z-index: 2;
}

.common-reservation-block__text01 {
  width: 68.8095238095cqw;
  margin-bottom: 6.6666666667cqw;
  line-height: 1;
}

.common-reservation-block__text02 {
  width: 49.5238095238cqw;
  margin-bottom: 6.6666666667cqw;
  line-height: 1;
}

.common-reservation-block__btn {
  width: 80.9523809524cqw;
  line-height: 1;
}

.common-reservation-block__petal01 {
  position: absolute;
  width: 16.0714285714cqw;
  top: 0cqw;
  left: 69.7619047619cqw;
  z-index: 2;
}

.common-reservation-block__petal02 {
  position: absolute;
  width: 13.8571428571cqw;
  top: 33.2142857143cqw;
  left: 7.619047619cqw;
  z-index: 2;
}

.common-reservation-block__image {
  position: absolute;
  width: 13.3333333333cqw;
  top: 22.1904761905cqw;
  left: 74.5238095238cqw;
  z-index: 2;
}

/***
* MVブロック
***/
.mvBlock {
  position: relative;
  background-color: #fff;
  overflow: hidden;
  container-type: inline-size;
  z-index: 1;
}
.mvBlock .on_pc {
  display: none;
}
@media (min-width: 768px) {
  .mvBlock {
    container-type: initial;
    background-image: url(../img/mv_bg.webp);
    background-repeat: no-repeat;
    background-size: cover;
    background-position: center bottom;
    max-height: 800px;
  }
  .mvBlock .on_pc {
    display: block;
  }
  .mvBlock .on_sp {
    display: none;
  }
}

.mvBlock__inner {
  position: relative;
  height: 190.4761904762cqw;
  background-color: #d6a055;
}
.mvBlock__inner::after {
  content: "";
  display: block;
  position: absolute;
  width: 100%;
  height: 66.1904761905cqw;
  bottom: 0;
  left: 0;
  z-index: 2;
  background-image: url(../img/sub_iridescent-effect-sp.webp);
  background-repeat: no-repeat;
  background-size: cover;
  background-position: center center;
  mix-blend-mode: screen;
}
@media (min-width: 768px) {
  .mvBlock__inner {
    container-type: size;
    display: flex;
    max-width: 1400px;
    height: auto;
    max-height: 100%;
    margin-left: auto;
    margin-right: auto;
    aspect-ratio: 1400/800;
    background: none;
  }
  .mvBlock__inner::after {
    display: none;
  }
}

.mvBlock__flower {
  position: absolute;
  z-index: 4;
  width: 45.5714285714cqw;
  left: -26.6428571429cqw;
  bottom: 0;
}

.mvBlock__iridescent-effect {
  position: absolute;
  top: 16.6666666667cqw;
  left: 0;
  z-index: 3;
  mix-blend-mode: screen;
}
@media (min-width: 768px) {
  .mvBlock__iridescent-effect {
    top: 0;
    width: 61.4285714286cqw;
  }
}

.mvBlock__logo {
  position: absolute;
  width: 24.5238095238cqw;
  top: 5.4761904762cqw;
  left: 5.4761904762cqw;
  z-index: 4;
}
@media (min-width: 768px) {
  .mvBlock__logo {
    width: 9.3571428571cqw;
    top: 3.2857142857cqw;
    left: 7.3571428571cqw;
  }
}

.mvBlock__main {
  position: relative;
  z-index: 2;
  background-image: url(../img/mv_bg-sp.webp);
  background-repeat: no-repeat;
  background-size: cover;
  background-position: right bottom;
  width: 100%;
  height: 123.8095238095cqw;
  padding-top: 9.5238095238cqw;
}
@media (min-width: 768px) {
  .mvBlock__main {
    background: none;
    container-type: size;
    width: 61.4285714286cqw;
    padding-top: 0;
    height: auto;
  }
}

.mvBlock__mainimg {
  width: 89.7619047619cqw;
  -o-object-fit: cover;
     object-fit: cover;
  -o-object-position: center center;
     object-position: center center;
  margin-left: auto;
  margin-right: auto;
}
@media (min-width: 768px) {
  .mvBlock__mainimg {
    width: 100%;
    margin-top: 0;
  }
}

.mvBlock__sub {
  position: relative;
  z-index: 3;
}
@media (min-width: 768px) {
  .mvBlock__sub {
    container-type: size;
    width: 30cqw;
  }
  .mvBlock__sub::before {
    content: "";
    display: block;
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    z-index: 1;
    background-color: #d6a055;
    mix-blend-mode: multiply;
  }
  .mvBlock__sub::after {
    content: "";
    display: block;
    position: absolute;
    width: 100%;
    height: 100%;
    top: 0;
    left: 0;
    z-index: 2;
    background-image: url(../img/sub_iridescent-effect.webp);
    background-repeat: no-repeat;
    background-size: cover;
    background-position: center center;
    mix-blend-mode: screen;
  }
}

.mvBlock__sub-inner {
  position: relative;
  z-index: 4;
  display: flex;
  flex-direction: column;
  align-items: center;
}
@media (min-width: 768px) {
  .mvBlock__sub-inner::after {
    content: "";
    display: block;
    height: 13.5714285714cqw;
    width: 2px;
    background-color: #fff;
    margin-top: 4.2857142857cqw;
  }
}

.mvBlock__title {
  width: 77.380952381cqw;
  margin-top: 9.5238095238cqw;
  filter: drop-shadow(0 0 0.7142857143cqw rgba(0, 0, 0, 0.5));
}
@media (min-width: 768px) {
  .mvBlock__title {
    width: 78.3333333333cqw;
    margin-top: 39.5238095238cqw;
    filter: none;
  }
}

.mvBlock__sub-lead {
  width: 75.7142857143cqw;
  margin-top: 3.5714285714cqw;
}
@media (min-width: 768px) {
  .mvBlock__sub-lead {
    width: 71.1904761905cqw;
    margin-top: 10.4761904762cqw;
  }
}

.mvBlock__sub-shop {
  width: 69.5238095238cqw;
  margin-top: 14.2857142857cqw;
}

.mvBlock__btn {
  width: 68.8095238095cqw;
  margin-top: 3.5714285714cqw;
}
@media (min-width: 768px) {
  .mvBlock__btn {
    width: 38.0952380952cqw;
    margin-top: 7.380952381cqw;
  }
}

.mvBlock__sub-fig01 {
  position: absolute;
  width: 42.8571428571cqw;
  top: 62.1428571429cqw;
  left: -30.7142857143cqw;
  z-index: 3;
}

.mvBlock__sub-fig02 {
  position: absolute;
  width: 42.380952381cqw;
  top: 110.2380952381cqw;
  left: 78.3333333333cqw;
  z-index: 3;
}

/***
* 追従メニュー pc未満のみ
***/
.fix-menu {
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  pointer-events: none;
  z-index: 9;
  opacity: 1;
  transition: opacity 0.4s ease 0s;
}
@media (min-width: 1024px) {
  .fix-menu {
    opacity: 0;
  }
}
.fix-menu:has(.fix-nav-switch:checked) .fix-nav {
  opacity: 1;
  pointer-events: all;
}
.fix-menu:has(.fix-nav-switch:checked) .fix-menu-btn {
  background-color: rgba(255, 255, 255, 0);
}
.fix-menu:has(.fix-nav-switch:checked) .fix-menu-btn > span:first-child {
  top: calc((12.8571428571vw - 2px) / 2);
  transform: rotate(-45deg);
}
.fix-menu:has(.fix-nav-switch:checked) .fix-menu-btn > span:last-child {
  bottom: calc((12.8571428571vw - 2px) / 2);
  transform: rotate(45deg);
}
@media (min-width: 768px) {
  .fix-menu:has(.fix-nav-switch:checked) .fix-menu-btn > span:first-child {
    top: calc((5.2785923754vw - 2px) / 2);
  }
  .fix-menu:has(.fix-nav-switch:checked) .fix-menu-btn > span:last-child {
    bottom: calc((5.2785923754vw - 2px) / 2);
  }
}

.fix-nav-switch {
  display: none;
  /*position: absolute;
  top: 0;
  left: 0;*/
}

.fix-menu-btn {
  position: absolute;
  top: 10px;
  right: 10px;
  width: 12.8571428571vw;
  aspect-ratio: 1;
  border-radius: 50%;
  background-color: rgba(255, 255, 255, 0.6);
  pointer-events: all;
  cursor: pointer;
  z-index: 2;
  transition: background-color 0.4s ease 0s;
}
@media (min-width: 768px) {
  .fix-menu-btn {
    width: 5.2785923754vw;
  }
}
@media (min-width: 1024px) {
  .fix-menu-btn {
    pointer-events: none;
  }
}
.fix-menu-btn > span {
  position: absolute;
  background-color: #000;
  width: 7.2vw;
  aspect-ratio: 1/1;
  height: 2px;
  left: 2.8285714286vw;
  transform-origin: center center;
}
.fix-menu-btn > span:first-child {
  top: 4.6285714286vw;
  transition: transform 0.4s ease 0s, top 0.4s ease 0s;
}
.fix-menu-btn > span:last-child {
  bottom: 4.6285714286vw;
  transition: transform 0.4s ease 0s, bottom 0.4s ease 0s;
}
@media (min-width: 768px) {
  .fix-menu-btn > span {
    width: 2.9560117302vw;
    left: 1.1612903226vw;
  }
  .fix-menu-btn > span:first-child {
    top: 1.9002932551vw;
  }
  .fix-menu-btn > span:last-child {
    bottom: 1.9002932551vw;
  }
}

.fix-nav {
  position: relative;
  width: 100%;
  height: 100%;
  display: flex;
  justify-content: center;
  align-items: center;
  background-color: rgba(255, 255, 255, 0.95);
  pointer-events: none;
  opacity: 0;
  transition: opacity 0.4s ease 0s;
  z-index: 1;
}

.fix-nav-inner {
  width: 42.8571428571vw;
  container-type: inline-size;
}
@media (min-width: 768px) {
  .fix-nav-inner {
    width: 180px;
  }
}
.fix-nav-inner > h2 {
  width: 33.3333333333cqw;
  margin-bottom: 16.6666666667cqw;
  line-height: 1;
}
.fix-nav-inner > ul {
  margin: 0;
  padding: 0;
}
.fix-nav-inner > ul > li {
  font-family: "Yu Mincho", "游明朝", "YuMincho", "Hiragino Mincho ProN", "Hiragino Mincho Pro", "Noto Serif JP", serif;
  display: flex;
  align-items: center;
  gap: 0.5em;
  padding: 0;
  font-weight: 600;
  font-size: 10cqw;
  letter-spacing: 0.05em;
  line-height: 1;
}
.fix-nav-inner > ul > li::before {
  content: "";
  width: 0.4em;
  height: 0.4em;
  border-radius: 50%;
  background-color: #B27715;
}
.fix-nav-inner > ul > li > a:hover {
  text-decoration: underline;
  text-underline-offset: 0.2em;
  text-decoration-thickness: 1px;
}
.fix-nav-inner > ul > li + li {
  margin-top: 1.5em;
}

.modal-opened .fix-menu {
  opacity: 0;
  pointer-events: none !important;
}
.modal-opened .fix-menu-btn {
  pointer-events: none !important;
}
.modal-opened .fix-nav {
  pointer-events: none !important;
}

/***
* MV以下のブロック
***/
.contentBlock {
  width: 100%;
  display: flex;
  align-items: flex-start;
}

.contentBlock__l,
.contentBlock__r {
  display: none;
}
@media (min-width: 768px) {
  .contentBlock__l,
  .contentBlock__r {
    display: block;
    position: sticky;
    top: 0;
    width: calc((100% - 420px) * 0.5);
    height: 100dvh;
    flex-grow: 0;
    flex-shrink: 0;
  }
}

/***
* PC左ブロック
***/
@media (min-width: 768px) {
  .contentBlock__l {
    display: flex;
  }
}
.contentBlock__l {
  justify-content: center;
  align-items: flex-start;
  order: 1;
  left: 0;
  padding: 10px;
  background-image: url(../img/left-block_bg.webp);
  background-repeat: no-repeat;
  background-position: left bottom;
  background-size: cover;
  overflow: scroll;
  /* IE, Edge */
  -ms-overflow-style: none;
  /* Firefox */
  scrollbar-width: none;
}
.contentBlock__l > .side-content {
  container-type: size;
  width: 100%;
  height: 100%;
  max-width: 395px;
  margin-left: auto;
  margin-right: auto;
  opacity: 0;
  transition: opacity 0.4s ease 0s;
  pointer-events: none;
}
@media (min-width: 1024px) {
  .contentBlock__l > .side-content {
    opacity: 1;
    pointer-events: all;
  }
}
.contentBlock__l > .side-content > .left-inner {
  container-type: size;
  max-width: 100%;
  max-height: 100%;
  margin-top: max((100cqh - 165.3164556962cqw) * 0.307, 0px);
  margin-left: auto;
  margin-right: auto;
  aspect-ratio: 395/653;
  display: flex;
  flex-direction: column;
  align-items: center;
  z-index: 2;
}
.contentBlock__l .left-iridescent-effect {
  width: 100cqw;
  margin-bottom: -4.0506329114cqw;
  mix-blend-mode: screen;
}
.contentBlock__l .left-title {
  width: 71.3924050633cqw;
  margin-bottom: 9.1139240506cqw;
  line-height: 1;
}
.contentBlock__l .left-text {
  width: 55.6962025316cqw;
  margin-bottom: 7.5949367089cqw;
  line-height: 1;
}
.contentBlock__l .left-btn {
  display: block;
  width: 40.5063291139cqw;
  cursor: pointer;
}

/***
* PC右ブロック
***/
.contentBlock__r {
  order: 3;
  right: 0;
  padding: 10px;
  background-image: url(../img/right-block_bg.webp);
  background-repeat: no-repeat;
  background-size: cover;
  background-position: center bottom;
}
.contentBlock__r::before {
  content: "";
  display: block;
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 64.7%;
  max-height: 540px;
  background-image: url(../img/right-block_iridescent-effect01.webp);
  background-repeat: repeat-x;
  background-size: auto 100%;
  background-position: left top;
  mix-blend-mode: screen;
  opacity: 0.9;
  z-index: 2;
}
.contentBlock__r::after {
  content: "";
  display: block;
  position: absolute;
  bottom: 0;
  left: 0;
  width: 100%;
  height: 37.8%;
  max-height: 315px;
  background-image: url(../img/right-block_iridescent-effect02.webp);
  background-repeat: repeat-x;
  background-size: auto 100%;
  background-position: left bottom;
  mix-blend-mode: screen;
  opacity: 0.9;
  z-index: 2;
}
.contentBlock__r {
  overflow: scroll;
  /* IE, Edge */
  -ms-overflow-style: none;
  /* Firefox */
  scrollbar-width: none;
}
.contentBlock__r > .side-content {
  position: relative;
  container-type: size;
  width: 100%;
  height: 100%;
  max-width: 180px;
  margin-left: clamp(10px, (100% - 180px) * 0.5, 80px);
  margin-right: auto;
  z-index: 3;
  opacity: 0;
  transition: opacity 0.4s ease 0s;
  pointer-events: none;
}
@media (min-width: 1024px) {
  .contentBlock__r > .side-content {
    opacity: 1;
    pointer-events: all;
  }
}
.contentBlock__r > .side-content > .right-inner {
  container-type: size;
  max-width: 100%;
  max-height: 100%;
  margin-top: max((100cqh - 183.3333333333cqw) * 0.55, 0px);
  margin-left: auto;
  margin-right: auto;
  aspect-ratio: 180/330;
}
.contentBlock__r > .side-content > .right-inner > h2 {
  width: 25.6388888889cqw;
  margin-bottom: 11.1111111111cqw;
  line-height: 1;
}
.contentBlock__r > .side-content > .right-inner > ul {
  margin: 0;
  padding: 0;
}
.contentBlock__r > .side-content > .right-inner > ul > li {
  font-family: "Yu Mincho", "游明朝", "YuMincho", "Hiragino Mincho ProN", "Hiragino Mincho Pro", "Noto Serif JP", serif;
  display: flex;
  align-items: center;
  gap: 0.5em;
  padding: 0;
  font-weight: 600;
  font-size: 8.8888888889cqw;
  letter-spacing: 0.05em;
  line-height: 1;
}
.contentBlock__r > .side-content > .right-inner > ul > li::before {
  content: "";
  width: 0.4em;
  height: 0.4em;
  border-radius: 50%;
  background-color: #B27715;
}
.contentBlock__r > .side-content > .right-inner > ul > li > a:hover {
  text-decoration: underline;
  text-underline-offset: 0.2em;
  text-decoration-thickness: 1px;
}
.contentBlock__r > .side-content > .right-inner > ul > li + li {
  margin-top: 1em;
}

.contentBlock__content {
  position: relative;
  width: 100%;
  container-type: inline-size;
  overflow: hidden;
  padding-bottom: 60px;
}
@media (min-width: 768px) {
  .contentBlock__content {
    order: 2;
    width: 420px;
    flex-grow: 0;
    flex-shrink: 0;
    padding-bottom: 0;
  }
  .contentBlock__content:has(.floating-list-btn.ctajsModal) {
    padding-bottom: 60px;
  }
}

/***
* info list
***/
.hakama-sp-info {
  display: none;
  padding-top: 2.8571428571cqw;
  padding-bottom: 3.3333333333cqw;
  background-color: #F5F3E9;
  border-bottom: 2px solid #B48D45;
}
.hakama-sp-info.onsp {
  display: block;
}
@media (min-width: 768px) {
  .hakama-sp-info.onsp {
    display: none;
  }
}
@media (min-width: 768px) {
  .hakama-sp-info.onpc {
    display: block;
  }
}
.hakama-sp-info:not(:has(.hakama-sp-info-item)) {
  display: none !important;
}

.hakama-sp-info-list {
  display: flex;
}

.hakama-sp-info-item {
  flex: 1;
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: center;
  padding: 1.9047619048cqw;
}
.hakama-sp-info-item + .hakama-sp-info-item {
  border-left: 1px dashed #B48D45;
}

.hakama-sp-info-item__icon {
  margin-bottom: 3.0952380952cqw;
  width: 22.1428571429cqw;
}
.hakama-sp-info-item__icon > a {
  display: block;
}
.hakama-sp-info-item__icon img {
  display: block;
  max-width: 100%;
}
.hakama-sp-info-item__icon:has(.has-popup) > a {
  position: relative;
}
.hakama-sp-info-item__icon:has(.has-popup) > a::after {
  content: "";
  display: block;
  position: absolute;
  bottom: 7.5268817204%;
  left: 0;
  right: 0;
  margin-left: auto;
  margin-right: auto;
  width: 19.3548387097%;
  aspect-ratio: 18/10;
  background-image: url(../img/info-arrow.svg);
  background-repeat: no-repeat;
  background-size: contain;
  background-position: center center;
}

.hakama-sp-info-item__title {
  margin-bottom: 1.9047619048cqw;
  font-size: 3.8095238095cqw;
  font-weight: 600;
  color: #B48D45;
  line-height: 1.2;
}

.hakama-sp-info-item__text {
  font-size: 2.619047619cqw;
  font-weight: 500;
  text-align: center;
  line-height: 1.4545454545;
}

/***
* sec01
***/
.sec01 {
  position: relative;
  background-image: url(../img/sec01_bg.webp);
  background-repeat: no-repeat;
  background-size: cover;
  background-position: center top;
  padding-top: 35.2380952381cqw;
  padding-bottom: 11.9047619048cqw;
  padding-left: 4.7619047619cqw;
  padding-right: 4.7619047619cqw;
}

.sec01-h {
  display: block;
  width: 70.2380952381cqw;
  margin-left: auto;
  margin-right: auto;
  margin-bottom: 9.5238095238cqw;
  line-height: 1;
}

.sec01-flower {
  display: block;
  position: absolute;
  top: 12.380952381cqw;
  right: 9.5238095238cqw;
  width: 29.5238095238cqw;
}

.sec01-sub {
  position: relative;
  background-color: #fff;
  border-radius: 2.8571428571cqw;
  padding-top: 8.3333333333cqw;
  padding-bottom: 9.5238095238cqw;
  padding-left: 4.7619047619cqw;
  padding-right: 4.7619047619cqw;
}
.sec01-sub > h3 {
  width: 41.6666666667cqw;
  margin-bottom: 5.9523809524cqw;
  margin-left: auto;
  margin-right: auto;
  line-height: 1;
}
.sec01-sub > h4 {
  width: 73.3333333333cqw;
  margin-left: auto;
  margin-right: auto;
  margin-bottom: 3.8095238095cqw;
  line-height: 1;
}
.sec01-sub > h4:nth-of-type(2) {
  margin-top: 12.619047619cqw;
}

.sec01-sub-petal01 {
  position: absolute;
  width: 16.1904761905cqw;
  top: 5.4761904762cqw;
  right: 3.0952380952cqw;
}

.sec01-sub-petal02 {
  position: absolute;
  width: 14.2857142857cqw;
  bottom: -8.0952380952cqw;
  left: 8.8095238095cqw;
}

.sec01-sub-slider {
  margin-bottom: 0 !important;
}
.sec01-sub-slider:not(:has(.sec01-sub-slider__item:nth-child(2))) .slick-dots {
  display: none;
}
.sec01-sub-slider .slick-dots {
  bottom: -5.2380952381cqw;
  display: flex;
  justify-content: center;
  align-items: center;
  gap: 1.6666666667cqw;
}
.sec01-sub-slider .slick-dots > li {
  display: flex;
  justify-content: center;
  align-items: center;
  background-color: #fff;
  width: 2.380952381cqw;
  height: 2.380952381cqw;
  margin: 0;
  padding: 0;
  border: 1px solid #B27715;
  border-radius: 50%;
}
.sec01-sub-slider .slick-dots > li > button {
  width: 100%;
  height: 100%;
  border-radius: 50%;
  padding: 0;
  margin: 0;
}
.sec01-sub-slider .slick-dots > li > button::before {
  display: none;
}
.sec01-sub-slider .slick-dots > li.slick-active {
  background-color: #B27715;
}

.sec01-bottom-text {
  width: 70.9523809524cqw;
  margin-left: auto;
  margin-right: auto;
  margin-top: 11.9047619048cqw;
  line-height: 1;
}

/***
* sec02
***/
.sec02-head > img {
  display: block;
  max-width: 100%;
}

.sec02-content {
  position: relative;
  background-image: url(../img/sec02_bg.webp);
  background-repeat: no-repeat;
  background-size: cover;
  background-position: center top;
  padding-top: 11.1904761905cqw;
  padding-bottom: 11.9047619048cqw;
  padding-left: 4.7619047619cqw;
  padding-right: 4.7619047619cqw;
}

.sec02-h {
  font-family: "Yu Mincho", "游明朝", "YuMincho", "Hiragino Mincho ProN", "Hiragino Mincho Pro", "Noto Serif JP", serif;
  margin-left: 4.7619047619cqw;
  margin-right: 4.7619047619cqw;
  margin-bottom: 6.1904761905cqw;
  font-size: 4.7619047619cqw;
  font-weight: 600;
  line-height: 1.5;
  letter-spacing: 0.09em;
}
.sec02-h > span {
  letter-spacing: 0;
}

.sec02-text {
  font-family: "Yu Mincho", "游明朝", "YuMincho", "Hiragino Mincho ProN", "Hiragino Mincho Pro", "Noto Serif JP", serif;
  margin-left: 4.7619047619cqw;
  margin-right: 4.7619047619cqw;
  font-size: 3.8095238095cqw;
  font-weight: 500;
  line-height: 1.5625;
  letter-spacing: 0.09em;
}

.sec02-taste-map-wrap {
  background-color: #fff;
  padding: 4.7619047619cqw;
  padding-bottom: 3.3333333333cqw;
  margin-top: 7.380952381cqw;
}

.sec02-taste-map-popup {
  display: block;
}

.sec02-taste-map-popup__thumb {
  margin-bottom: 2.8571428571cqw;
}

.sec02-taste-map-popup__btn {
  width: 16.4285714286cqw;
  margin-left: auto;
  margin-right: 0;
}

/***
* sec03
***/
.sec03 {
  position: relative;
  z-index: 1;
}

.sec03-head {
  position: relative;
  z-index: 2;
  margin-bottom: -12.8571428571cqw;
}

.sec03-content {
  position: relative;
  z-index: 1;
  background-image: url(../img/sec03_bg.webp);
  background-repeat: no-repeat;
  background-size: cover;
  background-position: center top;
  padding-top: 14.7619047619cqw;
  padding-bottom: 28.5714285714cqw;
  padding-left: 9.5238095238cqw;
  padding-right: 9.5238095238cqw;
}

.sec03-h {
  width: 53.5119047619cqw;
  margin-left: auto;
  margin-right: auto;
  margin-bottom: 10.4761904762cqw;
}

.sec03-slider {
  position: relative;
}

.sec03-slider-main {
  margin-bottom: 2.619047619cqw;
}

.sec03-slider-thumb {
  display: flex;
  gap: 2.619047619cqw;
}
.sec03-slider-active-bar {
  position: absolute;
  width: 100%;
  height: 2px;
  left: 0;
  bottom: -1.4285714286cqw;
}
.sec03-slider-active-bar > .bar {
  position: absolute;
  top: 0;
  left: 0;
  width: calc((100% - 7.8571428571cqw) / 4);
  background-color: #B27715;
  height: 100%;
  transition: left 0.4s ease 0s;
}

.sec03-slider:has(.sec03-slider-thumb > div:nth-child(1).active) > .sec03-slider-active-bar > .bar {
  left: calc(((100% - 7.8571428571cqw) / 4 + 2.619047619cqw) * 0);
}

.sec03-slider:has(.sec03-slider-thumb > div:nth-child(2).active) > .sec03-slider-active-bar > .bar {
  left: calc(((100% - 7.8571428571cqw) / 4 + 2.619047619cqw) * 1);
}

.sec03-slider:has(.sec03-slider-thumb > div:nth-child(3).active) > .sec03-slider-active-bar > .bar {
  left: calc(((100% - 7.8571428571cqw) / 4 + 2.619047619cqw) * 2);
}

.sec03-slider:has(.sec03-slider-thumb > div:nth-child(4).active) > .sec03-slider-active-bar > .bar {
  left: calc(((100% - 7.8571428571cqw) / 4 + 2.619047619cqw) * 3);
}

.sec04 {
  position: relative;
  background-color: #B27715;
  z-index: 2;
}
.sec04 > .wrap {
  padding-top: 12.380952381cqw;
  padding-left: 4.7619047619cqw;
  padding-right: 4.7619047619cqw;
  background: none;
}
.sec04 #aperture {
  padding-left: 0 !important;
  padding-right: 0 !important;
}
.sec04 #aperture .p-aperture__category__btn {
  width: 80.9523809524cqw;
  margin-left: auto;
  margin-right: auto;
  margin-bottom: 7.1428571429cqw;
}
.sec04 #aperture .p-aperture__category__btn button {
  height: auto;
  font-size: 4.2857142857cqw;
  line-height: 1;
  padding: 0.6em 0;
  background-color: #3C7954;
  border: 1px solid #fff;
}
.sec04 #aperture .p-aperture__category__btn button::after {
  right: 1em;
  width: 1.2222222222em;
  height: 1.2222222222em;
  background-image: url(../img/search-btn_icon.svg);
  background-repeat: no-repeat;
  background-size: contain;
  background-position: center center;
}
.sec04 #aperture .p-aperture__item {
  margin-top: 0;
  padding-bottom: 0;
  background-color: #fff;
  border-radius: 1.1904761905cqw;
  padding: 4.7619047619cqw 3.5714285714cqw 9.5238095238cqw;
}
.sec04 #aperture .p-aperture__item__container {
  display: grid;
  gap: 3.5714285714cqw;
  grid-template-columns: repeat(3, minmax(0, 1fr));
}
.sec04 #aperture .p-aperture__item__card .p-aperture__item__card__btn {
  display: flex;
  justify-content: center;
  align-items: center;
  padding: 1em 0;
  margin-top: 0.66em;
  font-size: 2.8571428571cqw !important;
  line-height: 1;
  letter-spacing: 0.05em;
}
.sec04 #aperture .p-aperture__item__card .p-aperture__item__card__btn::before {
  width: 1.14em;
  height: 1.14em;
  vertical-align: 0;
}
.sec04 #aperture .p-aperture__item__card__btn.active {
  background-color: #3C7954;
  border-color: #3C7954;
}
.sec04 #aperture .p-aperture__more__btn {
  width: 44.7619047619cqw;
  margin-top: 8.5714285714cqw;
}
.sec04 #aperture .p-aperture__more__btn::before {
  display: none;
}
.sec04 #aperture .p-aperture__modal__button1 button {
  color: #666;
}
.sec04 #aperture .p-aperture__modal__button2 {
  background-color: #3C7954;
}

.sec04-h {
  width: 81.9047619048cqw;
  margin-left: auto;
  margin-right: auto;
  margin-bottom: 7.8571428571cqw;
}

.sec04-petal {
  position: absolute;
  width: 25.9523809524cqw;
  top: -5.7142857143cqw;
  right: 4.7619047619cqw;
}

.sec04-reservation-block {
  margin-top: 1.1904761905cqw;
  padding-bottom: 4.2857142857cqw;
}

.floating-list-btn {
  display: flex;
  justify-content: center;
  align-items: center;
  position: fixed;
  left: 0;
  bottom: -14.2857142857cqw;
  width: 100%;
  height: 14.2857142857cqw;
  background-color: #3C7954;
  color: white;
  font-size: 5.2380952381cqw;
  letter-spacing: 0.05em;
  font-weight: 700;
  text-align: center;
  line-height: 1;
  z-index: 8;
  transition: bottom 0.4s ease 0s;
  pointer-events: none;
  cursor: pointer;
}
.floating-list-btn.ctajsModal {
  bottom: 0;
  pointer-events: initial;
}
.floating-list-btn.list {
  display: none;
}
@media (min-width: 768px) {
  .floating-list-btn.list {
    display: flex;
  }
}
.floating-list-btn.reserve {
  bottom: 0;
  pointer-events: initial;
}
.floating-list-btn.reserve > .normal {
  display: block;
}
.floating-list-btn.reserve > .normal > img {
  display: block;
  width: 35.7142857143cqw;
}
.floating-list-btn.reserve > .listSelected {
  display: none;
}
@media (min-width: 768px) {
  .floating-list-btn.reserve {
    display: none;
  }
}
.floating-list-btn.reserve.ctajsModal > .normal {
  display: none;
}
.floating-list-btn.reserve.ctajsModal > .listSelected {
  display: block;
}
@media (min-width: 768px) {
  .floating-list-btn {
    width: 420px;
    left: calc((100% - 420px) * 0.5);
  }
}

.modal-opened .floating-list-btn {
  bottom: -14.2857142857cqw;
}

.sec05 {
  background-image: url(../img/sec05_bg.webp);
  background-repeat: no-repeat;
  background-size: cover;
  background-position: center bottom;
  padding-top: 12.8571428571cqw;
  padding-bottom: 3.8095238095cqw;
}

.sec05-h {
  width: 100%;
  margin-bottom: 7.380952381cqw;
}

.sec05-images {
  position: relative;
}
.sec05-images > .sec05-image01 {
  position: relative;
  width: 81.6666666667cqw;
  z-index: 1;
  margin-left: auto;
  margin-right: 0;
}
.sec05-images > .sec05-image02 {
  position: relative;
  width: 41.4285714286cqw;
  z-index: 2;
  margin-top: -30.2380952381cqw;
}

.sec05-text {
  margin-top: 18.0952380952cqw;
  padding: 0 9.5238095238cqw;
}
.sec05-text > p {
  font-family: "Zen Kaku Gothic New", sans-serif;
  font-size: 3.8095238095cqw;
  font-weight: 400;
  line-height: 2.125;
  letter-spacing: 0.05em;
}
.sec05-text > p + p {
  margin-top: 15.2380952381cqw;
}
.sec05-text > h3 {
  font-family: "Yu Mincho", "游明朝", "YuMincho", "Hiragino Mincho ProN", "Hiragino Mincho Pro", "Noto Serif JP", serif;
  font-size: 5.2380952381cqw;
  letter-spacing: 0.09em;
  font-weight: 600;
  line-height: 1.5;
  margin-top: 16.6666666667cqw;
  margin-bottom: 15.9523809524cqw;
}

.sec05-reservation-block {
  position: relative;
  margin-top: 28.0952380952cqw;
}
.sec05-reservation-block::before {
  content: "";
  display: block;
  position: absolute;
  width: 1px;
  height: 19.0476190476cqw;
  margin-left: auto;
  margin-right: auto;
  left: 0;
  right: 0;
  top: -18.0952380952cqw;
  background-color: #6F4A0D;
}

.sec06 {
  position: relative;
  display: flex;
  flex-direction: column;
  align-items: center;
  padding-top: 19.5238095238cqw;
  padding-bottom: 9.5238095238cqw;
}

.sec06-h {
  width: 81.1904761905cqw;
}

.sec06-block01 {
  width: 82.619047619cqw;
  margin-top: 6.4285714286cqw;
  margin-bottom: 8.0952380952cqw;
}

.sec06-block02 {
  width: 80.9523809524cqw;
  margin-top: 7.1428571429cqw;
  margin-bottom: 7.8571428571cqw;
}

.sec06-block03 {
  width: 90.4761904762cqw;
  margin-top: 8.3333333333cqw;
}

.sec06-images {
  width: 80.9523809524cqw;
  margin-top: 1.6666666667cqw;
}

.sec06-hr {
  position: relative;
  width: 80.9523809524cqw;
  aspect-ratio: 340/14;
  background-image: url(../img/sec06-hr.svg);
  background-repeat: no-repeat;
  background-size: contain;
  background-position: center center;
}
.sec06-hr > .sec06-petal01 {
  position: absolute;
  width: 12.5cqw;
  top: -1.1904761905cqw;
  left: -4.7619047619cqw;
}
.sec06-hr > .sec06-petal02 {
  position: absolute;
  width: 12.5cqw;
  top: -4.0476190476cqw;
  right: -2.380952381cqw;
}

.sec06-reservation-block {
  margin-top: 3.0952380952cqw;
}

.sec06-flower {
  position: absolute;
  width: 29.0476190476cqw;
  right: 0;
  top: -8.3333333333cqw;
  filter: drop-shadow(0.7142857143cqw 1.4285714286cqw 1.6666666667cqw rgba(0, 0, 0, 0.25));
}

.sec07 {
  position: relative;
}
.sec07::before {
  content: "";
  display: block;
  width: 100%;
  height: 2px;
  background-image: linear-gradient(90deg, #C8A559 0%, #B48D45 100%);
}

.sec07-1 {
  display: flex;
  flex-direction: column;
  align-items: center;
  padding: 12.8571428571cqw 9.5238095238cqw 14.2857142857cqw;
  background-image: url(../img/sec07_bg1.webp);
  background-repeat: no-repeat;
  background-size: cover;
  background-position: center top;
}

.sec07-h {
  font-family: "Yu Mincho", "游明朝", "YuMincho", "Hiragino Mincho ProN", "Hiragino Mincho Pro", "Noto Serif JP", serif;
  margin-bottom: 6.4285714286cqw;
  font-size: 9.5238095238cqw;
  font-weight: 600;
  line-height: 1;
  color: #B5741B;
}

.sec07-h-sub {
  font-family: "Zen Kaku Gothic New", sans-serif;
  margin-bottom: 4.7619047619cqw;
  font-size: 4.7619047619cqw;
  font-weight: 500;
  line-height: 1;
  letter-spacing: 0.05em;
}

.sec07-lead {
  font-family: "Zen Kaku Gothic New", sans-serif;
  font-size: 3.8095238095cqw;
  font-weight: 400;
  line-height: 1.875;
}

.sec07-1-shoplist {
  position: relative;
  width: 100%;
  margin-top: 8.5714285714cqw;
  padding: 7.1428571429cqw 0;
  border: 1px solid #B48D45;
}

.sec07-1-shop {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 3.3333333333cqw;
}
.sec07-1-shop + .sec07-1-shop {
  margin-top: 8.3333333333cqw;
}

.sec07-1-shop__name {
  font-family: "Zen Kaku Gothic New", sans-serif;
  display: flex;
  justify-content: center;
  align-items: center;
  width: 49.5238095238cqw;
  height: 9.5238095238cqw;
  background-color: #B48D45;
  font-size: 4.7619047619cqw;
  font-weight: 700;
  letter-spacing: 0.05em;
  color: white;
}

.sec07-1-shop__place {
  font-family: "Zen Kaku Gothic New", sans-serif;
  font-size: 3.8095238095cqw;
  font-weight: 500;
  line-height: 1;
  color: #6F4A0D;
}

.sec07-1-shop__images {
  display: flex;
  flex-direction: column;
  gap: 2.380952381cqw;
  width: 68.5714285714cqw;
}

.sec07-1-shop__image-sub {
  display: flex;
}
.sec07-1-shop__image-sub:not(:has(> :nth-child(3))) {
  gap: 1.9047619048cqw;
}
.sec07-1-shop__image-sub > div {
  flex: 1;
}

.sec07-1-shoplist__petal {
  position: absolute;
  width: 25.2380952381cqw;
  top: -7.619047619cqw;
  right: -7.8571428571cqw;
}

.sec07-2-h {
  display: flex;
  flex-direction: column;
  align-items: center;
  margin-bottom: -8.3333333333cqw;
}

.sec07-2-h__image {
  position: relative;
  z-index: 1;
  margin-bottom: -8.3333333333cqw;
}

.sec07-2-h__midashi {
  position: relative;
  width: 80.9523809524cqw;
  z-index: 2;
}

.sec07-2-content {
  padding: 20.9523809524cqw 0 9.5238095238cqw;
  background-image: url(../img/sec07_bg2.webp);
  background-repeat: no-repeat;
  background-size: cover;
  background-position: center top;
}

.sec07-2-feature-list {
  position: relative;
  width: 80.9523809524cqw;
  padding: 7.1428571429cqw 4.7619047619cqw;
  background-color: #fff;
  margin-left: auto;
  margin-right: auto;
  margin-bottom: -2.619047619cqw;
  z-index: 1;
}

.sec07-2-feature {
  position: relative;
  display: flex;
  flex-direction: column;
}
.sec07-2-feature + .sec07-2-feature {
  margin-top: 7.1428571429cqw;
}

.sec07-2-feature__title {
  font-family: "Zen Kaku Gothic New", sans-serif;
  display: flex;
  justify-content: center;
  align-items: center;
  width: 100%;
  height: 8.0952380952cqw;
  background-image: url(../img/sec07-2-feature__title_bg.webp);
  background-repeat: no-repeat;
  background-size: cover;
  background-position: center center;
  font-size: 4.2857142857cqw;
  font-weight: 500;
  letter-spacing: 0.05em;
  line-height: 1;
  color: #6F4A0D;
}
.sec07-2-feature__title + .sec07-2-feature__image {
  margin-top: 4.7619047619cqw;
}

.sec07-2-feature__text {
  font-family: "Zen Kaku Gothic New", sans-serif;
  width: 100%;
  margin: 3.8095238095cqw 0;
  font-size: 3.3333333333cqw;
  font-weight: 400;
  line-height: 1.7857142857;
}

.sec07-2-feature__image {
  width: 100%;
}

.sec07-2-petal01 {
  position: absolute;
  width: 14.2857142857cqw;
  top: -5.2380952381cqw;
  left: -10.7142857143cqw;
}

.sec07-2-petal02 {
  position: absolute;
  width: 12.380952381cqw;
  top: -1.4285714286cqw;
  left: -10.2380952381cqw;
}

.sec07-reservation-block {
  position: relative;
  z-index: 2;
}

.sec08 {
  position: relative;
  background-color: #EFD9E7;
  padding: 47.619047619cqw 0 1.9047619048cqw;
  z-index: 2;
  scroll-margin-top: 13.8095238095cqw;
}

.sec08-h {
  position: absolute;
  width: 43.3333333333cqw;
  left: 9.5238095238cqw;
  top: 5.2380952381cqw;
  z-index: 4;
}

.sec08-content {
  font-family: "Zen Kaku Gothic New", sans-serif;
  position: relative;
  width: 80.9523809524cqw;
  margin-left: auto;
  margin-right: auto;
  padding: 9.5238095238cqw 5.9523809524cqw 14.2857142857cqw;
  position: relative;
  background-color: #fff;
  z-index: 2;
  margin-bottom: -2.1428571429cqw;
  font-size: 3.8095238095cqw;
  font-weight: 400;
}

.sec08-lead {
  margin-bottom: innerSize;
  line-height: 1.875;
}

.sec08-flow {
  display: flex;
  flex-direction: column;
  align-items: center;
  margin-top: 6.4285714286cqw;
}
.sec08-flow > .sec08-flow__title {
  width: 68.2380952381cqw;
}
.sec08-flow > figure {
  width: 73%;
  margin-top: 2.380952381cqw;
}
.sec08-flow > p {
  margin-top: 3.5714285714cqw;
  width: 100%;
  line-height: 1.5625;
}

.sec08-reservation-block {
  position: relative;
  z-index: 3;
}

.sec08-petal01 {
  position: absolute;
  width: 19.5238095238cqw;
  left: 7.1428571429cqw;
  top: -8.0952380952cqw;
  z-index: 3;
}

.sec08-petal02 {
  position: absolute;
  width: 19.5238095238cqw;
  left: 21.4285714286cqw;
  top: 38.3333333333cqw;
  z-index: 3;
}

.sec08-image {
  position: absolute;
  width: 51.9047619048cqw;
  right: 0;
  top: -13.8095238095cqw;
  z-index: 1;
}

.sec-voice-faq-wrap {
  position: relative;
  background-image: url(../img/sec-voice-faq_bg.webp);
  background-repeat: no-repeat;
  background-size: cover;
  background-position: center top;
  z-index: 2;
}

.sec09 {
  position: relative;
  display: flex;
  flex-direction: column;
  align-items: center;
  padding-top: 19.0476190476cqw;
}

.sec09-h {
  font-family: "Yu Mincho", "游明朝", "YuMincho", "Hiragino Mincho ProN", "Hiragino Mincho Pro", "Noto Serif JP", serif;
  margin-bottom: 3.8095238095cqw;
  font-size: 5.7142857143cqw;
  font-weight: 600;
  line-height: 1;
  color: #6F4A0D;
}

.sec09-subh {
  font-family: "Zen Kaku Gothic New", sans-serif;
  margin-bottom: 4.2857142857cqw;
  font-size: 3.8095238095cqw;
  font-weight: 500;
  letter-spacing: 0.05em;
  line-height: 1;
  color: #6F4A0D;
}

.sec09-lead {
  width: 80.9523809524cqw;
}

.sec09-flower {
  position: absolute;
  width: 32.619047619cqw;
  right: 0;
  top: -7.619047619cqw;
  filter: drop-shadow(0.7142857143cqw 1.4285714286cqw 1.6666666667cqw rgba(0, 0, 0, 0.25));
}

.sec09-voice-list {
  width: 80.9523809524cqw;
}

.sec09-voice {
  font-family: "Zen Kaku Gothic New", sans-serif;
  margin-top: 23.8095238095cqw;
  padding: 16.6666666667cqw 6.9047619048cqw 5.9523809524cqw;
  position: relative;
  border: 1px solid #B48D45;
  border-top: none;
  background-color: #fff;
}
.sec09-voice::before {
  content: "";
  position: absolute;
  display: block;
  width: 100%;
  height: 4.7619047619cqw;
  background-color: #fff;
  left: 0;
  bottom: 100%;
  z-index: 1;
}
.sec09-voice::after {
  content: "";
  display: block;
  position: absolute;
  top: -10cqw;
  left: 0;
  width: 100%;
  height: 21.6666666667cqw;
  background-image: url(../img/sec09-frame-top.svg);
  background-repeat: no-repeat;
  background-size: contain;
  background-position: center center;
  z-index: 2;
}

.sec09-voice__image {
  position: absolute;
  width: 23.5714285714cqw;
  height: 23.5714285714cqw;
  top: -16.6666666667cqw;
  left: 0;
  right: 0;
  margin-left: auto;
  margin-right: auto;
  border: 1px solid #B48D45;
  border-radius: 50%;
  overflow: hidden;
  z-index: 1;
}

.sec09-voice__text > p {
  font-size: 3.3333333333cqw;
  font-weight: 400;
  line-height: 1.7142857143;
  line-break: strict;
}

.sec10 {
  margin-top: 20.2380952381cqw;
  padding-bottom: 14.2857142857cqw;
  scroll-margin-top: 11.9047619048cqw;
}

.sec10-inner {
  position: relative;
  width: 80.9523809524cqw;
  margin-left: auto;
  margin-right: auto;
  padding: 11.9047619048cqw 5.2380952381cqw 7.8571428571cqw;
  background-color: #fff;
}

.sec10-h {
  position: absolute;
  width: 40.7142857143cqw;
  top: -8.3333333333cqw;
  left: 0;
  right: 0;
  margin-left: auto;
  margin-right: auto;
}

.sec10-subh {
  font-family: "Zen Kaku Gothic New", sans-serif;
  margin-bottom: 5.7142857143cqw;
  font-size: 3.8095238095cqw;
  font-weight: 500;
  letter-spacing: 0.05em;
  line-height: 1;
  text-align: center;
}

.sec10-faq-item {
  font-family: "Zen Kaku Gothic New", sans-serif;
  transition: margin-bottom 0.4s ease 0s;
  margin-bottom: 0;
}
.sec10-faq-item:has(.acObj.onOpen) {
  margin-bottom: 4.7619047619cqw;
}
.sec10-faq-item + .sec10-faq-item {
  margin-top: 1.9047619048cqw;
}

.sec10-faq-item__q {
  position: relative;
  display: flex;
  justify-content: flex-start;
  align-items: flex-start;
  font-size: 3.3333333333cqw;
  font-weight: 500;
  color: #6F4A0D;
  padding: 1.4285714286cqw;
  padding-right: 5.2380952381cqw;
  background-color: #EDEDED;
  border: 1px solid #6F4A0D;
  border-radius: 0.9523809524cqw;
  cursor: pointer;
}
.sec10-faq-item__q::before {
  content: "Q.";
  line-height: 1.4;
}
.sec10-faq-item__q::after {
  content: "＋";
  position: absolute;
  top: 50%;
  transform: translateY(-50%);
  right: 1.4285714286cqw;
  font-weight: 700;
}
.sec10-faq-item__q > p {
  flex: 1;
  line-height: 1.4;
  line-break: strict;
}
.sec10-faq-item__q.onOpen::after {
  content: "－";
}

.sec10-faq-item__a > .acInner {
  display: flex;
  justify-content: flex-start;
  align-items: flex-start;
  font-size: 3.3333333333cqw;
  gap: 0.25em;
  font-weight: 400;
  padding: 0.8em 1.4285714286cqw 1.4285714286cqw 1.4285714286cqw;
  cursor: pointer;
}
.sec10-faq-item__a > .acInner::before {
  content: "A.";
  line-height: 1.5714285714;
  color: #6F4A0D;
  font-weight: 500;
}
.sec10-faq-item__a > .acInner > p {
  flex: 1;
  line-height: 1.5714285714;
  line-break: strict;
}

.reservation-block01 {
  position: relative;
  padding-bottom: 4.7619047619cqw;
  z-index: 2;
  background-color: #B27715;
}
.reservation-block01 .common-reservation-block {
  padding-top: 15.4761904762cqw;
}
.reservation-block01 .common-reservation-block__petal01 {
  top: -3.8095238095cqw;
}
.reservation-block01 .common-reservation-block__petal02 {
  top: 29.4047619048cqw;
}
.reservation-block01 .common-reservation-block__image {
  top: 18.380952381cqw;
}

.reservation-block01__flower {
  position: absolute;
  width: 23.0952380952cqw;
  left: 0;
  top: -14.2857142857cqw;
  filter: drop-shadow(0.7142857143cqw 1.4285714286cqw 1.6666666667cqw rgba(0, 0, 0, 0.25));
  z-index: 3;
}

.sec-shop {
  padding: 15.4761904762cqw 9.5238095238cqw 10.4761904762cqw;
}

.sec-shop-inner {
  display: flex;
  flex-direction: column;
  align-items: center;
}

.sec-shop-h {
  font-family: "Zen Kaku Gothic New", sans-serif;
  font-size: 4.7619047619cqw;
  font-weight: 500;
  letter-spacing: 0.05em;
  line-height: 1;
  margin-bottom: 3.8095238095cqw;
  color: #6F4A0D;
}

.sec-shop-lead {
  font-family: "Zen Kaku Gothic New", sans-serif;
  font-size: 3.8095238095cqw;
  font-weight: 400;
  letter-spacing: 0.05em;
  line-height: 1.5625;
  text-align: center;
}

.shop-list {
  margin-top: 7.1428571429cqw;
  margin-bottom: 15.7142857143cqw;
}

.shop-item {
  font-family: "Zen Kaku Gothic New", sans-serif;
  transition: margin-bottom 0.4s ease 0s;
  margin-bottom: 0;
}
.shop-item:has(.acObj.onOpen) {
  margin-bottom: 7.1428571429cqw;
}
.shop-item + .shop-item {
  margin-top: 2.380952381cqw;
}
.shop-item:last-child {
  margin-bottom: 0 !important;
}

.shop-item__name {
  position: relative;
  display: flex;
  justify-content: space-between;
  align-items: center;
  width: 100%;
  height: 11.9047619048cqw;
  padding-left: 2.8571428571cqw;
  background-color: #6F4A0D;
  font-size: 3.8095238095cqw;
  font-weight: 500;
  letter-spacing: 0.05em;
  line-height: 1;
  color: white;
  cursor: pointer;
}
.shop-item__name::after {
  content: "＋";
  display: flex;
  justify-content: center;
  align-items: center;
  width: 9.5238095238cqw;
  font-weight: 400;
}
.shop-item__name.onOpen::after {
  content: "－";
}

.shop-item__content > .acInner {
  padding-top: 4.7619047619cqw;
}

.shop-item__info {
  display: flex;
  align-items: flex-start;
  flex-wrap: wrap;
  gap: 1.9047619048cqw 3.3333333333cqw;
  padding-left: 2.8571428571cqw;
  padding-right: 2.8571428571cqw;
}
.shop-item__info > dt {
  width: 4.2em;
  font-size: 3.5714285714cqw;
  font-weight: 500;
  letter-spacing: 0.05em;
  line-height: 1.5333333333;
  color: #6F4A0D;
}
.shop-item__info > dd {
  width: calc(100% - 15cqw - 3.3333333333cqw);
  font-size: 3.3333333333cqw;
  font-weight: 400;
  letter-spacing: 0.05em;
  line-height: 1.6428571429;
}

.shop-item__map {
  margin-top: 7.1428571429cqw;
  width: 100%;
  aspect-ratio: 340/165;
}
.shop-item__map > iframe {
  width: 100%;
  height: 100%;
}

.shop-item__btn {
  display: block;
  margin-top: 7.1428571429cqw;
}

.sec-shop-bottom-text {
  font-family: "Yu Mincho", "游明朝", "YuMincho", "Hiragino Mincho ProN", "Hiragino Mincho Pro", "Noto Serif JP", serif;
  font-size: 4.2857142857cqw;
  font-weight: 600;
  line-height: 2.5;
  text-align: center;
  color: #6F4A0D;
}

.reservation-block02 {
  position: relative;
  padding-bottom: 1.9047619048cqw;
  background-color: #B27715;
}
.reservation-block02 .common-reservation-block {
  padding-top: 12.8571428571cqw;
}
.reservation-block02 .common-reservation-block__petal02 {
  top: 27.9761904762cqw;
}
.reservation-block02 .common-reservation-block__image {
  top: 16.9523809524cqw;
}

.reservation-block02__image {
  position: absolute;
  width: 40cqw;
  right: 0;
  top: 4.5238095238cqw;
  z-index: 3;
}

.reservation-block02__petal {
  position: absolute;
  width: 18.0952380952cqw;
  left: 3.3333333333cqw;
  top: 35.7142857143cqw;
  z-index: 3;
}

.footer {
  display: flex;
  justify-content: center;
  align-items: center;
  height: 17.8571428571cqw;
  padding: 0;
}
.footer > .footer-text {
  font-family: "Yu Mincho", "游明朝", "YuMincho", "Hiragino Mincho ProN", "Hiragino Mincho Pro", "Noto Serif JP", serif;
  font-size: 3.3333333333cqw;
  font-weight: 600;
  text-align: center;
  line-height: 1.5;
  color: #6F4A0D;
}

.cta__modal__submit__btn {
  background-color: #3C7954;
}