/* AEO_THEME {"main_color": "#1f3a34", "accent_color": "#9dbb7f", "button_color": "#315c4f", "radius": "18px", "spacing": "relaxed", "heading_scale": "large", "brand_font": "round", "brand_font_size": "20px", "hero_layout": "magazine", "image_treatment": "sharp", "cta_style": "pill", "section_density": "airy", "visual_depth": "editorial"} */
:root,
body.design-ai-generated {
  --brand: #1f3a34;
  --brand-2: #315c4f;
  --accent: #9dbb7f;
  --radius: 18px;
  --brand-font-family: "AEO Noto Sans JP", "Noto Sans CJK JP", "Noto Sans JP", "Hiragino Maru Gothic ProN", "Yu Gothic", sans-serif;
  --brand-font-size: 20px;
}
body.design-ai-generated {
  background:linear-gradient(180deg,#f8fbff 0%,#ffffff 54%,#f3f7fb 100%);
}
body.design-ai-generated .hero {
  padding:70px 20px;
  background:linear-gradient(135deg,rgba(255,255,255,.98),rgba(248,251,255,.92) 54%,rgba(255,255,255,.98));
}
section { padding-top: 70px; padding-bottom: 70px; }
.card, .action-panel { border-radius: 18px; padding: 28px; }
.btn.primary, .cta-reserve, .cta-list, .nav .header-cta { background: linear-gradient(135deg, #315c4f, #1f3a34); color:#ffffff; }
h1 { font-size: calc(clamp(30px,4vw,52px) * 1); }
h2 { font-size: calc(clamp(23px,2.4vw,34px) * 1); }
body.design-ai-generated .hero-inner { grid-template-columns:minmax(0,.78fr) minmax(360px,1.22fr); gap:34px; align-items:end; }body.design-ai-generated .hero-copy { order:1; padding:12px 0; }body.design-ai-generated .hero-visual { order:2; transform:translateY(10px); }body.design-ai-generated .hero h1 { max-width:700px; }
body.design-ai-generated .header-image, body.design-ai-generated .hero-carousel, body.design-ai-generated .hero-placeholder, body.design-ai-generated .gallery-item, body.design-ai-generated .card, body.design-ai-generated .action-panel { border-radius:8px; }
body.design-ai-generated .btn { border-radius:999px; }
body.design-ai-generated .hero { overflow:hidden; }body.design-ai-generated .hero-copy { position:relative; z-index:1; }body.design-ai-generated .hero-copy::before { content:""; position:absolute; inset:-18px auto auto -22px; width:90px; height:90px; border:1px solid rgba(214,168,79,.28); border-radius:999px; z-index:-1; }body.design-ai-generated .card, body.design-ai-generated .action-panel, body.design-ai-generated .gallery-item { box-shadow:0 18px 44px rgba(15,23,42,.12); }body.design-ai-generated .gallery-grid { gap:10px; }
body.design-ai-generated { background:#f7f1e6; }
body.design-ai-generated .hero-inner { grid-template-columns:minmax(320px,1.05fr) minmax(320px,.95fr); } body.design-ai-generated .hero-visual { order:1; } body.design-ai-generated .hero-copy { order:2; }
body.design-ai-generated .hero-copy { margin-left:auto; }
body.design-ai-generated {
  color:#f8ecd0;
  background:linear-gradient(180deg,#050505 0%,#11100c 48%,#050505 100%);
  background-color:#050505;
}
body.design-ai-generated section {
  background-color:#050505;
}
body.design-ai-generated .site-header {
  background:rgba(5,5,5,.92);
  border-bottom:1px solid rgba(214,168,79,.28);
  backdrop-filter:blur(14px);
}
body.design-ai-generated .brand-text,
body.design-ai-generated .brand-text strong,
body.design-ai-generated .header-left strong,
body.design-ai-generated .header-contact strong,
body.design-ai-generated .nav a,
body.design-ai-generated .header-contact {
  color:#f8ecd0;
}
body.design-ai-generated a:not(.btn):not(.share-link):not(.skip-link) {
  color:#f8dda0;
}
body.design-ai-generated section.codex-forced-map {
  background:#f8fafc;
  color:#0f172a;
}
body.design-ai-generated section.codex-forced-map :where(p,h2,.codex-forced-map__eyebrow) {
  color:inherit;
}
body.design-ai-generated .hero {
  color:#f8ecd0;
  position:relative;
  background:linear-gradient(135deg,#080808 0%,#1b1408 42%,#050505 100%);
  background-color:#080808;
}
body.design-ai-generated .hero::before {
  content:"";
  position:absolute;
  inset:24px;
  border:1px solid rgba(214,168,79,.42);
  pointer-events:none;
}
body.design-ai-generated .hero h1,
body.design-ai-generated h2 {
  color:#f8dda0;
  font-family:"AEO Noto Sans JP", "Noto Sans CJK JP", "Noto Sans JP", "Hiragino Maru Gothic ProN", "Yu Gothic", sans-serif;
}
body.design-ai-generated .hero p,
body.design-ai-generated .note {
  color:rgba(248,236,208,.92) !important;
}
body.design-ai-generated main :where(.card,.action-panel,.share-panel,.news-list li,.inquiry-form-panel) :where(h1,h2,h3,h4,strong,dt,p,li,dd,span,small,label,a:not(.btn):not(.share-link),.note) {
  color:#1f2937 !important;
  text-shadow:none !important;
  opacity:1 !important;
}
body.design-ai-generated main .card .note,
body.design-ai-generated main .action-panel .note,
body.design-ai-generated main .share-panel .note,
body.design-ai-generated main .inquiry-form-panel .note,
body.design-ai-generated main .news-list li .note {
  color:#1f2937 !important;
  text-shadow:none !important;
  opacity:1 !important;
}
body.design-ai-generated .hero-copy {
  background:transparent;
  background-color:transparent;
  border:0;
  border-radius:0;
  padding:0;
  box-shadow:none;
  backdrop-filter:none;
}
body.design-ai-generated .eyebrow {
  background:transparent;
  color:#f8dda0;
  border:0;
  padding:0;
  font-size:clamp(9px, 1.1vw, 12px);
  line-height:1;
  white-space:nowrap;
  text-wrap:nowrap;
}
body.design-ai-generated .hero .action-panel {
  background:rgba(36,28,16,.42);
  border-color:rgba(214,168,79,.24);
  box-shadow:none;
}
body.design-ai-generated .card,
body.design-ai-generated .action-panel,
body.design-ai-generated .check-list li,
body.design-ai-generated .used-list li,
body.design-ai-generated .feature-list li,
body.design-ai-generated .flow-list li,
body.design-ai-generated .inquiry-form-panel,
body.design-ai-generated .share-panel {
  background:rgba(36,28,16,.42);
  color:#f8ecd0;
  border-color:rgba(214,168,79,.24);
}
body.design-ai-generated :where(.card,.action-panel,.check-list li,.used-list li,.feature-list li,.flow-list li) :where(p,li,dd,span,small,label) {
  color:rgba(248,236,208,.90);
  opacity:1;
}
body.design-ai-generated :where(.card,.action-panel,.check-list li,.used-list li,.feature-list li,.flow-list li) :where(h1,h2,h3,h4,strong,dt) {
  color:#f8dda0;
}
body.design-ai-generated :where(.card,.action-panel,.check-list li,.used-list li,.feature-list li,.flow-list li,.inquiry-form-panel,.share-panel,.news-list li) {
  background:#ffffff !important;
  color:#1f2937 !important;
  border-color:#e5e7eb !important;
}
body.design-ai-generated :where(.card,.action-panel,.check-list li,.used-list li,.feature-list li,.flow-list li,.inquiry-form-panel,.share-panel,.news-list li) :where(h1,h2,h3,h4,strong,dt,p,li,dd,small,label,a:not(.btn):not(.share-link),.note) {
  background-color:#ffffff !important;
  color:#1f2937 !important;
  text-shadow:none !important;
  opacity:1 !important;
}
body.design-ai-generated .ai-comp-page :where(.faq-section h2,.faq-section a:not(.btn):not(.share-link),.ai-comp-hero .eyebrow) {
  background-color:#f7fbff !important;
  color:#0f172a !important;
  text-shadow:none !important;
}
body.design-ai-generated .ai-comp-page :where(.info-section h2,.ai-comp-final h2) {
  background-color:#050505 !important;
  color:#f8dda0 !important;
  text-shadow:none !important;
}
body.design-ai-generated .skip-link,
body.design-ai-generated .share-link {
  background:#ffffff;
  color:#111827;
}
body.design-ai-generated .share-link.primary-share {
  background:linear-gradient(135deg,var(--brand),var(--brand-2));
  color:#ffffff;
}
body.design-ai-generated .footer {
  background:#050505;
  color:#f8ecd0;
}
body.design-ai-generated .footer a:not(.share-link) {
  color:#f8dda0;
}
body.design-ai-generated .header-image,
body.design-ai-generated .hero-carousel {
  border:1px solid rgba(214,168,79,.42);
  box-shadow:0 28px 90px rgba(0,0,0,.38);
}
body.design-ai-generated .btn.primary,
body.design-ai-generated .cta-reserve,
body.design-ai-generated .cta-list,
body.design-ai-generated .nav .header-cta {
  background:linear-gradient(135deg,#6f4a13 0%,#3f2a0b 58%,#080808 100%);
  background-color:#3f2a0b;
  color:#ffffff;
  border-color:rgba(248,221,160,.45);
}
body.design-ai-generated .btn:not(.primary):not(.cta-reserve):not(.cta-list):not(.header-cta),
body.design-ai-generated .cta-map {
  background:#fff8df;
  color:#111827;
  border-color:rgba(248,221,160,.58);
}
body.design-ai-generated .cta-phone {
  background:transparent;
  color:#f8dda0;
  border-color:rgba(248,221,160,.58);
}
@media (max-width: 980px) {
  body.design-ai-generated .hero-inner,
  body.design-ai-generated .grid,
  body.design-ai-generated .info-list,
  body.design-ai-generated .gallery-grid,
  body.design-ai-generated .feature-list,
  body.design-ai-generated .flow-list,
  body.design-ai-generated .check-list,
  body.design-ai-generated .used-list {
    grid-template-columns:minmax(0,1fr) !important;
  }
  body.design-ai-generated .hero-copy,
  body.design-ai-generated .hero-visual {
    order:initial !important;
    width:auto !important;
    max-width:100% !important;
    margin-top:0 !important;
    transform:none !important;
  }
}
@media (max-width: 600px) {
  body.design-ai-generated .hero-copy {
    padding:18px;
    border-radius:18px;
  }
  body.design-ai-generated .hero::before {
    inset:10px;
  }
}

body.design-ai-generated:where(.layout-construction-general,.layout-construction-reform,.layout-construction-facility){background:#f5f2ec!important;color:#202623!important}
body.design-ai-generated:where(.layout-construction-general,.layout-construction-reform,.layout-construction-facility) .site-header{background:#fff!important;border-bottom:1px solid #ddd4c6!important}
body.design-ai-generated:where(.layout-construction-general,.layout-construction-reform,.layout-construction-facility) :where(.nav a,.brand-text,.header-contact){color:#202623!important}
body.design-ai-generated:where(.layout-construction-general,.layout-construction-reform,.layout-construction-facility) .hero{background:linear-gradient(135deg,#ffffff,#eef4f2 56%,#f4e5bd)!important;color:#202623!important}
body.design-ai-generated:where(.layout-construction-general,.layout-construction-reform,.layout-construction-facility) .hero::before{display:none!important}
body.design-ai-generated:where(.layout-construction-general,.layout-construction-reform,.layout-construction-facility) .hero-copy{background:rgba(255,255,255,.88)!important;color:#202623!important;text-shadow:none!important;border-left:5px solid #d9a21b!important;box-shadow:none!important}
body.design-ai-generated:where(.layout-construction-general,.layout-construction-reform,.layout-construction-facility) :where(.hero h1,h2,h3){color:#24322f!important;font-family:"AEO Noto Sans JP","Noto Sans CJK JP","Noto Sans JP","Yu Gothic","Meiryo",sans-serif!important}
body.design-ai-generated:where(.layout-construction-general,.layout-construction-reform,.layout-construction-facility) :where(.hero p,.note,.card p,.action-panel p,.card li,.action-panel li,dd,span,small,label){color:#334155!important;text-shadow:none!important;opacity:1!important}
body.design-ai-generated:where(.layout-construction-general,.layout-construction-reform,.layout-construction-facility) :where(.card,.action-panel,.check-list li,.used-list li,.feature-list li,.flow-list li,.inquiry-form-panel,.share-panel){background:#fff!important;color:#202623!important;border-color:#ddd4c6!important;box-shadow:0 14px 32px rgba(59,45,31,.08)!important}
body.design-ai-generated:where(.layout-construction-general,.layout-construction-reform,.layout-construction-facility) :where(.btn.primary,.cta-reserve,.cta-list,.nav .header-cta){background:#31533f!important;color:#fff!important;border-color:#31533f!important;border-radius:4px!important}
body.design-ai-generated:where(.layout-construction-general,.layout-construction-reform,.layout-construction-facility) .ai-comp-page,
body.design-ai-generated:where(.layout-construction-general,.layout-construction-reform,.layout-construction-facility) .ai-comp-page section,
body.design-ai-generated:where(.layout-construction-general,.layout-construction-reform,.layout-construction-facility) .footer{background:#f2eee5!important;color:#202623!important}
body.design-ai-generated:where(.layout-construction-general,.layout-construction-reform,.layout-construction-facility) .ai-comp-page :where(.faq-section,.info-section,.final-cta-section,.ai-comp-final){background:#f2eee5!important;color:#202623!important}
body.design-ai-generated:where(.layout-construction-general,.layout-construction-reform,.layout-construction-facility) .ai-comp-page :where(.faq-section h2,.info-section > .wrap > h2,.ai-comp-final h2){background:transparent!important;color:#24322f!important}
body.design-ai-generated:where(.layout-construction-general,.layout-construction-reform,.layout-construction-facility) .ai-comp-page a:not(.btn):not(.share-link){color:#31533f!important}
body.design-ai-generated:where(.layout-construction-general,.layout-construction-reform,.layout-construction-facility) .footer a:not(.share-link){color:#31533f!important}


body.design-ai-generated .ai-comp-page .ai-comp-hero .eyebrow,
body.design-ai-generated .ai-comp-page .faq-section h2,
body.design-ai-generated .ai-comp-page .faq-section p.note a:not(.btn):not(.share-link) {
  background-color:#f7fbff !important;
  color:#0f172a !important;
  text-shadow:none !important;
}
body.design-ai-generated .ai-comp-page .info-section > .wrap > h2,
body.design-ai-generated .ai-comp-page .ai-comp-final h2 {
  background-color:#050505 !important;
  color:#f8dda0 !important;
  text-shadow:none !important;
}
body.design-ai-generated .ai-comp-page .card,
body.design-ai-generated .ai-comp-page .action-panel,
body.design-ai-generated .inquiry-form-panel,
body.design-ai-generated .share-panel {
  background:#ffffff !important;
  color:#1f2937 !important;
}
body.design-ai-generated .ai-comp-page .card :where(h1,h2,h3,h4,strong,dt,p,li,dd,small,label,a:not(.btn):not(.share-link),.note),
body.design-ai-generated .ai-comp-page .action-panel :where(h1,h2,h3,h4,strong,dt,p,li,dd,small,label,a:not(.btn):not(.share-link),.note),
body.design-ai-generated .inquiry-form-panel :where(h1,h2,h3,h4,strong,dt,p,li,dd,small,label,a:not(.btn):not(.share-link),.note),
body.design-ai-generated .share-panel :where(h1,h2,h3,h4,strong,dt,p,li,dd,small,label,a:not(.btn):not(.share-link),.note) {
  background-color:#ffffff !important;
  color:#1f2937 !important;
  -webkit-text-fill-color:#1f2937 !important;
  opacity:1 !important;
  text-shadow:none !important;
}
body.design-ai-generated .ai-comp-page .card p.note,
body.design-ai-generated .ai-comp-page .action-panel p.note,
body.design-ai-generated .inquiry-form-panel p.note,
body.design-ai-generated .share-panel p.note {
  background-color:#ffffff !important;
  color:#1f2937 !important;
  -webkit-text-fill-color:#1f2937 !important;
  opacity:1 !important;
  text-shadow:none !important;
}
body.design-ai-generated .site-header .nav a.header-cta {
  color:#ffffff !important;
  text-shadow:none !important;
}
body.design-ai-generated.layout-restaurant-casual .site-header .header-contact span {
  background-color:#b51f16 !important;
  color:#fff7ef !important;
  text-shadow:none !important;
}
body.design-ai-generated.layout-restaurant-casual .site-header .nav a.header-cta {
  color:#321510 !important;
  background:#ffd347 !important;
  border-color:#ffd347 !important;
  text-shadow:none !important;
}