:root {
  --ink: #f4ead1;
  --muted: #c8bda5;
  --paper: #090913;
  --paper-soft: #050711;
  --white: #11101a;
  --green: #b99d5f;
  --green-deep: #d6bd78;
  --matcha: #816c3f;
  --matcha-deep: #c5a565;
  --matcha-soft: rgba(210, 180, 105, 0.14);
  --gold: #c8a76a;
  --line: rgba(210, 180, 105, 0.28);
  --shadow: 0 28px 90px rgba(0, 0, 0, 0.45);
}

html {
  background: #050711;
}

body {
  color: var(--ink);
  background:
    radial-gradient(circle at 50% 0%, rgba(112, 87, 145, 0.2), transparent 34rem),
    radial-gradient(circle at 10% 30%, rgba(195, 156, 86, 0.08), transparent 22rem),
    linear-gradient(180deg, #060611 0%, #0c0b18 38%, #070812 100%) !important;
}

body:before {
  content: "";
  pointer-events: none;
  position: fixed;
  inset: 0;
  z-index: -1;
  background:
    linear-gradient(90deg, rgba(207, 175, 103, 0.045) 1px, transparent 1px) 0 0 / 86px 86px,
    linear-gradient(rgba(207, 175, 103, 0.035) 1px, transparent 1px) 0 0 / 86px 86px;
  mask-image: linear-gradient(180deg, rgba(0,0,0,.75), rgba(0,0,0,.08));
}

.site-shell {
  background:
    radial-gradient(circle at 50% 0%, rgba(94, 73, 128, 0.28), transparent 28rem),
    linear-gradient(180deg, #0d0c18 0%, #090914 54%, #070811 100%) !important;
  border-color: rgba(218, 187, 114, 0.28) !important;
  box-shadow: 0 28px 90px rgba(0, 0, 0, 0.5) !important;
}

.site-header {
  background: linear-gradient(135deg, rgba(14, 13, 26, 0.94), rgba(34, 28, 51, 0.88)) !important;
  border-color: rgba(218, 187, 114, 0.36) !important;
  box-shadow: 0 18px 48px rgba(0, 0, 0, 0.42) !important;
}

.brand,
.brand small,
.brand span,
.menu-toggle span {
  color: #ead6a1 !important;
}

.brand:before {
  color: #ead6a1 !important;
  border-color: rgba(234, 214, 161, 0.72) !important;
  background:
    radial-gradient(circle, rgba(234, 214, 161, 0.2) 0 34%, transparent 36%),
    repeating-conic-gradient(from 12deg, rgba(234, 214, 161, 0.95) 0 10deg, rgba(234, 214, 161, 0.2) 10deg 18deg) !important;
}

.menu-toggle {
  background: rgba(234, 214, 161, 0.07) !important;
  border-color: rgba(234, 214, 161, 0.62) !important;
}

.menu-toggle:hover,
.menu-toggle:focus-visible {
  background: rgba(234, 214, 161, 0.14) !important;
}

.menu-overlay.is-open {
  background: rgba(4, 4, 10, 0.72) !important;
}

.menu-panel {
  background:
    radial-gradient(circle at 100% 0%, rgba(112, 87, 145, 0.22), transparent 22rem),
    linear-gradient(180deg, rgba(15, 14, 27, 0.98), rgba(8, 8, 18, 0.98)) !important;
  border-left-color: rgba(218, 187, 114, 0.36) !important;
  box-shadow: -28px 0 80px rgba(0, 0, 0, 0.52) !important;
}

.menu-panel-head {
  border-bottom-color: rgba(218, 187, 114, 0.22) !important;
}

.menu-panel-head button,
.menu-group > button,
.menu-panel > a,
.menu-submenu a {
  color: #ead6a1 !important;
}

.menu-panel > a:hover,
.menu-panel > a:focus-visible,
.menu-group > button:hover,
.menu-group > button:focus-visible,
.menu-submenu a:hover,
.menu-submenu a:focus-visible {
  background: rgba(218, 187, 114, 0.08) !important;
  color: #fff4cb !important;
}

.hero {
  background: #070811 !important;
  min-height: 980px;
}

.hero-visual:before {
  background:
    linear-gradient(180deg, rgba(5, 5, 12, 0.12) 0%, rgba(5, 5, 12, 0.22) 50%, rgba(5, 5, 12, 0.92) 100%),
    linear-gradient(90deg, rgba(5, 5, 12, 0.34), transparent 44%, rgba(5, 5, 12, 0.32)) !important;
}

.hero-visual:after {
  background: linear-gradient(180deg, transparent 0%, rgba(9, 9, 20, 0.72) 58%, #090914 100%) !important;
}

.hero-copy {
  color: #f4ead1 !important;
  background:
    linear-gradient(135deg, rgba(12, 11, 22, 0.68), rgba(24, 20, 35, 0.56)),
    radial-gradient(circle at 100% 80%, rgba(207, 175, 103, 0.12), transparent 34%) !important;
  border: 1px solid rgba(222, 191, 116, 0.5) !important;
  box-shadow: 0 28px 82px rgba(0, 0, 0, 0.48) !important;
}

.hero-copy:before {
  background: rgba(222, 191, 116, 0.72) !important;
}

.hero-copy,
.hero-copy h1,
.hero-copy p,
.hero-copy .eyebrow,
h1,
h2,
h3,
p,
address,
dd,
.footer-name,
.phone-number {
  color: inherit;
}

.hero-copy h1,
.section-heading h2,
.gan-news-heading h2,
.gan-news-page h1,
.detail-page-hero h1,
.page-hero h1 {
  color: #f4ead1 !important;
  text-shadow: 0 2px 18px rgba(0, 0, 0, 0.28);
}

.hero-copy p,
.section-heading p,
.text-flow p,
.detail-body > p,
.access-card p,
.contact-card p,
.site-footer,
.site-footer p,
.site-footer dd,
.site-footer a,
.gan-news-title,
.gan-news-lead,
.gan-news-detail-body p {
  color: rgba(244, 234, 209, 0.78) !important;
}

.eyebrow,
.gan-news-kicker,
.detail-page-hero .eyebrow,
.page-hero .eyebrow {
  color: #d7ba78 !important;
}

.content-section,
.gallery-section,
.access-contact,
.site-footer,
.gan-news-section {
  position: relative;
}

.content-section:before,
.gallery-section:before,
.message-section:before,
.gan-news-shell {
  border-color: rgba(218, 187, 114, 0.28) !important;
}

.content-section:before,
.gallery-section:before,
.message-section:before {
  background: linear-gradient(90deg, transparent, rgba(218, 187, 114, 0.45), transparent) !important;
}

.section-heading.compact,
.gan-news-heading {
  padding-left: 22px;
  border-left: 2px solid rgba(218, 187, 114, 0.72);
}

.feature-card,
.danka-tab,
.event-overview,
.access-card,
.contact-card,
.detail-sections section,
.detail-contact-panel,
.fact-panel,
.page-hero,
.google-form-card,
.gan-news-shell,
.gan-news-page {
  background:
    radial-gradient(circle at 100% 0%, rgba(207, 175, 103, 0.09), transparent 18rem),
    linear-gradient(180deg, rgba(18, 16, 29, 0.9), rgba(10, 10, 20, 0.82)) !important;
  border-color: rgba(218, 187, 114, 0.32) !important;
  box-shadow: 0 18px 54px rgba(0, 0, 0, 0.28) !important;
}

.feature-card strong,
.danka-tab strong,
.detail-sections h2,
.event-overview h3 {
  color: #ead6a1 !important;
}

.feature-card small,
.danka-tab small,
.event-months span,
.detail-sections p,
.fact-panel p {
  color: rgba(244, 234, 209, 0.74) !important;
}

.feature-card em,
.gan-news-more,
.gan-news-page-button,
.map-link {
  color: #d7ba78 !important;
}

.feature-card:hover,
.danka-tab:hover,
.gan-news-row:hover {
  border-color: rgba(242, 214, 148, 0.68) !important;
  box-shadow: 0 24px 68px rgba(0, 0, 0, 0.36) !important;
}

.button.primary,
.header-button.primary,
.gan-news-page-button {
  color: #0b0a13 !important;
  background: linear-gradient(135deg, #d9bd7d, #a77f3d) !important;
  border-color: rgba(244, 222, 166, 0.72) !important;
}

.button.secondary,
.header-button,
.gan-news-more {
  color: #ead6a1 !important;
  background: rgba(218, 187, 114, 0.08) !important;
  border-color: rgba(218, 187, 114, 0.42) !important;
}

.event-months p,
.fact-panel p {
  background: rgba(218, 187, 114, 0.06) !important;
  border-color: rgba(218, 187, 114, 0.22) !important;
}

.event-months strong,
.gan-news-date,
.gan-news-category,
.gan-news-meta,
.gan-news-meta span {
  color: #d7ba78 !important;
}

.gan-news-category {
  border-color: rgba(218, 187, 114, 0.34) !important;
  background: rgba(218, 187, 114, 0.07) !important;
}

.gan-news-row,
.gan-news-list,
.gan-news-detail-body,
.gan-news-shell {
  border-color: rgba(218, 187, 114, 0.2) !important;
}

.keidai-slider,
.apple-gallery,
.slider-track {
  background: transparent !important;
}

.slider-photo {
  border-color: rgba(218, 187, 114, 0.42) !important;
  box-shadow: 0 24px 70px rgba(0, 0, 0, 0.42) !important;
}

.slider-controls button,
.slider-dots button {
  color: #ead6a1 !important;
  border-color: rgba(218, 187, 114, 0.5) !important;
  background: rgba(12, 11, 22, 0.72) !important;
}

.slider-dots button.active {
  background: #d7ba78 !important;
}

.access-card address,
.access-card dt,
.footer-info dt {
  color: #d7ba78 !important;
}

.map-embed {
  border: 1px solid rgba(218, 187, 114, 0.28) !important;
  box-shadow: 0 18px 50px rgba(0, 0, 0, 0.28) !important;
}

.site-footer {
  border-top: 1px solid rgba(218, 187, 114, 0.28) !important;
}

.page-hero {
  border-bottom-color: rgba(218, 187, 114, 0.24) !important;
}

.detail-page-hero .eyebrow:before,
.detail-sections h2:before {
  background: #d7ba78 !important;
}

.detail-sections section:before {
  background:
    radial-gradient(circle, rgba(218, 187, 114, 0.2), rgba(218, 187, 114, 0.07) 62%, transparent 63%),
    linear-gradient(135deg, rgba(244, 234, 209, 0.1), rgba(218, 187, 114, 0.08)) !important;
  border-color: rgba(218, 187, 114, 0.24) !important;
}

.detail-sections section:after {
  color: #d7ba78 !important;
}

@media (max-width: 760px) {
  .site-shell {
    width: min(100%, 430px) !important;
    margin-top: 0 !important;
  }

  .site-header {
    width: min(100%, 430px) !important;
    top: 0 !important;
  }

  .hero {
    background: #070811 !important;
  }

  .hero-copy {
    width: calc(100% - 28px) !important;
    margin-bottom: -6px !important;
    padding: 28px 24px !important;
  }

  .feature-card-grid {
    gap: 14px !important;
  }

  .section-heading.compact,
  .gan-news-heading {
    padding-left: 16px;
  }
}
/* 2026-05-24: 写真は暗くしすぎず、背景には願楽寺らしい水辺の気配を薄く重ねる */
body:after {
  content: "";
  pointer-events: none;
  position: fixed;
  inset: 0;
  z-index: -1;
  opacity: 0.18;
  background-image:
    url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='760' height='520' viewBox='0 0 760 520'%3E%3Cg fill='none' stroke='%23d8bd78' stroke-width='1.15' stroke-linecap='round' stroke-linejoin='round' opacity='.55'%3E%3Cpath d='M80 398c72-36 132-36 204 0s132 36 204 0 132-36 204 0'/%3E%3Cpath d='M38 438c86-34 154-34 240 0s154 34 240 0 154-34 240 0' opacity='.5'/%3E%3Cpath d='M492 138c38-50 92-50 130 0-42 12-90 12-130 0Z'/%3E%3Cpath d='M557 132c-12-45 5-82 33-112 26 32 39 69 20 112'/%3E%3Cpath d='M557 132c-22-41-58-58-98-55 10 42 40 66 98 55Z'/%3E%3Cpath d='M608 132c26-38 62-52 102-44-13 40-43 60-102 44Z'/%3E%3Cpath d='M514 104c25 9 54 10 82 2' opacity='.55'/%3E%3Cpath d='M96 160c22-18 58-18 84 0-26 18-62 18-84 0Z'/%3E%3Cpath d='M179 160c10-10 23-16 40-18-7 15-18 25-40 18Z'/%3E%3Ccircle cx='126' cy='155' r='2.5' fill='%23d8bd78' stroke='none'/%3E%3Cpath d='M640 292c18-14 47-14 68 0-21 15-50 15-68 0Z' opacity='.72'/%3E%3Cpath d='M708 292c8-8 19-13 32-14-6 12-15 20-32 14Z' opacity='.72'/%3E%3Ccircle cx='664' cy='288' r='2' fill='%23d8bd78' stroke='none' opacity='.72'/%3E%3C/g%3E%3C/svg%3E"),
    radial-gradient(circle at 18% 24%, rgba(216, 189, 120, 0.12), transparent 18rem),
    radial-gradient(circle at 86% 72%, rgba(128, 93, 158, 0.12), transparent 20rem);
  background-position: right 2rem top 8rem, left top, right bottom;
  background-repeat: no-repeat;
  background-size: min(72vw, 760px) auto, auto, auto;
}

.site-shell:before {
  content: "";
  pointer-events: none;
  position: absolute;
  inset: 0;
  z-index: 0;
  opacity: 0.13;
  background-image:
    url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='620' height='280' viewBox='0 0 620 280'%3E%3Cg fill='none' stroke='%23dbc27f' stroke-width='1' stroke-linecap='round' opacity='.55'%3E%3Cpath d='M20 198c58-22 112-22 170 0s112 22 170 0 112-22 170 0 112 22 170 0'/%3E%3Cpath d='M0 232c72-24 136-24 208 0s136 24 208 0 136-24 208 0' opacity='.55'/%3E%3Cpath d='M454 86c26-34 62-34 88 0-30 9-62 9-88 0Z'/%3E%3Cpath d='M498 82c-8-31 3-56 22-76 18 22 27 48 14 76'/%3E%3Cpath d='M110 80c16-13 42-13 61 0-19 13-45 13-61 0Z'/%3E%3Cpath d='M170 80c7-7 17-11 29-12-5 10-13 16-29 12Z'/%3E%3C/g%3E%3C/svg%3E");
  background-position: right 3vw top 18rem;
  background-repeat: no-repeat;
  background-size: min(68vw, 620px) auto;
}

.site-shell > * {
  position: relative;
  z-index: 1;
}

.hero-visual img,
.detail-main-image img,
.event-overview img,
.feature-card img,
.slider-photo img,
.page-hero img,
.grounds-visual img,
.photo-strip img,
.gallery-grid img,
.offering-card > img {
  filter: none !important;
}

.hero-visual:before {
  background:
    linear-gradient(180deg, rgba(5, 5, 12, 0.03) 0%, rgba(5, 5, 12, 0.12) 50%, rgba(5, 5, 12, 0.84) 100%),
    linear-gradient(90deg, rgba(5, 5, 12, 0.16), transparent 44%, rgba(5, 5, 12, 0.16)) !important;
}

.feature-card img,
.detail-main-image img,
.slider-photo img,
.event-overview img,
.page-hero img {
  box-shadow: inset 0 0 0 1px rgba(218, 187, 114, 0.08);
}

@media (max-width: 760px) {
  body:after {
    opacity: 0.14;
    background-position: right -10rem top 10rem, left top, right bottom;
    background-size: 640px auto, auto, auto;
  }

  .site-shell:before {
    opacity: 0.1;
    background-position: right -10rem top 24rem;
    background-size: 560px auto;
  }
}
/* 2026-05-24: 文字の視認性を上げるクリア調整 */
body,
.site-shell {
  color: #f8efd9 !important;
}

.hero-copy,
.feature-card,
.danka-tab,
.event-overview,
.access-card,
.contact-card,
.detail-sections section,
.detail-contact-panel,
.fact-panel,
.page-hero,
.google-form-card,
.gan-news-shell,
.gan-news-page {
  backdrop-filter: none !important;
  -webkit-backdrop-filter: none !important;
}

.hero-copy {
  background:
    linear-gradient(135deg, rgba(11, 10, 19, 0.82), rgba(24, 20, 35, 0.78)),
    radial-gradient(circle at 100% 80%, rgba(207, 175, 103, 0.12), transparent 34%) !important;
}

.hero-copy h1,
.section-heading h2,
.gan-news-heading h2,
.gan-news-page h1,
.detail-page-hero h1,
.page-hero h1,
h1,
h2 {
  color: #fff6df !important;
  opacity: 1 !important;
  text-shadow: 0 1px 2px rgba(0,0,0,0.45) !important;
}

h3,
.feature-card strong,
.danka-tab strong,
.detail-sections h2,
.event-overview h3,
.footer-name,
.phone-number {
  color: #f3d99a !important;
  opacity: 1 !important;
  text-shadow: none !important;
}

p,
address,
dd,
.hero-copy p,
.section-heading p,
.text-flow p,
.detail-body > p,
.access-card p,
.contact-card p,
.site-footer,
.site-footer p,
.site-footer dd,
.site-footer a,
.gan-news-title,
.gan-news-lead,
.gan-news-detail-body p,
.feature-card small,
.danka-tab small,
.event-months span,
.detail-sections p,
.fact-panel p {
  color: #efe4cc !important;
  opacity: 1 !important;
  filter: none !important;
  text-shadow: none !important;
}

.eyebrow,
.gan-news-kicker,
.detail-page-hero .eyebrow,
.page-hero .eyebrow,
.feature-card em,
.gan-news-more,
.gan-news-page-button,
.map-link,
.gan-news-date,
.gan-news-category,
.gan-news-meta,
.gan-news-meta span,
.event-months strong,
.access-card address,
.access-card dt,
.footer-info dt {
  color: #e4c57e !important;
  opacity: 1 !important;
  filter: none !important;
}

.feature-card,
.danka-tab,
.event-overview,
.access-card,
.contact-card,
.detail-sections section,
.detail-contact-panel,
.fact-panel,
.page-hero,
.google-form-card,
.gan-news-shell,
.gan-news-page {
  background:
    radial-gradient(circle at 100% 0%, rgba(207, 175, 103, 0.08), transparent 18rem),
    linear-gradient(180deg, rgba(19, 17, 31, 0.96), rgba(9, 9, 18, 0.94)) !important;
}

.gan-news-row,
.menu-panel > a,
.menu-group > button,
.menu-submenu a,
.button,
.footer-top {
  filter: none !important;
  opacity: 1 !important;
}

.button.primary,
.header-button.primary,
.gan-news-page-button {
  color: #090812 !important;
  font-weight: 800 !important;
}

.button.secondary,
.header-button,
.gan-news-more {
  color: #f0d79a !important;
  background: rgba(218, 187, 114, 0.12) !important;
}

@media (max-width: 760px) {
  .hero-copy {
    background:
      linear-gradient(135deg, rgba(11, 10, 19, 0.88), rgba(24, 20, 35, 0.84)),
      radial-gradient(circle at 100% 80%, rgba(207, 175, 103, 0.1), transparent 34%) !important;
  }
}
/* 2026-05-24: お知らせはホームのみ・文字色を白へ統一 */
body,
.site-shell,
.site-shell *,
.hero-copy,
.hero-copy *,
.menu-panel,
.menu-panel *,
.gan-news-section,
.gan-news-section *,
.site-footer,
.site-footer * {
  color: #ffffff !important;
}

.eyebrow,
.gan-news-kicker,
.gan-news-date,
.gan-news-category,
.feature-card em,
.event-months strong,
.access-card dt,
.footer-info dt,
.map-link,
.brand,
.brand span,
.brand small,
.menu-toggle span {
  color: #ffffff !important;
}

.gan-news-row {
  cursor: default;
  text-decoration: none !important;
}

.gan-news-row:hover {
  color: #ffffff !important;
  background: rgba(255, 255, 255, 0.035) !important;
  padding-left: 0 !important;
}

.gan-news-more-wrap {
  display: none !important;
}

.gan-news-category {
  border-color: rgba(255, 255, 255, 0.34) !important;
  background: rgba(255, 255, 255, 0.06) !important;
}

.button.primary,
.header-button.primary,
.gan-news-page-button {
  color: #090812 !important;
}

.button.secondary,
.header-button,
.gan-news-more {
  color: #ffffff !important;
}
/* 2026-05-24: 全テキスト白色統一 */
html body,
html body *,
html body *::before,
html body *::after {
  color: #ffffff !important;
  text-decoration-color: rgba(255, 255, 255, 0.72) !important;
}

svg,
svg * {
  color: #ffffff !important;
}

.button.primary,
.header-button.primary,
.gan-news-page-button,
button,
a,
input,
textarea,
select,
label,
small,
strong,
em,
time,
dt,
dd,
figcaption {
  color: #ffffff !important;
}

.brand:before {
  color: #ffffff !important;
}

.menu-toggle span {
  background: #ffffff !important;
}

.slider-dots button.active {
  background: #ffffff !important;
}
/* force-white-specific */
.hero-copy h1,
.hero-copy p,
.hero-copy .eyebrow,
.section-heading h2,
.section-heading p,
.gan-news-heading h2,
.gan-news-kicker,
.gan-news-date,
.gan-news-category,
.gan-news-title,
.gan-news-lead,
.gan-news-detail-body p,
.gan-news-page h1,
.detail-page-hero h1,
.detail-page-hero .eyebrow,
.page-hero h1,
.page-hero .eyebrow,
.feature-card strong,
.feature-card small,
.feature-card em,
.danka-tab strong,
.danka-tab small,
.detail-sections h2,
.detail-sections p,
.event-overview h3,
.event-months strong,
.event-months span,
.access-card address,
.access-card dt,
.access-card p,
.contact-card p,
.site-footer,
.site-footer p,
.site-footer dd,
.site-footer a,
.footer-name,
.phone-number,
h1,
h2,
h3,
p,
address,
dt,
dd,
small,
strong,
em,
time,
figcaption,
a,
button,
label {
  color: #ffffff !important;
  text-shadow: none !important;
}
/* 2026-05-24: pure-white-text-lock */
html body,
html body :where(h1,h2,h3,h4,h5,h6,p,span,small,strong,em,a,button,label,time,dt,dd,address,figcaption,li,th,td,input,textarea,select),
html body :where(.eyebrow,.brand,.brand span,.brand small,.feature-card strong,.feature-card small,.feature-card em,.gan-news-kicker,.gan-news-date,.gan-news-category,.gan-news-title,.button,.menu-panel *,.site-footer *) {
  color: rgb(255, 255, 255) !important;
  -webkit-text-fill-color: rgb(255, 255, 255) !important;
  text-shadow: none !important;
  opacity: 1 !important;
  filter: none !important;
  mix-blend-mode: normal !important;
}

html body *::before,
html body *::after {
  -webkit-text-fill-color: currentColor !important;
  text-shadow: none !important;
  opacity: 1 !important;
  filter: none !important;
}

.brand:before {
  color: rgb(255, 255, 255) !important;
  -webkit-text-fill-color: rgb(255, 255, 255) !important;
}

.menu-toggle span {
  background-color: rgb(255, 255, 255) !important;
}
/* 2026-05-24: home lotus waterline background */
#kuyo-butsuji,
#news,
#events-summary,
#keidai-gallery,
#access {
  isolation: isolate;
}

#kuyo-butsuji::after,
#news::after,
#events-summary::after,
#keidai-gallery::after,
#access::after {
  content: "";
  pointer-events: none;
  position: absolute;
  inset: 0;
  z-index: -1;
  opacity: 0.18;
  background-image:
    url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='900' height='420' viewBox='0 0 900 420'%3E%3Cg fill='none' stroke='%23ffffff' stroke-width='1.15' stroke-linecap='round' stroke-linejoin='round' opacity='.44'%3E%3Cpath d='M0 302c82-30 154-30 236 0s154 30 236 0 154-30 236 0 154 30 236 0'/%3E%3Cpath d='M-50 346c96-28 178-28 274 0s178 28 274 0 178-28 274 0 178 28 274 0' opacity='.55'/%3E%3Cpath d='M650 112c42-52 102-52 144 0-46 14-98 14-144 0Z'/%3E%3Cpath d='M722 105c-13-48 5-89 36-121 29 35 42 76 22 121'/%3E%3Cpath d='M722 105c-24-44-64-62-108-58 12 45 44 70 108 58Z'/%3E%3Cpath d='M778 105c28-40 68-56 112-47-15 43-48 64-112 47Z'/%3E%3Cpath d='M96 144c24-19 64-19 92 0-28 19-68 19-92 0Z'/%3E%3Cpath d='M188 144c11-11 26-18 44-19-8 16-20 27-44 19Z'/%3E%3Ccircle cx='128' cy='139' r='2.4' fill='%23ffffff' stroke='none'/%3E%3C/g%3E%3C/svg%3E");
  background-repeat: no-repeat;
  background-size: min(86vw, 900px) auto;
  background-position: right -8vw center;
}

#news::after,
#access::after {
  background-position: left -10vw center;
  transform: scaleX(-1);
}

#keidai-gallery::after {
  opacity: 0.14;
  background-position: right -18vw top 18%;
}

