/* AEO_THEME {"main_color": "#402218", "accent_color": "#b7791f", "button_color": "#5f2f1d", "radius": "16px", "spacing": "relaxed", "heading_scale": "small", "brand_font": "round", "brand_font_size": "20px", "hero_layout": "editorial", "image_treatment": "sharp", "cta_style": "block", "section_density": "tight", "visual_depth": "flat"} */
:root,
body.design-ai-generated {
  --brand: #402218;
  --brand-2: #5f2f1d;
  --accent: #b7791f;
  --radius: 16px;
  --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:42px 20px;
  background:linear-gradient(135deg,rgba(255,255,255,.98),rgba(248,251,255,.92) 54%,rgba(255,255,255,.98));
}
section { padding-top: 42px; padding-bottom: 42px; }
.card, .action-panel { border-radius: 16px; padding: 20px; }
.btn.primary, .cta-reserve, .cta-list, .nav .header-cta { background: linear-gradient(135deg, #5f2f1d, #402218); color:#ffffff; }
h1 { font-size: calc(clamp(30px,4vw,52px) * 0.86); }
h2 { font-size: calc(clamp(23px,2.4vw,34px) * 0.86); }
body.design-ai-generated .hero-inner { grid-template-columns:minmax(0,1fr); gap:22px; }body.design-ai-generated .hero-copy { max-width:900px; }body.design-ai-generated .hero-visual { max-width:820px; }
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:10px; min-height:44px; }body.design-ai-generated .cta-row { gap:8px; }
body.design-ai-generated .card, body.design-ai-generated .action-panel, body.design-ai-generated .gallery-item { box-shadow:none; }
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 .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;
}