body.lm-takeout-body { margin: 0; background: #fff; }
#lm-takeout { --ink: #202321; --muted: #626964; --line: #dce1dd; --red: #b72b25; --green: #285e4c; color: var(--ink); background: #fff; font: 16px/1.8 "Noto Sans JP", "Yu Gothic", "Hiragino Kaku Gothic ProN", sans-serif; letter-spacing: 0; overflow-wrap: anywhere; isolation: isolate; }
#lm-takeout *, #lm-takeout *::before, #lm-takeout *::after { box-sizing: border-box; }
#lm-takeout :is(h1,h2,h3,p,dl,dd,ol,ul) { margin: 0; padding: 0; }
#lm-takeout :is(h1,h2,h3) { line-height: 1.45; font-weight: 800; }
#lm-takeout a { color: inherit; text-decoration: none; }
#lm-takeout a:hover { text-decoration: underline; text-underline-offset: 5px; }
#lm-takeout :is(a,summary):focus-visible { outline: 3px solid #2464b1; outline-offset: 4px; }
#lm-takeout img { display: block; max-width: 100%; }
#lm-takeout svg { width: 20px; height: 20px; flex: 0 0 auto; }
#lm-takeout [data-icon] { display: inline-flex; align-items: center; }
#lm-takeout .wrap { width: min(1120px, calc(100% - 48px)); margin-inline: auto; }
#lm-takeout .skip { position: absolute; top: -100px; left: 12px; z-index: 100; padding: 10px; background: #fff; }
#lm-takeout .skip:focus { top: 12px; }
#lm-takeout .header { min-height: 84px; display: flex; align-items: center; justify-content: space-between; gap: 24px; }
#lm-takeout .brand { font-size: 25px; font-weight: 800; line-height: 1.3; }
#lm-takeout .brand small { display: block; font-size: 11px; font-weight: 500; color: var(--muted); margin-top: 5px; }
#lm-takeout .header-link { display: flex; align-items: center; gap: 8px; font-size: 13px; min-height: 44px; }
#lm-takeout .store-nav { display: flex; gap: 0; border-top: 1px solid var(--line); border-bottom: 1px solid var(--line); }
#lm-takeout .store-nav a { flex: 1; text-align: center; font-size: 14px; font-weight: 700; padding: 13px 8px; min-height: 50px; }
#lm-takeout .store-nav a[aria-current="page"] { color: var(--red); box-shadow: inset 0 -3px var(--red); background: #fcf6f5; }
#lm-takeout .hero { position: relative; height: min(520px, calc(100svh - 300px)); min-height: 310px; background: #252925; overflow: hidden; display: flex; align-items: center; color: #fff; }
#lm-takeout .hero-photo { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; object-position: center 40%; }
#lm-takeout .hero::after { content: ""; position: absolute; inset: 0; background: rgb(0 0 0 / .26); }
#lm-takeout .hero-copy { position: relative; z-index: 1; padding-block: 32px; text-shadow: 0 1px 9px rgb(0 0 0 / .55); }
#lm-takeout .hero h1 { font-size: 50px; line-height: 1.4; }
#lm-takeout .hero h1 span { display: block; }
#lm-takeout .hero-label { margin-bottom: 13px; font-size: 16px; font-weight: 700; }
#lm-takeout .hero-caption { margin-top: 16px; font-size: 17px; }
#lm-takeout .photo-credit { position: absolute; right: 24px; bottom: 10px; z-index: 1; font-size: 11px; text-shadow: 0 1px 5px #000; }
#lm-takeout .preparing-intro { padding-block: 60px; }
#lm-takeout .preparing-intro h1 { font-size: 38px; margin-top: 10px; }
#lm-takeout .preparing-intro h1 span { display: block; }
#lm-takeout .preparing-intro h2 { font-size: 23px; margin-top: 30px; }
#lm-takeout .preparing-intro p:last-child { margin-top: 12px; color: var(--muted); }
#lm-takeout .store-placeholder { aspect-ratio: 4/3; display: flex; align-items: center; justify-content: center; background: #edf5f0; color: var(--green); font-size: 25px; font-weight: 800; }
#lm-takeout .hero.preparing .hero-photo { object-position: center; }
#lm-takeout .action-band { background: #edf5f0; border-bottom: 1px solid #d3e3d8; }
#lm-takeout .action-inner { padding-block: 24px; display: flex; justify-content: space-between; gap: 24px; align-items: center; }
#lm-takeout .action-title { font-size: 20px; font-weight: 800; }
#lm-takeout .action-note { font-size: 13px; color: #41624f; margin-top: 3px; }
#lm-takeout .button { display: inline-flex; gap: 12px; align-items: center; justify-content: center; background: var(--red); color: #fff; min-height: 54px; padding: 13px 24px; font-size: 16px; font-weight: 700; border-radius: 4px; }
#lm-takeout .button:hover { background: #99211c; text-decoration: none; }
#lm-takeout .text-link { display: inline-flex; align-items: center; gap: 9px; font-size: 14px; font-weight: 700; min-height: 44px; }
#lm-takeout .section { padding-block: 54px; border-bottom: 1px solid var(--line); }
#lm-takeout .section h2 { font-size: 27px; margin-bottom: 12px; }
#lm-takeout .muted { color: var(--muted); font-size: 14px; }
#lm-takeout .section-heading { display: flex; align-items: end; justify-content: space-between; gap: 20px; margin-bottom: 24px; }
#lm-takeout .food-grid { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 24px; }
#lm-takeout .food-grid article { min-width: 0; }
#lm-takeout .food-grid img { width: 100%; aspect-ratio: 4/3; object-fit: cover; }
#lm-takeout .food-grid h3 { font-size: 18px; margin-top: 14px; }
#lm-takeout .food-grid p { font-size: 14px; color: var(--muted); margin-top: 5px; }
#lm-takeout .reference-note { margin-top: 22px; font-size: 12px; color: var(--muted); }
#lm-takeout .steps { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 28px; margin-top: 28px; list-style: none; }
#lm-takeout .steps li { border-top: 2px solid var(--line); padding-top: 18px; }
#lm-takeout .step-number { color: var(--green); font-weight: 700; font-size: 13px; }
#lm-takeout .steps h3 { font-size: 18px; margin-top: 7px; }
#lm-takeout .steps p { margin-top: 7px; font-size: 14px; color: var(--muted); }
#lm-takeout .store-layout { display: grid; grid-template-columns: minmax(0,1fr) 320px; gap: 48px; align-items: start; }
#lm-takeout .store-photo { width: 100%; height: auto; aspect-ratio: 581/753; object-fit: contain; }
#lm-takeout .store-data { margin-top: 24px; }
#lm-takeout .store-data > div { display: grid; grid-template-columns: 100px minmax(0,1fr); gap: 16px; padding: 13px 0; border-bottom: 1px solid var(--line); }
#lm-takeout .store-data dt { color: var(--muted); font-size: 13px; }
#lm-takeout .store-data dd { font-size: 15px; }
#lm-takeout .store-data small { display: block; color: var(--muted); font-size: 12px; margin-top: 5px; }
#lm-takeout .store-data a[href^="tel:"] { font-size: 20px; font-weight: 700; }
#lm-takeout .faq { margin-top: 22px; }
#lm-takeout .faq details { padding: 18px 0; border-top: 1px solid var(--line); }
#lm-takeout .faq details:last-child { border-bottom: 1px solid var(--line); }
#lm-takeout .faq summary { cursor: pointer; font-size: 15px; font-weight: 700; }
#lm-takeout .faq p { color: var(--muted); font-size: 14px; margin-top: 14px; }
#lm-takeout .stores-grid { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 26px; margin-top: 24px; }
#lm-takeout .stores-grid.nearby { grid-template-columns: repeat(2,minmax(0,1fr)); }
#lm-takeout .store-item { border: 1px solid var(--line); border-radius: 4px; overflow: hidden; min-width: 0; }
#lm-takeout .store-item img { width: 100%; aspect-ratio: 4/3; object-fit: cover; object-position: center 42%; }
#lm-takeout .store-item-content { padding: 22px; }
#lm-takeout .store-item h3 { font-size: 21px; margin-top: 6px; }
#lm-takeout .store-item p { font-size: 13px; margin-top: 12px; color: var(--muted); }
#lm-takeout .store-item .text-link { margin-top: 14px; color: var(--red); }
#lm-takeout .status { color: var(--green); font-size: 12px; font-weight: 700; }
#lm-takeout .status.preparing-status { color: var(--muted); }
#lm-takeout .footer { padding-block: 30px; display: flex; justify-content: space-between; align-items: start; gap: 24px; font-size: 12px; color: var(--muted); }
#lm-takeout .footer nav { display: flex; flex-wrap: wrap; gap: 10px 22px; }
#lm-takeout .mobile-call { display: none; }
#lm-takeout section[id] { scroll-margin-top: 20px; }
@media (min-width: 1600px) { #lm-takeout .hero-photo { object-position: center 45%; } }
@media (max-width: 760px) {
  #lm-takeout .wrap { width: calc(100% - 36px); }
  #lm-takeout .header { min-height: 74px; gap: 12px; }
  #lm-takeout .brand { font-size: 22px; }
  #lm-takeout .header-link { font-size: 11px; }
  #lm-takeout .store-nav a { font-size: 12px; padding: 12px 4px; }
  #lm-takeout .hero { height: min(340px, calc(100svh - 345px)); min-height: 220px; }
  #lm-takeout .hero h1 { font-size: 35px; }
  #lm-takeout .hero-label { font-size: 14px; }
  #lm-takeout .hero-caption { font-size: 14px; }
  #lm-takeout .photo-credit { right: 18px; }
  #lm-takeout .preparing-intro { padding-block: 36px; }
  #lm-takeout .preparing-intro h1 { font-size: 32px; }
  #lm-takeout .action-inner { align-items: stretch; flex-direction: column; gap: 15px; padding-block: 22px; }
  #lm-takeout .action-title { font-size: 18px; }
  #lm-takeout .button { font-size: 15px; padding-inline: 15px; }
  #lm-takeout .section { padding-block: 36px; }
  #lm-takeout .section h2 { font-size: 23px; }
  #lm-takeout .section-heading { align-items: start; flex-direction: column; gap: 8px; }
  #lm-takeout .food-grid { grid-template-columns: repeat(2,minmax(0,1fr)); gap: 22px 14px; }
  #lm-takeout .food-grid h3 { font-size: 16px; }
  #lm-takeout .food-grid p { font-size: 12px; }
  #lm-takeout .food-grid article:last-child { grid-column: 1 / -1; display: grid; grid-template-columns: minmax(0,1fr) minmax(0,1fr); gap: 14px; align-items: center; }
  #lm-takeout .food-grid article:last-child h3 { margin-top: 0; }
  #lm-takeout .steps { grid-template-columns: 1fr; gap: 20px; }
  #lm-takeout .store-layout { grid-template-columns: 1fr; gap: 24px; }
  #lm-takeout .store-photo { width: min(100%, 320px); max-height: none; }
  #lm-takeout .store-data > div { grid-template-columns: 80px minmax(0,1fr); gap: 10px; }
  #lm-takeout .stores-grid, #lm-takeout .stores-grid.nearby { grid-template-columns: 1fr; gap: 22px; }
  #lm-takeout .store-item img { aspect-ratio: 16/9; }
  #lm-takeout .store-placeholder { aspect-ratio: 16/9; }
  #lm-takeout .footer { flex-direction: column; gap: 16px; }
  #lm-takeout .has-phone { padding-bottom: calc(80px + env(safe-area-inset-bottom)); }
  #lm-takeout .mobile-call { display: flex; position: fixed; inset: auto 0 0; z-index: 40; padding: 10px 18px calc(10px + env(safe-area-inset-bottom)); background: #fff; border-top: 1px solid var(--line); gap: 12px; align-items: center; }
  #lm-takeout .mobile-call > span { font-size: 11px; color: var(--muted); flex: 0 1 92px; }
  #lm-takeout .mobile-call .button { flex: 1; min-width: 0; min-height: 48px; padding: 10px; font-size: 13px; }
  #lm-takeout .mobile-call .phone-number { display: block; font-size: 12px; }
}
@media (max-width: 350px) {
  #lm-takeout .hero h1 { font-size: 30px; }
  #lm-takeout .brand { font-size: 20px; }
  #lm-takeout .header-link span:first-child { display: none; }
  #lm-takeout .store-nav a { font-size: 11px; }
}
@media (max-width: 760px) and (max-height: 650px) {
  #lm-takeout .header { min-height: 64px; }
  #lm-takeout .hero { height: 200px; min-height: 200px; }
  #lm-takeout .hero-copy { padding-block: 16px; }
  #lm-takeout .hero h1 { font-size: 28px; line-height: 1.3; }
  #lm-takeout .hero-label { font-size: 13px; line-height: 1.6; margin-bottom: 7px; }
  #lm-takeout .hero-caption { font-size: 12px; line-height: 1.6; margin-top: 8px; }
  #lm-takeout .photo-credit { font-size: 10px; }
  #lm-takeout .action-inner { padding-block: 14px; }
  #lm-takeout .action-inner > .button { display: none; }
  #lm-takeout .action-title { font-size: 16px; }
  #lm-takeout .action-note { font-size: 12px; line-height: 1.6; }
  #lm-takeout .section { padding-block: 24px; }
  #lm-takeout .section h2 { font-size: 22px; }
}
@media (prefers-reduced-motion: reduce) { #lm-takeout *, #lm-takeout *::before, #lm-takeout *::after { scroll-behavior: auto; transition: none; } }
