body.lm-reservation-page { margin: 0; }
#lm-reserve { --lr-ink:#171916; --lr-white:#fff; --lr-red:#d93437; --lr-mint:#deeee4; color:var(--lr-ink); background:#fff; font:16px/1.8 "Noto Sans JP","Yu Gothic","Hiragino Kaku Gothic ProN",sans-serif; letter-spacing:0; isolation:isolate; overflow-wrap:anywhere; }
#lm-reserve *, #lm-reserve *::before, #lm-reserve *::after { box-sizing:border-box; }
#lm-reserve h1, #lm-reserve h2, #lm-reserve h3, #lm-reserve p, #lm-reserve dl, #lm-reserve dd { margin:0; }
#lm-reserve a { color:inherit; text-decoration:none; }
#lm-reserve button { font:inherit; color:inherit; cursor:pointer; }
#lm-reserve svg { width:20px; height:20px; flex-shrink:0; }
#lm-reserve img { display:block; max-width:100%; }
#lm-reserve [hidden] { display:none !important; }
#lm-reserve :is(a,button,summary):focus-visible { outline:3px solid #278663; outline-offset:5px; }
#lm-reserve section[id] { scroll-margin-top:84px; }
#lm-reserve .lr-skip { position:fixed; top:-80px; left:16px; padding:8px 16px; z-index:200; background:white; color:black; }
#lm-reserve .lr-skip:focus { top:8px; }
#lm-reserve .lr-header { display:flex; justify-content:space-between; align-items:center; gap:24px; min-height:72px; padding:12px 5%; color:#fff; background:var(--lr-ink); border-bottom:1px solid #3d413c; }
#lm-reserve .lr-brand { display:flex; align-items:center; gap:12px; font:700 24px/1 Georgia,serif; }
#lm-reserve .lr-brand img { width:36px; height:36px; object-fit:contain; filter:invert(1); }
#lm-reserve .lr-header nav { display:flex; align-items:center; gap:32px; font-size:13px; }
#lm-reserve .lr-header nav a { padding-block:10px; }
#lm-reserve .lr-header nav a:hover { color:var(--lr-mint); }
#lm-reserve .lr-hero { position:relative; height:min(650px,calc(100svh - 250px)); min-height:390px; overflow:hidden; background:#171916; color:#fff; display:flex; align-items:flex-start; justify-content:center; }
#lm-reserve .lr-scene { position:absolute; inset:0; overflow:hidden; }
#lm-reserve .lr-scene-photo { position:absolute; width:31%; height:86%; object-fit:cover; object-position:center; top:9%; }
#lm-reserve .lr-scene-left { left:8%; transform:rotate(-8deg); }
#lm-reserve .lr-scene-right { right:8%; transform:rotate(8deg); }
#lm-reserve .lr-hero-copy { position:relative; z-index:1; width:100%; text-align:center; padding:40px 20px 0; pointer-events:none; text-shadow:0 3px 26px rgb(0 0 0 / .5); }
#lm-reserve .lr-eyebrow { font-size:12px; font-weight:500; }
#lm-reserve h1 { font-family:"Yu Mincho","Hiragino Mincho ProN",serif; font-size:100px; font-weight:800; line-height:1.5; white-space:nowrap; }
#lm-reserve .lr-hero-en { font:700 16px/1.5 Georgia,serif; }
#lm-reserve .lr-hero-bottom { position:absolute; z-index:2; inset-inline:0; bottom:0; padding:8px 5%; display:flex; justify-content:space-between; align-items:center; gap:20px; font-size:13px; background:var(--lr-ink); }
#lm-reserve .lr-hero-bottom a { display:flex; align-items:center; gap:14px; min-height:44px; }
#lm-reserve .lr-reservation { background:var(--lr-white); border-bottom:1px solid #d9dedb; }
#lm-reserve .lr-quick-list { display:grid; grid-template-columns:1fr 1fr .82fr; width:90%; max-width:1440px; margin-inline:auto; }
#lm-reserve .lr-quick { display:flex; justify-content:space-between; align-items:center; gap:16px; padding:28px 30px; border-left:1px solid #d9dedb; min-height:118px; transition:background .2s; }
#lm-reserve .lr-quick:first-child { border-left:0; padding-left:0; }
#lm-reserve a.lr-quick:hover { background:var(--lr-mint); }
#lm-reserve .lr-quick small { display:block; font-size:10px; line-height:1.5; margin-bottom:7px; }
#lm-reserve .lr-quick strong { display:block; font-size:21px; line-height:1.5; }
#lm-reserve .lr-quick-action { display:flex; align-items:center; gap:12px; font-size:12px; white-space:nowrap; }
#lm-reserve .lr-quick-action svg { width:34px; height:34px; color:var(--lr-red); }
#lm-reserve .lr-coming { color:#737973; }
#lm-reserve .lr-preparing { font-size:11px; white-space:nowrap; }
#lm-reserve .lr-stores-section { padding:68px 5% 72px; max-width:1600px; margin:auto; }
#lm-reserve .lr-section-heading { display:flex; align-items:flex-end; justify-content:space-between; gap:24px; margin-bottom:36px; }
#lm-reserve .lr-section-heading .lr-eyebrow { color:#686f69; margin-bottom:8px; }
#lm-reserve h2 { font-size:32px; line-height:1.5; font-weight:600; }
#lm-reserve .lr-filter { display:flex; padding:4px; background:#f0f3f0; border-radius:4px; }
#lm-reserve .lr-filter button { padding:8px 18px; min-height:42px; border:0; background:transparent; border-radius:2px; font-size:13px; }
#lm-reserve .lr-filter button[aria-pressed="true"] { background:var(--lr-ink); color:#fff; }
#lm-reserve .lr-store-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:40px; }
#lm-reserve .lr-store { min-width:0; display:grid; grid-template-columns:minmax(0,.85fr) minmax(0,1.15fr); border-top:1px solid #cbd1cc; padding-top:24px; align-items:start; gap:24px; }
#lm-reserve .lr-store-photo { width:100%; aspect-ratio:581/753; height:auto; object-fit:cover; }
#lm-reserve .lr-store-top { display:flex; justify-content:space-between; align-items:center; gap:12px; font-size:10px; color:#697168; margin-bottom:14px; }
#lm-reserve h3 { font-size:26px; font-weight:600; line-height:1.6; margin-bottom:14px; }
#lm-reserve .lr-access { display:flex; align-items:flex-start; gap:6px; font-size:12px; }
#lm-reserve .lr-access svg { width:16px; height:20px; }
#lm-reserve dl { font-size:12px; line-height:1.8; margin-block:18px 24px; }
#lm-reserve dl > div { display:grid; grid-template-columns:75px 1fr; gap:8px; border-bottom:1px solid #e4e8e3; padding-block:10px; }
#lm-reserve dt { display:flex; align-items:center; gap:5px; color:#616960; }
#lm-reserve dt svg { width:14px; height:14px; }
#lm-reserve dd a { text-decoration:underline; text-underline-offset:4px; }
#lm-reserve .lr-button { display:flex; align-items:center; justify-content:space-between; gap:12px; min-height:56px; padding:14px 18px; background:var(--lr-red); color:white; font-size:14px; font-weight:600; transition:background .2s; }
#lm-reserve .lr-button:hover { background:#b32226; }
#lm-reserve .lr-store-links { display:flex; flex-wrap:wrap; gap:12px 16px; margin-top:18px; font-size:11px; }
#lm-reserve .lr-store-links a { display:flex; align-items:center; gap:6px; }
#lm-reserve .lr-store-links svg { width:14px; height:14px; }
#lm-reserve .lr-miyahara-note { font-size:12px; color:#616960; border-block:1px solid #dce2dc; margin-top:38px; padding-block:22px; }
#lm-reserve .lr-miyahara-note a { display:inline-flex; align-items:center; gap:8px; color:var(--lr-ink); margin-left:20px; }
#lm-reserve .lr-faq-section { background:var(--lr-mint); padding:64px 5%; }
#lm-reserve .lr-faq-inner { width:100%; max-width:1080px; margin:auto; }
#lm-reserve .lr-faq details { border-top:1px solid #b4c9bc; }
#lm-reserve .lr-faq details:last-child { border-bottom:1px solid #b4c9bc; }
#lm-reserve .lr-faq summary { list-style:none; display:flex; align-items:center; justify-content:space-between; gap:20px; cursor:pointer; padding-block:22px; font-size:15px; }
#lm-reserve .lr-faq summary::-webkit-details-marker { display:none; }
#lm-reserve .lr-faq details[open] summary svg { transform:rotate(45deg); }
#lm-reserve .lr-faq p { max-width:800px; font-size:14px; line-height:2; padding:0 0 24px; }
#lm-reserve .lr-faq details > a { display:inline-flex; align-items:center; gap:8px; margin-bottom:24px; font-size:14px; }
#lm-reserve .lr-footer { background:var(--lr-ink); color:#fff; padding:36px 5%; display:flex; align-items:center; justify-content:space-between; flex-wrap:wrap; gap:32px; }
#lm-reserve .lr-footer-brand { font:700 27px/1.2 Georgia,serif; }
#lm-reserve .lr-footer-brand small { display:block; font:10px/1.8 sans-serif; margin-top:8px; }
#lm-reserve .lr-footer nav { display:flex; gap:24px; flex-wrap:wrap; font-size:11px; }
#lm-reserve .lr-footer > small { font-size:10px; color:#b5bdb6; }
@media (prefers-reduced-motion:no-preference) {
  #lm-reserve { scroll-behavior:smooth; }
  #lm-reserve .lr-scene-left { animation:lr-left-float 9s ease-in-out infinite alternate; }
  #lm-reserve .lr-scene-right { animation:lr-right-float 11s ease-in-out infinite alternate; }
  @keyframes lr-left-float { from { transform:rotate(-8deg) translateY(0); } to { transform:rotate(-6deg) translateY(-12px); } }
  @keyframes lr-right-float { from { transform:rotate(8deg) translateY(-8px); } to { transform:rotate(6deg) translateY(4px); } }
}
@media (min-width:1800px) { #lm-reserve .lr-scene-photo { width:25%; } #lm-reserve h1 { font-size:120px; } }
@media (max-width:1200px) {
  #lm-reserve .lr-quick { padding:24px 18px; }
  #lm-reserve .lr-quick strong { font-size:18px; }
  #lm-reserve .lr-store-grid { gap:28px; }
  #lm-reserve .lr-store { grid-template-columns:1fr; }
  #lm-reserve .lr-store-photo { aspect-ratio:4/3; object-position:center 40%; }
}
@media (max-width:700px) {
  #lm-reserve .lr-header { min-height:64px; padding-inline:20px; gap:12px; }
  #lm-reserve .lr-brand { font-size:19px; gap:6px; }
  #lm-reserve .lr-brand img { width:28px; height:28px; }
  #lm-reserve .lr-header nav { gap:16px; font-size:11px; }
  #lm-reserve .lr-header nav a:last-child { display:none; }
  #lm-reserve .lr-hero { height:calc(100svh - 316px); min-height:340px; max-height:590px; }
  #lm-reserve .lr-hero-copy { padding-top:24px; }
  #lm-reserve h1 { font-size:52px; line-height:1.7; }
  #lm-reserve .lr-hero-en { font-size:13px; }
  #lm-reserve .lr-scene-photo { top:34%; width:45%; height:62%; }
  #lm-reserve .lr-scene-left { left:1%; }
  #lm-reserve .lr-scene-right { right:1%; }
  #lm-reserve .lr-hero-bottom { padding:4px 20px; font-size:10px; }
  #lm-reserve .lr-hero-bottom p { max-width:200px; }
  #lm-reserve .lr-quick-list { width:100%; grid-template-columns:1fr 1fr; }
  #lm-reserve .lr-quick, #lm-reserve .lr-quick:first-child { padding:14px 18px; gap:8px; min-height:122px; flex-direction:column; align-items:flex-start; }
  #lm-reserve .lr-quick strong { font-size:16px; white-space:nowrap; }
  #lm-reserve .lr-quick small { font-size:9px; }
  #lm-reserve .lr-quick-action { font-size:11px; flex-direction:row; gap:10px; }
  #lm-reserve .lr-quick-action svg { width:20px; height:20px; }
  #lm-reserve .lr-quick.lr-coming { grid-column:1/-1; flex-direction:row; align-items:center; min-height:48px; border-left:0; border-top:1px solid #d9dedb; padding:10px 20px; }
  #lm-reserve .lr-coming > span:first-child { display:flex; gap:12px; align-items:center; }
  #lm-reserve .lr-coming small { margin:0; }
  #lm-reserve .lr-coming strong { font-size:12px; }
  #lm-reserve .lr-stores-section { padding:44px 20px; }
  #lm-reserve .lr-section-heading { align-items:flex-start; flex-direction:column; gap:20px; margin-bottom:28px; }
  #lm-reserve h2 { font-size:26px; }
  #lm-reserve .lr-filter { width:100%; }
  #lm-reserve .lr-filter button { flex:1; padding:8px; }
  #lm-reserve .lr-store-grid { grid-template-columns:1fr; gap:40px; }
  #lm-reserve .lr-store { gap:20px; }
  #lm-reserve .lr-store-photo { aspect-ratio:4/3; }
  #lm-reserve h3 { font-size:27px; }
  #lm-reserve .lr-store-top { margin-bottom:8px; }
  #lm-reserve dl { font-size:13px; }
  #lm-reserve .lr-store-links { font-size:12px; }
  #lm-reserve .lr-miyahara-note a { margin:14px 0 0; display:flex; }
  #lm-reserve .lr-faq-section { padding:44px 20px; }
  #lm-reserve .lr-faq summary { font-size:14px; }
  #lm-reserve .lr-footer { padding:32px 20px; align-items:flex-start; flex-direction:column; gap:24px; }
  #lm-reserve .lr-footer nav { gap:14px 20px; }
}
@media (max-width:360px) { #lm-reserve h1 { font-size:46px; } #lm-reserve .lr-quick { padding-inline:12px; } #lm-reserve .lr-quick strong { font-size:14px; } }
