/* =========================================================
   FluxCore Pro Generated Custom CSS
   Auto generated from fc_pages.layout_json advanced.custom_css
   Last updated: 2026-09-16 11:23:04
========================================================= */

/* =========================================================
   Page: header / HEADER ページ
========================================================= */

/* Block: global_header / sec_1782112078518 */
/* =========================================================
global_header
ロゴカラー × パステル洋菓子店デザイン
========================================================= */

.global-header,
.mobile-nav-overlay {
    --header-main: #bf6f89;
    --header-deep: #8f3f5d;
    --header-light: #e8aab5;
    --header-pale: #f7dce2;
    --header-cream: #fff8e9;
    --header-beige: #f7eddf;
    --header-text: #51443f;
}

.global-header {
    position: fixed !important;
    top: 0 !important;
    left: 0 !important;
    z-index: 1000 !important;
    display: flex !important;
    align-items: center !important;
    justify-content: space-between !important;
    gap: 28px !important;
    width: 100% !important;
    height: 76px !important;
    min-height: 76px !important;
    padding: 0 48px !important;
    background: rgba(255, 250, 240, .94) !important;
    border-bottom: 1px solid rgba(191, 111, 137, .10) !important;
    box-shadow: 0 8px 28px rgba(115, 83, 71, .07) !important;
    backdrop-filter: blur(16px) !important;
    -webkit-backdrop-filter: blur(16px) !important;
}

.global-header::after {
    content: "" !important;
    position: absolute !important;
    left: 50% !important;
    bottom: 0 !important;
    display: block !important;
    width: 100% !important;
    height: 1px !important;
    background:
        linear-gradient(
            90deg,
            transparent,
            rgba(191, 111, 137, .20),
            rgba(232, 170, 181, .30),
            rgba(191, 111, 137, .20),
            transparent
        ) !important;
    transform: translateX(-50%) !important;
    pointer-events: none !important;
}