@media (max-width: 760px) {
  #kuyo-butsuji::after,
  #news::after,
  #events-summary::after,
  #keidai-gallery::after,
  #access::after {
    opacity: 0.13;
    background-size: 680px auto;
    background-position: right -300px center;
  }

  #news::after,
  #access::after {
    background-position: left -300px center;
  }
}
/* keep home waterline ornaments subtle */
#kuyo-butsuji::after,
#news::after,
#events-summary::after,
#keidai-gallery::after,
#access::after {
  opacity: 0.18 !important;
}

#keidai-gallery::after {
  opacity: 0.14 !important;
}

@media (max-width: 760px) {
  #kuyo-butsuji::after,
  #news::after,
  #events-summary::after,
  #keidai-gallery::after,
  #access::after {
    opacity: 0.13 !important;
  }
}
/* 2026-05-29: hero headline mobile line break */
.hero-copy h1 {
  word-break: keep-all !important;
  overflow-wrap: normal !important;
  line-break: strict !important;
}

.hero-copy h1 br {
  display: block !important;
}

@media (max-width: 760px) {
  .hero-copy h1 {
    font-size: clamp(28px, 8.2vw, 35px) !important;
    line-height: 1.48 !important;
    letter-spacing: 0.02em !important;
  }
}

@media (max-width: 380px) {
  .hero-copy h1 {
    font-size: clamp(26px, 7.8vw, 31px) !important;
  }
}
/* 2026-05-29: mobile offering cards dark fix */
.feature-card,
.feature-card span,
.feature-card-grid .feature-card,
#kuyo-butsuji .feature-card,
#kuyo-butsuji .feature-card span {
  background:
    radial-gradient(circle at 100% 0%, rgba(207, 175, 103, 0.09), transparent 18rem),
    linear-gradient(180deg, rgba(18, 16, 29, 0.96), rgba(8, 8, 18, 0.96)) !important;
  color: #ffffff !important;
}

