/* 元サイトの静的CSSに、WordPress不要の操作とCMS本文表示を追加する。 */
.garden-site .animated, .garden-site .eb_animation { visibility: visible !important; }
.garden-site .guten-element.animated:not(.guten-nav-menu) { opacity: 1; }
.garden-honeypot { position: absolute; width: 1px; height: 1px; overflow: hidden; clip-path: inset(50%); }
.garden-contact-status { display: none; margin: 24px 0; padding: 16px; border: 2px solid #66854b; color: #24321c; }
form[data-garden-contact] .garden-contact-status[data-visible] { display: block !important; }
.garden-contact-status[data-error] { border-color: #b23a2d; color: #7b241c; }
.garden-loadmore-button { appearance: none; border: 0; background: transparent; color: inherit; font: inherit; line-height: inherit; padding: 0; cursor: pointer; }
.garden-loadmore-button:disabled { cursor: wait; opacity: .65; }
.guten-block-pagination[hidden] { display: none !important; }
form[data-garden-contact] [type=submit]:disabled { opacity: .6; cursor: wait; }
.garden-contact-turnstile { display: flex; justify-content: center; margin-top: 16px; max-width: 100%; }
.garden-contact-turnstile:empty { display: none; }
/* 料金ページの見出しは上下の余白を揃え、枠内で上に偏らないようにする。 */
.garden-site.page-id-3503 h2.wp-block-gutenverse-heading { margin-top: 12px; margin-bottom: 12px; }
/* ImageGenの画像バナーを、画面幅に合う構図で切り替える。 */
.garden-site.page-id-3503 .garden-menu-welcome { display: block; box-sizing: border-box; width: calc(100% - 24px); max-width: 1000px !important; margin: 0 auto 36px; }
.garden-menu-welcome > a, .garden-menu-welcome picture, .garden-menu-welcome img { display: block; width: 100%; }
.garden-menu-welcome img { height: auto; aspect-ratio: 8 / 3; object-fit: contain; border-radius: 15px; }
.garden-menu-welcome > a:focus-visible { outline: 3px solid #58733d; outline-offset: 4px; border-radius: 15px; }
/* 時間・料金は元の料金表の枠と書体を継承する。 */
.garden-personal-pricing { width: 100%; margin: 0; }
.garden-site.page-id-3503 h2.garden-personal-payment { display: block; margin: 12px 20px 20px; font-size: 16px; line-height: 1.6; }
.garden-personal-payment__part { display: inline-block; white-space: nowrap; }
@media (max-width: 767px) {
  .garden-site.page-id-3503 .garden-menu-welcome { margin-bottom: 28px; }
  .garden-menu-welcome img { aspect-ratio: 1 / 1; }
  .garden-personal-rate .guten-vLFpE9.guten-element { margin-right: 20px; margin-left: 20px; }
}
.bfb_closed:focus-visible, .gutenverse-hamburger-menu:focus-visible, .gutenverse-close-menu:focus-visible { outline: 3px solid #58733d; outline-offset: 3px; }
.cms-article { max-width: 100%; font: inherit; }
.cms-article__paragraph { margin: 0 0 1.5em; line-height: 1.8; }
.cms-article__heading { margin: 2em 0 1em; color: #66854b; }
.cms-article__list { padding-left: 1.5em; line-height: 1.8; }
.cms-article-images { display: grid; gap: 24px; margin: 24px 0; }
.cms-article-images--2 { grid-template-columns: repeat(2, minmax(0, 1fr)); }
.cms-article-image { margin: 0; min-width: 0; }
.cms-article-image__frame { position: relative; overflow: hidden; aspect-ratio: var(--cms-image-ratio); }
.cms-article-image__frame img { position: absolute; top: 50%; left: 50%; width: 100%; height: 100%; object-fit: contain; transform: translate(-50%, -50%) rotate(var(--cms-image-rotate)) scale(var(--cms-image-scale)); }
.cms-article-image figcaption { margin-top: 8px; text-align: center; font-size: .9em; }
.guten-popup-close[role=button]:focus-visible { outline: 3px solid #58733d; }
.guten-popup-close[role=button] { display: flex; align-items: center; justify-content: center; font-family: sans-serif; font-size: 28px; line-height: 1; cursor: pointer; }
.garden-gallery { inset: 0; margin: 0; width: 100%; max-width: 100%; height: 100%; max-height: 100%; padding: 0; border: 0; background: rgba(0, 0, 0, .92); color: #fff; }
.garden-gallery::backdrop { background: rgba(0, 0, 0, .85); }
.garden-gallery__stage { position: absolute; inset: 55px 55px 45px; display: flex; align-items: center; justify-content: center; }
.garden-gallery__stage img { display: block; max-width: 100%; max-height: 100%; width: auto; height: auto; object-fit: contain; }
.garden-gallery button { position: absolute; appearance: none; border: 0; background: transparent; color: #fff; font: 32px/1 sans-serif; cursor: pointer; padding: 10px; z-index: 2; }
.garden-gallery button:focus-visible { outline: 2px solid #fff; }
.garden-gallery__close { top: 6px; right: 12px; }
.garden-gallery__fullscreen { top: 6px; right: 60px; }
.garden-gallery__prev { top: 45%; left: 12px; }
.garden-gallery__next { top: 45%; right: 12px; }
.garden-gallery__count { position: absolute; bottom: 12px; left: 0; right: 0; text-align: center; }
@media (max-width: 1024px) {
  .garden-nav-open .gutenverse-menu-wrapper { display: flex !important; visibility: visible !important; opacity: 1 !important; transform: none !important; left: 0 !important; right: 0 !important; top: 0 !important; position: fixed !important; width: 100vw !important; height: 100dvh !important; z-index: 1000 !important; background: #fff !important; padding: 110px 24px 50px; overflow-y: auto; }
  .garden-nav-open .gutenverse-menu-container { width: 100%; }
  .garden-nav-open .gutenverse-menu { display: flex !important; flex-direction: column; gap: 10px; }
  .garden-nav-open .gutenverse-menu > li { display: block; width: 100%; }
  .garden-nav-open .gutenverse-menu a { display: block; padding: 12px; }
  .garden-nav-open .gutenverse-nav-identity-panel { position: absolute; top: 20px; left: 24px; right: 24px; display: flex !important; align-items: center; justify-content: space-between; }
  .garden-nav-open .gutenverse-nav-logo img { max-width: 240px; height: auto; }
  .garden-nav-open .gutenverse-close-menu { display: block !important; }
}
@media (max-width: 767px) { .cms-article-images--2 { grid-template-columns: 1fr; } }
@media (prefers-reduced-motion: reduce) {
  *, *::before, *::after { animation-duration: .01ms !important; transition-duration: .01ms !important; scroll-behavior: auto !important; }
}