.header-logo {
    position: relative !important;
    display: inline-flex !important;
    align-items: center !important;
    color: var(--header-deep, #8f3f5d) !important;
    font-family: var(--font-sans) !important;
    font-size: 20px !important;
    font-weight: 600 !important;
    line-height: 1.2 !important;
    letter-spacing: .08em !important;
    text-decoration: none !important;
    white-space: nowrap !important;
}

.header-logo span {
    color: var(--header-main, #bf6f89) !important;
}

.header-logo img {
    display: block !important;
    width: auto !important;
    max-width: 190px !important;
    max-height: 150px !important;
    object-fit: contain !important;
}

.desktop-nav {
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    gap: 30px !important;
}

.desktop-nav a {
    position: relative !important;
    color: var(--header-text, #51443f) !important;
    font-family: var(--font-sans) !important;
    font-size: 12px !important;
    font-weight: 500 !important;
    line-height: 1.5 !important;
    letter-spacing: .08em !important;
    text-decoration: none !important;
    text-transform: none !important;
    white-space: nowrap !important;
    transition: color .28s ease !important;
}

.desktop-nav a:hover,
.desktop-nav a.active {
    color: var(--header-deep, #8f3f5d) !important;
}

.desktop-nav a::after {
    content: "" !important;
    position: absolute !important;
    left: 50% !important;
    bottom: -8px !important;
    width: 0 !important;
    height: 1px !important;
    background:
        linear-gradient(
            90deg,
            var(--header-light, #e8aab5),
            var(--header-main, #bf6f89)
        ) !important;
    transform: translateX(-50%) !important;
    transition: width .28s ease !important;
}

.desktop-nav a:hover::after,
.desktop-nav a.active::after {
    width: 100% !important;
}

.header-btns {
    display: flex !important;
    align-items: center !important;
    gap: 14px !important;
}

.btn-header-tel {
    color: var(--header-deep, #8f3f5d) !important;
    font-family: var(--font-sans) !important;
    font-size: 14px !important;
    font-weight: 500 !important;
    letter-spacing: .04em !important;
    text-decoration: none !important;
    white-space: nowrap !important;
    transition: color .25s ease !important;
}

.btn-header-tel:hover {
    color: var(--header-main, #bf6f89) !important;
}

.btn-header-reserve {
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    min-height: 42px !important;
    padding: 10px 26px !important;
    background: var(--header-main, #bf6f89) !important;
    color: #ffffff !important;
    border: 1px solid var(--header-main, #bf6f89) !important;
    border-radius: 999px !important;
    box-shadow: 0 8px 20px rgba(191, 111, 137, .16) !important;
    font-family: var(--font-sans) !important;
    font-size: 12px !important;
    font-weight: 600 !important;
    letter-spacing: .07em !important;
    text-decoration: none !important;
    cursor: pointer !important;
    transition:
        background .28s ease,
        color .28s ease,
        border-color .28s ease,
        box-shadow .28s ease,
        transform .28s ease !important;
}

.btn-header-reserve:hover {
    background: #ffffff !important;
    color: var(--header-deep, #8f3f5d) !important;
    border-color: var(--header-light, #e8aab5) !important;
    box-shadow: 0 12px 28px rgba(191, 111, 137, .16) !important;
    transform: translateY(-2px) !important;
}

.menu-trigger {
    position: relative !important;
    z-index: 1200 !important;
    display: none !important;
    align-items: center !important;
    justify-content: center !important;
    flex: 0 0 auto !important;
    width: 42px !important;
    height: 42px !important;
    min-width: 42px !important;
    min-height: 42px !important;
    margin: 0 !important;
    padding: 0 !important;
    background: rgba(255, 255, 255, .88) !important;
    color: var(--header-deep, #8f3f5d) !important;
    border: 1px solid rgba(191, 111, 137, .25) !important;
    border-radius: 50% !important;
    box-shadow: 0 4px 14px rgba(115, 83, 71, .08) !important;
    font-family: var(--font-sans) !important;
    font-size: 23px !important;
    font-weight: 400 !important;
    line-height: 1 !important;
    text-align: center !important;
    cursor: pointer !important;
    transform: none !important;
    transition:
        background .25s ease,
        color .25s ease,
        border-color .25s ease !important;
}

.menu-trigger:hover,
.menu-trigger.active,
.menu-trigger[aria-expanded="true"] {
    background: #ffffff !important;
    color: var(--header-deep, #8f3f5d) !important;
    border-color: rgba(191, 111, 137, .38) !important;
    transform: none !important;
}

.mobile-nav-overlay {
    position: fixed !important;
    inset: 0 !important;
    z-index: 1050 !important;
    display: flex !important;
    flex-direction: column !important;
    align-items: center !important;
    justify-content: center !important;
    gap: 4px !important;
    padding: 90px 24px 50px !important;
    background:
        radial-gradient(
            circle at 85% 15%,
            rgba(232, 170, 181, .22),
            transparent 28%
        ),
        radial-gradient(
            circle at 10% 88%,
            rgba(191, 111, 137, .10),
            transparent 26%
        ),
        linear-gradient(
            180deg,
            #fffaf1 0%,
            #fff6ea 55%,
            #f7e8df 100%
        ) !important;
    color: #51443f !important;
    opacity: 0 !important;
    visibility: hidden !important;
    pointer-events: none !important;
    transform: translateX(100%) !important;
    transition:
        transform .4s ease,
        opacity .4s ease,
        visibility .4s ease !important;
    overflow-y: auto !important;
}

.mobile-nav-overlay::before {
    content: "" !important;
    position: absolute !important;
    top: 11% !important;
    right: -90px !important;
    width: 270px !important;
    height: 270px !important;
    border: 1px solid rgba(191, 111, 137, .16) !important;
    border-radius: 50% !important;
    box-shadow: inset 0 0 0 30px rgba(255, 255, 255, .12) !important;
    pointer-events: none !important;
}

.mobile-nav-overlay::after {
    content: "" !important;
    position: absolute !important;
    left: 7% !important;
    bottom: 9% !important;
    width: 100px !important;
    height: 80px !important;
    background-image:
        radial-gradient(
            circle,
            rgba(143, 63, 93, .20) 2px,
            transparent 3px
        ) !important;
    background-size: 20px 20px !important;
    pointer-events: none !important;
}

.mobile-nav-overlay.active {
    opacity: 1 !important;
    visibility: visible !important;
    pointer-events: auto !important;
    transform: translateX(0) !important;
}

.mobile-nav-overlay a {
    position: relative !important;
    z-index: 2 !important;
    display: flex !important;
    align-items: center !important;
    justify-content: space-between !important;
    width: min(100%, 360px) !important;
    min-height: 52px !important;
    margin: 4px 0 !important;
    padding: 12px 22px !important;
    background: rgba(255, 255, 255, .82) !important;
    color: #70384c !important;
    border: 1px solid rgba(191, 111, 137, .18) !important;
    border-radius: 12px !important;
    box-shadow: 0 6px 20px rgba(115, 83, 71, .05) !important;
    font-family: var(--font-sans) !important;
    font-size: 17px !important;
    font-weight: 600 !important;
    line-height: 1.5 !important;
    letter-spacing: .08em !important;
    text-align: left !important;
    text-decoration: none !important;
    opacity: 1 !important;
    visibility: visible !important;
    transition:
        color .25s ease,
        background .25s ease,
        border-color .25s ease,
        transform .25s ease,
        box-shadow .25s ease !important;
}

.mobile-nav-overlay a::after {
    content: "›" !important;
    flex: 0 0 auto !important;
    margin-left: 18px !important;
    color: #bf6f89 !important;
    font-size: 22px !important;
    font-weight: 400 !important;
    line-height: 1 !important;
}

.mobile-nav-overlay a:hover,
.mobile-nav-overlay a:focus {
    background: #ffffff !important;
    color: #8f3f5d !important;
    border-color: rgba(191, 111, 137, .38) !important;
    box-shadow: 0 9px 24px rgba(115, 83, 71, .09) !important;
    transform: translateX(3px) !important;
}

@media (max-width: 992px) {

    .global-header {
        height: 68px !important;
        min-height: 68px !important;
        padding: 0 20px !important;
    }

    .desktop-nav,
    .header-btns {
        display: none !important;
    }

    .menu-trigger,
    .menu-trigger.active,
    .menu-trigger[aria-expanded="true"] {
        position: fixed !important;
        top: 13px !important;
        right: 20px !important;
        bottom: auto !important;
        left: auto !important;
        z-index: 1200 !important;
        display: inline-flex !important;
        width: 42px !important;
        height: 42px !important;
        min-width: 42px !important;
        min-height: 42px !important;
        margin: 0 !important;
        transform: none !important;
    }

    .header-logo {
        font-size: 16px !important;
    }

    .header-logo img {
        max-height: 46px !important;
        max-width: 165px !important;
    }
}

@media (max-width: 480px) {

    .global-header {
        height: 64px !important;
        min-height: 64px !important;
        padding: 0 15px !important;
    }

    .header-logo {
        font-size: 15px !important;
        letter-spacing: .06em !important;
    }

    .header-logo img {
        max-height: 42px !important;
        max-width: 150px !important;
    }

    .menu-trigger,
    .menu-trigger.active,
    .menu-trigger[aria-expanded="true"] {
        top: 12px !important;
        right: 15px !important;
        width: 40px !important;
        height: 40px !important;
        min-width: 40px !important;
        min-height: 40px !important;
        margin: 0 !important;
        font-size: 21px !important;
        transform: none !important;
    }

    .mobile-nav-overlay {
        padding: 82px 18px 36px !important;
    }

    .mobile-nav-overlay a {
        width: min(100%, 330px) !important;
        min-height: 49px !important;
        margin: 3px 0 !important;
        padding: 11px 18px !important;
        font-size: 15px !important;
        letter-spacing: .06em !important;
    }

    .mobile-nav-overlay a::after {
        margin-left: 12px !important;
        font-size: 20px !important;
    }
}


/* =========================================================
   Page: index / 【アンジュ プティ ボヌール】米粉を使った手作りケーキ・焼き菓子専門店
========================================================= */

/* Block: hero_main / sec_1782110119323 */
/* =========================================================
   hero_main に貼るCSS
========================================================= */
.hero-wrapper {
  position: relative !important;
  width: 100% !important;
  height: 100svh !important;
  min-height: 560px !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  overflow: hidden !important;
  background: #ffffff !important;
  text-align: center !important;
}

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

@keyframes mcGentleWave {
  0% { transform: translate(-50%, -50%) translateY(0) rotate(-1deg); }
  50% { transform: translate(-50%, -50%) translateY(-10px) rotate(1deg); }
  100% { transform: translate(-50%, -50%) translateY(0) rotate(-1deg); }
}


.hero-wrapper::after {
  content: "" !important;
  position: absolute !important;
  top: auto !important;
  left: 0 !important;
  bottom: -2px !important;
  z-index: 12 !important;
  width: 100% !important;
  height: 8vw !important;
  min-height: 40px !important;

  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 1200 120' preserveAspectRatio='none'%3E%3Cpath d='M0,0 V46.29 c47.79,22.2,103.59,32.17,158,28,70.36-5.37,136.33-33.31,206.8-37.5C438.64,32.43,512.34,53.67,583,72.05c69.27,18,138.3,24.88,209.4,13.08,36.15-6,69.85-17.84,104.45-29.34C989.49,25,1113,-14.29,1200,52.47V120H0Z' fill='%23ffffff' opacity='0.8'/%3E%3Cpath d='M0,0 V15.81C13,36.92,27.64,56.86,47.69,72.05,99.41,111.27,165,111,224.58,91.58c31.15-10.15,60.09-26.07,89.67-39.8,40.92-19,84.73-46,130.83-49.67,36.26-2.85,70.9,9.42,98.6,31.56,31.77,25.39,62.32,62,103.63,73,40.44,10.79,81.35-6.69,119.13-24.28s75.16-39,116.92-43.05c59.73-5.85,113.28,22.88,168.9,38.84,30.2,8.66,59,6.17,87.09-7.5,22.43-10.89,48-26.93,60.65-23.89V120H0Z' fill='%23ffffff'/%3E%3C/svg%3E") !important;

  background-repeat: no-repeat !important;
  background-size: 100% 100% !important;
  pointer-events: none !important;
}

.hero-img-window {
  position: absolute !important;
  inset: 0 !important;
  z-index: 1 !important;
  width: 100% !important;
  height: 100% !important;
  margin: 0 !important;
  border: 0 !important;
  box-shadow: none !important;
}

.hero-img-window::before {
  content: "日常のほんの少し先、手をのばせば届く\A心地よいリゾートタイムはいかがですか？" !important;
  position: absolute !important;
  left: 50% !important;
  top: 48% !important;
  z-index: 20 !important;
  width: min(720px, 92vw) !important;
  font-family: "Noto Serif JP", "Yu Mincho", serif !important;
  font-size: clamp(.85rem, 2vw, 1.15rem) !important;
  font-weight: 300 !important;
  line-height: 2.2 !important;
  letter-spacing: .25em !important;
  color: rgba(255, 255, 255, .95) !important;
  white-space: pre !important;
  text-align: center !important;
  text-shadow: 0 2px 10px rgba(0, 0, 0, .5) !important;
  animation: mcGentleWave 6s ease-in-out infinite !important;
  animation-delay: .1s !important;
  pointer-events: none !important;
}

.hero-img-window::after {
  content: "" !important;
  position: absolute !important;
  inset: 0 !important;
  z-index: 2 !important;
  background: rgba(0, 0, 0, .15) !important;
  pointer-events: none !important;
}

.hero-img-window img,
.hero-img-window video {
  width: 100% !important;
  height: 100% !important;
  object-fit: cover !important;
  object-position: center !important;
}

.hero-title-box,
.hero-main-title {
  position: relative !important;
  z-index: 21 !important;
}

.hero-main-title {
  color: #fff !important;
  font-family: "Montserrat", sans-serif !important;
  font-size: clamp(2.6rem, 6.5vw, 6.5rem) !important;
  font-weight: 900 !important;
  line-height: 1.1 !important;
  letter-spacing: .1em !important;
  text-shadow: 0 4px 20px rgba(0, 0, 0, .4) !important;
}

@media (max-width: 768px) {
  .hero-wrapper {
    min-height: 520px !important;
    height: 86svh !important;
  }

  .hero-wrapper::before {
    top: 33% !important;
    font-size: clamp(2.6rem, 11vw, 5rem) !important;
  }

  .hero-img-window::before {
    top: 52% !important;
    width: 90vw !important;
    font-size: clamp(.7rem, 3vw, .88rem) !important;
    line-height: 2 !important;
    letter-spacing: .1em !important;
    white-space: pre-wrap !important;
  }
}

@media (max-width: 480px) {
  .hero-wrapper::before {
    font-size: clamp(2.2rem, 13vw, 3.5rem) !important;
  }

  .hero-img-window::before {
    font-size: .7rem !important;
    letter-spacing: .06em !important;
  }
}

/* Block: latest_news_bar / sec_1786341632511 */
/* =========================================================
   latest_news_bar に貼るCSS
========================================================= */
.news-bar-section {
  position: relative !important;
  z-index: 40 !important;
  margin: -30px auto 60px !important;
  padding: 0 20px !important;
  background: #fff !important;
  color: #333333 !important;
  text-align: center !important;
}

.news-bar-container {
  max-width: 900px !important;
  margin: 0 auto !important;
}

.news-bar-link {
  display: grid !important;
  grid-template-columns: auto minmax(0, 1fr) auto !important;
  align-items: center !important;
  gap: 18px !important;
  padding: 20px 32px !important;
  background:#f5f5f5 !important;
  color: #333333 !important;
  border: 1px solid rgba(0, 0, 0, .06) !important;
  border-radius: 12px !important;
  box-shadow: 0 12px 30px rgba(0, 0, 0, .06) !important;
  text-decoration: none !important;
  text-align: left !important;
  transition: transform .35s ease, box-shadow .35s ease !important;
}

.news-bar-link + .news-bar-link {
  margin-top: 12px !important;
}

.news-bar-link::before {
  display: none !important;
}

.news-bar-link:hover {
  transform: translateY(-4px) !important;
  background: #ffffff !important;
  border-color: rgba(32, 144, 156, .16) !important;
  box-shadow: 0 16px 40px rgba(32, 144, 156, .15) !important;
}

.news-bar-left {
  display: inline-flex !important;
  align-items: center !important;
  gap: 18px !important;
  min-width: 0 !important;
}

.news-date {
  color: #20909c !important;
  font-family: "Montserrat", sans-serif !important;
  font-size: 14px !important;
  font-weight: 700 !important;
  letter-spacing: .1em !important;
  white-space: nowrap !important;
}

.news-badge {
  padding: 4px 14px !important;
  background: rgba(32, 144, 156, .1) !important;
  color: #20909c !important;
  border: 0 !important;
  border-radius: 999px !important;
  font-size: 10.5px !important;
  font-weight: 700 !important;
  letter-spacing: .1em !important;
  white-space: nowrap !important;
}

.news-title {
  min-width: 0 !important;
  margin: 0 !important;
  overflow: hidden !important;
  color: #333333 !important;
  font-size: 15px !important;
  font-weight: 700 !important;
  line-height: 1.7 !important;
  text-overflow: ellipsis !important;
  white-space: nowrap !important;
  text-align: left !important;
}

.news-arrow {
  color: #e84c22 !important;
  font-weight: 900 !important;
  transition: transform .3s ease !important;
}

.news-bar-link:hover .news-arrow {
  transform: translateX(4px) !important;
}

@media (max-width: 768px) {
  .news-bar-section {
    margin: -20px 20px 50px !important;
    padding: 0 !important;
  }

  .news-bar-link {
    grid-template-columns: 1fr !important;
    align-items: flex-start !important;
    gap: 14px !important;
    padding: 24px !important;
  }

  .news-bar-left {
    flex-wrap: wrap !important;
    gap: 12px !important;
  }

  .news-title {
    width: 100% !important;
    font-size: 14px !important;
    white-space: normal !important;
  }

  .news-arrow {
    justify-self: end !important;
    margin-top: -24px !important;
  }
}

/* Block: concept_split / sec_1782110303957 */
/* =========================================================
   concept_split に貼るCSS
   ロゴカラー × パステル洋菓子店デザイン
========================================================= */
.concept-section {
  --concept-main: #bf6f89;
  --concept-deep: #a95372;
  --concept-light: #e8aab5;
  --concept-pale: #f6d9df;
  --concept-cream: #fff8e9;
  --concept-beige: #f7eddf;
  --concept-white: #ffffff;
  --concept-text: #5d514c;
  position: relative !important;
  z-index: 1 !important;
  overflow: hidden !important;
  margin-top: 0 !important;
  padding: 130px 24px !important;
  background:
    radial-gradient(circle at 8% 12%, rgba(232, 170, 181, .13) 0, rgba(232, 170, 181, .13) 90px, transparent 91px), radial-gradient(circle at 94% 82%, rgba(255, 225, 172, .22) 0, rgba(255, 225, 172, .22) 130px, transparent 131px), linear-gradient(180deg, #fffaf0 0%, #fff8e9 52%, #f9efe2 100%) !important;
  color: var(--concept-text) !important;
}
/* =========================================================
   背景装飾
========================================================= */
.concept-section::before {
  content: "" !important;
  position: absolute !important;
  top: 55px !important;
  right: -85px !important;
  width: 320px !important;
  height: 320px !important;
  border: 1px solid rgba(191, 111, 137, .14) !important;
  border-radius: 50% !important;
  background:
    radial-gradient(circle, transparent 0 46%, rgba(232, 170, 181, .08) 47% 47.5%, transparent 48%) !important;
  pointer-events: none !important;
}
/* 小さな手描き風ドット装飾 */
.concept-section::after {
  content: "" !important;
  position: absolute !important;
  left: 5% !important;
  bottom: 55px !important;
  width: 120px !important;
  height: 85px !important;
  background-image:
    radial-gradient(circle, rgba(191, 111, 137, .22) 2px, transparent 3px) !important;
  background-size: 22px 22px !important;
  transform: rotate(-8deg) !important;
  opacity: .65 !important;
  pointer-events: none !important;
}
/* =========================================================
   コンテナ
========================================================= */
.concept-container, .concept-container.concept-reverse {
  position: relative !important;
  z-index: 5 !important;
  display: grid !important;
  grid-template-columns:
    minmax(320px, .9fr) minmax(420px, 1.15fr) !important;
  align-items: center !important;
  gap: clamp(60px, 8vw, 110px) !important;
  width: 100% !important;
  max-width: 1120px !important;
  margin: 0 auto !important;
}
/* =========================================================
   逆配置
========================================================= */
.concept-container.concept-reverse {
  grid-template-columns:
    minmax(420px, 1.15fr) minmax(320px, .9fr) !important;
}
.concept-container.concept-reverse .concept-content {
  order: 2 !important;
}
.concept-container.concept-reverse .concept-img-wrapper {
  order: 1 !important;
}
/* =========================================================
   テキスト部分
========================================================= */
.concept-content {
  position: relative !important;
  display: flex !important;
  flex-direction: column !important;
  justify-content: center !important;
  width: auto !important;
  padding: 34px 10px 34px 0 !important;
  background: transparent !important;
  border: none !important;
  border-radius: 0 !important;
  box-shadow: none !important;
  color: var(--concept-text) !important;
  text-align: left !important;
  backdrop-filter: none !important;
  -webkit-backdrop-filter: none !important;
}
/* =========================================================
   タイトル
========================================================= */
.concept-content p.concept-eyebrow {
    font-family: "Comic Sans MS", "Segoe Print", cursive !important;
        color: var(--concept-main) !important;
        text-align: left !important;
}
.concept-title, .concept-content h2, .concept-content h3 {
  position: relative !important;
  margin: 0 0 30px !important;
  padding-bottom: 22px !important;
  color: var(--concept-deep) !important;
  font-family:
    "Kiwi Maru","Klee One", "Hannotate SC", "YuKyokasho", "Yu Kyokasho", cursive !important;
  font-size: clamp(1.45rem, 2.4vw, 2.15rem) !important;
  font-weight: 600 !important;
  line-height: 1.65 !important;
  letter-spacing: .1em !important;
  text-align: left !important;
}
/* タイトル下の細いライン */
.concept-title::after, .concept-content h2::after, .concept-content h3::after {
  content: "" !important;
  position: absolute !important;
  left: 0 !important;
  bottom: 0 !important;
  width: 64px !important;
  height: 1px !important;
  background:
    linear-gradient(90deg, var(--concept-main), var(--concept-light)) !important;
}
/* タイトル内span */
.concept-title span {
  display: block !important;
  margin: 0 0 8px !important;
  color: var(--concept-light) !important;
  font-size: .68em !important;
  font-weight: 500 !important;
  line-height: 1.5 !important;
  letter-spacing: .16em !important;
  text-shadow: none !important;
  font-family:
    "Klee One", "Hannotate SC", "YuKyokasho", "Yu Kyokasho", cursive !important;
}
/* =========================================================
   本文
========================================================= */
.concept-text, .concept-content p {
  margin: 0 !important;
  color: var(--concept-text) !important;
  font-size: .95rem !important;
  font-weight: 400 !important;
  line-height: 2.25 !important;
  letter-spacing: .055em !important;
  text-align: left !important;
}
/* =========================================================
   画像エリア
========================================================= */
.concept-img-wrapper {
  position: relative !important;
  width: auto !important;
  max-width: 100% !important;
  margin: 0 !important;
  padding: 0 !important;
  overflow: visible !important;
  background: transparent !important;
  border-radius: 0 !important;
  box-shadow: none !important;
}
/* 背面の淡いピンクプレート */
.concept-img-wrapper::before {
  content: "" !important;
  position: absolute !important;
  top: 28px !important;
  left: -28px !important;
  right: 28px !important;
  bottom: -28px !important;
  z-index: -1 !important;
  border: none !important;
  border-radius: 4px !important;
  background:
    linear-gradient(135deg, rgba(246, 217, 223, .85), rgba(255, 242, 218, .8)) !important;
  pointer-events: none !important;
}
/* 小さな丸装飾 */
.concept-img-wrapper::after {
  content: "" !important;
  position: absolute !important;
  top: -22px !important;
  right: -22px !important;
  width: 74px !important;
  height: 74px !important;
  z-index: 3 !important;
  border: 1px solid rgba(191, 111, 137, .38) !important;
  border-radius: 50% !important;
  background:
    rgba(255, 255, 255, .36) !important;
  opacity: 1 !important;
  pointer-events: none !important;
  transition: .4s ease !important;
}
/* =========================================================
   画像
========================================================= */
.concept-img-wrapper img, .concept-img-wrapper video {
  display: block !important;
  width: 100% !important;
  height: auto !important;
  aspect-ratio: 4 / 3 !important;
  object-fit: cover !important;
  object-position: center !important;
  border-radius: 4px !important;
  box-shadow:
    0 18px 45px rgba(118, 83, 71, .12) !important;
  filter: none !important;
  transition:
    transform .7s cubic-bezier(.2, .8, .2, 1), box-shadow .7s ease !important;
}
/* =========================================================
   Hover
========================================================= */
.concept-img-wrapper:hover img {
  transform: translateY(-4px) !important;
  box-shadow:
    0 25px 55px rgba(118, 83, 71, .17) !important;
}
.concept-img-wrapper:hover::after {
  transform: translate(4px, -4px) !important;
}
/* =========================================================
   reverse時は装飾も反転
========================================================= */
.concept-container.concept-reverse .concept-img-wrapper::before {
  left: 28px !important;
  right: -28px !important;
}
.concept-container.concept-reverse .concept-img-wrapper::after {
  left: -22px !important;
  right: auto !important;
}
/* =========================================================
   タブレット
========================================================= */
@media (max-width: 1024px) {
  .concept-section {
    padding: 105px 24px !important;
  }
  .concept-container, .concept-container.concept-reverse {
    grid-template-columns: 1fr 1fr !important;
    gap: 50px !important;
  }
  .concept-content {
    padding: 20px 0 !important;
  }
  .concept-title, .concept-content h2, .concept-content h3 {
    font-size: clamp(1.35rem, 2.8vw, 1.8rem) !important;
  }
}
/* =========================================================
   スマートフォン
========================================================= */
@media (max-width: 768px) {
  .concept-section {
    padding: 82px 20px 95px !important;
  }
  .concept-section::before {
    top: 20px !important;
    right: -110px !important;
    width: 260px !important;
    height: 260px !important;
  }
  .concept-container, .concept-container.concept-reverse {
    display: flex !important;
    flex-direction: column !important;
    gap: 48px !important;
    max-width: 580px !important;
  }
  /*
     スマホは
     テキスト → 写真
     の順番に統一
  */
  .concept-container .concept-content, .concept-container.concept-reverse .concept-content {
    order: 1 !important;
  }
  .concept-container .concept-img-wrapper, .concept-container.concept-reverse .concept-img-wrapper {
    order: 2 !important;
  }
  .concept-content {
    width: 100% !important;
    padding: 0 !important;
    text-align: center !important;
  }
  .concept-content::before {
    margin-bottom: 10px !important;
    text-align: center !important;
  }
  .concept-title, .concept-content h2, .concept-content h3 {
    margin-bottom: 24px !important;
    padding-bottom: 18px !important;
    font-size: clamp(1.35rem, 5vw, 1.7rem) !important;
    line-height: 1.75 !important;
    text-align: center !important;
  }
  .concept-title::after, .concept-content h2::after, .concept-content h3::after {
    left: 50% !important;
    width: 54px !important;
    transform: translateX(-50%) !important;
  }
  .concept-text, .concept-content p {
    font-size: .91rem !important;
    line-height: 2.15 !important;
    text-align: left !important;
  }
  .concept-img-wrapper {
    width: calc(100% - 18px) !important;
    margin: 0 auto !important;
  }
  .concept-img-wrapper::before, .concept-container.concept-reverse .concept-img-wrapper::before {
    top: 16px !important;
    left: -16px !important;
    right: 16px !important;
    bottom: -16px !important;
  }
  .concept-img-wrapper::after, .concept-container.concept-reverse .concept-img-wrapper::after {
    top: -15px !important;
    left: auto !important;
    right: -14px !important;
    width: 55px !important;
    height: 55px !important;
  }
  .concept-img-wrapper img, .concept-img-wrapper video {
    aspect-ratio: 4 / 3 !important;
  }
}
/* =========================================================
   小型スマートフォン
========================================================= */
@media (max-width: 480px) {
  .concept-section {
    padding: 68px 17px 82px !important;
  }
  .concept-container, .concept-container.concept-reverse {
    gap: 40px !important;
  }
  .concept-title, .concept-content h2, .concept-content h3 {
    font-size: 1.3rem !important;
    letter-spacing: .075em !important;
  }
  .concept-text, .concept-content p {
    font-size: .88rem !important;
    line-height: 2.1 !important;
    letter-spacing: .04em !important;
  }
}

/* Block: pickup_menu_slider / sec_1786348152538 */
/* =========================================================
   pickup_menu_slider に貼るCSS
========================================================= */
.menu-section {
  --menu-main: #bf6f89;
  --menu-deep: #a95372;
  --menu-light: #e8aab5;
  --menu-pale: #f7dce2;
  --menu-cream: #fff8e9;
  --menu-beige: #f7eddf;
  --menu-white: #ffffff;
  --menu-text: #5d514c;
  position: relative !important;
  overflow: hidden !important;
  padding: 150px 20px 120px !important;
  background:
    radial-gradient(circle at 8% 12%, rgba(232, 170, 181, .14) 0, rgba(232, 170, 181, .14) 95px, transparent 96px), radial-gradient(circle at 92% 86%, rgba(255, 221, 163, .22) 0, rgba(255, 221, 163, .22) 125px, transparent 126px), linear-gradient(180deg, #fffaf0 0%, #fff7e8 55%, #f9efe2 100%) !important;
  color: var(--menu-text) !important;
  text-align: center !important;
}
/* =========================================================
   背景英字
========================================================= */
.menu-section::before {
  content: "Sweets" !important;
  position: absolute !important;
  top: 24px !important;
  left: 50% !important;
  z-index: 0 !important;
  color: rgba(191, 111, 137, .10) !important;
  font-family:
    "Klee One", cursive !important;
  font-size: clamp(5rem, 14vw, 11rem) !important;
  font-weight: 400 !important;
  line-height: 1 !important;
  letter-spacing: .02em !important;
  white-space: nowrap !important;
  transform: translateX(-50%) rotate(-4deg) !important;
  pointer-events: none !important;
}
/* =========================================================
   背景ドット装飾
========================================================= */
.menu-section::after {
  content: "" !important;
  position: absolute !important;
  right: 5% !important;
  top: 90px !important;
  width: 110px !important;
  height: 90px !important;
  background-image:
    radial-gradient(circle, rgba(191, 111, 137, .20) 2px, transparent 3px) !important;
  background-size: 22px 22px !important;
  opacity: .55 !important;
  transform: rotate(8deg) !important;
  pointer-events: none !important;
}
/* =========================================================
   セクションヘッダー
========================================================= */
.menu-section .section-header, .menu-section-header {
  position: relative !important;
  z-index: 2 !important;
  max-width: 760px !important;
  margin: 0 auto 58px !important;
  text-align: center !important;
}
/* =========================================================
   メインタイトル
========================================================= */
.menu-main-title {
  position: relative !important;
  margin: 0 !important;
  padding-bottom: 18px !important;
  color: var(--menu-deep) !important;
  font-family:
    "Klee One", cursive !important;
  font-size: clamp(1.8rem, 3.8vw, 2.9rem) !important;
  font-weight: 600 !important;
  line-height: 1.45 !important;
  letter-spacing: .08em !important;
}
/* タイトル下ライン */
.menu-main-title::after {
  content: "" !important;
  position: absolute !important;
  left: 50% !important;
  bottom: 0 !important;
  width: 58px !important;
  height: 1px !important;
  background:
    linear-gradient(90deg, var(--menu-main), var(--menu-light)) !important;
  transform: translateX(-50%) !important;
}
/* =========================================================
   サブテキスト
========================================================= */
.menu-sub-text {
  margin-top: 16px !important;
  color: #8f7d75 !important;
  font-family:
    "Kiwi Maru", serif !important;
  font-size: .9rem !important;
  font-weight: 400 !important;
  line-height: 2 !important;
  letter-spacing: .06em !important;
  text-transform: none !important;
}
/* =========================================================
   スクロール領域
========================================================= */
.scroll-container {
  position: relative !important;
  z-index: 2 !important;
  max-width: 1120px !important;
  margin: 0 auto !important;
  padding: 0 !important;
}
.scroll-inner {
  display: grid !important;
  grid-template-columns:
    repeat(3, minmax(0, 1fr)) !important;
  gap: 28px !important;
  animation: none !important;
}
/* =========================================================
   商品カード
========================================================= */
.pickup-item-card {
  position: relative !important;
  display: flex !important;
  flex-direction: column !important;
  overflow: hidden !important;
  background:
    rgba(255, 255, 255, .95) !important;
  color: var(--menu-text) !important;
  border:
    1px solid rgba(191, 111, 137, .10) !important;
  border-radius: 8px !important;
  box-shadow:
    0 14px 35px rgba(115, 83, 71, .08) !important;
  text-align: center !important;
  text-decoration: none !important;
  transition:
    transform .35s ease, box-shadow .35s ease !important;
}
/* 上部の淡いアクセント */
.pickup-item-card::before {
  content: "" !important;
  position: absolute !important;
  top: 0 !important;
  left: 0 !important;
  right: 0 !important;
  height: 4px !important;
  z-index: 4 !important;
  background:
    linear-gradient(90deg, var(--menu-light), var(--menu-main), var(--menu-pale)) !important;
}
.pickup-item-card:hover {
  transform: translateY(-6px) !important;
  box-shadow:
    0 20px 45px rgba(115, 83, 71, .13) !important;
}
/* =========================================================
   バッジ
========================================================= */
.pickup-badge {
  position: absolute !important;
  top: 14px !important;
  left: 14px !important;
  z-index: 5 !important;
  padding: 5px 13px !important;
  background:
    rgba(255, 255, 255, .92) !important;
  color: var(--menu-deep) !important;
  border:
    1px solid rgba(191, 111, 137, .28) !important;
  border-radius: 999px !important;
  font-family:
    "Kiwi Maru", serif !important;
  font-size: 10px !important;
  font-weight: 500 !important;
  letter-spacing: .08em !important;
  box-shadow:
    0 5px 15px rgba(115, 83, 71, .07) !important;
}
/* =========================================================
   商品画像
========================================================= */
.pickup-img-box {
  width: 100% !important;
  height: 240px !important;
  aspect-ratio: auto !important;
  overflow: hidden !important;
  background: var(--menu-cream) !important;
}
.pickup-img {
  width: 100% !important;
  height: 100% !important;
  object-fit: cover !important;
  transition:
    transform .6s cubic-bezier(.2, .8, .2, 1) !important;
}
.pickup-item-card:hover .pickup-img {
  transform: scale(1.045) !important;
}
/* =========================================================
   商品情報
========================================================= */
.pickup-info {
  position: relative !important;
  width: 100% !important;
  padding: 24px 20px 26px !important;
  text-align: center !important;
}
/* =========================================================
   商品タイトル
========================================================= */
.pickup-title {
  margin: 0 0 10px !important;
  color: var(--menu-deep) !important;
  font-family:
    "Klee One", cursive !important;
  font-size: 1.2rem !important;
  font-weight: 600 !important;
  line-height: 1.55 !important;
  letter-spacing: .07em !important;
}
/* =========================================================
   商品説明
========================================================= */
.pickup-desc {
  margin: 0 0 18px !important;
  color: #766963 !important;
  font-family:
    "Kiwi Maru", serif !important;
  font-size: .87rem !important;
  font-weight: 400 !important;
  line-height: 1.9 !important;
  letter-spacing: .04em !important;
}
/* =========================================================
   価格
========================================================= */
.pickup-price {
  justify-content: center !important;
  margin: 0 !important;
  color: var(--menu-main) !important;
  font-family:
    "Kiwi Maru", serif !important;
  font-size: 1.32rem !important;
  font-weight: 500 !important;
  line-height: 1.3 !important;
  letter-spacing: .03em !important;
}
/* =========================================================
   ボタン
========================================================= */
.menu-btn-wrap {
  position: relative !important;
  z-index: 2 !important;
  margin-top: 52px !important;
  text-align: center !important;
}
.btn-menu-more {
  position: relative !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  min-width: 190px !important;
  min-height: 50px !important;
  padding: 0 38px !important;
  background:
    var(--menu-main) !important;
  color: #ffffff !important;
  border:
    1px solid var(--menu-main) !important;
  border-radius: 999px !important;
  box-shadow:
    0 10px 24px rgba(191, 111, 137, .18) !important;
  font-family:
    "Kiwi Maru", serif !important;
  font-size: .85rem !important;
  font-weight: 500 !important;
  letter-spacing: .08em !important;
  text-decoration: none !important;
  transition:
    background .3s ease, color .3s ease, transform .3s ease, box-shadow .3s ease !important;
}
.btn-menu-more:hover {
  background:
    #ffffff !important;
  color:
    var(--menu-deep) !important;
  border-color:
    var(--menu-light) !important;
  transform:
    translateY(-3px) !important;
  box-shadow:
    0 14px 30px rgba(191, 111, 137, .16) !important;
}
/* =========================================================
   タブレット
========================================================= */
@media (max-width: 900px) {
  .menu-section {
    padding:
      130px 20px 95px !important;
  }
  .scroll-inner {
    grid-template-columns:
      repeat(2, minmax(0, 1fr)) !important;
  }
  .pickup-img-box {
    height: 220px !important;
  }
}
/* =========================================================
   スマートフォン
========================================================= */
@media (max-width: 768px) {
  .menu-section {
    padding:
      105px 16px 78px !important;
  }
  .menu-section::before {
    top: 25px !important;
    font-size:
      clamp(4rem, 18vw, 7rem) !important;
  }
  .menu-section::after {
    right: -10px !important;
    top: 65px !important;
    width: 90px !important;
    height: 70px !important;
  }
  .menu-section .section-header, .menu-section-header {
    margin-bottom:
      42px !important;
  }
  .menu-main-title {
    font-size:
      clamp(1.55rem, 7vw, 2rem) !important;
  }
  .menu-sub-text {
    font-size:
      .85rem !important;
    line-height:
      1.9 !important;
  }
  .scroll-inner {
    grid-template-columns:
      1fr !important;
    gap:
      22px !important;
    max-width:
      520px !important;
    margin:
      0 auto !important;
  }
  .pickup-img-box {
    height:
      220px !important;
  }
  .pickup-info {
    padding:
      22px 18px 24px !important;
  }
  .pickup-title {
    font-size:
      1.12rem !important;
  }
  .pickup-desc {
    font-size:
      .85rem !important;
  }
  .menu-btn-wrap {
    margin-top:
      42px !important;
  }
}
/* =========================================================
   小型スマートフォン
========================================================= */
@media (max-width: 480px) {
  .menu-section {
    padding:
      90px 15px 65px !important;
  }
  .menu-section::before {
    top:
      18px !important;
  }
  .pickup-img-box {
    height:
      200px !important;
  }
  .pickup-title {
    font-size:
      1.05rem !important;
  }
  .pickup-desc {
    font-size:
      .82rem !important;
  }
  .pickup-price {
    font-size:
      1.2rem !important;
  }
  .btn-menu-more {
    width:
      min(100%, 260px) !important;
  }
}

/* Block: instagram_feed / sec_1786348823660 */
/* =========================================================
   Instagram Embed
   ロゴカラー × パステル洋菓子店デザイン
========================================================= */
.fc-instagram-embed-section {
  --insta-main: #bf6f89;
  --insta-deep: #a95372;
  --insta-light: #e8aab5;
  --insta-pale: #f7dce2;
  --insta-cream: #fff8e9;
  --insta-beige: #f7eddf;
  --insta-text: #5d514c;
  --insta-sub: #7d6f69;
  position: relative !important;
  overflow: hidden !important;
  padding: 120px 20px !important;
  background:
    radial-gradient(circle at 8% 15%, rgba(232, 170, 181, .13) 0, rgba(232, 170, 181, .13) 90px, transparent 91px), radial-gradient(circle at 94% 86%, rgba(255, 222, 168, .2) 0, rgba(255, 222, 168, .2) 120px, transparent 121px), linear-gradient(180deg, #fffaf0 0%, #fff8e9 55%, #f9efe2 100%) !important;
  color: var(--insta-text) !important;
}
/* 背景の大きな飾り文字 */
.fc-instagram-embed-section::before {
  content: "Instagram" !important;
  position: absolute !important;
  top: 20px !important;
  left: 50% !important;
  z-index: 0 !important;
  color: rgba(191, 111, 137, .09) !important;
  font-family: var(--font-sans) !important;
  font-size: clamp(4.8rem, 12vw, 10rem) !important;
  font-weight: 400 !important;
  line-height: 1 !important;
  letter-spacing: .01em !important;
  white-space: nowrap !important;
  transform: translateX(-50%) rotate(-3deg) !important;
  pointer-events: none !important;
}
/* 背景ドット */
.fc-instagram-embed-section::after {
  content: "" !important;
  position: absolute !important;
  top: 90px !important;
  right: 5% !important;
  width: 110px !important;
  height: 88px !important;
  background-image:
    radial-gradient(circle, rgba(191, 111, 137, .22) 2px, transparent 3px) !important;
  background-size: 22px 22px !important;
  opacity: .55 !important;
  transform: rotate(8deg) !important;
  pointer-events: none !important;
}
/* =========================================================
   Inner
========================================================= */
.fc-instagram-embed-inner {
  position: relative !important;
  z-index: 2 !important;
  max-width: 1180px !important;
  margin: 0 auto !important;
  text-align: center !important;
}
/* =========================================================
   Heading
========================================================= */
.fc-instagram-embed-heading {
  max-width: 760px !important;
  margin: 0 auto 46px !important;
}
/* 小ラベル */
.fc-instagram-embed-label {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  margin-bottom: 12px !important;
  color: var(--insta-main) !important;
  font-family: "Kiwi Maru", serif !important;
  font-size: 12px !important;
  font-weight: 500 !important;
  letter-spacing: .12em !important;
  text-transform: none !important;
}
/* 見出し */
.fc-instagram-embed-heading h2 {
  position: relative !important;
  margin: 0 0 18px !important;
  padding-bottom: 18px !important;
  color: var(--insta-deep) !important;
  font-family: var(--font-sans) !important;
  font-size: clamp(1.8rem, 3.8vw, 2.8rem) !important;
  font-weight: 600 !important;
  line-height: 1.5 !important;
  letter-spacing: .08em !important;
}
.fc-instagram-embed-heading h2::after {
  content: "" !important;
  position: absolute !important;
  left: 50% !important;
  bottom: 0 !important;
  width: 58px !important;
  height: 1px !important;
  background:
    linear-gradient(90deg, var(--insta-main), var(--insta-light)) !important;
  transform: translateX(-50%) !important;
}
/* 説明文 */
.fc-instagram-embed-heading p {
  max-width: 680px !important;
  margin: 0 auto !important;
  color: var(--insta-sub) !important;
  font-family: "Kiwi Maru", serif !important;
  font-size: 14px !important;
  font-weight: 400 !important;
  line-height: 2 !important;
  letter-spacing: .045em !important;
}
/* =========================================================
   単体埋め込みカード
========================================================= */
.fc-instagram-embed-card {
  display: flex !important;
  justify-content: center !important;
  max-width: 620px !important;
  margin: 0 auto !important;
  padding: 12px !important;
  background: rgba(255, 255, 255, .9) !important;
  border: 1px solid rgba(191, 111, 137, .12) !important;
  border-radius: 10px !important;
  box-shadow:
    0 16px 40px rgba(115, 83, 71, .10) !important;
}
.fc-instagram-embed-card .instagram-media {
  border-radius: 6px !important;
  box-shadow: none !important;
}
/* legacy */
.fc-instagram-embed-card--legacy {
  max-width: 1120px !important;
  width: min(100%, 1120px) !important;
  padding: 0 !important;
  background: transparent !important;
  border: 0 !important;
  box-shadow: none !important;
}
.fc-instagram-embed-card--legacy .instagram-media, .fc-instagram-embed-card--legacy iframe {
  max-width: 1080px !important;
  width: 100% !important;
}
/* =========================================================
   アクションボタン
========================================================= */
.fc-instagram-embed-action {
  margin-top: 34px !important;
}
.fc-instagram-embed-action a {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  min-width: 220px !important;
  min-height: 48px !important;
  padding: 0 30px !important;
  background: var(--insta-main) !important;
  color: #ffffff !important;
  border: 1px solid var(--insta-main) !important;
  border-radius: 999px !important;
  box-shadow:
    0 10px 24px rgba(191, 111, 137, .18) !important;
  font-family: "Kiwi Maru", serif !important;
  font-size: 13px !important;
  font-weight: 500 !important;
  letter-spacing: .06em !important;
  text-decoration: none !important;
  transition:
    background .3s ease, color .3s ease, transform .3s ease, box-shadow .3s ease !important;
}
.fc-instagram-embed-action a:hover {
  background: #ffffff !important;
  color: var(--insta-deep) !important;
  border-color: var(--insta-light) !important;
  opacity: 1 !important;
  transform: translateY(-2px) !important;
  box-shadow:
    0 14px 30px rgba(191, 111, 137, .16) !important;
}
/* =========================================================
   Instagram Feed Grid / Slider
========================================================= */
.fc-instagram-post-grid, .fc-instagram-slider {
  max-width: 1180px !important;
  margin: 0 auto !important;
}
.fc-instagram-post-grid {
  gap: 18px !important;
}
.fc-instagram-post-card {
  min-width: 0 !important;
  padding: 8px !important;
  background: rgba(255, 255, 255, .94) !important;
  border: 1px solid rgba(191, 111, 137, .12) !important;
  border-radius: 8px !important;
  box-shadow:
    0 14px 34px rgba(115, 83, 71, .09) !important;
  overflow: hidden !important;
  transition:
    transform .35s ease, box-shadow .35s ease !important;
}
.fc-instagram-post-card:hover {
  transform: translateY(-4px) !important;
  box-shadow:
    0 18px 40px rgba(115, 83, 71, .13) !important;
}
.fc-instagram-post-card .instagram-media, .fc-instagram-post-card iframe, .fc-instagram-embed-card .instagram-media, .fc-instagram-embed-card iframe {
  width: 100% !important;
  min-width: 0 !important;
  max-width: 100% !important;
}
.fc-instagram-layout-large .fc-instagram-post-card {
  padding: 10px !important;
}
/* =========================================================
   写真だけ表示するレイアウト
========================================================= */
.fc-instagram-display-photo .fc-instagram-post-card {
  position: relative !important;
  aspect-ratio: 1 / 0.955 !important;
  padding: 0 !important;
  background: #fff !important;
}
.fc-instagram-display-photo.fc-instagram-layout-wide .fc-instagram-post-card, .fc-instagram-display-photo.fc-instagram-layout-large .fc-instagram-post-card, .fc-instagram-display-photo.fc-instagram-layout-slider .fc-instagram-post-card {
  aspect-ratio: 1 / 0.935 !important;
}
.fc-instagram-display-photo .fc-instagram-post-card .instagram-media, .fc-instagram-display-photo .fc-instagram-post-card iframe {
  position: absolute !important;
  top: 0 !important;
  left: 0 !important;
  width: 100% !important;
  height: calc(100% + 170px) !important;
  min-height: calc(100% + 170px) !important;
  max-height: none !important;
  transform: translateY(-72px) !important;
  border: 0 !important;
  border-radius: 0 !important;
}
.fc-instagram-display-photo.fc-instagram-layout-large .fc-instagram-post-card .instagram-media, .fc-instagram-display-photo.fc-instagram-layout-large .fc-instagram-post-card iframe {
  height: calc(100% + 190px) !important;
  min-height: calc(100% + 190px) !important;
  transform: translateY(-82px) !important;
}
/* =========================================================
   Slider
========================================================= */
.fc-instagram-slider {
  position: relative !important;
  padding: 0 48px 34px !important;
}
.fc-instagram-slider-viewport {
  overflow: hidden !important;
}
.fc-instagram-slider-track {
  gap: 18px !important;
  align-items: stretch !important;
}
/* 矢印 */
.fc-instagram-slider-arrow {
  position: absolute !important;
  top: 50% !important;
  z-index: 3 !important;
  width: 40px !important;
  height: 40px !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  border: 1px solid var(--insta-main) !important;
  border-radius: 999px !important;
  background: rgba(255, 255, 255, .95) !important;
  color: var(--insta-main) !important;
  box-shadow:
    0 8px 20px rgba(115, 83, 71, .12) !important;
  transform: translateY(-50%) !important;
  transition:
    background .3s ease, color .3s ease, transform .3s ease !important;
}
.fc-instagram-slider-prev {
  left: 0 !important;
}
.fc-instagram-slider-next {
  right: 0 !important;
}
.fc-instagram-slider-arrow:hover {
  background: var(--insta-main) !important;
  color: #ffffff !important;
}
.fc-instagram-slider-arrow:disabled {
  opacity: .3 !important;
  cursor: default !important;
}
/* =========================================================
   Slider Dots
========================================================= */
.fc-instagram-slider-dots {
  position: absolute !important;
  left: 50% !important;
  bottom: 0 !important;
  display: flex !important;
  gap: 8px !important;
  justify-content: center !important;
  transform: translateX(-50%) !important;
}
/* dotがbuttonの場合 */
.fc-instagram-slider-dots button {
  width: 8px !important;
  height: 8px !important;
  min-width: 0 !important;
  padding: 0 !important;
  border: 0 !important;
  border-radius: 999px !important;
  background: var(--insta-light) !important;
}
.fc-instagram-slider-dots button.is-active, .fc-instagram-slider-dots button.active, .fc-instagram-slider-dots button[aria-current="true"] {
  background: var(--insta-main) !important;
}
.fc-instagram-slider.is-static {
  padding-bottom: 0 !important;
}
/* =========================================================
   Smartphone
========================================================= */
@media (max-width: 768px) {
  .fc-instagram-embed-section {
    padding: 85px 15px 75px !important;
  }
  .fc-instagram-embed-section::before {
    top: 20px !important;
    font-size:
      clamp(3.6rem, 17vw, 6rem) !important;
  }
  .fc-instagram-embed-section::after {
    top: 60px !important;
    right: -10px !important;
    width: 80px !important;
    height: 65px !important;
  }
  .fc-instagram-embed-heading {
    margin-bottom: 34px !important;
  }
  .fc-instagram-embed-heading h2 {
    font-size:
      clamp(1.55rem, 7vw, 2rem) !important;
  }
  .fc-instagram-embed-heading p {
    font-size: .85rem !important;
    line-height: 1.9 !important;
  }
  .fc-instagram-embed-action a {
    width: 100% !important;
    max-width: 320px !important;
  }
  .fc-instagram-embed-card {
    padding: 8px !important;
    overflow: hidden !important;
  }
  .fc-instagram-post-grid {
    gap: 10px !important;
  }
  .fc-instagram-post-card {
    padding: 5px !important;
    border-radius: 6px !important;
  }
  .fc-instagram-display-photo .fc-instagram-post-card {
    padding: 0 !important;
    aspect-ratio: 1 / 0.955 !important;
  }
  .fc-instagram-display-photo .fc-instagram-post-card .instagram-media, .fc-instagram-display-photo .fc-instagram-post-card iframe {
    height: calc(100% + 118px) !important;
    min-height: calc(100% + 118px) !important;
    transform: translateY(-50px) !important;
  }
  .fc-instagram-display-photo.fc-instagram-layout-large .fc-instagram-post-card .instagram-media, .fc-instagram-display-photo.fc-instagram-layout-large .fc-instagram-post-card iframe {
    height: calc(100% + 132px) !important;
    min-height: calc(100% + 132px) !important;
    transform: translateY(-58px) !important;
  }
  .fc-instagram-slider {
    padding: 0 0 34px !important;
  }
  .fc-instagram-slider-arrow {
    top: auto !important;
    bottom: -4px !important;
    width: 32px !important;
    height: 32px !important;
    transform: none !important;
  }
  .fc-instagram-slider-prev {
    left: 12px !important;
  }
  .fc-instagram-slider-next {
    right: 12px !important;
  }
  .fc-instagram-slider-dots {
    bottom: 8px !important;
  }
}
/* =========================================================
   Small Smartphone
========================================================= */
@media (max-width: 480px) {
  .fc-instagram-embed-section {
    padding: 72px 14px 65px !important;
  }
  .fc-instagram-embed-heading h2 {
    font-size: 1.5rem !important;
  }
  .fc-instagram-embed-heading p {
    font-size: .82rem !important;
  }
}

/* Block: image_grid / sec_1786351916060 */
/* =========================================================
   image_grid
   ロゴカラー × パステル洋菓子店デザイン
========================================================= */
.image-grid-section {
  --gallery-main: #bf6f89;
  --gallery-deep: #a95372;
  --gallery-light: #e8aab5;
  --gallery-pale: #f7dce2;
  --gallery-cream: #fff8e9;
  --gallery-beige: #f7eddf;
  --gallery-text: #5d514c;
  --gallery-sub: #7d6f69;
  position: relative !important;
  overflow: hidden !important;
  padding: 120px 20px !important;
  background:
    radial-gradient(circle at 7% 18%, rgba(232, 170, 181, .12) 0, rgba(232, 170, 181, .12) 85px, transparent 86px), radial-gradient(circle at 93% 82%, rgba(255, 221, 163, .18) 0, rgba(255, 221, 163, .18) 125px, transparent 126px), linear-gradient(180deg, #fffaf0 0%, #fff8e9 52%, #f9efe2 100%) !important;
  color: var(--gallery-text) !important;
}
/* =========================================================
   背景装飾
========================================================= */
.image-grid-section::before {
  content: "Gallery" !important;
  position: absolute !important;
  top: 22px !important;
  left: 50% !important;
  z-index: 0 !important;
  color: rgba(191, 111, 137, .09) !important;
  font-family: var(--font-sans) !important;
  font-size: clamp(4.5rem, 12vw, 9rem) !important;
  font-weight: 400 !important;
  line-height: 1 !important;
  letter-spacing: .02em !important;
  white-space: nowrap !important;
  transform: translateX(-50%) rotate(-3deg) !important;
  pointer-events: none !important;
}
.image-grid-section::after {
  content: "" !important;
  position: absolute !important;
  right: 5% !important;
  top: 95px !important;
  width: 105px !important;
  height: 85px !important;
  background-image:
    radial-gradient(circle, rgba(191, 111, 137, .20) 2px, transparent 3px) !important;
  background-size: 22px 22px !important;
  opacity: .5 !important;
  transform: rotate(8deg) !important;
  pointer-events: none !important;
}
/* =========================================================
   コンテナ
========================================================= */
.image-grid-container {
  position: relative !important;
  z-index: 2 !important;
  max-width: 1120px !important;
  margin: 0 auto !important;
}
/* =========================================================
   Header
========================================================= */
.image-grid-header {
  max-width: 820px !important;
  margin: 0 auto 48px !important;
  text-align: center !important;
}
/* タイトル */
.image-grid-title {
  position: relative !important;
  margin: 0 0 16px !important;
  padding-bottom: 18px !important;
  color: var(--gallery-deep) !important;
  font-family: var(--font-sans) !important;
  font-size: clamp(1.8rem, 3.6vw, 2.7rem) !important;
  font-weight: 600 !important;
  line-height: 1.45 !important;
  letter-spacing: .08em !important;
}
/* タイトル下ライン */
.image-grid-title::after {
  content: "" !important;
  position: absolute !important;
  left: 50% !important;
  bottom: 0 !important;
  width: 58px !important;
  height: 1px !important;
  background:
    linear-gradient(90deg, var(--gallery-main), var(--gallery-light)) !important;
  transform: translateX(-50%) !important;
}
/* 説明文 */
.image-grid-desc {
  margin: 0 !important;
  color: var(--gallery-sub) !important;
  font-family: "Kiwi Maru", serif !important;
  font-size: 14px !important;
  font-weight: 400 !important;
  line-height: 2 !important;
  letter-spacing: .05em !important;
}
/* =========================================================
   Grid
========================================================= */
.image-grid {
  display: grid !important;
  gap: 20px !important;
}
/* =========================================================
   Gallery Item
========================================================= */
.image-grid-item {
  position: relative !important;
  overflow: hidden !important;
  background: #ffffff !important;
  border:
    8px solid rgba(255, 255, 255, .95) !important;
  border-radius: 8px !important;
  box-shadow:
    0 14px 34px rgba(115, 83, 71, .09) !important;
  transition:
    transform .4s ease, box-shadow .4s ease !important;
}
.image-grid-item:hover {
  transform: translateY(-4px) !important;
  box-shadow:
    0 20px 42px rgba(115, 83, 71, .14) !important;
}
/* =========================================================
   Image
========================================================= */
.image-grid-item img {
  display: block !important;
  width: 100% !important;
  height: auto !important;
  transition:
    transform .6s cubic-bezier(.2, .8, .2, 1) !important;
}
.image-grid-item:hover img {
  transform: scale(1.035) !important;
}
/* =========================================================
   画像の形
========================================================= */
/* 正方形 */
.image-grid-shape-square .image-grid-item img {
  aspect-ratio: 1 / 1 !important;
  height: auto !important;
  object-fit: cover !important;
}
/* 丸型 */
.image-grid-shape-circle .image-grid-item {
  border-radius: 50% !important;
}
.image-grid-shape-circle .image-grid-item img {
  aspect-ratio: 1 / 1 !important;
  height: auto !important;
  object-fit: cover !important;
  border-radius: 50% !important;
}
/* 角丸 */
.image-grid-shape-rounded .image-grid-item {
  border-radius: 16px !important;
}
.image-grid-shape-rounded .image-grid-item img {
  border-radius: 9px !important;
}
/* フリー */
.image-grid-shape-free .image-grid-item {
  border-radius: 6px !important;
}
.image-grid-shape-free .image-grid-item img {
  border-radius: 0 !important;
}
/* =========================================================
   空状態
========================================================= */
.image-grid-empty {
  padding: 42px 20px !important;
  color: var(--gallery-sub) !important;
  font-family: "Kiwi Maru", serif !important;
  font-size: 13px !important;
  text-align: center !important;
  background:
    rgba(255, 255, 255, .55) !important;
  border:
    1px dashed rgba(191, 111, 137, .35) !important;
  border-radius: 10px !important;
}
/* =========================================================
   Tablet
========================================================= */
@media (max-width: 900px) {
  .image-grid-section {
    padding: 100px 20px !important;
  }
  .image-grid {
    gap: 16px !important;
  }
}
/* =========================================================
   Smartphone
========================================================= */
@media (max-width: 768px) {
  .image-grid-section {
    padding: 82px 15px 72px !important;
  }
  .image-grid-section::before {
    top: 20px !important;
    font-size:
      clamp(3.5rem, 17vw, 5.8rem) !important;
  }
  .image-grid-section::after {
    top: 58px !important;
    right: -10px !important;
    width: 78px !important;
    height: 65px !important;
  }
  .image-grid-header {
    margin-bottom: 34px !important;
  }
  .image-grid-title {
    font-size:
      clamp(1.55rem, 7vw, 2rem) !important;
  }
  .image-grid-desc {
    font-size: .85rem !important;
    line-height: 1.9 !important;
  }
  .image-grid {
    gap: 12px !important;
  }
  .image-grid-item {
    border-width: 5px !important;
    border-radius: 6px !important;
  }
}
/* =========================================================
   Small Smartphone
========================================================= */
@media (max-width: 480px) {
  .image-grid-section {
    padding: 72px 14px 62px !important;
  }
  .image-grid-title {
    font-size: 1.5rem !important;
  }
  .image-grid-desc {
    font-size: .82rem !important;
  }
}


/* =========================================================
   Page: menu / MENU｜【アンジュ プティ ボヌール】米粉を使った手作りケーキ・焼き菓子専門店
========================================================= */

/* Block: menu_category_grid / sec_1786359243852 */
/* =========================================================
   menu_category_grid に貼るCSS
   ロゴカラー × パステル洋菓子店デザイン
========================================================= */
.menu-grid-section {
  --menu-main: #bf6f89;
  --menu-deep: #a95372;
  --menu-light: #e8aab5;
  --menu-pale: #f7dce2;
  --menu-cream: #fff8e9;
  --menu-beige: #f7eddf;
  --menu-text: #5d514c;
  --menu-sub: #7d6f69;
  position: relative !important;
  display: block !important;
  height: auto !important;
  max-height: none !important;
  overflow: hidden !important;
  opacity: 1 !important;
  transform: none !important;
  padding: 120px 20px !important;
  background:
    radial-gradient(circle at 7% 12%, rgba(232, 170, 181, .12) 0, rgba(232, 170, 181, .12) 90px, transparent 91px), radial-gradient(circle at 94% 86%, rgba(255, 222, 168, .20) 0, rgba(255, 222, 168, .20) 125px, transparent 126px), linear-gradient(180deg, #fffaf0 0%, #fff8e9 52%, #f9efe2 100%) !important;
  color: var(--menu-text) !important;
}
/* =========================================================
   背景装飾
========================================================= */
.menu-grid-section::before {
  content: "Menu" !important;
  position: absolute !important;
  top: 24px !important;
  left: 50% !important;
  z-index: 0 !important;
  width: auto !important;
  height: auto !important;
  color: rgba(191, 111, 137, .08) !important;
  font-family: var(--font-sans) !important;
  font-size: clamp(5rem, 13vw, 10rem) !important;
  font-weight: 500 !important;
  line-height: 1 !important;
  letter-spacing: .02em !important;
  white-space: nowrap !important;
  background: none !important;
  transform:
    translateX(-50%) rotate(-3deg) !important;
  pointer-events: none !important;
}
.menu-grid-section::after {
  content: "" !important;
  position: absolute !important;
  top: 105px !important;
  right: 5% !important;
  width: 110px !important;
  height: 88px !important;
  background-image:
    radial-gradient(circle, rgba(191, 111, 137, .20) 2px, transparent 3px) !important;
  background-size: 22px 22px !important;
  opacity: .5 !important;
  transform: rotate(8deg) !important;
  pointer-events: none !important;
}
/* =========================================================
   Section Header
========================================================= */
.menu-section-header {
  position: relative !important;
  z-index: 2 !important;
  max-width: 820px !important;
  margin:
    0 auto 68px !important;
  text-align:
    center !important;
}
.menu-main-title {
  position: relative !important;
  margin:
    0 !important;
  padding-bottom:
    18px !important;
  color:
    var(--menu-deep) !important;
  font-family:
    var(--font-sans) !important;
  font-size:
    clamp(1.9rem, 3.8vw, 3rem) !important;
  font-weight:
    600 !important;
  line-height:
    1.45 !important;
  letter-spacing:
    .08em !important;
}
.menu-main-title::after {
  content: "" !important;
  position: absolute !important;
  left: 50% !important;
  bottom: 0 !important;
  width: 60px !important;
  height: 1px !important;
  background:
    linear-gradient(90deg, var(--menu-main), var(--menu-light)) !important;
  transform:
    translateX(-50%) !important;
}
.menu-sub-text {
  margin-top:
    16px !important;
  color:
    var(--menu-sub) !important;
  font-family:
    var(--font-sans) !important;
  font-size:
    .9rem !important;
  font-weight:
    400 !important;
  line-height:
    2 !important;
  letter-spacing:
    .045em !important;
}
/* =========================================================
   Category Container
========================================================= */
.menu-cat-container {
  position:
    relative !important;
  z-index:
    2 !important;
  max-width:
    980px !important;
  margin:
    0 auto !important;
  height:
    auto !important;
  max-height:
    none !important;
  overflow:
    visible !important;
}
/* =========================================================
   Category Block
========================================================= */
.menu-cat-block {
  position: relative !important;
  height:
    auto !important;
  max-height:
    none !important;
  overflow:
    visible !important;
  margin:
    0 0 78px !important;
  padding:
    40px 36px !important;
  background:
    rgba(255, 255, 255, .62) !important;
  border:
    1px solid rgba(191, 111, 137, .11) !important;
  border-radius:
    16px !important;
  box-shadow:
    0 16px 40px rgba(115, 83, 71, .07) !important;
}
/* 偶数カテゴリだけ淡いピンク */
.menu-cat-block:nth-child(even) {
  padding:
    40px 36px !important;
  background:
    linear-gradient(135deg, rgba(247, 220, 226, .72), rgba(255, 244, 226, .78)) !important;
  color:
    var(--menu-text) !important;
  border:
    1px solid rgba(191, 111, 137, .12) !important;
  border-radius:
    16px !important;
  box-shadow:
    0 16px 40px rgba(115, 83, 71, .08) !important;
}
.menu-cat-block:last-child {
  margin-bottom:
    0 !important;
}
/* =========================================================
   Category Header
========================================================= */
.menu-cat-header {
  margin:
    0 0 28px !important;
  padding:
    0 0 20px !important;
  border-bottom:
    1px solid rgba(191, 111, 137, .17) !important;
  text-align:
    center !important;
}
.menu-cat-block:nth-child(even) .menu-cat-header {
  border-bottom-color:
    rgba(191, 111, 137, .20) !important;
}
/* =========================================================
   Category Name
========================================================= */
.menu-cat-name {
  display:
    flex !important;
  align-items:
    center !important;
  justify-content:
    center !important;
  gap:
    16px !important;
  margin:
    0 0 10px !important;
  color:
    var(--menu-deep) !important;
  font-family:
    var(--font-sans) !important;
  font-size:
    clamp(1.5rem, 3.5vw, 2.4rem) !important;
  font-weight:
    600 !important;
  line-height:
    1.4 !important;
  letter-spacing:
    .07em !important;
}
.menu-cat-name::before, .menu-cat-name::after {
  content:
    "" !important;
  width:
    34px !important;
  height:
    1px !important;
  background:
    linear-gradient(90deg, var(--menu-light), var(--menu-main)) !important;
  border-radius:
    999px !important;
}
.menu-cat-block:nth-child(even) .menu-cat-name {
  color:
    var(--menu-deep) !important;
}
/* =========================================================
   Category Description
========================================================= */
.menu-cat-desc {
  margin:
    0 !important;
  color:
    var(--menu-sub) !important;
  font-family:
    var(--font-sans) !important;
  font-size:
    13px !important;
  font-weight:
    400 !important;
  line-height:
    1.9 !important;
  letter-spacing:
    .04em !important;
}
.menu-cat-block:nth-child(even) .menu-cat-desc {
  color:
    var(--menu-sub) !important;
}
/* =========================================================
   Item Grid
========================================================= */
.menu-items-grid {
  display:
    grid !important;
  grid-template-columns:
    1fr !important;
  gap:
    0 !important;
  height:
    auto !important;
  max-height:
    none !important;
  overflow:
    visible !important;
}
/* =========================================================
   Menu Item
========================================================= */
.menu-item-card, .menu-item-card.no-image {
  position:
    relative !important;
  display:
    grid !important;
  grid-template-columns:
    110px minmax(0, 1fr) !important;
  gap:
    20px !important;
  align-items:
    center !important;
  min-height:
    84px !important;
  padding:
    18px 8px !important;
  background:
    transparent !important;
  color:
    var(--menu-text) !important;
  border:
    0 !important;
  border-bottom:
    1px dashed rgba(191, 111, 137, .18) !important;
  border-radius:
    0 !important;
  box-shadow:
    none !important;
  transition:
    background-color .25s ease, padding .25s ease !important;
}
.menu-item-card.no-image {
  grid-template-columns:
    minmax(0, 1fr) !important;
}
.menu-cat-block:nth-child(even) .menu-item-card, .menu-cat-block:nth-child(even) .menu-item-card.no-image {
  color:
    var(--menu-text) !important;
  border-bottom-color:
    rgba(191, 111, 137, .20) !important;
}
.menu-item-card:last-child, .menu-item-card.no-image:last-child {
  border-bottom:
    0 !important;
}
/* hover */
.menu-item-card:hover, .menu-item-card.no-image:hover {
  transform:
    none !important;
  background:
    rgba(247, 220, 226, .32) !important;
  box-shadow:
    none !important;
}
.menu-cat-block:nth-child(even) .menu-item-card:hover, .menu-cat-block:nth-child(even) .menu-item-card.no-image:hover {
  background:
    rgba(255, 255, 255, .48) !important;
}
/* =========================================================
   Image
========================================================= */
.mi-img-box {
  position:
    relative !important;
  grid-column:
    1 !important;
  width:
    110px !important;
  height:
    82px !important;
  aspect-ratio:
    auto !important;
  flex-shrink:
    0 !important;
  overflow:
    hidden !important;
  background:
    var(--menu-pale) !important;
  border:
    4px solid rgba(255, 255, 255, .9) !important;
  border-radius:
    10px !important;
  box-shadow:
    0 8px 20px rgba(115, 83, 71, .09) !important;
}
.menu-item-card.no-image .mi-img-box {
  display:
    none !important;
}
.mi-img-box img {
  width:
    100% !important;
  height:
    100% !important;
  object-fit:
    cover !important;
  transition:
    transform .5s ease !important;
}
.menu-item-card:hover .mi-img-box img {
  transform:
    scale(1.045) !important;
}
/* =========================================================
   Sold Out
========================================================= */
.mi-sold-out {
  position:
    absolute !important;
  inset:
    0 !important;
  z-index:
    2 !important;
  display:
    flex !important;
  align-items:
    center !important;
  justify-content:
    center !important;
  background:
    rgba(91, 65, 63, .62) !important;
  color:
    #ffffff !important;
  font-family:
    var(--font-sans) !important;
  font-size:
    11px !important;
  font-weight:
    600 !important;
  letter-spacing:
    .1em !important;
}
/* =========================================================
   Info
========================================================= */
.mi-info, .menu-item-card.no-image .mi-info {
  grid-column:
    2 !important;
  display:
    grid !important;
  grid-template-columns:
    minmax(0, 1fr) minmax(110px, auto) !important;
  column-gap:
    24px !important;
  row-gap:
    7px !important;
  align-items:
    baseline !important;
  min-width:
    0 !important;
}
.menu-item-card.no-image .mi-info {
  grid-column:
    1 !important;
}
/* =========================================================
   Menu Title
========================================================= */
.mi-title, .menu-item-card.no-image .mi-title {
  grid-column:
    1 !important;
  grid-row:
    1 !important;
  min-width:
    0 !important;
  margin:
    0 !important;
  color:
    var(--menu-deep) !important;
  font-family:
    var(--font-sans) !important;
  font-size:
    1.03rem !important;
  font-weight:
    600 !important;
  line-height:
    1.6 !important;
  letter-spacing:
    .04em !important;
  text-align:
    left !important;
}
.menu-cat-block:nth-child(even) .mi-title {
  color:
    var(--menu-deep) !important;
}
/* =========================================================
   Description
========================================================= */
.mi-text, .menu-item-card.no-image .mi-text {
  grid-column:
    1 / -1 !important;
  grid-row:
    2 !important;
  margin:
    0 !important;
  color:
    var(--menu-sub) !important;
  font-family:
    var(--font-sans) !important;
  font-size:
    12.5px !important;
  font-weight:
    400 !important;
  line-height:
    1.8 !important;
  letter-spacing:
    .03em !important;
}
.menu-cat-block:nth-child(even) .mi-text {
  color:
    var(--menu-sub) !important;
}
/* =========================================================
   Meta / Price
========================================================= */
.mi-meta, .menu-item-card.no-image .mi-meta {
  grid-column:
    2 !important;
  grid-row:
    1 !important;
  display:
    flex !important;
  justify-content:
    flex-end !important;
  align-items:
    baseline !important;
  gap:
    8px !important;
  width:
    100% !important;
  min-width:
    110px !important;
  margin:
    0 !important;
  padding:
    0 !important;
  border:
    0 !important;
  text-align:
    right !important;
}
.mi-duration {
  display:
    none !important;
}
.mi-price {
  width:
    100% !important;
  margin:
    0 !important;
  color:
    var(--menu-main) !important;
  font-family:
    var(--font-sans) !important;
  font-weight:
    600 !important;
  line-height:
    1.3 !important;
  text-align:
    right !important;
  white-space:
    nowrap !important;
}
.menu-cat-block:nth-child(even) .mi-price {
  color:
    var(--menu-main) !important;
}
.price-in {
  color:
    inherit !important;
  font-family:
    var(--font-sans) !important;
  font-size:
    1.08rem !important;
  font-weight:
    600 !important;
}
/* =========================================================
   Tablet
========================================================= */
@media (max-width: 1024px) {
  .menu-grid-section {
    padding:
      100px 20px !important;
  }
  .menu-cat-container {
    max-width:
      860px !important;
  }
  .menu-cat-block, .menu-cat-block:nth-child(even) {
    padding:
      36px 28px !important;
  }
  .menu-item-card, .menu-item-card.no-image {
    grid-template-columns:
      96px minmax(0, 1fr) !important;
  }
  .menu-item-card.no-image {
    grid-template-columns:
      minmax(0, 1fr) !important;
  }
  .mi-img-box {
    width:
      96px !important;
    height:
      74px !important;
  }
  .mi-info, .menu-item-card.no-image .mi-info {
    grid-template-columns:
      minmax(0, 1fr) minmax(104px, auto) !important;
    column-gap:
      16px !important;
  }
}
/* =========================================================
   Smartphone
========================================================= */
@media (max-width: 768px) {
  .menu-grid-section {
    padding:
      82px 15px !important;
  }
  .menu-grid-section::before {
    top:
      20px !important;
    font-size:
      clamp(3.5rem, 17vw, 6rem) !important;
  }
  .menu-grid-section::after {
    top:
      58px !important;
    right:
      -12px !important;
    width:
      80px !important;
    height:
      65px !important;
  }
  .menu-section-header {
    margin-bottom:
      48px !important;
  }
  .menu-main-title {
    font-size:
      clamp(1.55rem, 7vw, 2rem) !important;
  }
  .menu-cat-block {
    margin-bottom:
      48px !important;
  }
  .menu-cat-block, .menu-cat-block:nth-child(even) {
    padding:
      28px 16px !important;
    border-radius:
      12px !important;
  }
  .menu-cat-header {
    margin-bottom:
      22px !important;
    padding-bottom:
      16px !important;
  }
  .menu-cat-name {
    gap:
      10px !important;
    font-size:
      clamp(1.3rem, 6vw, 1.75rem) !important;
  }
  .menu-cat-name::before, .menu-cat-name::after {
    width:
      24px !important;
  }
  .menu-cat-desc {
    font-size:
      12.5px !important;
  }
  .menu-item-card, .menu-item-card.no-image {
    grid-template-columns:
      78px minmax(0, 1fr) !important;
    gap:
      12px !important;
    min-height:
      70px !important;
    padding:
      15px 0 !important;
  }
  .menu-item-card.no-image {
    grid-template-columns:
      minmax(0, 1fr) !important;
  }
  .mi-img-box {
    width:
      78px !important;
    height:
      64px !important;
    border-width:
      3px !important;
    border-radius:
      8px !important;
  }
  .mi-info, .menu-item-card.no-image .mi-info {
    grid-template-columns:
      minmax(0, 1fr) minmax(90px, auto) !important;
    column-gap:
      10px !important;
  }
  .mi-title, .menu-item-card.no-image .mi-title {
    font-size:
      .94rem !important;
    line-height:
      1.55 !important;
  }
  .mi-text, .menu-item-card.no-image .mi-text {
    font-size:
      11.8px !important;
    line-height:
      1.7 !important;
  }
  .mi-meta, .menu-item-card.no-image .mi-meta {
    min-width:
      90px !important;
  }
  .price-in {
    font-size:
      .98rem !important;
  }
}
/* =========================================================
   Small Smartphone
========================================================= */
@media (max-width: 480px) {
  .menu-grid-section {
    padding:
      72px 14px !important;
  }
  .menu-cat-block, .menu-cat-block:nth-child(even) {
    padding:
      24px 13px !important;
  }
  .menu-item-card, .menu-item-card.no-image {
    grid-template-columns:
      68px minmax(0, 1fr) !important;
    gap:
      10px !important;
  }
  .menu-item-card.no-image {
    grid-template-columns:
      minmax(0, 1fr) !important;
  }
  .mi-img-box {
    width:
      68px !important;
    height:
      58px !important;
  }
  .mi-info, .menu-item-card.no-image .mi-info {
    grid-template-columns:
      minmax(0, 1fr) minmax(78px, auto) !important;
    column-gap:
      8px !important;
  }
  .mi-title, .menu-item-card.no-image .mi-title {
    font-size:
      .88rem !important;
  }
  .mi-text, .menu-item-card.no-image .mi-text {
    font-size:
      11.2px !important;
  }
  .mi-meta, .menu-item-card.no-image .mi-meta {
    min-width:
      78px !important;
  }
  .price-in {
    font-size:
      .92rem !important;
  }
}


/* =========================================================
   Page: courses / COURSES ページ
========================================================= */

/* Block: course_list / sec_1782111030011 */
/* =========================================================
   course_list に貼るCSS
========================================================= */
.course-list-section {
  padding: 100px 20px 120px !important;
  background: #ffffff !important;
  color: #333333 !important;
}

.course-list-header {
  max-width: 820px !important;
  margin: 0 auto 64px !important;
  text-align: center !important;
}

.course-list-title {
  margin: 0 !important;
  color: #20909c !important;
  font-family: "Montserrat", "Noto Sans JP", sans-serif !important;
  font-size: clamp(1.9rem, 3.6vw, 3.1rem) !important;
  font-weight: 900 !important;
  line-height: 1.35 !important;
  letter-spacing: .1em !important;
}

.course-list-desc {
  margin-top: 12px !important;
  color: #e84c22 !important;
  font-size: .9rem !important;
  font-weight: 700 !important;
  line-height: 2 !important;
  letter-spacing: .08em !important;
}

.course-list-grid {
  display: flex !important;
  flex-direction: column !important;
  gap: 80px !important;
  max-width: 1000px !important;
  margin: 0 auto !important;
}

.course-list-card {
  display: flex !important;
  flex-direction: column !important;
  align-items: center !important;
  overflow: hidden !important;
  background: #ffffff !important;
  color: #333333 !important;
  border: 1px solid rgba(0, 0, 0, .06) !important;
  border-radius: 24px !important;
  box-shadow: 0 12px 30px rgba(0, 0, 0, .06) !important;
  transition: transform .4s cubic-bezier(.2, 1, .2, 1), box-shadow .4s cubic-bezier(.2, 1, .2, 1) !important;
}

.course-list-card:hover {
  transform: translateY(-10px) !important;
  box-shadow: 0 16px 40px rgba(32, 144, 156, .15) !important;
}

.course-list-img {
  position: relative !important;
  width: 100% !important;
  height: 420px !important;
  aspect-ratio: auto !important;
  overflow: hidden !important;
  background: #aedce0 !important;
  border: 0 !important;
  color: #20909c !important;
}

.course-list-img img {
  width: 100% !important;
  height: 100% !important;
  object-fit: cover !important;
  filter: none !important;
  transition: transform .6s ease !important;
}

.course-list-card:hover .course-list-img img {
  transform: scale(1.08) !important;
}

.course-list-body {
  position: relative !important;
  display: flex !important;
  flex-direction: column !important;
  width: 100% !important;
  padding: 50px 40px !important;
  background: transparent !important;
  border: 0 !important;
  box-shadow: none !important;
  text-align: center !important;
}

.course-list-kicker {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  align-self: center !important;
  margin: 0 0 18px !important;
  padding: 6px 20px !important;
  background: #e84c22 !important;
  color: #ffffff !important;
  border-radius: 999px !important;
  font-size: 11px !important;
  font-weight: 800 !important;
  line-height: 1.5 !important;
  letter-spacing: .2em !important;
}

.course-list-body h3 {
  margin: 0 0 20px !important;
  color: #20909c !important;
  font-family: "Noto Serif JP", "Yu Mincho", serif !important;
  font-size: 1.8rem !important;
  font-weight: 800 !important;
  line-height: 1.35 !important;
  letter-spacing: .1em !important;
  text-align: center !important;
}

.course-list-text {
  min-height: 0 !important;
  margin: 0 0 36px !important;
  color: #666666 !important;
  font-size: .95rem !important;
  font-weight: 700 !important;
  line-height: 2 !important;
  text-align: center !important;
  white-space: pre-wrap !important;
}

.course-list-price {
  margin: 0 0 24px !important;
  padding-bottom: 24px !important;
  color: #e84c22 !important;
  border-bottom: 1px dashed rgba(0, 0, 0, .06) !important;
  font-family: "Montserrat", sans-serif !important;
  font-size: 2.2rem !important;
  font-weight: 900 !important;
  line-height: 1.2 !important;
  text-align: center !important;
}

.course-list-price small {
  margin-left: 6px !important;
  color: #666666 !important;
  font-family: "Noto Sans JP", sans-serif !important;
  font-size: .8rem !important;
  font-weight: 700 !important;
}

.course-list-reserve {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  gap: 10px !important;
  width: 100% !important;
  max-width: 300px !important;
  min-height: 56px !important;
  margin: 0 auto !important;
  padding: 0 30px !important;
  background: transparent !important;
  color: #20909c !important;
  border: 2px solid #20909c !important;
  border-radius: 999px !important;
  font-size: 1rem !important;
  font-weight: 800 !important;
  letter-spacing: .1em !important;
  cursor: pointer !important;
  transition: .3s ease !important;
}

.course-list-reserve:hover {
  background: #20909c !important;
  color: #ffffff !important;
  transform: translateY(-2px) !important;
  box-shadow: 0 12px 30px rgba(0, 0, 0, .06) !important;
}

.drink-option-list {
  max-width: 860px !important;
  margin: 72px auto 0 !important;
  padding: 46px 36px !important;
  background: #e8dccb !important;
  color: #4a3b32 !important;
  border: 0 !important;
  border-radius: 24px !important;
  box-shadow: 0 12px 30px rgba(0, 0, 0, .06) !important;
}

.drink-option-row {
  display: grid !important;
  grid-template-columns: minmax(0, 1fr) auto !important;
  align-items: center !important;
  gap: 20px !important;
  padding: 20px 10px !important;
  color: #4a3b32 !important;
  border-bottom: 1px solid rgba(74, 59, 50, .2) !important;
  font-weight: 700 !important;
}

.drink-option-row:last-child {
  border-bottom: 0 !important;
}

.drink-option-row:hover {
  background: rgba(255, 255, 255, .3) !important;
}

.drink-option-row strong,
.drink-option-row b {
  color: #4a3b32 !important;
  font-size: 1.1rem !important;
  letter-spacing: .08em !important;
}

.drink-option-row span:last-child {
  display: inline-flex !important;
  align-items: baseline !important;
  justify-content: center !important;
  min-width: 110px !important;
  padding: 6px 20px !important;
  border: 1.5px solid #4a3b32 !important;
  border-radius: 30px !important;
  color: #4a3b32 !important;
  font-family: "Montserrat", sans-serif !important;
  font-size: 1.15rem !important;
  font-weight: 800 !important;
  white-space: nowrap !important;
}

@media (max-width: 768px) {
  .course-list-section {
    padding: 80px 16px !important;
  }

  .course-list-header {
    margin-bottom: 42px !important;
  }

  .course-list-grid {
    gap: 56px !important;
  }

  .course-list-img {
    height: 260px !important;
  }

  .course-list-body {
    padding: 30px 20px !important;
  }

  .course-list-body h3 {
    font-size: 1.5rem !important;
  }

  .course-list-price {
    font-size: 1.8rem !important;
  }

  .course-list-price small {
    display: block !important;
    margin: 6px 0 0 !important;
  }

  .drink-option-list {
    margin-top: 56px !important;
    padding: 34px 18px !important;
    border-radius: 20px !important;
  }

  .drink-option-row {
    grid-template-columns: 1fr !important;
    gap: 12px !important;
    padding: 20px 5px !important;
  }

  .drink-option-row span:last-child {
    justify-self: start !important;
    min-width: 0 !important;
  }
}


/* =========================================================
   Page: seats / SEATS ページ
========================================================= */

/* Block: seat_list_full / sec_1782111115207 */
/* =========================================================
   seat_list_full に貼るCSS
========================================================= */
.seat-list-full-section {
  padding: 100px 20px 120px !important;
  background: #ffffff !important;
  color: #333333 !important;
}

.slf-header {
  max-width: 820px !important;
  margin: 0 auto 60px !important;
  text-align: center !important;
}

.slf-main-title {
  margin: 0 0 12px !important;
  color: #20909c !important;
  font-family: "Montserrat", "Noto Sans JP", sans-serif !important;
  font-size: clamp(1.9rem, 3.6vw, 3.1rem) !important;
  font-weight: 900 !important;
  line-height: 1.35 !important;
  letter-spacing: .1em !important;
}

.slf-sub-text {
  margin: 0 !important;
  color: #e84c22 !important;
  font-size: .9rem !important;
  font-weight: 700 !important;
  line-height: 2 !important;
  letter-spacing: .08em !important;
}

.slf-grid {
  display: flex !important;
  flex-direction: column !important;
  gap: 60px !important;
  align-items: stretch !important;
  max-width: 1060px !important;
  margin: 0 auto !important;
}

.slf-card {
  display: grid !important;
  grid-template-columns: minmax(320px, 1.2fr) minmax(0, 1fr) !important;
  height: auto !important;
  overflow: hidden !important;
  background: #ffffff !important;
  color: #333333 !important;
  border: 1px solid rgba(0, 0, 0, .06) !important;
  border-radius: 24px !important;
  box-shadow: 0 12px 30px rgba(0, 0, 0, .06) !important;
  transition: transform .4s cubic-bezier(.2, 1, .2, 1), box-shadow .4s ease, border-color .4s ease !important;
}

.slf-card:nth-child(even) {
  grid-template-columns: minmax(0, 1fr) minmax(320px, 1.2fr) !important;
}

.slf-card:nth-child(even) .slf-img-wrap {
  order: 2 !important;
}

.slf-card:nth-child(even) .slf-body {
  order: 1 !important;
}

.slf-card:hover {
  transform: translateY(-10px) !important;
  border-color: #f2bc1b !important;
  box-shadow: 0 16px 40px rgba(32, 144, 156, .15) !important;
}

.slf-img-wrap {
  position: relative !important;
  width: 100% !important;
  min-height: 320px !important;
  height: auto !important;
  aspect-ratio: auto !important;
  overflow: hidden !important;
  background: #aedce0 !important;
}

.slf-img-wrap img {
  width: 100% !important;
  height: 100% !important;
  object-fit: cover !important;
  filter: none !important;
  transition: transform .6s ease !important;
}

.slf-card:hover .slf-img-wrap img {
  transform: scale(1.08) !important;
}

.slf-badge {
  position: absolute !important;
  top: 14px !important;
  right: 14px !important;
  z-index: 2 !important;
  padding: 6px 18px !important;
  border: 0 !important;
  border-radius: 999px !important;
  box-shadow: 0 4px 15px rgba(0, 0, 0, .1) !important;
  font-size: 11px !important;
  font-weight: 800 !important;
  letter-spacing: .1em !important;
}

.slf-badge.is-open {
  background: rgba(32, 144, 156, .15) !important;
  color: #20909c !important;
}

.slf-badge.is-full {
  background: #666666 !important;
  color: #ffffff !important;
}

.slf-body {
  display: flex !important;
  flex-direction: column !important;
  justify-content: center !important;
  padding: 50px !important;
}

.slf-title {
  margin: 0 0 18px !important;
  padding-bottom: 16px !important;
  color: #20909c !important;
  border-bottom: 1px dashed rgba(0, 0, 0, .06) !important;
  font-family: "Noto Serif JP", "Yu Mincho", serif !important;
  font-size: 1.8rem !important;
  font-weight: 800 !important;
  line-height: 1.35 !important;
  letter-spacing: .1em !important;
}

.slf-cap {
  color: #e84c22 !important;
  font-size: 12px !important;
  font-weight: 700 !important;
}

.slf-desc {
  flex: 0 1 auto !important;
  margin: 0 !important;
  color: #666666 !important;
  font-size: .95rem !important;
  font-weight: 700 !important;
  line-height: 2 !important;
}

.slf-reserve-btn {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  width: 100% !important;
  min-height: 54px !important;
  margin-top: 28px !important;
  padding: 0 28px !important;
  background: transparent !important;
  color: #20909c !important;
  border: 2px solid #20909c !important;
  border-radius: 999px !important;
  font-size: 14px !important;
  font-weight: 800 !important;
  letter-spacing: .1em !important;
  cursor: pointer !important;
  transition: .3s ease !important;
}

.slf-reserve-btn:hover {
  background: #20909c !important;
  color: #ffffff !important;
  transform: translateY(-2px) !important;
}

@media (max-width: 768px) {
  .seat-list-full-section {
    padding: 80px 16px 60px !important;
  }

  .slf-header {
    margin-bottom: 42px !important;
  }

  .slf-grid {
    gap: 40px !important;
  }

  .slf-card,
  .slf-card:nth-child(even) {
    grid-template-columns: 1fr !important;
    border-radius: 16px !important;
  }

  .slf-card:nth-child(even) .slf-img-wrap,
  .slf-card:nth-child(even) .slf-body {
    order: initial !important;
  }

  .slf-img-wrap {
    min-height: 260px !important;
  }

  .slf-body {
    padding: 30px 20px !important;
  }

  .slf-title {
    font-size: 1.6rem !important;
  }
}

/* Block: big_calendar / sec_1782111142769 */
.big-calendar-section {padding: 90px 20px; background: #101718; color: #fff7ea;}
.calendar-card {max-width: 1040px; margin: 0 auto;}
.calendar-card {padding: 36px; background: rgba(255,255,255,0.06); border: 1px solid rgba(137,222,231,0.22); border-radius: 8px; box-shadow: 0 18px 45px rgba(0,0,0,0.2);}
.calendar-header-box {text-align: center; margin-bottom: 32px;}
.bc-month-nav {display: flex; align-items: center; justify-content: center; gap: 18px; margin: 0 0 24px;}
.bc-month-label {min-width: 150px; color: #89dee7; font-family: "Montserrat", sans-serif !important; font-size: 20px; font-weight: 800; text-align: center; letter-spacing: 0.08em;}
.bc-month-btn {width: 42px; height: 42px; display: inline-flex; align-items: center; justify-content: center; border: 1px solid rgba(137,222,231,0.38); border-radius: 999px; background: rgba(137,222,231,0.08); color: #89dee7; cursor: pointer;}
.bc-month-btn:hover:not(:disabled) {background: rgba(137,222,231,0.18); border-color: rgba(137,222,231,0.72);}
.bc-month-btn:disabled {opacity: 0.35; cursor: not-allowed;}
.cal-main-title {margin: 0 0 12px; font-family: "Montserrat", sans-serif !important; color: #89dee7; font-size: 28px; letter-spacing: 0.12em;}
.cal-sub-text {margin: 0; color: #96e2ea; line-height: 2;}
.big-calendar-section .section-header {text-align: center; margin-bottom: 42px;}
.big-calendar-section h2 {font-family: "Montserrat", sans-serif !important; color: #89dee7; font-size: 28px; letter-spacing: 0.12em;}
.big-calendar-section p {color: #96e2ea; line-height: 2;}
.bc-grid {display: grid; grid-template-columns: repeat(7, minmax(0, 1fr)); background: rgba(255,255,255,0.05); border: 1px solid rgba(137,222,231,0.22); border-radius: 8px; overflow: hidden;}
.bc-day-head,
.bc-day {min-height: 78px; padding: 12px 8px; border-right: 1px solid rgba(137,222,231,0.16) !important; border-bottom: 1px solid rgba(137,222,231,0.16) !important;}
.bc-day-head {min-height: auto; text-align: center; background: rgba(70,203,217,0.16); color: #89dee7; font-family: "Montserrat", sans-serif !important; font-size: 11px; font-weight: 900; letter-spacing: 0.08em;}
.bc-day {background: rgba(255,255,255,0.03); color: #fff7ea; cursor: pointer;}
.bc-day.is-open {background: linear-gradient(135deg, rgba(137,222,231,0.20), rgba(70,203,217,0.08)); box-shadow: inset 0 0 0 1px rgba(137,222,231,0.22);}
.bc-day.is-open:hover {background: linear-gradient(135deg, rgba(137,222,231,0.30), rgba(70,203,217,0.14));}
.bc-day.is-limited {background: rgba(113,215,226,0.11);}
.bc-day.is-full {background: rgba(39,177,192,0.045); cursor: default;}
.bc-empty {background: rgba(255,255,255,0.015); cursor: default;}
.bc-date-num {color: #fff7ea; font-weight: 900;}
.bc-date-mark {margin-top: 10px; font-size: 18px; font-weight: 900;}
@media (max-width: 768px) {
  .big-calendar-section {padding: 64px 15px;}
  .calendar-card {padding: 22px;}
  .big-calendar-section h2,
.cal-main-title {font-size: 22px;}
  .bc-day {min-height: 64px; padding: 9px 5px;}
  .bc-day-head {padding: 8px 4px; font-size: 10px;}
}

/* Block: reservation_policy / sec_1782111159668 */
.policy-section {padding: 72px 20px; background: #f7f1e5; color: #1a1a1a;}
.policy-container {max-width: 860px; margin: 0 auto; padding: 34px 38px; background: #fffaf0; border: 1px solid rgba(16,23,24,0.12); border-left: 4px solid #46cbd9; border-radius: 8px; box-shadow: 0 16px 38px rgba(16,23,24,0.08);}
.policy-title {font-family: "Montserrat", sans-serif !important; color: #1b2424; font-size: 22px; letter-spacing: 0.08em; margin: 0 0 18px;}
.policy-title i {color: #46cbd9; margin-right: 8px;}
.policy-content {color: #33403f; font-size: 14px; line-height: 2;}
.policy-block + .policy-block {margin-top: 30px; padding-top: 28px; border-top: 1px dashed rgba(16,23,24,0.16);}
.policy-steps {list-style: none; margin: 0; padding: 0;}
.policy-step {display: flex; gap: 16px; align-items: flex-start; padding: 12px 0;}
.policy-step + .policy-step {border-top: 1px solid rgba(16,23,24,0.07);}
.policy-step-num {flex: 0 0 auto; width: 32px; height: 32px; border-radius: 999px; background: #46cbd9; color: #fff; font-weight: 900; display: flex; align-items: center; justify-content: center; font-size: 15px;}
.policy-step-title {font-weight: 700; color: #1b2424; font-size: 15px; margin-bottom: 4px;}
.policy-step-desc {color: #33403f; font-size: 13.5px; line-height: 1.9;}
@media (max-width: 768px) {
  .policy-section {padding: 56px 15px;}
  .policy-container {padding: 26px 20px;}
  .policy-title {font-size: 19px;}
  .policy-step-num {width: 28px; height: 28px; font-size: 13px;}
}


/* =========================================================
   Page: recruit / RECRUIT ページ
========================================================= */

/* Block: recruit_job_list / sec_1782114313132 */
/* =========================================================
   recruit_job_list に貼るCSS
========================================================= */
.job-list-section {
  padding: 104px 20px 118px !important;
  background: #fff !important;
  color: #333 !important;
}
.job-section-header {
  max-width: 760px !important;
  margin: 0 auto 54px !important;
  text-align: center !important;
}
.job-main-title {
  margin: 0 0 16px !important;
  color: #20909c !important;
  font-family: "Montserrat", "Noto Sans JP", sans-serif !important;
  font-size: clamp(1.8rem, 3vw, 2.45rem) !important;
  font-weight: 900 !important;
  line-height: 1.35 !important;
  letter-spacing: .1em !important;
}
.job-sub-text {
  margin: 0 !important;
  color: #666 !important;
  font-size: 14px !important;
  font-weight: 700 !important;
  line-height: 2 !important;
}
.job-container {
  width: min(1040px, 100%) !important;
  margin: 0 auto !important;
  display: flex !important;
  flex-direction: column !important;
  gap: 44px !important;
}
.job-card {
  overflow: hidden !important;
  background: #fff !important;
  color: #333 !important;
  border: 1px solid rgba(32,144,156,.12) !important;
  border-radius: 24px !important;
  box-shadow: 0 14px 36px rgba(0,0,0,.07) !important;
  transition: .35s ease !important;
}
.job-card:hover {
  border-color: rgba(242,188,27,.7) !important;
  box-shadow: 0 22px 48px rgba(32,144,156,.16) !important;
  transform: translateY(-6px) !important;
}
.job-card-header {
  padding: 34px 40px 28px !important;
  background: linear-gradient(135deg, rgba(174,220,224,.34), rgba(255,255,255,.95)) !important;
  border-bottom: 1px dashed rgba(32,144,156,.18) !important;
}
.job-type-badge {
  display: inline-flex !important;
  margin: 0 0 14px !important;
  padding: 6px 16px !important;
  background: #e84c22 !important;
  color: #fff !important;
  border-radius: 999px !important;
  font-size: 11px !important;
  font-weight: 900 !important;
  letter-spacing: .1em !important;
}
.job-title {
  margin: 0 !important;
  color: #20909c !important;
  font-family: "Noto Serif JP", serif !important;
  font-size: clamp(1.45rem, 2.4vw, 1.9rem) !important;
  font-weight: 700 !important;
  line-height: 1.5 !important;
  letter-spacing: .08em !important;
}
.job-card-body {
  display: grid !important;
  grid-template-columns: minmax(220px, 300px) minmax(0, 1fr) !important;
  gap: 32px !important;
  padding: 34px 40px 40px !important;
  align-items: start !important;
}
.job-img-box {
  width: 100% !important;
  height: auto !important;
  aspect-ratio: 4 / 3 !important;
  overflow: hidden !important;
  border-radius: 16px !important;
  background: #aedce0 !important;
  border: 1px solid rgba(32,144,156,.12) !important;
}
.job-img-box::after { display: none !important; }
.job-img-box img {
  width: 100% !important;
  height: 100% !important;
  object-fit: cover !important;
  filter: none !important;
  transition: transform .6s ease !important;
}
.job-card:hover .job-img-box img { transform: scale(1.06) !important; }
.job-info-box { min-width: 0 !important; }
.job-table {
  width: 100% !important;
  border-collapse: collapse !important;
}
.job-table th,
.job-table td {
  padding: 15px 0 !important;
  border-bottom: 1px solid rgba(32,144,156,.12) !important;
  font-size: 14px !important;
  line-height: 1.85 !important;
  vertical-align: top !important;
}
.job-table th {
  width: 112px !important;
  padding-right: 20px !important;
  color: #e84c22 !important;
  font-weight: 900 !important;
  text-align: left !important;
  white-space: nowrap !important;
}
.job-table td {
  color: #333 !important;
  font-weight: 500 !important;
}
.job-table tr:last-child th,
.job-table tr:last-child td { border-bottom: 0 !important; }
.job-salary {
  color: #20909c !important;
  font-weight: 900 !important;
}
@media (max-width: 900px) {
  .job-card-body { grid-template-columns: 1fr !important; }
  .job-img-box { max-width: 420px !important; }
}
@media (max-width: 768px) {
  .job-list-section { padding: 70px 16px 86px !important; }
  .job-section-header { margin-bottom: 36px !important; }
  .job-card { border-radius: 18px !important; }
  .job-card-header { padding: 28px 22px 24px !important; }
  .job-card-body {
    gap: 24px !important;
    padding: 24px 22px 30px !important;
  }
  .job-img-box {
    max-width: none !important;
    border-radius: 14px !important;
  }
  .job-table th,
  .job-table td {
    display: block !important;
    width: 100% !important;
    padding: 8px 0 !important;
  }
  .job-table th {
    padding-bottom: 2px !important;
    border-bottom: 0 !important;
  }
  .job-table td {
    padding-bottom: 16px !important;
    border-bottom: 1px dashed rgba(32,144,156,.16) !important;
  }
}

/* Block: recruit_spot_list / sec_1782111249790 */
instagram_feed. */
.recruit-spot-section {
background: var(--bg-base) !important;
color: var(--text-main) !important;
}
.recruit-spot-section {
padding: 96px 20px !important;
}
.main-spot-card {
max-width: 920px !important;
margin: 0 auto !important;
padding: 46px 44px !important;
background: linear-gradient(135deg, rgba(255, 255, 255, .075), rgba(255, 255, 255, .035)) !important;
border: 1px solid rgba(137,222,231,.26) !important;
border-radius: 6px !important;
box-shadow: 0 22px 58px rgba(0, 0, 0, .26) !important;
text-align: center !important;
}
.spot-badge {
display: inline-flex !important;
align-items: center !important;
justify-content: center !important;
margin-bottom: 22px !important;
padding: 6px 16px !important;
background: rgba(39,177,192,.92) !important;
color: #fff7ea !important;
border: 1px solid rgba(255, 247, 234, .18) !important;
border-radius: 4px !important;
font-family: "Montserrat", sans-serif !important;
font-size: 11px !important;
font-weight: 900 !important;
letter-spacing: .14em !important;
}
.spot-title {
margin: 0 0 18px !important;
color: var(--gold-light) !important;
font-family: "Montserrat", sans-serif !important;
font-size: clamp(1.45rem, 3vw, 2.1rem) !important;
font-weight: 800 !important;
line-height: 1.55 !important;
letter-spacing: .1em !important;
}
.spot-desc {
max-width: 680px !important;
margin: 0 auto !important;
color: var(--text-sub) !important;
font-family: "Montserrat", sans-serif !important;
font-size: 15px !important;
line-height: 2.05 !important;
letter-spacing: .04em !important;
}
.spot-card,
.spot-content,
.sic-body {
min-width: 0 !important;
}
.spot-btn-wrap {
margin-top: 30px !important;
}
.btn-spot-link {
display: inline-flex !important;
align-items: center !important;
justify-content: center !important;
gap: 8px !important;
min-height: 46px !important;
padding: 0 26px !important;
background: var(--fc-btn-bg) !important;
color: var(--fc-btn-fg) !important;
border: 1px solid var(--fc-btn-border) !important;
border-radius: 4px !important;
box-shadow: none !important;
font-size: 13px !important;
font-weight: 900 !important;
letter-spacing: .06em !important;
}
.btn-spot-link:hover {
background: var(--fc-btn-bg-hover) !important;
color: var(--fc-btn-fg-hover) !important;
transform: translateY(-2px) !important;
}
.spot-items-grid {
max-width: 1040px !important;
margin: 54px auto 0 !important;
}
.spot-grid-title {
display: block !important;
width: auto !important;
margin: 0 0 26px !important;
padding-bottom: 14px !important;
color: var(--gold-light) !important;
border-bottom: 1px solid rgba(137,222,231,.28) !important;
font-family: "Montserrat", sans-serif !important;
font-size: 18px !important;
font-weight: 800 !important;
letter-spacing: .08em !important;
text-align: center !important;
}
.sig-wrapper {
display: grid !important;
grid-template-columns: repeat(auto-fit, minmax(260px, 1fr)) !important;
gap: 20px !important;
}
.spot-item-card {
padding: 22px !important;
background: rgba(255, 255, 255, .055) !important;
border: 1px solid rgba(137,222,231,.22) !important;
border-radius: 6px !important;
box-shadow: 0 18px 46px rgba(0, 0, 0, .22) !important;
}
.spot-item-card.is-full {
opacity: .68 !important;
background: rgba(255, 255, 255, .035) !important;
border-color: rgba(255, 255, 255, .12) !important;
filter: saturate(.72) !important;
}
.sic-header {
display: flex !important;
align-items: flex-start !important;
justify-content: space-between !important;
gap: 16px !important;
padding-bottom: 16px !important;
margin-bottom: 16px !important;
border-bottom: 1px solid rgba(137,222,231,.18) !important;
}
.sic-date {
display: flex !important;
flex-direction: column !important;
gap: 4px !important;
}
.sic-md {
color: var(--gold-light) !important;
font-family: "Montserrat", sans-serif !important;
font-size: 24px !important;
font-weight: 900 !important;
line-height: 1 !important;
}
.sic-time {
color: var(--text-muted) !important;
font-size: 12px !important;
font-weight: 700 !important;
}
.sic-status {
display: inline-flex !important;
align-items: center !important;
justify-content: center !important;
min-height: 30px !important;
padding: 0 12px !important;
border-radius: 4px !important;
font-size: 12px !important;
font-weight: 900 !important;
white-space: nowrap !important;
}
.status-open {
background: rgba(70,203,217,.18) !important;
color: var(--gold-light) !important;
border: 1px solid rgba(137,222,231,.32) !important;
}
.status-full {
background: rgba(39,177,192,.2) !important;
color: #c1edf2 !important;
border: 1px solid rgba(39,177,192,.36) !important;
}
.sic-title {
margin: 0 0 12px !important;
color: var(--text-main) !important;
font-family: "Montserrat", sans-serif !important;
font-size: 18px !important;
font-weight: 800 !important;
line-height: 1.55 !important;
}
.sic-wage {
margin-bottom: 12px !important;
color: var(--text-sub) !important;
font-size: 13px !important;
}
.sic-wage strong {
color: var(--gold-light) !important;
font-family: "Montserrat", sans-serif !important;
font-size: 20px !important;
font-weight: 900 !important;
}
.sic-desc {
margin: 0 !important;
color: var(--text-muted) !important;
font-size: 13px !important;
line-height: 1.85 !important;
}
@media (max-width: 768px) {
  .recruit-spot-section {
padding: 70px 15px !important;
}
  .main-spot-card {
padding: 34px 22px !important;
}
  .spot-title {
letter-spacing: .06em !important;
}
  .spot-desc {
font-size: 14px !important;
line-height: 1.9 !important;
}
  .btn-spot-link {
width: 100% !important;
max-width: 320px !important;
}
  .spot-grid-title {
font-size: 16px !important;
}
  .sig-wrapper {
grid-template-columns: 1fr !important;
}
  .sic-header {
align-items: center !important;
}
}

/* Block: contact_form / sec_1782111266170 */
.contact-form-section {padding: 100px 20px; background: #101718; color: #fff7ea;}
.contact-section-header {text-align: center; margin-bottom: 50px;}
.contact-main-title {font-family: "Montserrat", sans-serif !important; font-size: 28px; font-weight: 800; color: #89dee7; letter-spacing: 0.15em; margin: 0 0 15px 0;}
.contact-sub-text {font-family: "Montserrat", sans-serif !important; font-size: 14px; color: #96e2ea; line-height: 1.8;}
.contact-container {max-width: 860px; margin: 0 auto;}
.form-wrapper {background: rgba(255,255,255,0.06); border: 1px solid rgba(137,222,231,0.22); padding: 42px; border-radius: 8px; box-shadow: 0 18px 45px rgba(0,0,0,0.2);}
.restaurant-contact-form input[type="text"],
.restaurant-contact-form input[type="email"],
.restaurant-contact-form input[type="tel"],
.restaurant-contact-form select,
.restaurant-contact-form textarea {width: 100%; padding: 16px 20px; border: 1px solid rgba(137,222,231,0.28); border-radius: 6px; font-size: 15px; font-family: "Montserrat", sans-serif !important; color: #172526; background: rgba(255,255,255,0.94); transition: 0.3s cubic-bezier(0.25, 1, 0.5, 1); box-shadow: inset 0 2px 4px rgba(0,0,0,0.01);}
.restaurant-contact-form input:focus,
.restaurant-contact-form select:focus,
.restaurant-contact-form textarea:focus {outline: none; border-color: var(--gold); box-shadow: 0 0 0 4px rgba(137,222,231,0.18); background: rgba(255, 247, 234, 0.92);}
.select-wrap {position: relative;}
.select-wrap::after {content: '\f107'; font-family: "Montserrat", sans-serif !important; font-weight: 900; position: absolute; right: 20px; top: 50%; transform: translateY(-50%); color: #aaa; pointer-events: none;}
.restaurant-contact-form select {appearance: none; -webkit-appearance: none; cursor: pointer;}
.form-submit-wrap {text-align: center; margin-top: 50px;}
.btn-submit-contact {display: inline-block; background: var(--fc-btn-bg); color: var(--fc-btn-fg); border: 1px solid var(--fc-btn-border); padding: 18px 60px; border-radius: 4px; font-size: 15px; font-weight: bold; letter-spacing: 0.1em; cursor: pointer; transition: 0.3s; box-shadow: 0 4px 15px rgba(0,0,0,0.1);}
.btn-submit-contact:hover {background: var(--fc-btn-bg-hover); border-color: var(--fc-btn-bg-hover); transform: translateY(-2px); box-shadow: 0 8px 25px rgba(51,197,213,0.3);}
.contact-success-msg {background: rgba(255,255,255,0.06); border: 1px solid rgba(137,222,231,0.22); color: #fff7ea; padding: 40px; border-radius: 8px; text-align: center; margin-bottom: 30px; animation: fadeIn 0.5s ease;}
.contact-success-msg i {font-size: 30px; margin-bottom: 15px;}
.contact-success-msg p {font-size: 15px; font-weight: bold; margin: 0; line-height: 1.6;}
.contact-section-header {
  text-align: center;
  margin-bottom: 48px;
}
.contact-main-title {
  font-family: "Montserrat", sans-serif !important;
  font-size: clamp(1.55rem, 3vw, 2.2rem);
  color: var(--gold-light);
  letter-spacing: .12em;
  font-weight: 800;
}
.contact-sub-text {
  margin-top: 14px;
  color: var(--text-sub);
  font-size: 14px;
  line-height: 2;
}
.btn-submit-contact {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 8px;
  border-radius: 4px;
  border: 1px solid var(--fc-btn-border);
  background: var(--fc-btn-bg);
  color: var(--fc-btn-fg);
  font-weight: 800;
  padding: 12px 22px;
  cursor: pointer;
}
.btn-submit-contact:hover {
  background: var(--fc-btn-bg-hover);
  border-color: var(--fc-btn-bg-hover);
  color: var(--fc-btn-fg-hover);
}
@media (max-width: 768px) {
  .form-wrapper {padding: 40px 20px;}
  .contact-main-title {font-size: 24px;}
  .btn-submit-contact {width: 100%; padding: 18px 0;}
}


/* =========================================================
   Page: reviews / REVIEWS ページ
========================================================= */

/* Block: ugc_ranking / sec_1782111390500 */
/* =========================================================
   ugc_ranking に貼るCSS
========================================================= */
.ugc-section {
  padding: 120px 20px !important;
  background: #aedce0 !important;
  color: #333333 !important;
}

.ugc-container {
  max-width: 1160px !important;
  margin: 0 auto !important;
}

.ugc-section .section-header {
  margin: 0 auto 64px !important;
  text-align: center !important;
}

.ugc-main-title {
  margin: 0 !important;
  color: #20909c !important;
  font-family: "Montserrat", "Noto Serif JP", serif !important;
  font-size: clamp(1.9rem, 3.6vw, 3.1rem) !important;
  font-weight: 900 !important;
  line-height: 1.35 !important;
  letter-spacing: .1em !important;
}

.ugc-sub-text {
  margin-top: 12px !important;
  color: #e84c22 !important;
  font-size: .85rem !important;
  font-weight: 700 !important;
  line-height: 1.9 !important;
  letter-spacing: .1em !important;
}

.ugc-grid {
  display: grid !important;
  grid-template-columns: repeat(auto-fit, minmax(280px, 1fr)) !important;
  gap: 26px !important;
  max-width: 1160px !important;
  margin: 0 auto !important;
}

.ugc-card {
  position: relative !important;
  overflow: hidden !important;
  background: #ffffff !important;
  color: #333333 !important;
  border: 0 !important;
  border-radius: 16px !important;
  box-shadow: 0 12px 30px rgba(0, 0, 0, .06) !important;
  transition: transform .32s ease, box-shadow .32s ease !important;
}

.ugc-card:hover {
  transform: translateY(-8px) !important;
  box-shadow: 0 16px 40px rgba(32, 144, 156, .15) !important;
}

.ugc-rank-badge {
  position: absolute !important;
  top: 0 !important;
  left: 16px !important;
  z-index: 10 !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  width: 38px !important;
  min-width: 38px !important;
  height: 48px !important;
  padding: 0 !important;
  background: #e84c22 !important;
  color: #ffffff !important;
  border-radius: 0 !important;
  box-shadow: none !important;
  clip-path: polygon(0% 0%, 100% 0%, 100% 100%, 50% 82%, 0% 100%) !important;
  font-family: "Montserrat", sans-serif !important;
  font-size: .95rem !important;
  font-weight: 900 !important;
  letter-spacing: 0 !important;
}

.ugc-img-box {
  width: 100% !important;
  height: 210px !important;
  aspect-ratio: auto !important;
  overflow: hidden !important;
  background: #ffffff !important;
}

.ugc-img-box img {
  width: 100% !important;
  height: 100% !important;
  object-fit: cover !important;
  transition: transform .42s ease !important;
}

.ugc-card:hover .ugc-img-box img {
  transform: scale(1.07) !important;
}

.ugc-info,
.ugc-body {
  padding: 22px 24px 26px !important;
}

.ugc-stars {
  margin-bottom: 10px !important;
  color: #f2bc1b !important;
  letter-spacing: .08em !important;
}

.ugc-title {
  margin: 0 0 8px !important;
  color: #20909c !important;
  font-family: "Noto Serif JP", "Yu Mincho", serif !important;
  font-size: 1.22rem !important;
  font-weight: 700 !important;
  line-height: 1.45 !important;
  letter-spacing: .1em !important;
}

.ugc-desc {
  margin: 10px 0 0 !important;
  padding-top: 12px !important;
  color: #666666 !important;
  font-size: .85rem !important;
  font-weight: 700 !important;
  line-height: 1.8 !important;
}

.ugc-user,
.ugc-votes {
  margin-top: 16px !important;
  color: #e84c22 !important;
  font-size: .81rem !important;
  font-weight: 700 !important;
}

.ugc-verified {
  color: #f2bc1b !important;
}

.ugc-btn-wrap {
  margin-top: 42px !important;
  text-align: center !important;
}

.btn-ugc-more {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  min-height: 48px !important;
  padding: 0 38px !important;
  background: #ffffff !important;
  color: #20909c !important;
  border: 0 !important;
  border-radius: 999px !important;
  box-shadow: 0 12px 30px rgba(0, 0, 0, .06) !important;
  font-size: 13px !important;
  font-weight: 800 !important;
  letter-spacing: .1em !important;
  text-decoration: none !important;
}

.btn-ugc-more:hover {
  background: #f2bc1b !important;
  color: #ffffff !important;
  transform: translateY(-2px) !important;
}

@media (max-width: 768px) {
  .ugc-section {
    padding: 80px 16px !important;
  }

  .ugc-section .section-header {
    margin-bottom: 40px !important;
  }

  .ugc-info,
  .ugc-body {
    padding: 20px !important;
  }
}

@media (max-width: 480px) {
  .ugc-section {
    padding: 60px 16px !important;
  }
}

/* Block: review_list_with_sidebar / sec_1782111415616 */
.reviews-archive-section {padding: 90px 20px; background: #101718; color: #fff7ea;}
.reviews-layout-container {max-width: 1120px; margin: 0 auto; display: grid; grid-template-columns: minmax(0, 1fr) 320px; gap: 34px; align-items: start;}
.reviews-main {display: flex; flex-direction: column; gap: 24px;}
.review-row-card {display: grid; grid-template-columns: 180px 1fr; gap: 24px; padding: 24px; background: rgba(255,255,255,0.06); border: 1px solid rgba(246,207,122,0.22); border-radius: 8px; box-shadow: 0 18px 45px rgba(0,0,0,0.2);}
.review-img-box {aspect-ratio: 4 / 3; overflow: hidden; border-radius: 6px; background: #172526;}
.review-img-box img {width: 100%; height: 100%; object-fit: cover;}
.review-meta {display: flex; justify-content: space-between; gap: 16px; color: #c5a25a; font-size: 12px; margin-bottom: 8px;}
.review-stars {color: #f6cf7a; letter-spacing: 0.08em; margin-bottom: 8px;}
.review-dish {display: inline-block; color: #f6cf7a; background: rgba(197,162,90,0.16); border: 1px solid rgba(246,207,122,0.22); border-radius: 4px; padding: 4px 10px; font-size: 12px; font-weight: 700;}
.review-text {margin-top: 12px; color: #e0c8a0; line-height: 2;}
.reviews-sidebar {display: flex; flex-direction: column; gap: 22px;}
.side-widget {padding: 24px; background: rgba(255,255,255,0.06); color: #fff7ea; border: 1px solid rgba(246,207,122,0.22); border-radius: 8px;}
.side-title {font-family: 'Shippori Mincho', serif; color: #f6cf7a; font-size: 18px; margin: 0 0 18px;}
.rank-list {list-style: none; margin: 0; padding: 0;}
.rank-item {display: flex; align-items: center; gap: 12px; padding: 12px 0; border-bottom: 1px solid rgba(255,255,255,0.08);}
.rank-item:last-child {border-bottom: none;}
.rank-num {color: #f6cf7a; font-weight: 900;}
.rank-img {width: 54px; height: 54px; object-fit: cover; border-radius: 6px;}
.rank-name {margin: 0; color: #fff7ea; line-height: 1.5;}
.rank-votes {font-size: 12px; color: #e0c8a0;}
.pagination {display: flex; justify-content: center; gap: 8px; margin-top: 28px;}
.page-btn {min-width: 38px; height: 38px; display: inline-flex; align-items: center; justify-content: center; border: 1px solid rgba(197,162,90,0.35); color: #1a1a1a; border-radius: 4px;}
.page-btn.active, .page-btn:hover {background: #c5a25a; color: #101718;}
.review-body {min-width: 0;}
.review-author, .review-date {color: #c5a25a;}
.rank-info {min-width: 0;}
@media (max-width: 900px) {
  .reviews-layout-container {grid-template-columns: 1fr;}
  .review-row-card {grid-template-columns: 1fr;}
  .review-img-box {width: 100%;}
}


/* =========================================================
   Page: news / NEWS【アンジュ プティ ボヌール】米粉を使った手作りケーキ・焼き菓子専門店｜
========================================================= */

/* Block: news_list_grid / sec_1782114338501 */
/* =========================================================
   news_list_grid に貼るCSS
   ロゴカラー × パステル洋菓子店デザイン
========================================================= */

.news-list-grid-section {
  --news-main: #bf6f89;
  --news-deep: #a95372;
  --news-light: #e8aab5;
  --news-pale: #f7dce2;
  --news-cream: #fff8e9;
  --news-beige: #f7eddf;
  --news-text: #5d514c;
  --news-sub: #7d6f69;

  position: relative !important;
  overflow: hidden !important;

  padding: 120px 20px 130px !important;

  background:
    radial-gradient(
      circle at 7% 14%,
      rgba(232, 170, 181, .12) 0,
      rgba(232, 170, 181, .12) 90px,
      transparent 91px
    ),
    radial-gradient(
      circle at 94% 86%,
      rgba(255, 222, 168, .18) 0,
      rgba(255, 222, 168, .18) 125px,
      transparent 126px
    ),
    linear-gradient(
      180deg,
      #fffaf0 0%,
      #fff8e9 52%,
      #f9efe2 100%
    ) !important;

  color: var(--news-text) !important;
}


/* =========================================================
   背景装飾
========================================================= */

.news-list-grid-section::before {
  content: "News" !important;

  position: absolute !important;
  top: 20px !important;
  left: 50% !important;
  z-index: 0 !important;

  color: rgba(191, 111, 137, .08) !important;

  font-family: var(--font-sans) !important;
  font-size: clamp(5rem, 13vw, 10rem) !important;
  font-weight: 500 !important;

  line-height: 1 !important;
  letter-spacing: .02em !important;

  white-space: nowrap !important;

  transform: translateX(-50%) rotate(-3deg) !important;

  pointer-events: none !important;
}

.news-list-grid-section::after {
  content: "" !important;

  position: absolute !important;
  top: 100px !important;
  right: 5% !important;

  width: 110px !important;
  height: 88px !important;

  background-image:
    radial-gradient(
      circle,
      rgba(191, 111, 137, .20) 2px,
      transparent 3px
    ) !important;

  background-size: 22px 22px !important;

  opacity: .5 !important;
  transform: rotate(8deg) !important;

  pointer-events: none !important;
}


/* =========================================================
   Section Header
========================================================= */

.news-section-header {
  position: relative !important;
  z-index: 2 !important;

  max-width: 820px !important;

  margin: 0 auto 58px !important;

  text-align: center !important;
}

.news-main-title {
  position: relative !important;

  margin: 0 0 16px !important;
  padding-bottom: 18px !important;

  color: var(--news-deep) !important;

  font-family: var(--font-sans) !important;

  font-size: clamp(1.9rem, 3.8vw, 3rem) !important;
  font-weight: 600 !important;

  line-height: 1.45 !important;
  letter-spacing: .08em !important;
}

.news-main-title::after {
  content: "" !important;

  position: absolute !important;
  left: 50% !important;
  bottom: 0 !important;

  width: 58px !important;
  height: 1px !important;

  background:
    linear-gradient(
      90deg,
      var(--news-main),
      var(--news-light)
    ) !important;

  transform: translateX(-50%) !important;
}

.news-sub-text {
  margin: 0 !important;

  color: var(--news-sub) !important;

  font-family: var(--font-sans) !important;

  font-size: .9rem !important;
  font-weight: 400 !important;

  line-height: 2 !important;
  letter-spacing: .045em !important;
}


/* =========================================================
   Grid
========================================================= */

.nlg-grid {
  position: relative !important;
  z-index: 2 !important;

  display: flex !important;
  flex-direction: column !important;

  gap: 28px !important;

  max-width: 980px !important;

  margin: 0 auto !important;
}


/* =========================================================
   Card
========================================================= */

.nlg-card {
  position: relative !important;

  display: grid !important;

  grid-template-columns:
    300px minmax(0, 1fr) !important;

  overflow: hidden !important;

  background:
    rgba(255, 255, 255, .76) !important;

  color: var(--news-text) !important;

  border:
    1px solid rgba(191, 111, 137, .11) !important;

  border-radius: 16px !important;

  box-shadow:
    0 14px 36px rgba(115, 83, 71, .08) !important;

  text-decoration: none !important;

  transition:
    transform .35s ease,
    box-shadow .35s ease,
    border-color .35s ease !important;
}

a.nlg-card:hover,
.nlg-card:hover {
  transform: translateY(-5px) !important;

  border-color:
    rgba(191, 111, 137, .22) !important;

  box-shadow:
    0 20px 46px rgba(115, 83, 71, .13) !important;
}


/* =========================================================
   Image
========================================================= */

.nlg-img,
.nlg-no-img {
  width: 100% !important;

  min-height: 230px !important;

  aspect-ratio: auto !important;

  overflow: hidden !important;

  background:
    linear-gradient(
      135deg,
      var(--news-pale),
      #fff0d7
    ) !important;

  border-right:
    1px solid rgba(191, 111, 137, .10) !important;
}

.nlg-img img {
  display: block !important;

  width: 100% !important;
  height: 100% !important;

  object-fit: cover !important;

  filter: none !important;

  transition:
    transform .55s ease !important;
}

.nlg-card:hover .nlg-img img {
  transform: scale(1.045) !important;
}


/* 画像なし */
.nlg-no-img {
  display: flex !important;

  align-items: center !important;
  justify-content: center !important;

  color: var(--news-main) !important;

  font-family: var(--font-sans) !important;

  font-size: 2rem !important;
}


/* =========================================================
   Body
========================================================= */

.nlg-body {
  display: flex !important;
  flex-direction: column !important;

  justify-content: center !important;

  padding: 36px 38px !important;
}


/* =========================================================
   Meta
========================================================= */

.nlg-meta {
  display: flex !important;

  align-items: center !important;

  flex-wrap: wrap !important;

  gap: 12px !important;

  margin: 0 0 16px !important;
}


/* Date */
.nlg-date {
  display: inline-flex !important;

  align-items: center !important;

  color: var(--news-main) !important;

  background: transparent !important;

  border: 0 !important;

  font-family: var(--font-sans) !important;

  font-size: .88rem !important;
  font-weight: 500 !important;

  line-height: 1.5 !important;

  letter-spacing: .08em !important;
}


/* =========================================================
   Badge
========================================================= */

.nlg-badge,
.news-badge {
  display: inline-flex !important;

  align-items: center !important;
  justify-content: center !important;

  padding: 5px 14px !important;

  background:
    var(--news-pale) !important;

  color:
    var(--news-deep) !important;

  border:
    1px solid rgba(191, 111, 137, .18) !important;

  border-radius:
    999px !important;

  box-shadow:
    none !important;

  font-family:
    var(--font-sans) !important;

  font-size: .76rem !important;
  font-weight: 500 !important;

  letter-spacing: .06em !important;
}


/* =========================================================
   Title
========================================================= */

.nlg-title {
  position: relative !important;

  margin: 0 !important;

  color: var(--news-deep) !important;

  font-family: var(--font-sans) !important;

  font-size: 1.4rem !important;
  font-weight: 600 !important;

  line-height: 1.6 !important;
  letter-spacing: .055em !important;

  transition:
    color .25s ease !important;
}

.nlg-card:hover .nlg-title {
  color: var(--news-main) !important;
}


/* =========================================================
   Excerpt
========================================================= */

.nlg-excerpt {
  margin-top: 14px !important;

  color: var(--news-sub) !important;

  font-family: var(--font-sans) !important;

  font-size: .92rem !important;
  font-weight: 400 !important;

  line-height: 1.95 !important;

  letter-spacing: .035em !important;
}


/* =========================================================
   Card Decoration
========================================================= */

.nlg-card::after {
  content: "→" !important;

  position: absolute !important;

  right: 24px !important;
  bottom: 20px !important;

  color:
    rgba(191, 111, 137, .42) !important;

  font-family:
    var(--font-sans) !important;

  font-size:
    1.15rem !important;

  transition:
    transform .3s ease,
    color .3s ease !important;
}

.nlg-card:hover::after {
  color: var(--news-main) !important;

  transform: translateX(4px) !important;
}


/* =========================================================
   Tablet
========================================================= */

@media (max-width: 900px) {

  .news-list-grid-section {
    padding: 100px 20px 105px !important;
  }

  .nlg-card {
    grid-template-columns:
      260px minmax(0, 1fr) !important;
  }

  .nlg-body {
    padding: 30px !important;
  }
}


/* =========================================================
   Smartphone
========================================================= */

@media (max-width: 768px) {

  .news-list-grid-section {
    padding: 82px 16px 72px !important;
  }

  .news-list-grid-section::before {
    top: 20px !important;

    font-size:
      clamp(3.5rem, 17vw, 6rem) !important;
  }

  .news-list-grid-section::after {
    top: 58px !important;
    right: -12px !important;

    width: 80px !important;
    height: 65px !important;
  }

  .news-section-header {
    margin-bottom: 40px !important;
  }

  .news-main-title {
    font-size:
      clamp(1.55rem, 7vw, 2rem) !important;
  }

  .news-sub-text {
    font-size: .85rem !important;
  }

  .nlg-grid {
    gap: 22px !important;
  }

  .nlg-card {
    grid-template-columns:
      1fr !important;

    border-radius:
      12px !important;
  }

  .nlg-img,
  .nlg-no-img {
    min-height:
      210px !important;

    border-right:
      0 !important;

    border-bottom:
      1px solid rgba(191, 111, 137, .10) !important;
  }

  .nlg-body {
    padding:
      24px 22px 30px !important;
  }

  .nlg-title {
    font-size:
      1.2rem !important;
  }

  .nlg-excerpt {
    font-size:
      .86rem !important;

    line-height:
      1.9 !important;
  }

  .nlg-card::after {
    right:
      18px !important;

    bottom:
      14px !important;
  }
}


/* =========================================================
   Small Smartphone
========================================================= */

@media (max-width: 480px) {

  .news-list-grid-section {
    padding: 72px 14px 64px !important;
  }

  .news-main-title {
    font-size: 1.5rem !important;
  }

  .nlg-img,
  .nlg-no-img {
    min-height: 190px !important;
  }

  .nlg-body {
    padding: 22px 18px 28px !important;
  }

  .nlg-date {
    font-size: .8rem !important;
  }

  .nlg-badge,
  .news-badge {
    font-size: .7rem !important;

    padding: 4px 11px !important;
  }

  .nlg-title {
    font-size: 1.08rem !important;
  }

  .nlg-excerpt {
    font-size: .82rem !important;
  }
}


/* =========================================================
   Page: news_detail / NEWS｜【アンジュ プティ ボヌール】米粉を使った手作りケーキ・焼き菓子専門店
========================================================= */

/* Block: news_article_body / sec_1782114380582 */
/* =========================================================
   NEWS DETAIL
   既存テーマ強制上書き版
   ※ custom.css の一番最後に配置
========================================================= */

/* =========================================================
   記事全体
========================================================= */

html body .nab-container {
  --nab-main: #bf6f89 !important;
  --nab-deep: #a95372 !important;
  --nab-light: #e8aab5 !important;
  --nab-pale: #f7dce2 !important;
  --nab-cream: #fff8e9 !important;
  --nab-beige: #f7eddf !important;
  --nab-text: #5d514c !important;
  --nab-sub: #7d6f69 !important;

  position: relative !important;
  z-index: 2 !important;

  display: block !important;

  width: calc(100% - 40px) !important;
  max-width: 920px !important;

  height: auto !important;
  min-height: 0 !important;

  margin: 80px auto 100px !important;
  padding: 54px 56px !important;

  overflow: visible !important;

  background: rgba(255, 255, 255, .80) !important;
  background-color: rgba(255, 255, 255, .80) !important;
  background-image: none !important;

  color: #5d514c !important;

  border: 1px solid rgba(191, 111, 137, .14) !important;
  border-radius: 18px !important;

  box-shadow:
    0 18px 46px rgba(115, 83, 71, .10) !important;

  opacity: 1 !important;

  transform: none !important;

  font-family: var(--font-sans) !important;
}


/* =========================================================
   Header
========================================================= */

html body .nab-container .nab-header {
  position: relative !important;

  display: block !important;

  width: 100% !important;

  margin: 0 0 36px !important;
  padding: 0 0 26px !important;

  background: transparent !important;
  background-image: none !important;

  color: #5d514c !important;

  border: 0 !important;

  border-bottom:
    1px solid rgba(191, 111, 137, .17) !important;

  border-radius: 0 !important;

  box-shadow: none !important;

  text-align: center !important;
}


/* =========================================================
   Meta
========================================================= */

html body .nab-container .nab-meta {
  display: flex !important;

  align-items: center !important;
  justify-content: center !important;

  gap: 10px !important;

  margin: 0 0 14px !important;
  padding: 0 !important;

  background: transparent !important;

  border: 0 !important;

  color: #bf6f89 !important;

  box-shadow: none !important;
}


/* =========================================================
   Date
========================================================= */

html body .nab-container .nab-meta .nab-date,
html body .nab-container span.nab-date,
html body .nab-container .nab-date {
  display: inline-flex !important;

  align-items: center !important;

  gap: 7px !important;

  margin: 0 !important;
  padding: 0 !important;

  background: transparent !important;
  background-color: transparent !important;

  color: #bf6f89 !important;

  border: 0 !important;

  border-radius: 0 !important;

  font-family: var(--font-sans) !important;

  font-size: .86rem !important;
  font-weight: 500 !important;

  line-height: 1.5 !important;

  letter-spacing: .07em !important;

  box-shadow: none !important;
}


html body .nab-container .nab-date i {
  color: #e8aab5 !important;

  font-size: .95em !important;
}


/* =========================================================
   Title
========================================================= */

html body .nab-container .nab-header h1.nab-title,
html body .nab-container h1.nab-title,
html body .nab-container .nab-title {
  display: block !important;

  width: 100% !important;

  margin: 0 !important;
  padding: 0 !important;

  background: transparent !important;
  background-image: none !important;

  color: #a95372 !important;

  border: 0 !important;

  font-family: var(--font-sans) !important;

  font-size:
    clamp(1.7rem, 4vw, 2.7rem) !important;

  font-weight: 600 !important;

  line-height: 1.55 !important;

  letter-spacing: .06em !important;

  text-align: center !important;

  text-shadow: none !important;

  opacity: 1 !important;

  transform: none !important;
}


/* 既存疑似要素を消す */
html body .nab-container .nab-title::before,
html body .nab-container .nab-title::after {
  content: none !important;

  display: none !important;
}


/* =========================================================
   Main Image
   既存 aspect-ratio 強制解除
========================================================= */

html body .nab-container .nab-main-img-box {
  position: relative !important;

  display: block !important;

  width: 100% !important;

  height: auto !important;
  min-height: 0 !important;
  max-height: none !important;

  aspect-ratio: auto !important;

  margin: 0 0 40px !important;
  padding: 0 !important;

  overflow: hidden !important;

  background: #f7dce2 !important;
  background-image: none !important;

  border:
    6px solid rgba(255, 255, 255, .97) !important;

  border-radius: 14px !important;

  box-shadow:
    0 16px 38px rgba(115, 83, 71, .11) !important;
}


html body .nab-container .nab-main-img-box img {
  position: static !important;

  display: block !important;

  width: 100% !important;
  max-width: 100% !important;

  height: auto !important;
  min-height: 0 !important;
  max-height: none !important;

  aspect-ratio: auto !important;

  margin: 0 !important;
  padding: 0 !important;

  object-fit: contain !important;
  object-position: center !important;

  background: transparent !important;

  border: 0 !important;
  border-radius: 8px !important;

  box-shadow: none !important;

  filter: none !important;

  opacity: 1 !important;

  transform: none !important;
}


/* =========================================================
   Body
========================================================= */

html body .nab-container .nab-body-text {
  display: block !important;

  width: 100% !important;

  height: auto !important;

  margin: 0 !important;
  padding: 0 !important;

  background: transparent !important;
  background-image: none !important;

  color: #5d514c !important;

  border: 0 !important;

  font-family: var(--font-sans) !important;

  font-size: .96rem !important;
  font-weight: 400 !important;

  line-height: 2.15 !important;

  letter-spacing: .04em !important;

  text-align: left !important;

  white-space: pre-wrap !important;

  box-shadow: none !important;

  opacity: 1 !important;

  transform: none !important;
}


/* 本文内部まで強制 */
html body .nab-container .nab-body-text p,
html body .nab-container .nab-body-text div,
html body .nab-container .nab-body-text span,
html body .nab-container .nab-body-text li,
html body .nab-container .nab-body-text strong {
  color: #5d514c !important;

  font-family: var(--font-sans) !important;

  line-height: 2.1 !important;
}


/* =========================================================
   Footer Navigation
========================================================= */

html body .nab-container .nab-footer-nav {
  display: block !important;

  width: 100% !important;

  margin: 50px 0 0 !important;
  padding: 28px 0 0 !important;

  background: transparent !important;
  background-image: none !important;

  border: 0 !important;

  border-top:
    1px dashed rgba(191, 111, 137, .22) !important;

  box-shadow: none !important;

  text-align: center !important;
}


/* =========================================================
   Back Button
========================================================= */

html body .nab-container .nab-footer-nav a.btn-nab-back,
html body .nab-container a.btn-nab-back,
html body a.btn-nab-back {
  display: inline-flex !important;

  align-items: center !important;
  justify-content: center !important;

  gap: 10px !important;

  width: auto !important;
  min-width: 210px !important;

  min-height: 48px !important;

  margin: 0 !important;

  padding: 0 30px !important;

  background: #bf6f89 !important;
  background-color: #bf6f89 !important;
  background-image: none !important;

  color: #ffffff !important;

  border: 1px solid #bf6f89 !important;

  border-radius: 999px !important;

  box-shadow:
    0 10px 24px rgba(191, 111, 137, .20) !important;

  font-family: var(--font-sans) !important;

  font-size: 13px !important;
  font-weight: 500 !important;

  line-height: 1.4 !important;

  letter-spacing: .05em !important;

  text-align: center !important;
  text-decoration: none !important;

  opacity: 1 !important;

  transform: none !important;
}


html body .nab-container .btn-nab-back i {
  color: #ffffff !important;
}


/* hover */
html body .nab-container .nab-footer-nav a.btn-nab-back:hover,
html body .nab-container a.btn-nab-back:hover,
html body a.btn-nab-back:hover {
  background: #a95372 !important;
  background-color: #a95372 !important;

  color: #ffffff !important;

  border-color: #a95372 !important;

  box-shadow:
    0 14px 30px rgba(191, 111, 137, .22) !important;

  transform: translateY(-2px) !important;
}


/* =========================================================
   Mobile
========================================================= */

@media (max-width: 768px) {

  html body .nab-container {
    width: calc(100% - 30px) !important;

    margin: 45px auto 65px !important;

    padding: 32px 22px !important;

    border-radius: 12px !important;
  }


  html body .nab-container .nab-header {
    margin-bottom: 28px !important;

    padding-bottom: 22px !important;
  }


  html body .nab-container .nab-header h1.nab-title,
  html body .nab-container h1.nab-title,
  html body .nab-container .nab-title {
    font-size:
      clamp(1.4rem, 6.5vw, 2rem) !important;
  }


  html body .nab-container .nab-main-img-box {
    aspect-ratio: auto !important;

    margin-bottom: 28px !important;

    border-width: 4px !important;
  }


  html body .nab-container .nab-main-img-box img {
    width: 100% !important;

    height: auto !important;

    max-height: none !important;

    aspect-ratio: auto !important;

    object-fit: contain !important;
  }


  html body .nab-container .nab-body-text {
    font-size: .88rem !important;

    line-height: 2.05 !important;
  }


  html body .nab-container .nab-footer-nav {
    margin-top: 38px !important;

    padding-top: 24px !important;
  }


  html body .nab-container .nab-footer-nav a.btn-nab-back,
  html body .nab-container a.btn-nab-back,
  html body a.btn-nab-back {
    width: 100% !important;
    max-width: 280px !important;

    min-width: 0 !important;

    min-height: 46px !important;
  }
}


/* =========================================================
   Small Smartphone
========================================================= */

@media (max-width: 480px) {

  html body .nab-container {
    width: calc(100% - 24px) !important;

    margin: 35px auto 55px !important;

    padding: 26px 16px !important;
  }


  html body .nab-container .nab-header h1.nab-title,
  html body .nab-container h1.nab-title,
  html body .nab-container .nab-title {
    font-size: 1.3rem !important;
  }


  html body .nab-container .nab-body-text {
    font-size: .84rem !important;
  }
}
/* =========================================================
   お知らせ詳細ページ 背景 完全上書き
========================================================= */

html body .news-article-body-section {
  position: relative !important;
  overflow: hidden !important;

  padding: 104px 20px !important;

  background:
    radial-gradient(
      circle at 7% 14%,
      rgba(232, 170, 181, .12) 0,
      rgba(232, 170, 181, .12) 90px,
      transparent 91px
    ),
    radial-gradient(
      circle at 94% 86%,
      rgba(255, 222, 168, .18) 0,
      rgba(255, 222, 168, .18) 125px,
      transparent 126px
    ),
    linear-gradient(
      180deg,
      #fffaf0 0%,
      #fff8e9 52%,
      #f9efe2 100%
    ) !important;

  background-color: #fff8e9 !important;

  color: #5d514c !important;
}


/* =========================================================
   Page: concept / CONCEPT｜【アンジュ プティ ボヌール】米粉を使った手作りケーキ・焼き菓子専門店
========================================================= */

/* Block: custom_html / sec_1786367093219 */
/* =========================================================
   看板メニュー
   signature_menu
========================================================= */
.signature-menu-section {
  --signature-main: #bf6f89;
  --signature-deep: #a95372;
  --signature-light: #e8aab5;
  --signature-pale: #f7dce2;
  --signature-cream: #fff8e9;
  --signature-beige: #f7eddf;
  --signature-text: #5d514c;
  --signature-sub: #7d6f69;
  position: relative !important;
  overflow: hidden !important;
  padding: 120px 20px 130px !important;
  background:
    radial-gradient(circle at 7% 12%, rgba(232, 170, 181, .13) 0, rgba(232, 170, 181, .13) 90px, transparent 91px), radial-gradient(circle at 94% 84%, rgba(255, 222, 168, .20) 0, rgba(255, 222, 168, .20) 125px, transparent 126px), linear-gradient(180deg, #fffaf0 0%, #fff8e9 52%, #f9efe2 100%) !important;
  color: var(--signature-text) !important;
}
/* =========================================================
   背景装飾
========================================================= */
.signature-menu-section::before {
  content: "Specialty" !important;
  position: absolute !important;
  top: 18px !important;
  left: 50% !important;
  z-index: 0 !important;
  color: rgba(191, 111, 137, .08) !important;
  font-family: var(--font-sans) !important;
  font-size: clamp(5rem, 13vw, 10rem) !important;
  font-weight: 500 !important;
  line-height: 1 !important;
  letter-spacing: .02em !important;
  white-space: nowrap !important;
  transform: translateX(-50%) rotate(-3deg) !important;
  pointer-events: none !important;
}
.signature-menu-section::after {
  content: "" !important;
  position: absolute !important;
  top: 110px !important;
  right: 5% !important;
  width: 110px !important;
  height: 88px !important;
  background-image:
    radial-gradient(circle, rgba(191, 111, 137, .20) 2px, transparent 3px) !important;
  background-size: 22px 22px !important;
  opacity: .55 !important;
  transform: rotate(8deg) !important;
  pointer-events: none !important;
}
/* =========================================================
   Inner
========================================================= */
.signature-menu-inner {
  position: relative !important;
  z-index: 2 !important;
  max-width: 1160px !important;
  margin: 0 auto !important;
}
/* =========================================================
   Heading
========================================================= */
.signature-menu-heading {
  max-width: 760px !important;
  margin: 0 auto 70px !important;
  text-align: center !important;
}
.signature-menu-label {
  display: block !important;
  margin-bottom: 10px !important;
  color: var(--signature-main) !important;
  font-family: var(--font-sans) !important;
  font-size: 12px !important;
  font-weight: 500 !important;
  letter-spacing: .14em !important;
}
.signature-menu-heading h2 {
  position: relative !important;
  margin: 0 0 18px !important;
  padding-bottom: 18px !important;
  color: var(--signature-deep) !important;
  font-family: var(--font-sans) !important;
  font-size: clamp(1.9rem, 4vw, 3rem) !important;
  font-weight: 600 !important;
  line-height: 1.45 !important;
  letter-spacing: .08em !important;
}
.signature-menu-heading h2::after {
  content: "" !important;
  position: absolute !important;
  left: 50% !important;
  bottom: 0 !important;
  width: 60px !important;
  height: 1px !important;
  background:
    linear-gradient(90deg, var(--signature-main), var(--signature-light)) !important;
  transform: translateX(-50%) !important;
}
.signature-menu-heading p {
  margin: 0 !important;
  color: var(--signature-sub) !important;
  font-family: var(--font-sans) !important;
  font-size: .92rem !important;
  font-weight: 400 !important;
  line-height: 2 !important;
  letter-spacing: .045em !important;
}
/* =========================================================
   List
========================================================= */
.signature-menu-list {
  display: flex !important;
  flex-direction: column !important;
  gap: 100px !important;
}
/* =========================================================
   Item
========================================================= */
.signature-menu-item {
  display: grid !important;
  grid-template-columns:
    minmax(0, 1.05fr) minmax(320px, .95fr) !important;
  align-items: center !important;
  gap: clamp(50px, 7vw, 90px) !important;
}
.signature-menu-item-reverse {
  grid-template-columns:
    minmax(320px, .95fr) minmax(0, 1.05fr) !important;
}
.signature-menu-item-reverse .signature-menu-image {
  order: 2 !important;
}
.signature-menu-item-reverse .signature-menu-content {
  order: 1 !important;
}
/* =========================================================
   Image
========================================================= */
.signature-menu-image {
  position: relative !important;
  overflow: visible !important;
}
.signature-menu-image::before {
  content: "" !important;
  position: absolute !important;
  top: 24px !important;
  left: -24px !important;
  right: 24px !important;
  bottom: -24px !important;
  z-index: -1 !important;
  background:
    linear-gradient(135deg, var(--signature-pale), #fff0d6) !important;
  border-radius: 10px !important;
}
.signature-menu-item-reverse .signature-menu-image::before {
  left: 24px !important;
  right: -24px !important;
}
.signature-menu-image img {
  display: block !important;
  width: 100% !important;
  height: auto !important;
  aspect-ratio: 4 / 3 !important;
  object-fit: cover !important;
  object-position: center !important;
  border:
    7px solid rgba(255, 255, 255, .96) !important;
  border-radius:
    10px !important;
  box-shadow:
    0 20px 45px rgba(115, 83, 71, .12) !important;
  transition:
    transform .55s ease, box-shadow .55s ease !important;
}
.signature-menu-item:hover .signature-menu-image img {
  transform: translateY(-4px) !important;
  box-shadow:
    0 26px 55px rgba(115, 83, 71, .16) !important;
}
/* =========================================================
   Content
========================================================= */
.signature-menu-content {
  position: relative !important;
  padding: 20px 0 !important;
}
.signature-menu-number {
  display: inline-block !important;
  margin-bottom: 10px !important;
  color: var(--signature-light) !important;
  font-family: var(--font-sans) !important;
  font-size: 1rem !important;
  font-weight: 500 !important;
  letter-spacing: .12em !important;
}
.signature-menu-content h3 {
  position: relative !important;
  margin: 0 0 24px !important;
  padding-bottom: 18px !important;
  color: var(--signature-deep) !important;
  font-family: var(--font-sans) !important;
  font-size: clamp(1.45rem, 2.8vw, 2.15rem) !important;
  font-weight: 600 !important;
  line-height: 1.6 !important;
  letter-spacing: .07em !important;
}
.signature-menu-content h3::after {
  content: "" !important;
  position: absolute !important;
  left: 0 !important;
  bottom: 0 !important;
  width: 56px !important;
  height: 1px !important;
  background:
    linear-gradient(90deg, var(--signature-main), var(--signature-light)) !important;
}
/* =========================================================
   Description
========================================================= */
.signature-menu-desc {
  margin: 0 !important;
  color: var(--signature-text) !important;
  font-family: var(--font-sans) !important;
  font-size: .95rem !important;
  font-weight: 400 !important;
  line-height: 2.15 !important;
  letter-spacing: .04em !important;
}
/* =========================================================
   Price List
========================================================= */
.signature-menu-price-list {
  margin-top: 28px !important;
  padding: 18px 20px !important;
  background:
    rgba(255, 255, 255, .58) !important;
  border:
    1px solid rgba(191, 111, 137, .14) !important;
  border-radius: 10px !important;
}
.signature-menu-price-row {
  display: flex !important;
  align-items: baseline !important;
  justify-content: space-between !important;
  gap: 20px !important;
  padding: 11px 0 !important;
  border-bottom:
    1px dashed rgba(191, 111, 137, .20) !important;
  font-family: var(--font-sans) !important;
}
.signature-menu-price-row:first-child {
  padding-top: 0 !important;
}
.signature-menu-price-row:last-child {
  padding-bottom: 0 !important;
  border-bottom: 0 !important;
}
.signature-menu-price-row span {
  color: var(--signature-text) !important;
  font-size: .88rem !important;
  font-weight: 400 !important;
  line-height: 1.7 !important;
}
.signature-menu-price-row strong {
  flex-shrink: 0 !important;
  color: var(--signature-main) !important;
  font-size: 1rem !important;
  font-weight: 600 !important;
  white-space: nowrap !important;
}
/* =========================================================
   Tablet
========================================================= */
@media (max-width: 900px) {
  .signature-menu-section {
    padding: 100px 20px 105px !important;
  }
  .signature-menu-list {
    gap: 80px !important;
  }
  .signature-menu-item, .signature-menu-item-reverse {
    gap: 42px !important;
  }
}
/* =========================================================
   Smartphone
========================================================= */
@media (max-width: 768px) {
  .signature-menu-section {
    padding: 82px 16px 80px !important;
  }
  .signature-menu-section::before {
    top: 20px !important;
    font-size:
      clamp(3.5rem, 17vw, 6rem) !important;
  }
  .signature-menu-section::after {
    top: 64px !important;
    right: -14px !important;
    width: 80px !important;
    height: 65px !important;
  }
  .signature-menu-heading {
    margin-bottom: 48px !important;
  }
  .signature-menu-heading h2 {
    font-size:
      clamp(1.55rem, 7vw, 2rem) !important;
  }
  .signature-menu-item, .signature-menu-item-reverse {
    display: flex !important;
    flex-direction: column !important;
    gap: 42px !important;
  }
  .signature-menu-item .signature-menu-image, .signature-menu-item-reverse .signature-menu-image {
    order: 1 !important;
    width: calc(100% - 16px) !important;
    margin: 0 auto !important;
  }
  .signature-menu-item .signature-menu-content, .signature-menu-item-reverse .signature-menu-content {
    order: 2 !important;
    width: 100% !important;
  }
  .signature-menu-image::before, .signature-menu-item-reverse .signature-menu-image::before {
    top: 16px !important;
    left: -16px !important;
    right: 16px !important;
    bottom: -16px !important;
  }
  .signature-menu-content {
    padding: 0 !important;
  }
  .signature-menu-content h3 {
    font-size:
      clamp(1.35rem, 5.5vw, 1.7rem) !important;
    text-align: center !important;
  }
  .signature-menu-content h3::after {
    left: 50% !important;
    transform: translateX(-50%) !important;
  }
  .signature-menu-number {
    display: block !important;
    text-align: center !important;
  }
  .signature-menu-desc {
    font-size: .88rem !important;
    line-height: 2.05 !important;
  }
  .signature-menu-price-list {
    margin-top: 24px !important;
    padding: 16px !important;
  }
}
/* =========================================================
   Small Smartphone
========================================================= */
@media (max-width: 480px) {
  .signature-menu-section {
    padding: 72px 15px 68px !important;
  }
  .signature-menu-list {
    gap: 68px !important;
  }
  .signature-menu-image img {
    border-width: 5px !important;
    aspect-ratio: 4 / 3 !important;
  }
  .signature-menu-content h3 {
    font-size: 1.3rem !important;
  }
  .signature-menu-desc {
    font-size: .84rem !important;
  }
  .signature-menu-price-row {
    gap: 12px !important;
  }
  .signature-menu-price-row span {
    font-size: .82rem !important;
  }
  .signature-menu-price-row strong {
    font-size: .92rem !important;
  }
}


/* =========================================================
   Page: access / ACCESS｜【アンジュ プティ ボヌール】米粉を使った手作りケーキ・焼き菓子専門店
========================================================= */

/* Block: hero_page / sec_1784802928419 */
/* =========================================================
   hero_page（席ページ） に貼るCSS
   ロゴカラー × パステル洋菓子店デザイン
========================================================= */
.page-hero-wrapper {
  --hero-main: #bf6f89;
  --hero-deep: #a95372;
  --hero-light: #e8aab5;
  --hero-pale: #f7dce2;
  --hero-cream: #fff8e9;
  --hero-beige: #f7eddf;
  --hero-text: #5d514c;
  position: relative !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  min-height: 500px !important;
  overflow: hidden !important;
  padding: 190px 20px 130px !important;
  color: #ffffff !important;
  text-align: center !important;
  background-size: cover !important;
  background-position: center !important;
}
/* =========================================================
   背景装飾
========================================================= */
.page-hero-wrapper::before {
  content: "" !important;
  display: block !important;
  position: absolute !important;
  top: 48% !important;
  left: 50% !important;
  z-index: 2 !important;
  width: min(760px, 76vw) !important;
  height: min(260px, 28vw) !important;
  border:
    1px solid rgba(255, 255, 255, .35) !important;
  border-radius:
    50% !important;
  background:
    radial-gradient(circle at center, rgba(255, 255, 255, .10) 0%, rgba(255, 255, 255, .05) 50%, transparent 72%) !important;
  opacity:
    .85 !important;
  transform:
    translate(-50%, -50%) rotate(-3deg) !important;
  pointer-events:
    none !important;
}
/* =========================================================
   下部ウェーブ
========================================================= */
.page-hero-wrapper::after {
  content: "" !important;
  display: block !important;
  position: absolute !important;
  top: auto !important;
  left: 0 !important;
  bottom: -2px !important;
  z-index: 8 !important;
  width: 100% !important;
  height: 7vw !important;
  min-height: 45px !important;
  max-height: 95px !important;
  background-image:
    url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 1200 120' preserveAspectRatio='none'%3E%3Cpath d='M0,58 C180,98 290,22 470,54 C650,88 770,92 950,52 C1060,27 1135,40 1200,64 V120 H0 Z' fill='%23fff8e9' opacity='.75'/%3E%3Cpath d='M0,78 C170,108 310,58 470,76 C650,96 760,110 930,82 C1050,62 1130,73 1200,88 V120 H0 Z' fill='%23fff8e9'/%3E%3C/svg%3E") !important;
  background-repeat:
    no-repeat !important;
  background-size:
    100% 100% !important;
  background-position:
    center bottom !important;
  pointer-events:
    none !important;
}
/* =========================================================
   Overlay
========================================================= */
.ph-overlay {
  position: absolute !important;
  inset: 0 !important;
  z-index: 1 !important;
  background:
    linear-gradient(180deg, rgba(115, 68, 78, .14) 0%, rgba(136, 77, 95, .28) 55%, rgba(113, 72, 63, .20) 100%) !important;
  pointer-events:
    none !important;
}
/* =========================================================
   Container
========================================================= */
.ph-container {
  position: relative !important;
  z-index: 10 !important;
  max-width: 860px !important;
  margin:
    0 auto !important;
  padding:
    32px 34px !important;
}
/* =========================================================
   Title
========================================================= */
.ph-title {
  position: relative !important;
  margin:
    0 !important;
  padding-bottom:
    20px !important;
  color:
    #ffffff !important;
  font-family:
    var(--font-sans) !important;
  font-size:
    clamp(2rem, 5vw, 3.6rem) !important;
  font-weight:
    600 !important;
  line-height:
    1.35 !important;
  letter-spacing:
    .10em !important;
  text-shadow:
    0 3px 18px rgba(76, 50, 48, .30) !important;
}
/* タイトル下ライン */
.ph-title::after {
  content: "" !important;
  position: absolute !important;
  left: 50% !important;
  bottom: 0 !important;
  width: 62px !important;
  height: 1px !important;
  background:
    linear-gradient(90deg, rgba(255, 255, 255, .35), rgba(255, 255, 255, .95), rgba(255, 255, 255, .35)) !important;
  transform:
    translateX(-50%) !important;
}
/* =========================================================
   Description
========================================================= */
.ph-desc {
  max-width:
    650px !important;
  margin:
    22px auto 0 !important;
  color:
    rgba(255, 255, 255, .96) !important;
  font-family:
    var(--font-sans) !important;
  font-size:
    .98rem !important;
  font-weight:
    400 !important;
  line-height:
    2.05 !important;
  letter-spacing:
    .06em !important;
  text-shadow:
    0 2px 10px rgba(70, 45, 43, .25) !important;
}
/* =========================================================
   Tablet
========================================================= */
@media (max-width: 900px) {
  .page-hero-wrapper {
    min-height:
      440px !important;
    padding:
      165px 20px 105px !important;
  }
  .page-hero-wrapper::before {
    width:
      min(680px, 86vw) !important;
    height:
      230px !important;
  }
}
/* =========================================================
   Smartphone
========================================================= */
@media (max-width: 768px) {
  .page-hero-wrapper {
    min-height:
      390px !important;
    padding:
      145px 18px 90px !important;
  }
  .page-hero-wrapper::before {
    top:
      48% !important;
    width:
      88vw !important;
    height:
      190px !important;
  }
  .page-hero-wrapper::after {
    height:
      52px !important;
    min-height:
      52px !important;
    max-height:
      52px !important;
  }
  .ph-container {
    padding:
      24px 10px !important;
  }
  .ph-title {
    font-size:
      clamp(1.8rem, 8vw, 2.6rem) !important;
    line-height:
      1.45 !important;
    letter-spacing:
      .08em !important;
  }
  .ph-title::after {
    width:
      52px !important;
  }
  .ph-desc {
    max-width:
      560px !important;
    margin-top:
      18px !important;
    font-size:
      .88rem !important;
    line-height:
      1.95 !important;
    letter-spacing:
      .04em !important;
  }
}
/* =========================================================
   Small Smartphone
========================================================= */
@media (max-width: 480px) {
  .page-hero-wrapper {
    min-height:
      350px !important;
    padding:
      130px 16px 82px !important;
  }
  .page-hero-wrapper::before {
    width:
      92vw !important;
    height:
      165px !important;
  }
  .ph-title {
    font-size:
      1.75rem !important;
    letter-spacing:
      .06em !important;
  }
  .ph-desc {
    font-size:
      .84rem !important;
    line-height:
      1.9 !important;
  }
}

/* Block: custom_html / sec_1786360026674 */
/* =========================================================
   greeting
   GREETING / ご挨拶
========================================================= */

.greeting-section {
  --greeting-main: #bf6f89;
  --greeting-deep: #a95372;
  --greeting-light: #e8aab5;
  --greeting-pale: #f7dce2;
  --greeting-cream: #fff8e9;
  --greeting-beige: #f7eddf;
  --greeting-text: #5d514c;
  --greeting-sub: #7d6f69;

  position: relative !important;
  overflow: hidden !important;

  padding: 120px 20px 130px !important;

  background:
    radial-gradient(
      circle at 8% 16%,
      rgba(232, 170, 181, .12) 0,
      rgba(232, 170, 181, .12) 90px,
      transparent 91px
    ),
    radial-gradient(
      circle at 93% 82%,
      rgba(255, 222, 168, .18) 0,
      rgba(255, 222, 168, .18) 120px,
      transparent 121px
    ),
    linear-gradient(
      180deg,
      #fffaf0 0%,
      #fff8e9 52%,
      #f9efe2 100%
    ) !important;

  color: var(--greeting-text) !important;
}


/* =========================================================
   背景装飾
========================================================= */

.greeting-section::before {
  content: "Greeting" !important;

  position: absolute !important;
  top: 18px !important;
  left: 50% !important;
  z-index: 0 !important;

  color: rgba(191, 111, 137, .08) !important;

  font-family: var(--font-sans) !important;
  font-size: clamp(5rem, 13vw, 10rem) !important;
  font-weight: 500 !important;

  line-height: 1 !important;
  letter-spacing: .02em !important;

  white-space: nowrap !important;

  transform: translateX(-50%) rotate(-3deg) !important;

  pointer-events: none !important;
}


.greeting-section::after {
  content: "" !important;

  position: absolute !important;
  top: 100px !important;
  right: 5% !important;

  width: 110px !important;
  height: 88px !important;

  background-image:
    radial-gradient(
      circle,
      rgba(191, 111, 137, .20) 2px,
      transparent 3px
    ) !important;

  background-size: 22px 22px !important;

  opacity: .5 !important;

  transform: rotate(8deg) !important;

  pointer-events: none !important;
}


/* =========================================================
   Inner
========================================================= */

.greeting-inner {
  position: relative !important;
  z-index: 2 !important;

  max-width: 920px !important;
  margin: 0 auto !important;
}


/* =========================================================
   Heading
========================================================= */

.greeting-heading {
  margin: 0 auto 52px !important;

  text-align: center !important;
}


.greeting-label {
  display: block !important;

  margin-bottom: 10px !important;

  color: var(--greeting-main) !important;

  font-family: var(--font-sans) !important;
  font-size: 12px !important;
  font-weight: 500 !important;

  letter-spacing: .16em !important;
}


.greeting-heading h2 {
  position: relative !important;

  margin: 0 !important;
  padding-bottom: 18px !important;

  color: var(--greeting-deep) !important;

  font-family: var(--font-sans) !important;
  font-size: clamp(1.9rem, 4vw, 2.9rem) !important;
  font-weight: 600 !important;

  line-height: 1.45 !important;
  letter-spacing: .08em !important;
}


.greeting-heading h2::after {
  content: "" !important;

  position: absolute !important;
  left: 50% !important;
  bottom: 0 !important;

  width: 60px !important;
  height: 1px !important;

  background:
    linear-gradient(
      90deg,
      var(--greeting-main),
      var(--greeting-light)
    ) !important;

  transform: translateX(-50%) !important;
}


/* =========================================================
   Content
========================================================= */

.greeting-content {
  position: relative !important;

  padding: 50px 58px !important;

  background: rgba(255, 255, 255, .58) !important;

  border:
    1px solid rgba(191, 111, 137, .12) !important;

  border-radius: 16px !important;

  box-shadow:
    0 18px 44px rgba(115, 83, 71, .08) !important;
}


/* 左上のアクセント */
.greeting-content::before {
  content: "" !important;

  position: absolute !important;
  top: 20px !important;
  left: 20px !important;

  width: 42px !important;
  height: 42px !important;

  border-top:
    1px solid rgba(191, 111, 137, .28) !important;

  border-left:
    1px solid rgba(191, 111, 137, .28) !important;

  pointer-events: none !important;
}


/* 右下のアクセント */
.greeting-content::after {
  content: "" !important;

  position: absolute !important;
  right: 20px !important;
  bottom: 20px !important;

  width: 42px !important;
  height: 42px !important;

  border-right:
    1px solid rgba(191, 111, 137, .28) !important;

  border-bottom:
    1px solid rgba(191, 111, 137, .28) !important;

  pointer-events: none !important;
}


/* =========================================================
   Text
========================================================= */

.greeting-content p {
  margin: 0 0 24px !important;

  color: var(--greeting-text) !important;

  font-family: var(--font-sans) !important;
  font-size: .95rem !important;
  font-weight: 400 !important;

  line-height: 2.2 !important;
  letter-spacing: .045em !important;

  text-align: left !important;
}


.greeting-content p:last-of-type {
  margin-bottom: 0 !important;
}


/* =========================================================
   Signature
========================================================= */

.greeting-signature {
  display: flex !important;
  align-items: baseline !important;
  justify-content: flex-end !important;
  flex-wrap: wrap !important;

  gap: 10px !important;

  margin-top: 42px !important;
  padding-top: 22px !important;

  border-top:
    1px dashed rgba(191, 111, 137, .22) !important;

  font-family: var(--font-sans) !important;
}


.greeting-signature-role {
  color: var(--greeting-sub) !important;

  font-size: 12px !important;
  font-weight: 400 !important;

  letter-spacing: .06em !important;
}


.greeting-signature-name {
  color: var(--greeting-deep) !important;

  font-size: 1.15rem !important;
  font-weight: 600 !important;

  letter-spacing: .08em !important;
}


.greeting-signature-en {
  color: var(--greeting-main) !important;

  font-size: 11px !important;
  font-weight: 500 !important;

  letter-spacing: .12em !important;
}


/* =========================================================
   Tablet
========================================================= */

@media (max-width: 900px) {

  .greeting-section {
    padding: 100px 20px 105px !important;
  }

  .greeting-content {
    padding: 44px 42px !important;
  }
}


/* =========================================================
   Smartphone
========================================================= */

@media (max-width: 768px) {

  .greeting-section {
    padding: 82px 16px 78px !important;
  }

  .greeting-section::before {
    top: 20px !important;

    font-size:
      clamp(3.5rem, 17vw, 6rem) !important;
  }

  .greeting-section::after {
    top: 62px !important;
    right: -12px !important;

    width: 80px !important;
    height: 65px !important;
  }

  .greeting-heading {
    margin-bottom: 38px !important;
  }

  .greeting-heading h2 {
    font-size:
      clamp(1.55rem, 7vw, 2rem) !important;
  }

  .greeting-content {
    padding: 34px 24px !important;

    border-radius: 12px !important;
  }

  .greeting-content::before {
    top: 14px !important;
    left: 14px !important;

    width: 30px !important;
    height: 30px !important;
  }

  .greeting-content::after {
    right: 14px !important;
    bottom: 14px !important;

    width: 30px !important;
    height: 30px !important;
  }

  .greeting-content p {
    margin-bottom: 20px !important;

    font-size: .88rem !important;

    line-height: 2.05 !important;
  }

  .greeting-signature {
    justify-content: flex-end !important;

    margin-top: 32px !important;

    padding-top: 18px !important;
  }
}


/* =========================================================
   Small Smartphone
========================================================= */

@media (max-width: 480px) {

  .greeting-section {
    padding: 72px 14px 68px !important;
  }

  .greeting-content {
    padding: 30px 20px !important;
  }

  .greeting-content p {
    font-size: .84rem !important;
    line-height: 2 !important;
    letter-spacing: .035em !important;
  }

  .greeting-signature {
    display: block !important;

    text-align: right !important;
  }

  .greeting-signature-role,
  .greeting-signature-name,
  .greeting-signature-en {
    display: block !important;
  }

  .greeting-signature-role {
    margin-bottom: 4px !important;
  }

  .greeting-signature-en {
    margin-top: 4px !important;
  }
}

/* Block: store_info / sec_1786360076323 */
/* =========================================================
   store_info に貼るCSS
   ロゴカラー × パステル洋菓子店デザイン
========================================================= */
.store-info-section {
  --store-main: #bf6f89;
  --store-deep: #a95372;
  --store-light: #e8aab5;
  --store-pale: #f7dce2;
  --store-cream: #fff8e9;
  --store-beige: #f7eddf;
  --store-text: #5d514c;
  --store-sub: #7d6f69;
  position: relative !important;
  overflow: hidden !important;
  padding: 120px 20px !important;
  background:
    radial-gradient(circle at 8% 15%, rgba(232, 170, 181, .12) 0, rgba(232, 170, 181, .12) 90px, transparent 91px), radial-gradient(circle at 93% 84%, rgba(255, 222, 168, .18) 0, rgba(255, 222, 168, .18) 125px, transparent 126px), linear-gradient(180deg, #fffaf0 0%, #fff8e9 52%, #f9efe2 100%) !important;
  color: var(--store-text) !important;
}
/* =========================================================
   背景装飾
========================================================= */
.store-info-section::before {
  content: "Shop Info" !important;
  position: absolute !important;
  top: 20px !important;
  left: 50% !important;
  z-index: 0 !important;
  color: rgba(191, 111, 137, .08) !important;
  font-family: var(--font-sans) !important;
  font-size: clamp(5rem, 13vw, 10rem) !important;
  font-weight: 500 !important;
  line-height: 1 !important;
  letter-spacing: .02em !important;
  white-space: nowrap !important;
  transform: translateX(-50%) rotate(-3deg) !important;
  pointer-events: none !important;
}
.store-info-section::after {
  content: "" !important;
  position: absolute !important;
  top: 100px !important;
  right: 5% !important;
  width: 110px !important;
  height: 88px !important;
  background-image:
    radial-gradient(circle, rgba(191, 111, 137, .20) 2px, transparent 3px) !important;
  background-size: 22px 22px !important;
  opacity: .5 !important;
  transform: rotate(8deg) !important;
  pointer-events: none !important;
}
/* =========================================================
   Container
========================================================= */
.store-info-container {
  position: relative !important;
  z-index: 2 !important;
  max-width: 1080px !important;
  margin: 0 auto !important;
}
/* =========================================================
   Header
========================================================= */
.store-info-header {
  max-width: 820px !important;
  margin: 0 auto 48px !important;
  text-align: center !important;
}
/* =========================================================
   Title
========================================================= */
.store-info-title {
  position: relative !important;
  margin: 0 0 16px !important;
  padding-bottom: 18px !important;
  color: var(--store-deep) !important;
  font-family: var(--font-sans) !important;
  font-size: clamp(1.8rem, 3.8vw, 2.8rem) !important;
  font-weight: 600 !important;
  line-height: 1.45 !important;
  letter-spacing: .08em !important;
}
.store-info-title::after {
  content: "" !important;
  position: absolute !important;
  left: 50% !important;
  bottom: 0 !important;
  width: 58px !important;
  height: 1px !important;
  background:
    linear-gradient(90deg, var(--store-main), var(--store-light)) !important;
  transform: translateX(-50%) !important;
}
/* =========================================================
   Description
========================================================= */
.store-info-desc {
  margin: 0 !important;
  color: var(--store-sub) !important;
  font-family: var(--font-sans) !important;
  font-size: 14px !important;
  font-weight: 400 !important;
  line-height: 2 !important;
  letter-spacing: .045em !important;
}
/* =========================================================
   Table Area
========================================================= */
.store-info-table {
  width: 100% !important;
  overflow: hidden !important;
  border-collapse: separate !important;
  border-spacing: 0 !important;
  background:
    rgba(255, 255, 255, .64) !important;
  border:
    1px solid rgba(191, 111, 137, .12) !important;
  border-radius: 14px !important;
  box-shadow:
    0 16px 40px rgba(115, 83, 71, .08) !important;
}
/* =========================================================
   Table Cells
========================================================= */
.store-info-table th, .store-info-table td {
  padding: 18px 20px !important;
  border-bottom:
    1px dashed rgba(191, 111, 137, .18) !important;
  font-family:
    var(--font-sans) !important;
  font-size: 14px !important;
  line-height: 1.85 !important;
  text-align: left !important;
  vertical-align: top !important;
}
.store-info-table tr:last-child th, .store-info-table tr:last-child td {
  border-bottom: 0 !important;
}
/* =========================================================
   Table Header
========================================================= */
.store-info-table th {
  width: 140px !important;
  color: var(--store-main) !important;
  background:
    rgba(247, 220, 226, .28) !important;
  font-weight: 500 !important;
  letter-spacing: .05em !important;
  white-space: nowrap !important;
}
/* =========================================================
   Table Data
========================================================= */
.store-info-table td {
  color: var(--store-text) !important;
  font-weight: 400 !important;
}
/* =========================================================
   Link
========================================================= */
.store-info-table a {
  color: var(--store-deep) !important;
  font-family: var(--font-sans) !important;
  text-decoration: none !important;
  transition: color .25s ease !important;
}
.store-info-table a:hover {
  color: var(--store-main) !important;
}
/* =========================================================
   Image
========================================================= */
.store-info-image {
  position: relative !important;
  width: 100% !important;
  margin-top: 42px !important;
}
.store-info-image::before {
  content: "" !important;
  position: absolute !important;
  top: 18px !important;
  left: -18px !important;
  right: 18px !important;
  bottom: -18px !important;
  z-index: -1 !important;
  background:
    linear-gradient(135deg, var(--store-pale), #fff0d7) !important;
  border-radius: 12px !important;
}
.store-info-image img {
  display: block !important;
  width: 100% !important;
  height: auto !important;
  max-height: 420px !important;
  object-fit: cover !important;
  border:
    6px solid rgba(255, 255, 255, .94) !important;
  border-radius: 12px !important;
  box-shadow:
    0 18px 42px rgba(115, 83, 71, .11) !important;
  transition:
    transform .5s ease, box-shadow .5s ease !important;
}
.store-info-image:hover img {
  transform: translateY(-3px) !important;
  box-shadow:
    0 24px 50px rgba(115, 83, 71, .15) !important;
}
/* =========================================================
   Tablet
========================================================= */
@media (max-width: 900px) {
  .store-info-section {
    padding: 100px 20px !important;
  }
}
/* =========================================================
   Smartphone
========================================================= */
@media (max-width: 768px) {
  .store-info-section {
    padding: 82px 15px 72px !important;
  }
  .store-info-section::before {
    top: 20px !important;
    font-size:
      clamp(3.5rem, 17vw, 6rem) !important;
  }
  .store-info-section::after {
    top: 60px !important;
    right: -12px !important;
    width: 80px !important;
    height: 65px !important;
  }
  .store-info-header {
    margin-bottom: 34px !important;
  }
  .store-info-title {
    font-size:
      clamp(1.55rem, 7vw, 2rem) !important;
  }
  .store-info-desc {
    font-size: .85rem !important;
    line-height: 1.9 !important;
  }
  /* テーブル */
  .store-info-table th, .store-info-table td {
    padding: 15px 12px !important;
    font-size: 13px !important;
  }
  .store-info-table th {
    width: 98px !important;
  }
  /* 画像 */
  .store-info-image {
    order: -1 !important;
    margin-top: 32px !important;
  }
  .store-info-image::before {
    top: 12px !important;
    left: -12px !important;
    right: 12px !important;
    bottom: -12px !important;
  }
  .store-info-image img {
    max-height: 320px !important;
    border-width: 5px !important;
    border-radius: 10px !important;
  }
}
/* =========================================================
   Small Smartphone
========================================================= */
@media (max-width: 480px) {
  .store-info-section {
    padding: 72px 14px 64px !important;
  }
  .store-info-title {
    font-size: 1.5rem !important;
  }
  .store-info-table th, .store-info-table td {
    padding: 13px 10px !important;
    font-size: 12.5px !important;
  }
  .store-info-table th {
    width: 86px !important;
  }
  .store-info-image img {
    max-height: 280px !important;
  }
}

/* Block: gmap / sec_1784802949589 */
/* =========================================================
   Googleマップ埋め込みブロック（③）
   ロゴカラー × パステル洋菓子店デザイン
========================================================= */
.gmap-section {
  --map-main: #bf6f89;
  --map-deep: #a95372;
  --map-light: #e8aab5;
  --map-pale: #f7dce2;
  --map-cream: #fff8e9;
  --map-beige: #f7eddf;
  --map-text: #5d514c;
  --map-sub: #7d6f69;
  position: relative !important;
  overflow: hidden !important;
  padding: 120px 20px !important;
  background:
    radial-gradient(circle at 8% 15%, rgba(232, 170, 181, .12) 0, rgba(232, 170, 181, .12) 90px, transparent 91px), radial-gradient(circle at 93% 84%, rgba(255, 222, 168, .18) 0, rgba(255, 222, 168, .18) 125px, transparent 126px), linear-gradient(180deg, #fffaf0 0%, #fff8e9 52%, #f9efe2 100%) !important;
  color: var(--map-text) !important;
}
/* =========================================================
   背景装飾
========================================================= */
.gmap-section::before {
  content: "Access" !important;
  position: absolute !important;
  top: 20px !important;
  left: 50% !important;
  z-index: 0 !important;
  color: rgba(191, 111, 137, .08) !important;
  font-family: var(--font-sans) !important;
  font-size: clamp(5rem, 13vw, 10rem) !important;
  font-weight: 500 !important;
  line-height: 1 !important;
  letter-spacing: .02em !important;
  white-space: nowrap !important;
  transform: translateX(-50%) rotate(-3deg) !important;
  pointer-events: none !important;
}
.gmap-section::after {
  content: "" !important;
  position: absolute !important;
  top: 100px !important;
  right: 5% !important;
  width: 110px !important;
  height: 88px !important;
  background-image:
    radial-gradient(circle, rgba(191, 111, 137, .20) 2px, transparent 3px) !important;
  background-size: 22px 22px !important;
  opacity: .5 !important;
  transform: rotate(8deg) !important;
  pointer-events: none !important;
}
/* =========================================================
   Container
========================================================= */
.gmap-container {
  position: relative !important;
  z-index: 2 !important;
  max-width: 1080px !important;
  margin: 0 auto !important;
}
/* =========================================================
   Header
========================================================= */
.gmap-header {
  max-width: 820px !important;
  margin: 0 auto 48px !important;
  text-align: center !important;
}
/* =========================================================
   Title
========================================================= */
.gmap-title {
  position: relative !important;
  margin: 0 0 16px !important;
  padding-bottom: 18px !important;
  color: var(--map-deep) !important;
  font-family: var(--font-sans) !important;
  font-size: clamp(1.8rem, 3.8vw, 2.8rem) !important;
  font-weight: 600 !important;
  line-height: 1.45 !important;
  letter-spacing: .08em !important;
}
.gmap-title::after {
  content: "" !important;
  position: absolute !important;
  left: 50% !important;
  bottom: 0 !important;
  width: 58px !important;
  height: 1px !important;
  background:
    linear-gradient(90deg, var(--map-main), var(--map-light)) !important;
  transform: translateX(-50%) !important;
}
/* =========================================================
   Description
========================================================= */
.gmap-desc {
  margin: 0 !important;
  color: var(--map-sub) !important;
  font-family: var(--font-sans) !important;
  font-size: 14px !important;
  font-weight: 400 !important;
  line-height: 2 !important;
  letter-spacing: .045em !important;
}
/* =========================================================
   Map Frame
========================================================= */
.gmap-frame-wrap {
  position: relative !important;
  width: 100% !important;
  aspect-ratio: 16 / 9 !important;
  min-height: 320px !important;
  overflow: hidden !important;
  background: var(--map-pale) !important;
  border:
    7px solid rgba(255, 255, 255, .94) !important;
  border-radius: 14px !important;
  box-shadow:
    0 18px 44px rgba(115, 83, 71, .11) !important;
}
/* 淡いピンクの縁取り */
.gmap-frame-wrap::before {
  content: "" !important;
  position: absolute !important;
  inset: 0 !important;
  z-index: 2 !important;
  border:
    1px solid rgba(191, 111, 137, .14) !important;
  border-radius: 7px !important;
  pointer-events: none !important;
}
/* =========================================================
   iframe
========================================================= */
.gmap-frame-wrap iframe {
  position: absolute !important;
  inset: 0 !important;
  width: 100% !important;
  height: 100% !important;
  border: 0 !important;
  filter:
    grayscale(.05) saturate(.92) contrast(.98) !important;
}
/* =========================================================
   Placeholder
========================================================= */
.gmap-placeholder {
  position: absolute !important;
  inset: 0 !important;
  min-height: 320px !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  padding: 20px !important;
  color: var(--map-sub) !important;
  font-family: var(--font-sans) !important;
  font-size: 13px !important;
  font-weight: 400 !important;
  line-height: 1.8 !important;
  text-align: center !important;
  background:
    linear-gradient(135deg, rgba(247, 220, 226, .42), rgba(255, 248, 233, .7)) !important;
}
/* =========================================================
   Tablet
========================================================= */
@media (max-width: 900px) {
  .gmap-section {
    padding: 100px 20px !important;
  }
}
/* =========================================================
   Smartphone
========================================================= */
@media (max-width: 768px) {
  .gmap-section {
    padding: 82px 15px 72px !important;
  }
  .gmap-section::before {
    top: 20px !important;
    font-size:
      clamp(3.5rem, 17vw, 6rem) !important;
  }
  .gmap-section::after {
    top: 60px !important;
    right: -12px !important;
    width: 80px !important;
    height: 65px !important;
  }
  .gmap-header {
    margin-bottom: 34px !important;
  }
  .gmap-title {
    font-size:
      clamp(1.55rem, 7vw, 2rem) !important;
  }
  .gmap-desc {
    font-size: .85rem !important;
    line-height: 1.9 !important;
  }
  .gmap-frame-wrap {
    aspect-ratio: 4 / 3 !important;
    min-height: 260px !important;
    border-width: 5px !important;
    border-radius: 10px !important;
  }
  .gmap-placeholder {
    min-height: 260px !important;
    font-size: 12.5px !important;
  }
}
/* =========================================================
   Small Smartphone
========================================================= */
@media (max-width: 480px) {
  .gmap-section {
    padding: 72px 14px 64px !important;
  }
  .gmap-title {
    font-size: 1.5rem !important;
  }
  .gmap-frame-wrap {
    min-height: 240px !important;
  }
  .gmap-placeholder {
    min-height: 240px !important;
  }
}


/* =========================================================
   Page: faq / FAQ ページ
========================================================= */

/* Block: custom_html / sec_1786365850611 */
/* =========================================================
   FAQ / よくあるご質問
   Ange Petit Bonheur
========================================================= */

.faq-section {
  --faq-main: #bf6f89;
  --faq-deep: #a95372;
  --faq-light: #e8aab5;
  --faq-pale: #f7dce2;
  --faq-cream: #fff8e9;
  --faq-text: #5d514c;
  --faq-sub: #7d6f69;

  position: relative !important;
  overflow: hidden !important;
  padding: 110px 20px 120px !important;
  background:
    radial-gradient(
      circle at 5% 10%,
      rgba(232, 170, 181, .13) 0,
      rgba(232, 170, 181, .13) 100px,
      transparent 101px
    ),
    radial-gradient(
      circle at 96% 88%,
      rgba(255, 222, 168, .18) 0,
      rgba(255, 222, 168, .18) 130px,
      transparent 131px
    ),
    linear-gradient(
      180deg,
      #fffdf8 0%,
      #fff8e9 100%
    ) !important;

  color: var(--faq-text) !important;
  font-family: var(--font-sans) !important;
}

/* =========================================================
   Decorative Circle
========================================================= */

.faq-section::before {
  content: "" !important;
  position: absolute !important;
  top: 80px !important;
  right: -120px !important;
  width: 320px !important;
  height: 320px !important;
  border: 1px solid rgba(191, 111, 137, .10) !important;
  border-radius: 50% !important;
  pointer-events: none !important;
}

.faq-container {
  position: relative !important;
  z-index: 2 !important;
  width: 100% !important;
  max-width: 920px !important;
  margin: 0 auto !important;
}

/* =========================================================
   Header
========================================================= */

.faq-header {
  max-width: 720px !important;
  margin: 0 auto 58px !important;
  text-align: center !important;
}

.faq-en {
  margin: 0 0 10px !important;
  color: var(--faq-main) !important;
  font-family: var(--font-sans) !important;
  font-size: 12px !important;
  font-weight: 600 !important;
  line-height: 1.5 !important;
  letter-spacing: .24em !important;
}

.faq-title {
  position: relative !important;
  margin: 0 !important;
  padding-bottom: 20px !important;
  color: var(--faq-deep) !important;
  font-family: var(--font-sans) !important;
  font-size: clamp(1.8rem, 4vw, 2.8rem) !important;
  font-weight: 600 !important;
  line-height: 1.4 !important;
  letter-spacing: .1em !important;
}

.faq-title::after {
  content: "" !important;
  position: absolute !important;
  left: 50% !important;
  bottom: 0 !important;
  width: 54px !important;
  height: 1px !important;
  background: linear-gradient(
    90deg,
    var(--faq-light),
    var(--faq-main)
  ) !important;
  transform: translateX(-50%) !important;
}

.faq-lead {
  margin: 20px 0 0 !important;
  color: var(--faq-sub) !important;
  font-family: var(--font-sans) !important;
  font-size: 14px !important;
  font-weight: 400 !important;
  line-height: 2 !important;
  letter-spacing: .04em !important;
}

/* =========================================================
   FAQ List
========================================================= */

.faq-list {
  display: flex !important;
  flex-direction: column !important;
  gap: 12px !important;
}

/* =========================================================
   FAQ Item
========================================================= */

.faq-item {
  position: relative !important;
  overflow: hidden !important;
  margin: 0 !important;
  background: rgba(255, 255, 255, .82) !important;
  border: 1px solid rgba(191, 111, 137, .15) !important;
  border-radius: 12px !important;
  box-shadow: 0 8px 28px rgba(115, 83, 71, .055) !important;
  transition:
    border-color .3s ease,
    box-shadow .3s ease,
    transform .3s ease !important;
}

.faq-item:hover {
  border-color: rgba(191, 111, 137, .32) !important;
  box-shadow: 0 12px 32px rgba(115, 83, 71, .09) !important;
}

.faq-item[open] {
  border-color: rgba(191, 111, 137, .30) !important;
  box-shadow: 0 12px 34px rgba(115, 83, 71, .08) !important;
}

/* =========================================================
   Question
========================================================= */

.faq-question {
  position: relative !important;
  display: grid !important;
  grid-template-columns: 42px minmax(0, 1fr) 32px !important;
  align-items: center !important;
  gap: 14px !important;
  min-height: 76px !important;
  padding: 16px 22px !important;
  color: var(--faq-text) !important;
  font-family: var(--font-sans) !important;
  cursor: pointer !important;
  list-style: none !important;
  user-select: none !important;
}

.faq-question::-webkit-details-marker {
  display: none !important;
}

.faq-question::marker {
  display: none !important;
  content: "" !important;
}

/* Q */

.faq-q {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  width: 42px !important;
  height: 42px !important;
  background: var(--faq-pale) !important;
  color: var(--faq-deep) !important;
  border-radius: 50% !important;
  font-family: var(--font-sans) !important;
  font-size: 17px !important;
  font-weight: 600 !important;
  line-height: 1 !important;
}

.faq-question-text {
  color: var(--faq-text) !important;
  font-family: var(--font-sans) !important;
  font-size: 15px !important;
  font-weight: 500 !important;
  line-height: 1.7 !important;
  letter-spacing: .035em !important;
}

/* =========================================================
   Plus / Minus
========================================================= */

.faq-icon {
  position: relative !important;
  display: block !important;
  width: 28px !important;
  height: 28px !important;
  border: 1px solid rgba(191, 111, 137, .25) !important;
  border-radius: 50% !important;
}

.faq-icon::before,
.faq-icon::after {
  content: "" !important;
  position: absolute !important;
  top: 50% !important;
  left: 50% !important;
  width: 10px !important;
  height: 1px !important;
  background: var(--faq-main) !important;
  transform: translate(-50%, -50%) !important;
  transition: transform .3s ease !important;
}

.faq-icon::after {
  transform:
    translate(-50%, -50%)
    rotate(90deg) !important;
}

.faq-item[open] .faq-icon::after {
  transform:
    translate(-50%, -50%)
    rotate(0deg) !important;
}

/* =========================================================
   Answer
========================================================= */

.faq-answer {
  display: grid !important;
  grid-template-columns: 42px minmax(0, 1fr) !important;
  gap: 14px !important;
  margin: 0 22px !important;
  padding: 20px 0 24px !important;
  border-top: 1px dashed rgba(191, 111, 137, .20) !important;
}

.faq-a {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  width: 42px !important;
  height: 42px !important;
  background: var(--faq-main) !important;
  color: #ffffff !important;
  border-radius: 50% !important;
  font-family: var(--font-sans) !important;
  font-size: 17px !important;
  font-weight: 600 !important;
  line-height: 1 !important;
}

.faq-answer p {
  align-self: center !important;
  margin: 0 !important;
  padding: 2px 0 !important;
  color: var(--faq-sub) !important;
  font-family: var(--font-sans) !important;
  font-size: 14px !important;
  font-weight: 400 !important;
  line-height: 1.95 !important;
  letter-spacing: .025em !important;
}

/* =========================================================
   Open State
========================================================= */

.faq-item[open] .faq-question {
  background: rgba(247, 220, 226, .16) !important;
}

.faq-item[open] .faq-q {
  background: var(--faq-main) !important;
  color: #ffffff !important;
}

/* =========================================================
   Tablet / Smartphone
========================================================= */

@media (max-width: 768px) {

  .faq-section {
    padding: 80px 15px 90px !important;
  }

  .faq-header {
    margin-bottom: 42px !important;
  }

  .faq-lead {
    font-size: 13px !important;
    line-height: 1.9 !important;
  }

  .faq-list {
    gap: 10px !important;
  }

  .faq-question {
    grid-template-columns: 36px minmax(0, 1fr) 26px !important;
    gap: 11px !important;
    min-height: 70px !important;
    padding: 15px 16px !important;
  }

  .faq-q,
  .faq-a {
    width: 36px !important;
    height: 36px !important;
    font-size: 15px !important;
  }

  .faq-question-text {
    font-size: 14px !important;
    line-height: 1.65 !important;
  }

  .faq-icon {
    width: 26px !important;
    height: 26px !important;
  }

  .faq-answer {
    grid-template-columns: 36px minmax(0, 1fr) !important;
    gap: 11px !important;
    margin: 0 16px !important;
    padding: 18px 0 21px !important;
  }

  .faq-answer p {
    font-size: 13px !important;
    line-height: 1.85 !important;
  }
}

/* =========================================================
   Small Smartphone
========================================================= */

@media (max-width: 480px) {

  .faq-section {
    padding: 64px 14px 72px !important;
  }

  .faq-title {
    font-size: 1.75rem !important;
  }

  .faq-question {
    grid-template-columns: 32px minmax(0, 1fr) 24px !important;
    gap: 9px !important;
    padding: 14px 13px !important;
  }

  .faq-q,
  .faq-a {
    width: 32px !important;
    height: 32px !important;
    font-size: 14px !important;
  }

  .faq-question-text {
    font-size: 13.5px !important;
  }

  .faq-icon {
    width: 24px !important;
    height: 24px !important;
  }

  .faq-answer {
    grid-template-columns: 32px minmax(0, 1fr) !important;
    gap: 9px !important;
    margin: 0 13px !important;
  }

  .faq-answer p {
    font-size: 13px !important;
  }
}


/* =========================================================
   Page: footer / FOOTER ページ
========================================================= */

/* Block: global_footer / sec_1782112173284 */
/* =========================================================
global_footer
ロゴカラー × パステル洋菓子店デザイン
========================================================= */

.global-footer {
    --footer-main: #bf6f89;
    --footer-deep: #a95372;
    --footer-light: #e8aab5;
    --footer-pale: #f7dce2;
    --footer-cream: #fff8e9;
    --footer-beige: #f7eddf;
    --footer-text: #5d514c;
    --footer-sub: #7d6f69;

    position: relative !important;
    overflow: hidden !important;

    width: 100% !important;

    padding: 110px 20px 64px !important;

    background:
        radial-gradient(
            circle at 8% 12%,
            rgba(232, 170, 181, .12) 0,
            rgba(232, 170, 181, .12) 90px,
            transparent 91px
        ),
        radial-gradient(
            circle at 94% 82%,
            rgba(255, 222, 168, .18) 0,
            rgba(255, 222, 168, .18) 120px,
            transparent 121px
        ),
        linear-gradient(
            180deg,
            #fffaf0 0%,
            #fff8e9 55%,
            #f9efe2 100%
        ) !important;

    color: var(--footer-text) !important;

    border-top: 1px solid rgba(191, 111, 137, .10) !important;
}

.global-footer,
.global-footer * {
    box-sizing: border-box !important;
}

.global-footer::before {
    content: "" !important;

    position: absolute !important;
    top: 52px !important;
    right: -80px !important;

    display: block !important;

    width: 260px !important;
    height: 260px !important;

    border: 1px solid rgba(191, 111, 137, .12) !important;
    border-radius: 50% !important;

    background:
        radial-gradient(
            circle,
            transparent 0 46%,
            rgba(232, 170, 181, .08) 47% 47.5%,
            transparent 48%
        ) !important;

    pointer-events: none !important;
}


/* =========================================================
INFO GRID
========================================================= */

.info-grid {
    position: relative !important;
    z-index: 2 !important;

    display: grid !important;

    grid-template-columns:
        minmax(0, 1fr)
        minmax(320px, 1fr) !important;

    align-items: center !important;

    gap: 64px !important;

    width: 100% !important;
    max-width: 1100px !important;

    margin: 0 auto !important;
}


/* =========================================================
SHOP INFO
========================================================= */

.footer-brand,
.shop-info {
    width: 100% !important;
    min-width: 0 !important;
}

.footer-brand h2,
.shop-info h2 {
    position: relative !important;

    display: inline-block !important;

    max-width: 100% !important;

    margin: 0 !important;
    padding-bottom: 16px !important;

    color: var(--footer-deep) !important;

    border-bottom: 0 !important;

    font-family: var(--font-sans) !important;
    font-size: 2.15rem !important;
    font-weight: 600 !important;

    line-height: 1.4 !important;
    letter-spacing: .08em !important;

    overflow-wrap: anywhere !important;
}

.footer-brand h2::after,
.shop-info h2::after {
    content: "" !important;

    position: absolute !important;
    left: 0 !important;
    bottom: 0 !important;

    width: 64px !important;
    height: 1px !important;

    background:
        linear-gradient(
            90deg,
            var(--footer-main),
            var(--footer-light)
        ) !important;
}


/* =========================================================
GENRE
========================================================= */

.footer-genre {
    margin-top: 12px !important;

    color: var(--footer-main) !important;

    font-family: var(--font-sans) !important;
    font-size: 12px !important;
    font-weight: 500 !important;

    line-height: 1.7 !important;
    letter-spacing: .08em !important;
}


/* =========================================================
INFO TABLE
========================================================= */

.footer-table,
.shop-info table {
    width: 100% !important;

    margin-top: 28px !important;

    border-collapse: collapse !important;
    table-layout: fixed !important;

    font-family: var(--font-sans) !important;
    font-weight: 400 !important;
}

.footer-table th,
.footer-table td,
.shop-info th,
.shop-info td {
    padding: 14px 0 !important;

    border-bottom: 1px dashed rgba(191, 111, 137, .18) !important;

    font-family: var(--font-sans) !important;
    font-size: 14px !important;

    line-height: 1.85 !important;

    text-align: left !important;
    vertical-align: top !important;

    overflow-wrap: anywhere !important;
    word-break: normal !important;
}

.footer-table th,
.shop-info th {
    width: 100px !important;

    padding-right: 16px !important;

    color: var(--footer-main) !important;

    font-weight: 500 !important;
    letter-spacing: .05em !important;
}

.footer-table td,
.shop-info td {
    color: var(--footer-text) !important;
    font-weight: 400 !important;
}


/* =========================================================
TEL
========================================================= */

.footer-tel strong {
    color: var(--footer-deep) !important;

    font-family: var(--font-sans) !important;
    font-size: 21px !important;
    font-weight: 600 !important;

    line-height: 1.4 !important;
    letter-spacing: .04em !important;

    white-space: nowrap !important;
}


/* =========================================================
PAYMENT
========================================================= */

.payment-title {
    margin: 24px 0 10px !important;

    color: var(--footer-main) !important;

    font-family: var(--font-sans) !important;
    font-size: 12px !important;
    font-weight: 500 !important;

    letter-spacing: .06em !important;
}

.payment-icons {
    display: flex !important;
    flex-wrap: wrap !important;
    align-items: center !important;

    gap: 8px !important;

    color: var(--footer-sub) !important;

    font-family: var(--font-sans) !important;
}

.pay-tag {
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;

    padding: 4px 9px !important;

    color: var(--footer-sub) !important;

    background: rgba(255, 255, 255, .58) !important;

    border: 1px solid rgba(191, 111, 137, .16) !important;
    border-radius: 999px !important;

    font-family: var(--font-sans) !important;
    font-size: 11px !important;

    line-height: 1.4 !important;
}


/* =========================================================
GOOGLE MAP
========================================================= */

.gmap-wrap {
    position: relative !important;

    width: 100% !important;
    min-width: 0 !important;

    height: 380px !important;
    min-height: 380px !important;

    overflow: hidden !important;

    background: var(--footer-pale) !important;

    border: 8px solid rgba(255, 255, 255, .9) !important;
    border-radius: 12px !important;

    box-shadow:
        0 18px 42px rgba(115, 83, 71, .10) !important;
}

.gmap-wrap iframe {
    display: block !important;

    width: 100% !important;
    height: 100% !important;
    min-height: 0 !important;

    border: 0 !important;

    filter: none !important;
}

.gmap-placeholder {
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;

    width: 100% !important;
    height: 100% !important;
    min-height: 380px !important;

    padding: 20px !important;

    color: var(--footer-deep) !important;

    font-family: var(--font-sans) !important;
    font-weight: 500 !important;

    text-align: center !important;
}


/* =========================================================
COPYRIGHT
========================================================= */

.footer-copy-text,
.footer-copy-text,
.footer-copy {
    position: relative !important;
    width: 100% !important;
    padding: 22px 20px !important;

    background: #f8eee2 !important;
    color: #b15f7b !important;

    border-top: 1px solid rgba(191, 111, 137, .12) !important;

    font-family: var(--font-sans) !important;
    font-size: 11px !important;
    font-weight: 500 !important;
    line-height: 1.7 !important;
    letter-spacing: .04em !important;

    text-align: center !important;
}

.footer-copy-text *,
.footer-copy * {
    color: #b15f7b !important;
}

.footer-copy-text a,
.footer-copy a,
.footer-copy-text a:link,
.footer-copy-text a:visited,
.footer-copy a:link,
.footer-copy a:visited {
    color: #a95372 !important;
    text-decoration: none !important;
}

.footer-copy-text a:hover,
.footer-copy a:hover {
    color: #bf6f89 !important;
}


/* =========================================================
FLOATING ACTIONS
========================================================= */

.fc-floating-actions {
    --floating-main: #bf6f89;
    --floating-deep: #a95372;
    --floating-light: #e8aab5;
    --floating-pale: #f7dce2;
    --floating-cream: #fff8e9;
    --floating-text: #5d514c;

    position: fixed !important;
    right: 22px !important;
    bottom: 22px !important;
    z-index: 1800 !important;

    display: flex !important;
    flex-direction: column !important;

    gap: 10px !important;

    pointer-events: none !important;
}

.fc-floating-action {
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;

    gap: 8px !important;

    min-width: 142px !important;
    min-height: 48px !important;

    padding: 0 20px !important;

    background: #fffaf0 !important;

    color: #a95372 !important;

    border: 1px solid rgba(191, 111, 137, .35) !important;
    border-radius: 999px !important;

    box-shadow:
        0 10px 28px rgba(115, 83, 71, .15) !important;

    font-family: var(--font-sans) !important;
    font-size: 13px !important;
    font-weight: 500 !important;

    line-height: 1.2 !important;
    letter-spacing: .04em !important;

    text-align: center !important;
    text-decoration: none !important;

    backdrop-filter: blur(10px) !important;
    -webkit-backdrop-filter: blur(10px) !important;

    pointer-events: auto !important;

    transition:
        background .28s ease,
        color .28s ease,
        border-color .28s ease,
        transform .28s ease,
        box-shadow .28s ease !important;
}

.fc-floating-action i {
    color: inherit !important;
}

.fc-floating-action:hover {
    background: #bf6f89 !important;
    color: #ffffff !important;
    border-color: #bf6f89 !important;

    box-shadow:
        0 14px 30px rgba(191, 111, 137, .22) !important;

    transform: translateY(-2px) !important;
}


/* =========================================================
RESERVE
========================================================= */

.fc-floating-reserve,
.fc-floating-reserve:link,
.fc-floating-reserve:visited {
    background: #bf6f89 !important;
    color: #ffffff !important;
    border-color: #bf6f89 !important;

    box-shadow:
        0 10px 28px rgba(191, 111, 137, .24) !important;
}

.fc-floating-reserve i {
    color: #ffffff !important;
}

.fc-floating-reserve:hover {
    background: #a95372 !important;
    color: #ffffff !important;
    border-color: #a95372 !important;
}


/* =========================================================
TEL
========================================================= */

.fc-floating-tel,
.fc-floating-tel:link,
.fc-floating-tel:visited {
    background: #fffaf0 !important;
    color: #a95372 !important;
    border-color: rgba(191, 111, 137, .35) !important;
}

.fc-floating-tel i {
    color: #bf6f89 !important;
}

.fc-floating-tel:hover {
    background: #bf6f89 !important;
    color: #ffffff !important;
    border-color: #bf6f89 !important;
}

.fc-floating-tel:hover i {
    color: #ffffff !important;
}


/* =========================================================
LINE
========================================================= */

.fc-floating-line,
.fc-floating-line:link,
.fc-floating-line:visited {
    background: #ffffff !important;
    color: #43865e !important;
    border-color: rgba(67, 134, 94, .38) !important;
}

.fc-floating-line i {
    color: #43865e !important;
}

.fc-floating-line:hover {
    background: #43865e !important;
    color: #ffffff !important;
    border-color: #43865e !important;
}

.fc-floating-line:hover i {
    color: #ffffff !important;
}


/* =========================================================
INSTAGRAM
========================================================= */

.fc-floating-instagram,
.fc-floating-instagram:link,
.fc-floating-instagram:visited {
    background: #fffaf0 !important;
    color: #bf6f89 !important;
    border-color: rgba(191, 111, 137, .38) !important;
}

.fc-floating-instagram i {
    color: #bf6f89 !important;
}

.fc-floating-instagram:hover {
    background: #bf6f89 !important;
    color: #ffffff !important;
    border-color: #bf6f89 !important;
}

.fc-floating-instagram:hover i {
    color: #ffffff !important;
}


/* =========================================================
TABLET
========================================================= */

@media (max-width: 992px) {

    .global-footer {
        padding:
            90px 24px
            70px !important;
    }

    .info-grid {
        grid-template-columns:
            minmax(0, 1fr)
            minmax(280px, .9fr) !important;

        gap: 42px !important;
    }

    .footer-brand h2,
    .shop-info h2 {
        font-size: 1.8rem !important;
    }

    .gmap-wrap {
        height: 340px !important;
        min-height: 340px !important;
    }

    .gmap-placeholder {
        min-height: 340px !important;
    }
}


/* =========================================================
SMARTPHONE
========================================================= */

@media (max-width: 768px) {

    .global-footer {
        overflow: hidden !important;

        padding:
            72px 18px
            calc(105px + env(safe-area-inset-bottom)) !important;
    }

    .global-footer::before {
        top: 30px !important;
        right: -110px !important;

        width: 220px !important;
        height: 220px !important;
    }

    .info-grid {
        display: flex !important;
        flex-direction: column !important;
        align-items: stretch !important;

        width: 100% !important;
        max-width: 580px !important;

        gap: 42px !important;

        margin: 0 auto !important;
    }

    .footer-brand,
    .shop-info {
        width: 100% !important;
        max-width: none !important;

        margin: 0 !important;
    }

    .footer-brand h2,
    .shop-info h2 {
        display: inline-block !important;

        max-width: 100% !important;

        padding-bottom: 13px !important;

        font-size:
            clamp(1.55rem, 7vw, 1.9rem) !important;

        line-height: 1.45 !important;
        letter-spacing: .06em !important;
    }

    .footer-brand h2::after,
    .shop-info h2::after {
        width: 52px !important;
    }

    .footer-genre {
        margin-top: 10px !important;

        font-size: 11px !important;
        line-height: 1.7 !important;
    }

    .footer-table,
    .shop-info table {
        width: 100% !important;

        margin-top: 22px !important;

        table-layout: fixed !important;
    }

    .footer-table th,
    .footer-table td,
    .shop-info th,
    .shop-info td {
        padding: 12px 0 !important;

        font-size: 13px !important;

        line-height: 1.8 !important;
    }

    .footer-table th,
    .shop-info th {
        width: 84px !important;

        padding-right: 12px !important;
    }

    .footer-table td,
    .shop-info td {
        width: auto !important;

        overflow-wrap: anywhere !important;
    }

    .footer-tel strong {
        font-size: 19px !important;
    }

    .payment-title {
        margin-top: 20px !important;

        font-size: 11px !important;
    }

    .payment-icons {
        gap: 6px !important;
    }

    .pay-tag {
        padding: 4px 8px !important;

        font-size: 10px !important;
    }

    .gmap-wrap {
        width: 100% !important;

        height: auto !important;
        min-height: 0 !important;

        aspect-ratio: 16 / 10 !important;

        border-width: 5px !important;
        border-radius: 10px !important;

        box-shadow:
            0 12px 30px rgba(115, 83, 71, .10) !important;
    }

    .gmap-wrap iframe {
        position: absolute !important;
        inset: 0 !important;

        width: 100% !important;
        height: 100% !important;
        min-height: 0 !important;
    }

    .gmap-placeholder {
        min-height: 0 !important;
        height: 100% !important;
    }

    .footer-copy-text,
    .footer-copy {
        padding:
            18px 16px
            calc(84px + env(safe-area-inset-bottom)) !important;

        color: #b15f7b !important;

        font-size: 10px !important;
        line-height: 1.7 !important;
    }

    .footer-copy-text *,
    .footer-copy * {
        color: #b15f7b !important;
    }

    .fc-floating-actions {
        left: 0 !important;
        right: 0 !important;
        bottom: 0 !important;

        z-index: 1800 !important;

        display: flex !important;
        flex-direction: row !important;
        align-items: stretch !important;

        width: 100% !important;

        gap: 4px !important;

        padding:
            7px 8px
            calc(7px + env(safe-area-inset-bottom)) !important;

        background: rgba(255, 250, 240, .98) !important;

        border-top: 1px solid rgba(191, 111, 137, .15) !important;

        box-shadow:
            0 -8px 25px rgba(115, 83, 71, .08) !important;

        backdrop-filter: blur(14px) !important;
        -webkit-backdrop-filter: blur(14px) !important;
    }

    .fc-floating-action {
        flex: 1 1 0 !important;

        width: 0 !important;
        min-width: 0 !important;
        max-width: none !important;

        min-height: 52px !important;

        margin: 0 !important;
        padding: 5px 3px !important;

        flex-direction: column !important;

        gap: 3px !important;

        background: transparent !important;

        color: #a95372 !important;

        border: 0 !important;
        border-radius: 8px !important;

        box-shadow: none !important;

        font-size: 10px !important;
        font-weight: 500 !important;

        line-height: 1.15 !important;
        letter-spacing: 0 !important;

        white-space: nowrap !important;

        overflow: hidden !important;

        transform: none !important;
    }

    .fc-floating-action i {
        flex: 0 0 auto !important;

        margin: 0 !important;

        font-size: 17px !important;
        line-height: 1 !important;
    }

    .fc-floating-action:hover {
        background: #f7dce2 !important;

        color: #a95372 !important;

        box-shadow: none !important;

        transform: none !important;
    }

    .fc-floating-reserve,
    .fc-floating-reserve:link,
    .fc-floating-reserve:visited {
        background: #bf6f89 !important;

        color: #ffffff !important;

        border-radius: 8px !important;
    }

    .fc-floating-reserve i {
        color: #ffffff !important;
    }

    .fc-floating-reserve:hover {
        background: #a95372 !important;
        color: #ffffff !important;
    }

    .fc-floating-tel,
    .fc-floating-tel:link,
    .fc-floating-tel:visited {
        background: transparent !important;
        color: #a95372 !important;
    }

    .fc-floating-tel i {
        color: #bf6f89 !important;
    }

    .fc-floating-line,
    .fc-floating-line:link,
    .fc-floating-line:visited {
        background: transparent !important;
        color: #43865e !important;
    }

    .fc-floating-line i {
        color: #43865e !important;
    }

    .fc-floating-instagram,
    .fc-floating-instagram:link,
    .fc-floating-instagram:visited {
        background: transparent !important;
        color: #bf6f89 !important;
    }

    .fc-floating-instagram i {
        color: #bf6f89 !important;
    }
}


/* =========================================================
SMALL SMARTPHONE
========================================================= */

@media (max-width: 480px) {

    .global-footer {
        padding:
            60px 15px
            calc(100px + env(safe-area-inset-bottom)) !important;
    }

    .info-grid {
        gap: 34px !important;
    }

    .footer-brand h2,
    .shop-info h2 {
        font-size: 1.5rem !important;
        letter-spacing: .05em !important;
    }

    .footer-table,
    .shop-info table {
        margin-top: 18px !important;
    }

    .footer-table th,
    .footer-table td,
    .shop-info th,
    .shop-info td {
        padding: 10px 0 !important;

        font-size: 12.5px !important;

        line-height: 1.75 !important;
    }

    .footer-table th,
    .shop-info th {
        width: 76px !important;

        padding-right: 10px !important;

        font-size: 11.5px !important;
    }

    .footer-tel strong {
        font-size: 18px !important;
    }

    .gmap-wrap {
        aspect-ratio: 4 / 3 !important;

        border-width: 4px !important;
    }

    .footer-copy-text,
    .footer-copy {
        padding:
            16px 14px
            calc(80px + env(safe-area-inset-bottom)) !important;

        color: #b15f7b !important;

        font-size: 9.5px !important;
    }

    .footer-copy-text *,
    .footer-copy * {
        color: #b15f7b !important;
    }

    .fc-floating-actions {
        gap: 2px !important;

        padding:
            5px 5px
            calc(5px + env(safe-area-inset-bottom)) !important;
    }

    .fc-floating-action {
        min-height: 49px !important;

        padding: 4px 2px !important;

        font-size: 9px !important;
    }

    .fc-floating-action i {
        font-size: 16px !important;
    }
}


/* =========================================================
VERY SMALL SMARTPHONE
========================================================= */

@media (max-width: 360px) {

    .global-footer {
        padding-left: 13px !important;
        padding-right: 13px !important;
    }

    .footer-table th,
    .shop-info th {
        width: 70px !important;
    }

    .footer-table th,
    .footer-table td,
    .shop-info th,
    .shop-info td {
        font-size: 11.5px !important;
    }

    .fc-floating-action {
        font-size: 8.5px !important;
    }

    .fc-floating-action i {
        font-size: 15px !important;
    }
}