.feature-card span {
  border-top: 1px solid rgba(218, 187, 114, 0.22) !important;
}

@media (max-width: 760px) {
  #kuyo-butsuji .feature-card-grid {
    align-items: stretch !important;
  }

  #kuyo-butsuji .feature-card,
  #kuyo-butsuji .feature-card span {
    background:
      radial-gradient(circle at 100% 0%, rgba(207, 175, 103, 0.1), transparent 14rem),
      linear-gradient(180deg, rgba(18, 16, 29, 0.98), rgba(8, 8, 18, 0.98)) !important;
  }

  #kuyo-butsuji .feature-card strong,
  #kuyo-butsuji .feature-card small,
  #kuyo-butsuji .feature-card em {
    color: #ffffff !important;
    -webkit-text-fill-color: #ffffff !important;
  }
}
/* 2026-05-29: stronger mobile dark background lock */
@media (max-width: 900px) {
  html,
  body,
  #root,
  .site-shell,
  main.site-shell,
  .content-section,
  .gallery-section,
  .access-contact,
  .site-footer,
  .page-hero,
  .detail-page,
  .detail-body,
  .detail-page-hero,
  .section-heading,
  .section-heading.compact,
  #kuyo-butsuji,
  #news,
  #events-summary,
  #keidai-gallery,
  #access,
  #contact-summary {
    background-color: #070811 !important;
    background-image: none !important;
  }

  .site-shell {
    background:
      radial-gradient(circle at 50% 0%, rgba(94, 73, 128, 0.24), transparent 24rem),
      linear-gradient(180deg, #0d0c18 0%, #090914 58%, #070811 100%) !important;
  }

  #kuyo-butsuji .feature-card,
  #kuyo-butsuji .feature-card span,
  .feature-card,
  .feature-card span,
  .danka-tab,
  .event-overview,
  .event-overview > div,
  .event-months p,
  .access-card,
  .contact-card,
  .gan-news-shell,
  .detail-sections section,
  .detail-contact-panel,
  .fact-panel,
  .fact-panel p,
  .google-form-card,
  .contact-form,
  .menu-panel {
    background:
      radial-gradient(circle at 100% 0%, rgba(207, 175, 103, 0.08), transparent 14rem),
      linear-gradient(180deg, rgba(18, 16, 29, 0.99), rgba(8, 8, 18, 0.99)) !important;
    background-color: #0a0a14 !important;
  }

  .feature-card-grid {
    background: transparent !important;
  }

  .feature-card img,
  .event-overview img,
  .detail-main-image img,
  .page-hero img,
  .slider-photo img {
    background: transparent !important;
  }

  .intro-band,
  .photo-strip figure,
  .gallery-grid figure,
  .photo-strip figcaption,
  .gallery-grid figcaption {
    background:
      linear-gradient(180deg, rgba(18, 16, 29, 0.98), rgba(8, 8, 18, 0.98)) !important;
    background-color: #0a0a14 !important;
  }
}
/* 2026-06-03: annual events layout */
.event-months {
  grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  gap: 12px !important;
}

.event-months p.annual-event-card {
  min-height: 128px !important;
  align-content: start !important;
  gap: 8px !important;
  padding: 15px 16px !important;
  border-color: rgba(218, 187, 114, 0.3) !important;
}

.annual-event-card strong {
  font-size: 14px !important;
  letter-spacing: 0.08em !important;
}

.annual-event-title {
  display: block;
  font-family: "Yu Mincho", "Hiragino Mincho ProN", serif;
  font-size: 20px !important;
  line-height: 1.35 !important;
  color: #ffffff !important;
  -webkit-text-fill-color: #ffffff !important;
}

.annual-event-card small {
  display: block;
  color: #ffffff !important;
  -webkit-text-fill-color: #ffffff !important;
  font-size: 12px !important;
  line-height: 1.75 !important;
}

.monthly-event-card {
  border: 1px solid rgba(218, 187, 114, 0.42);
  background:
    radial-gradient(circle at 100% 0%, rgba(207, 175, 103, 0.1), transparent 14rem),
    linear-gradient(180deg, rgba(18, 16, 29, 0.98), rgba(8, 8, 18, 0.98));
  padding: 20px 22px;
  display: grid;
  gap: 8px;
  box-shadow: 0 18px 54px rgba(0, 0, 0, 0.26);
}

.monthly-event-label {
  margin: 0 !important;
  font-size: 13px !important;
  letter-spacing: 0.12em !important;
  color: #ffffff !important;
  -webkit-text-fill-color: #ffffff !important;
}

.monthly-event-time {
  margin: 0 !important;
  font-size: 14px !important;
  line-height: 1.6 !important;
  color: #ffffff !important;
  -webkit-text-fill-color: #ffffff !important;
}

.monthly-event-card strong {
  color: #ffffff !important;
  -webkit-text-fill-color: #ffffff !important;
  font-family: "Yu Mincho", "Hiragino Mincho ProN", serif;
  font-size: 26px;
  font-weight: 500;
  letter-spacing: 0.08em;
}

@media (max-width: 760px) {
  .event-months {
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    gap: 10px !important;
  }

  .event-months p.annual-event-card {
    min-height: 142px !important;
    padding: 13px !important;
  }

  .annual-event-title {
    font-size: 17px !important;
  }

  .annual-event-card small {
    font-size: 11px !important;
    line-height: 1.65 !important;
  }
}

@media (max-width: 380px) {
  .event-months {
    grid-template-columns: 1fr !important;
  }

  .event-months p.annual-event-card {
    min-height: auto !important;
  }
}