:root{
    --main:#d7112e;
    --main-deep:#98081f;
    --main-dark:#5d0615;
    --gold:#c9a36b;
    --gold-light:#f5d79c;

    --ink:#1a1411;
    --ink-soft:#786b60;
    --white:#fffdf8;
    --cream:#fff6e8;
    --line:rgba(255,255,255,.14);
    --hair:rgba(26,20,17,.10);

    --bg-header:rgba(255,253,248,.92);
    --bg-main:#130e0c;
    --bg-footer:#120e0c;

    --shadow-sm:0 10px 26px rgba(0,0,0,.16);
    --shadow-md:0 24px 70px rgba(0,0,0,.34);
    --shadow-red:0 18px 50px rgba(215,17,46,.26);
    --radius-lg:28px;
    --radius-md:22px;
    --ease:cubic-bezier(.2,.8,.2,1);
  }

  *{box-sizing:border-box;}
  html{-webkit-text-size-adjust:100%;scroll-behavior:smooth;}
  body{
    margin:0;
    min-height:100vh;
    color:var(--ink);
    font-family:'Zen Kaku Gothic New',system-ui,sans-serif;
    line-height:1.72;
    -webkit-font-smoothing:antialiased;
    background:
      radial-gradient(circle at 14% 12%, rgba(215,17,46,.24), transparent 34%),
      radial-gradient(circle at 86% 8%, rgba(201,163,107,.20), transparent 28%),
      radial-gradient(circle at 50% 92%, rgba(115,9,26,.26), transparent 36%),
      linear-gradient(145deg,#231814 0%,#130e0c 46%,#080605 100%);
    overflow-x:hidden;
  }
  body::before{
    content:"";
    position:fixed;
    inset:0;
    z-index:-2;
    pointer-events:none;
    opacity:.34;
    background-image:
      linear-gradient(rgba(255,255,255,.045) 1px, transparent 1px),
      linear-gradient(90deg, rgba(255,255,255,.035) 1px, transparent 1px);
    background-size:54px 54px;
    mask-image:linear-gradient(to bottom, rgba(0,0,0,.55), transparent 82%);
  }
  body::after{
    content:"";
    position:fixed;
    inset:auto -18vw -28vw auto;
    width:54vw;
    height:54vw;
    z-index:-1;
    pointer-events:none;
    border-radius:50%;
    background:radial-gradient(circle, rgba(215,17,46,.20), transparent 66%);
    filter:blur(8px);
  }
  .wrapfull{max-width:1500px;margin:0 auto;padding:0 clamp(18px,4vw,56px);}

  .eyebrow{
    font-size:11px;
    font-weight:700;
    letter-spacing:.34em;
    text-transform:uppercase;
    color:var(--gold-light);
    display:inline-flex;
    align-items:center;
    gap:12px;
    white-space:nowrap;
  }
  .eyebrow::before{
    content:"";
    width:34px;
    height:1px;
    background:linear-gradient(90deg,var(--main),var(--gold-light));
    box-shadow:0 0 14px rgba(215,17,46,.55);
  }

  header.site{
    position:relative;
    z-index:10;
    background:
      linear-gradient(90deg,rgba(215,17,46,.10),transparent 18%,transparent 82%,rgba(201,163,107,.12)),
      var(--bg-header);
    border-top:5px solid var(--main);
    border-bottom:1px solid rgba(255,255,255,.65);
    padding:22px 0 20px;
    box-shadow:0 12px 36px rgba(0,0,0,.12);
    backdrop-filter:blur(16px);
  }
  header.site::before{
    content:"";
    position:absolute;
    left:0;right:0;top:0;
    height:5px;
    background:linear-gradient(90deg,var(--main),#ff4159,var(--gold),var(--main));
    box-shadow:0 0 22px rgba(215,17,46,.42);
  }
  .brand{
    display:flex;
    align-items:center;
    justify-content:center;
    gap:14px;
    position:relative;
  }
  .brand::before,.brand::after{
    content:"";
    width:min(12vw,160px);
    height:1px;
    background:linear-gradient(90deg,transparent,rgba(215,17,46,.34),transparent);
  }
  .brand .logo{
    width:42px;
    height:42px;
    display:block;
    flex:none;
    padding:5px;
    border-radius:50%;
    background:#fff;
    box-shadow:0 10px 22px rgba(215,17,46,.16), inset 0 0 0 1px rgba(215,17,46,.12);
  }
  .brand-copy{display:flex;flex-direction:column;align-items:flex-start;gap:4px;}
  .brand .mark{
    font-family:'Shippori Mincho',serif;
    font-weight:700;
    font-size:clamp(22px,3vw,32px);
    letter-spacing:.07em;
    line-height:1;
    color:#1b1512;
  }
  .brand .mark .accent{
    color:var(--main);
    text-shadow:0 8px 18px rgba(215,17,46,.12);
  }
  .brand-sub{
    font-size:10px;
    letter-spacing:.26em;
    color:#917c6d;
    font-weight:700;
  }

  main{
    position:relative;
    padding:42px 0 72px;
    background:transparent;
    overflow:hidden;
  }
  main::before{
    content:"IWATAYA";
    position:absolute;
    left:clamp(18px,4vw,64px);
    top:18px;
    font-family:'Shippori Mincho',serif;
    font-size:clamp(72px,13vw,210px);
    line-height:1;
    letter-spacing:.08em;
    color:rgba(255,255,255,.032);
    pointer-events:none;
    white-space:nowrap;
  }
  .hero-lead{
    position:relative;
    z-index:1;
    display:grid;
    grid-template-columns:minmax(0,1fr) auto;
    gap:24px;
    align-items:end;
    margin:0 0 clamp(22px,3vw,34px);
  }
  .hero-lead h1{
    margin:.35em 0 .18em;
    color:#fff;
    font-family:'Shippori Mincho',serif;
    font-size:clamp(30px,4.5vw,62px);
    font-weight:700;
    letter-spacing:.05em;
    line-height:1.22;
    text-shadow:0 12px 36px rgba(0,0,0,.32);
  }
  .hero-lead p{
    margin:0;
    max-width:780px;
    color:rgba(255,255,255,.74);
    font-size:clamp(14px,1.35vw,17px);
  }
  .hero-kicker{
    justify-self:end;
    min-width:210px;
    padding:16px 18px;
    border:1px solid rgba(255,255,255,.16);
    border-radius:999px;
    color:#fff;
    background:linear-gradient(135deg,rgba(255,255,255,.12),rgba(255,255,255,.04));
    box-shadow:inset 0 1px 0 rgba(255,255,255,.16);
    text-align:center;
    backdrop-filter:blur(12px);
    font-family:'Shippori Mincho',serif;
    letter-spacing:.08em;
  }
  .hero-kicker small{
    display:block;
    color:var(--gold-light);
    font-family:'Zen Kaku Gothic New',sans-serif;
    font-size:10px;
    letter-spacing:.28em;
    text-transform:uppercase;
  }
  .hero{
    position:relative;
    z-index:1;
    display:grid;
    grid-template-columns:minmax(0,1.62fr) minmax(360px,1fr);
    gap:clamp(22px,2.4vw,38px);
    align-items:stretch;
  }

  .videocol{
    position:relative;
    min-width:0;
    padding:clamp(14px,1.8vw,22px);
    border-radius:calc(var(--radius-lg) + 8px);
    background:
      linear-gradient(135deg,rgba(255,255,255,.16),rgba(255,255,255,.045)),
      rgba(255,255,255,.04);
    border:1px solid rgba(255,255,255,.14);
    box-shadow:var(--shadow-md), inset 0 1px 0 rgba(255,255,255,.14);
    backdrop-filter:blur(18px);
  }
  .videocol::before{
    content:"";
    position:absolute;
    inset:10px;
    border-radius:calc(var(--radius-lg) + 2px);
    border:1px solid rgba(201,163,107,.16);
    pointer-events:none;
  }
  .frame{
    position:relative;
    aspect-ratio:16/9;
    width:100%;
    background:#0c0a09;
    border-radius:var(--radius-lg);
    overflow:hidden;
    box-shadow:0 30px 80px rgba(0,0,0,.46), 0 0 0 1px rgba(255,255,255,.08);
    isolation:isolate;
  }
  .frame::before{
    content:"";
    position:absolute;
    inset:0;
    z-index:3;
    pointer-events:none;
    background:
      radial-gradient(circle at 16% 18%, rgba(255,255,255,.18), transparent 22%),
      linear-gradient(135deg,rgba(255,255,255,.08),transparent 28%,transparent 70%,rgba(215,17,46,.18));
    mix-blend-mode:screen;
  }
  .frame::after{
    content:"";
    position:absolute;
    inset:0;
    border-radius:var(--radius-lg);
    pointer-events:none;
    box-shadow:inset 0 0 0 1px rgba(255,255,255,.16), inset 0 -90px 130px rgba(0,0,0,.32);
    z-index:4;
  }
  .frame iframe{position:absolute;inset:0;width:100%;height:100%;border:0;pointer-events:none;}
  .frame video{position:absolute;inset:0;width:100%;height:100%;border:0;pointer-events:none;object-fit:cover;background:#0c0a09;}

  .frame .shield{
    position:absolute;
    inset:0;
    z-index:5;
    border:0;
    background:transparent;
    cursor:pointer;
    padding:0;
    display:flex;
    align-items:center;
    justify-content:center;
  }
  .frame .bigplay{
    width:86px;
    height:86px;
    border-radius:50%;
    background:linear-gradient(135deg,rgba(215,17,46,.82),rgba(93,6,21,.72));
    color:#fff;
    border:1px solid rgba(255,255,255,.28);
    backdrop-filter:blur(6px);
    display:flex;
    align-items:center;
    justify-content:center;
    opacity:0;
    transform:scale(.88);
    transition:opacity .25s var(--ease),transform .25s var(--ease);
    box-shadow:0 18px 44px rgba(0,0,0,.34),0 0 28px rgba(215,17,46,.34);
  }
  .frame .bigplay svg{width:30px;height:30px;margin-left:4px;}
  .frame.paused .bigplay{opacity:1;transform:scale(1);}

  .nowbar{
    position:absolute;
    left:18px;
    right:18px;
    top:18px;
    z-index:6;
    padding:12px 16px;
    pointer-events:none;
    color:#fff;
    background:linear-gradient(135deg,rgba(0,0,0,.48),rgba(0,0,0,.22));
    border:1px solid rgba(255,255,255,.16);
    border-radius:999px;
    display:flex;
    align-items:center;
    gap:12px;
    box-shadow:0 12px 30px rgba(0,0,0,.22),inset 0 1px 0 rgba(255,255,255,.12);
    backdrop-filter:blur(12px);
  }
  .nowbar .badge{
    font-size:10px;
    letter-spacing:.28em;
    text-transform:uppercase;
    color:var(--gold-light);
    display:inline-flex;
    align-items:center;
    gap:8px;
    white-space:nowrap;
  }
  .nowbar .badge::before{
    content:"";
    width:16px;
    height:1px;
    background:linear-gradient(90deg,var(--gold-light),rgba(255,255,255,.4));
  }
  .nowbar .now-title{
    font-family:'Shippori Mincho',serif;
    font-weight:600;
    font-size:clamp(14px,1.35vw,18px);
    letter-spacing:.03em;
    text-shadow:0 1px 4px rgba(0,0,0,.45);
    overflow:hidden;
    text-overflow:ellipsis;
    white-space:nowrap;
  }

  .progress{
    position:relative;
    height:4px;
    background:rgba(255,255,255,.12);
    overflow:hidden;
    margin:18px 4px 0;
    border-radius:999px;
    box-shadow:inset 0 1px 2px rgba(0,0,0,.2);
  }
  .progress > i{
    display:block;
    height:100%;
    width:0%;
    background:linear-gradient(90deg,var(--main),#ff5268,var(--gold-light));
    border-radius:inherit;
    box-shadow:0 0 18px rgba(215,17,46,.65);
    transition:width .25s linear;
  }

  .controls{display:flex;align-items:center;gap:14px;margin-top:18px;flex-wrap:wrap;position:relative;z-index:2;}
  .cluster{display:flex;align-items:center;gap:9px;}
  .rc{
    width:46px;
    height:46px;
    border-radius:50%;
    display:inline-flex;
    align-items:center;
    justify-content:center;
    background:linear-gradient(145deg,rgba(255,255,255,.14),rgba(255,255,255,.04));
    border:1px solid rgba(255,255,255,.20);
    color:#fff;
    cursor:pointer;
    box-shadow:0 10px 20px rgba(0,0,0,.18), inset 0 1px 0 rgba(255,255,255,.16);
    transition:background .18s,border-color .18s,transform .18s var(--ease),box-shadow .18s,color .18s;
  }
  .rc:hover{
    border-color:rgba(245,215,156,.72);
    color:var(--gold-light);
    transform:translateY(-2px);
    box-shadow:0 14px 28px rgba(0,0,0,.24),0 0 20px rgba(215,17,46,.20), inset 0 1px 0 rgba(255,255,255,.22);
  }
  .rc:active{transform:translateY(0);}
  .rc svg{width:19px;height:19px;}
  .counter{
    min-width:72px;
    padding:8px 12px;
    border-radius:999px;
    background:rgba(0,0,0,.18);
    border:1px solid rgba(255,255,255,.12);
    font-family:'Shippori Mincho',serif;
    font-weight:600;
    font-size:14px;
    letter-spacing:.13em;
    color:#bcb1a8;
  }
  .counter b{color:#fff;}
  .controls .spacer{flex:1;}
  .dots{display:flex;align-items:center;gap:8px;padding:0 4px;}
  .dot{
    width:8px;
    height:8px;
    border-radius:999px;
    background:rgba(255,255,255,.26);
    border:0;
    padding:0;
    cursor:pointer;
    transition:width .24s var(--ease),background .24s var(--ease),box-shadow .24s var(--ease);
  }
  .dot:hover{background:rgba(255,255,255,.56);}
  .dot[aria-current="true"]{width:30px;background:linear-gradient(90deg,var(--main),var(--gold-light));box-shadow:0 0 18px rgba(215,17,46,.44);}
  .sound{
    display:inline-flex;
    align-items:center;
    gap:9px;
    height:46px;
    padding:0 18px;
    border-radius:999px;
    background:linear-gradient(145deg,rgba(255,255,255,.14),rgba(255,255,255,.04));
    border:1px solid rgba(255,255,255,.20);
    color:#fff;
    font-family:inherit;
    font-size:13px;
    font-weight:700;
    cursor:pointer;
    box-shadow:0 10px 20px rgba(0,0,0,.18), inset 0 1px 0 rgba(255,255,255,.16);
    transition:background .18s,border-color .18s,color .18s,transform .18s var(--ease),box-shadow .18s;
  }
  .sound:hover{border-color:rgba(245,215,156,.70);color:var(--gold-light);transform:translateY(-2px);}
  .sound[data-on="true"]{
    background:linear-gradient(135deg,var(--main),var(--main-deep));
    border-color:rgba(255,255,255,.28);
    color:#fff;
    box-shadow:var(--shadow-red);
  }
  .sound svg{width:18px;height:18px;}

  .movie-tabs{display:flex;flex-wrap:wrap;gap:10px;margin-top:18px;position:relative;z-index:2;}
  .vtab{
    display:inline-flex;align-items:center;gap:10px;
    padding:10px 16px;border-radius:14px;
    background:linear-gradient(145deg,rgba(255,255,255,.10),rgba(255,255,255,.03));
    border:1px solid rgba(255,255,255,.16);
    color:rgba(255,255,255,.82);
    font-family:inherit;font-size:13px;font-weight:500;line-height:1.3;
    text-align:left;cursor:pointer;
    box-shadow:0 8px 18px rgba(0,0,0,.16), inset 0 1px 0 rgba(255,255,255,.12);
    transition:background .18s,border-color .18s,color .18s,transform .18s var(--ease),box-shadow .18s;
  }
  .vtab .vnum{
    font-family:'Shippori Mincho',serif;font-weight:700;font-size:12px;
    letter-spacing:.06em;color:var(--gold-light);flex:none;opacity:.92;
  }
  .vtab:hover{border-color:rgba(245,215,156,.62);color:#fff;transform:translateY(-2px);
    box-shadow:0 12px 24px rgba(0,0,0,.22),0 0 16px rgba(215,17,46,.16), inset 0 1px 0 rgba(255,255,255,.18);}
  .vtab:active{transform:translateY(0);}
  .vtab[aria-current="true"]{
    background:linear-gradient(135deg,var(--main),var(--main-deep));
    border-color:rgba(255,255,255,.26);color:#fff;box-shadow:var(--shadow-red);
  }
  .vtab[aria-current="true"] .vnum{color:#fff;opacity:.88;}
  .vtab:focus-visible{outline:2px solid var(--gold-light);outline-offset:3px;}

  .video-row{
    display:grid;
    grid-template-columns:minmax(0,1fr) minmax(240px,320px);
    gap:clamp(16px,1.6vw,26px);
    align-items:stretch;
  }
  .video-main{min-width:0;}

  .movie-tabs{flex-direction:column;flex-wrap:nowrap;gap:10px;margin-top:0;height:100%;justify-content:center;}
  .vtab{width:100%;}

  .menucol{
    display:flex;
    flex-direction:column;
    min-width:0;
    position:relative;
    gap:14px;
  }
  .menuhead{
    padding:2px 4px 0;
    color:#fff;
  }
  .menuhead h2{
    font-family:'Shippori Mincho',serif;
    font-weight:700;
    font-size:clamp(22px,2.1vw,31px);
    letter-spacing:.07em;
    line-height:1.3;
    margin:.25em 0 .22em;
  }
  .menuhead p{
    margin:0;
    color:rgba(255,255,255,.68);
    font-size:13px;
  }
  .menupanel{
    position:relative;
    flex:1;
    overflow:hidden;
    background:
      radial-gradient(circle at 16% 14%,rgba(255,255,255,.24),transparent 24%),
      radial-gradient(circle at 86% 86%,rgba(201,163,107,.22),transparent 26%),
      linear-gradient(145deg,#c6102b 0%,#8d0a1f 46%,#530612 100%);
    border:1px solid rgba(255,255,255,.16);
    border-radius:calc(var(--radius-lg) + 8px);
    padding:clamp(20px,2vw,30px);
    display:flex;
    align-items:center;
    box-shadow:var(--shadow-md),var(--shadow-red), inset 0 1px 0 rgba(255,255,255,.18);
  }
  .menupanel::before{
    content:"";
    position:absolute;
    inset:0;
    background-image:
      linear-gradient(135deg,rgba(255,255,255,.12) 0,transparent 34%),
      repeating-linear-gradient(135deg,rgba(255,255,255,.045) 0 1px,transparent 1px 11px);
    opacity:.58;
    pointer-events:none;
  }
  .menupanel::after{
    content:"";
    position:absolute;
    inset:12px;
    border:1px solid rgba(245,215,156,.20);
    border-radius:calc(var(--radius-lg) + 1px);
    pointer-events:none;
  }
  .menugrid{
    position:relative;
    z-index:1;
    display:grid;
    grid-template-columns:repeat(auto-fit,minmax(74px,1fr));
    gap:clamp(16px,1.7vw,24px) 12px;
    width:100%;
    align-content:center;
  }
  .mapp{
    position:relative;
    display:flex;
    flex-direction:column;
    align-items:center;
    gap:10px;
    text-decoration:none;
    padding:8px 4px;
    border-radius:18px;
    transition:background .2s var(--ease),transform .2s var(--ease);
  }
  .mapp::before{
    content:"";
    position:absolute;
    inset:0;
    border-radius:inherit;
    background:rgba(255,255,255,.10);
    opacity:0;
    transform:scale(.94);
    transition:opacity .2s var(--ease),transform .2s var(--ease);
  }
  .mapp .tile{
    position:relative;
    width:100%;
    aspect-ratio:1;
    max-width:82px;
    border-radius:29%;
    background:
      linear-gradient(150deg,rgba(255,255,255,.42),rgba(255,255,255,.07) 48%,rgba(0,0,0,.14)),
      linear-gradient(145deg,#f02a43,#b80b26 54%,#7e071c);
    display:flex;
    align-items:center;
    justify-content:center;
    box-shadow:0 12px 22px rgba(0,0,0,.27), inset 0 1px 0 rgba(255,255,255,.42), inset 0 -10px 24px rgba(0,0,0,.12);
    transition:transform .24s var(--ease),box-shadow .24s var(--ease),filter .24s var(--ease);
  }
  .mapp .tile::before{
    content:"";
    position:absolute;
    left:14%;right:14%;top:9%;
    height:28%;
    border-radius:999px;
    background:linear-gradient(to bottom,rgba(255,255,255,.42),transparent);
    opacity:.78;
  }
  .mapp .tile::after{
    content:"";
    position:absolute;
    inset:-5px;
    border-radius:32%;
    background:radial-gradient(circle,rgba(245,215,156,.36),transparent 68%);
    opacity:0;
    z-index:-1;
    transition:opacity .24s var(--ease);
  }
  .mapp:nth-child(3n+2) .tile{background:linear-gradient(150deg,rgba(255,255,255,.42),rgba(255,255,255,.07) 48%,rgba(0,0,0,.14)),linear-gradient(145deg,#d3a058,#b37a33 55%,#7b481e);}
  .mapp:nth-child(4n) .tile{background:linear-gradient(150deg,rgba(255,255,255,.42),rgba(255,255,255,.07) 48%,rgba(0,0,0,.14)),linear-gradient(145deg,#ea334b,#a20c24 55%,#5e0616);}
  .mapp .tile svg{width:28px;height:28px;stroke:#fff;filter:drop-shadow(0 3px 6px rgba(0,0,0,.22));}
  .mapp .label{
    position:relative;
    z-index:1;
    font-size:12px;
    color:#fff;
    text-align:center;
    line-height:1.35;
    letter-spacing:.02em;
    opacity:.94;
    font-weight:700;
    text-shadow:0 2px 8px rgba(0,0,0,.30);
  }
  .mapp:hover::before{opacity:1;transform:scale(1);}
  .mapp:hover{transform:translateY(-3px);}
  .mapp:hover .tile{
    transform:translateY(-6px) scale(1.06);
    filter:brightness(1.08) saturate(1.05);
    box-shadow:0 22px 34px rgba(0,0,0,.34), inset 0 1px 0 rgba(255,255,255,.48), inset 0 -10px 24px rgba(0,0,0,.10);
  }
  .mapp:hover .tile::after{opacity:1;}
  .mapp:focus-visible{outline:0;}
  .mapp:focus-visible .tile{outline:3px solid #fff;outline-offset:4px;}

  footer.site{
    position:relative;
    background:
      linear-gradient(90deg,rgba(215,17,46,.14),transparent 24%,transparent 76%,rgba(201,163,107,.12)),
      var(--bg-footer);
    color:#bdb4ab;
    border-top:1px solid rgba(255,255,255,.12);
    padding:42px 0 48px;
    box-shadow:0 -18px 46px rgba(0,0,0,.22);
  }
  footer.site::before{
    content:"";
    position:absolute;
    left:0;right:0;top:0;
    height:4px;
    background:linear-gradient(90deg,var(--main),#ff5368,var(--gold),var(--main));
  }
  footer .row{display:flex;justify-content:space-between;gap:28px;flex-wrap:wrap;align-items:flex-start;}
  footer .tels{display:flex;gap:16px;flex-wrap:wrap;}
  footer .tels a{
    color:#fff;
    text-decoration:none;
    font-family:'Shippori Mincho',serif;
    font-size:19px;
    letter-spacing:.05em;
    padding:14px 18px;
    border:1px solid rgba(255,255,255,.12);
    border-radius:18px;
    background:rgba(255,255,255,.04);
    box-shadow:inset 0 1px 0 rgba(255,255,255,.10);
    transition:transform .18s var(--ease),border-color .18s,color .18s;
  }
  footer .tels a:hover{transform:translateY(-2px);border-color:rgba(245,215,156,.54);color:var(--gold-light);}
  footer .tels small{
    display:block;
    color:#a99e94;
    font-family:'Zen Kaku Gothic New',sans-serif;
    font-size:11px;
    letter-spacing:.14em;
    margin-bottom:2px;
  }
  footer .links{display:flex;gap:10px;flex-wrap:wrap;font-size:12px;justify-content:flex-end;}
  footer .links a{
    color:#b3aaa2;
    text-decoration:none;
    padding:8px 12px;
    border-radius:999px;
    background:rgba(255,255,255,.04);
    border:1px solid rgba(255,255,255,.08);
    transition:color .18s,border-color .18s,background .18s;
  }
  footer .links a:hover{color:#fff;border-color:rgba(245,215,156,.44);background:rgba(255,255,255,.08);}
  footer .copy{margin-top:26px;font-size:11px;color:#857d75;letter-spacing:.09em;}

  .rc:focus-visible,.dot:focus-visible,.sound:focus-visible,footer a:focus-visible{
    outline:2px solid var(--gold-light);
    outline-offset:4px;
    border-radius:999px;
  }

  @keyframes rise{from{opacity:0;transform:translateY(18px);}to{opacity:1;transform:none;}}
  @keyframes glowPulse{0%,100%{filter:drop-shadow(0 0 0 rgba(215,17,46,0));}50%{filter:drop-shadow(0 0 18px rgba(215,17,46,.22));}}
  .hero-lead,.videocol,.menucol{animation:rise .7s both;}
  .videocol{animation-delay:.06s;}
  .menucol{animation-delay:.12s;}
  .brand .logo{animation:glowPulse 4.8s ease-in-out infinite;}

  @media (max-width:1100px){
    .hero{grid-template-columns:1fr;}
    .menucol{max-width:none;}
    .menupanel{min-height:auto;}
  }
  @media (max-width:900px){
    header.site{padding:18px 0 16px;}
    .brand::before,.brand::after{display:none;}
    .hero-lead{grid-template-columns:1fr;align-items:start;}
    .hero-kicker{justify-self:start;}
    .nowbar .badge{display:none;}
    .menupanel{align-items:flex-start;}
  }
  @media (max-width:640px){
    main{padding:30px 0 52px;}
    .hero-lead h1{font-size:clamp(28px,9vw,40px);}
    .videocol{padding:10px;border-radius:24px;}
    .frame{border-radius:20px;}
    .nowbar{left:10px;right:10px;top:10px;border-radius:16px;padding:10px 12px;}
    .controls{gap:10px;}
    .controls .spacer{display:none;}
    .dots{order:3;width:100%;justify-content:center;margin-top:4px;}
    .sound{width:100%;justify-content:center;}
    .menugrid{grid-template-columns:repeat(4,1fr);gap:13px 8px;}
    .mapp{padding:4px 2px;}
    .mapp .label{font-size:11.5px;font-weight:600;}
    footer .links{justify-content:flex-start;}
  }
  @media (max-width:420px){
    .menugrid{grid-template-columns:repeat(3,1fr);}
    .rc{width:42px;height:42px;}
    .sound{height:42px;}
  }
  @media (prefers-reduced-motion:reduce){
    *{transition:none !important;animation:none !important;scroll-behavior:auto !important;}
    .progress > i{transition:none;}
  }

  header.site{
    padding:14px 0 13px;
    box-shadow:0 10px 28px rgba(0,0,0,.16);
  }
  .brand .logo{width:46px;height:46px;padding:3px;}
  .brand .mark{font-size:clamp(20px,2.5vw,27px);}
  .brand-sub{font-size:9px;letter-spacing:.22em;}
  main{
    padding:clamp(14px,2vw,24px) 0 52px;
  }
  main::before{
    top:-12px;
    font-size:clamp(84px,14vw,220px);
    opacity:.8;
  }
  .hero{
    grid-template-columns:1fr;
    gap:clamp(24px,2.8vw,42px);
    align-items:stretch;
  }
  .videocol{
    padding:clamp(10px,1.15vw,16px);
    display:flex;
    flex-direction:column;
  }
  .movie-intro{
    position:relative;
    z-index:2;
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:14px;
    padding:0 4px clamp(8px,.8vw,12px);
    color:#fff;
  }
  .movie-intro span{
    display:inline-flex;
    align-items:center;
    gap:10px;
    font-size:10px;
    letter-spacing:.24em;
    color:rgba(255,255,255,.62);
    white-space:nowrap;
  }
  .movie-intro span::before{
    content:"";
    width:22px;
    height:1px;
    background:linear-gradient(90deg,var(--main),var(--gold-light));
    box-shadow:0 0 12px rgba(215,17,46,.55);
  }
  .movie-intro b{
    font-family:'Shippori Mincho',serif;
    font-size:clamp(15px,1.25vw,20px);
    letter-spacing:.05em;
    font-weight:700;
    text-align:right;
  }
  .frame{
    flex:none;
    border-radius:clamp(20px,1.8vw,var(--radius-lg));
  }
  .controls{
    margin-top:12px;
  }
  .menucol{
    gap:10px;
  }
  .menuhead{
    padding-top:0;
  }
  .menuhead .eyebrow{
    font-size:10px;
  }
  .menuhead h2{
    font-size:clamp(19px,1.65vw,26px);
    margin:.15em 0 .12em;
  }
  .menuhead p{
    font-size:12px;
    line-height:1.55;
  }
  .menupanel{
    padding:clamp(16px,1.7vw,24px);
    min-height:0;
  }
  .menugrid{
    grid-template-columns:repeat(auto-fit,minmax(126px,1fr));
    gap:clamp(16px,1.5vw,22px) 12px;
  }
  .mapp .tile{
    max-width:96px;
  }
  .mapp .label{
    font-size:12.5px;
  }
  @media (max-width:1100px){
    .hero{grid-template-columns:1fr;}
    .menugrid{grid-template-columns:repeat(7,1fr);}
  }
  @media (max-width:760px){
    .movie-intro{display:block;}
    .movie-intro b{display:block;text-align:left;margin-top:3px;}
    .menugrid{grid-template-columns:repeat(4,1fr);}
  }
  @media (max-width:420px){
    .menugrid{grid-template-columns:repeat(3,1fr);}
  }
  @media (max-width:900px){
    .video-row{grid-template-columns:1fr;gap:0;}
    .movie-tabs{flex-direction:row;flex-wrap:wrap;height:auto;justify-content:flex-start;margin-top:14px;}
    .vtab{width:auto;}
  }

  .mapp[data-colored="true"] .tile{
    background:
      linear-gradient(150deg,rgba(255,255,255,.44),rgba(255,255,255,.08) 48%,rgba(0,0,0,.15)),
      linear-gradient(145deg,var(--tile-from,#f02a43),var(--tile-mid,#b80b26) 54%,var(--tile-to,#7e071c)) !important;
  }
  .mapp[data-colored="true"] .tile svg{
    width:30px;
    height:30px;
  }
  .mapp[data-colored="true"] .label{
    min-height:2.75em;
    display:flex;
    align-items:center;
    justify-content:center;
  }
  @media (max-width:640px){
    .mapp[data-colored="true"] .tile svg{
      width:26px;
      height:26px;
    }
    .mapp[data-colored="true"] .label{
      min-height:2.9em;
    }
  }

  body.modal-open{
    overflow:hidden;
  }
  .link-modal{
    position:fixed;
    inset:0;
    z-index:1000;
    display:none;
    align-items:center;
    justify-content:center;
    padding:clamp(12px,2vw,28px);
  }
  .link-modal.is-open{
    display:flex;
  }
  .link-modal__overlay{
    position:absolute;
    inset:0;
    background:
      radial-gradient(circle at 50% 24%, rgba(215,17,46,.28), transparent 34%),
      rgba(8,6,5,.78);
    backdrop-filter:blur(12px);
    -webkit-backdrop-filter:blur(12px);
  }
  .link-modal__panel{
    position:relative;
    width:min(1180px,96vw);
    height:min(820px,88vh);
    display:flex;
    flex-direction:column;
    overflow:hidden;
    border-radius:26px;
    background:linear-gradient(180deg,rgba(255,255,255,.96),rgba(250,246,239,.94));
    border:1px solid rgba(255,255,255,.72);
    box-shadow:0 30px 90px rgba(0,0,0,.48), inset 0 1px 0 rgba(255,255,255,.9);
    animation:modalRise .28s cubic-bezier(.2,.8,.2,1) both;
  }
  .link-modal__panel::before{
    content:"";
    position:absolute;
    left:0;right:0;top:0;
    height:4px;
    background:linear-gradient(90deg,var(--main),var(--gold-light),var(--main-deep));
    z-index:2;
  }
  .link-modal__head{
    min-height:64px;
    display:flex;
    align-items:center;
    gap:14px;
    padding:14px clamp(16px,2vw,24px);
    background:linear-gradient(180deg,rgba(255,255,255,.86),rgba(255,255,255,.54));
    border-bottom:1px solid rgba(26,20,17,.1);
  }
  .link-modal__title{
    min-width:0;
    flex:1;
  }
  .link-modal__title small{
    display:block;
    font-size:10px;
    letter-spacing:.22em;
    text-transform:uppercase;
    color:var(--main);
    font-weight:800;
  }
  .link-modal__title b{
    display:block;
    overflow:hidden;
    text-overflow:ellipsis;
    white-space:nowrap;
    font-family:'Shippori Mincho',serif;
    font-size:clamp(17px,1.4vw,23px);
    letter-spacing:.04em;
    color:var(--ink);
  }
  .link-modal__actions{
    display:flex;
    align-items:center;
    gap:10px;
  }
  .link-modal__external,
  .link-modal__close{
    height:40px;
    border-radius:999px;
    display:inline-flex;
    align-items:center;
    justify-content:center;
    gap:8px;
    border:1px solid rgba(26,20,17,.14);
    background:#fff;
    color:var(--ink);
    text-decoration:none;
    font-family:inherit;
    font-size:13px;
    font-weight:700;
    cursor:pointer;
    transition:transform .18s,box-shadow .18s,border-color .18s,background .18s,color .18s;
  }
  .link-modal__external{
    padding:0 16px;
  }
  .link-modal__close{
    width:40px;
    padding:0;
    font-size:22px;
    line-height:1;
  }
  .link-modal__external:hover,
  .link-modal__close:hover{
    transform:translateY(-1px);
    border-color:rgba(215,17,46,.34);
    box-shadow:0 10px 26px rgba(26,20,17,.12);
  }
  .link-modal__external{
    background:linear-gradient(135deg,var(--main),var(--main-deep));
    color:#fff;
    border-color:rgba(215,17,46,.4);
  }
  .link-modal__body{
    position:relative;
    flex:1;
    min-height:0;
    background:#fff;
  }
  .link-modal__frame{
    width:100%;
    height:100%;
    border:0;
    display:block;
    background:#fff;
  }
  .link-modal__note,
  .link-modal__tel{
    position:absolute;
    inset:0;
    display:none;
    align-items:center;
    justify-content:center;
    padding:28px;
    text-align:center;
    color:var(--ink);
    background:
      radial-gradient(circle at 50% 12%,rgba(215,17,46,.08),transparent 35%),
      #fff;
  }
  .link-modal__note.is-show,
  .link-modal__tel.is-show{
    display:flex;
  }
  .link-modal__message{
    max-width:580px;
  }
  .link-modal__message h3{
    margin:0 0 10px;
    font-family:'Shippori Mincho',serif;
    font-size:clamp(20px,2vw,30px);
    letter-spacing:.04em;
  }
  .link-modal__message p{
    margin:0 0 18px;
    color:var(--ink-soft);
  }
  .link-modal__message a{
    display:inline-flex;
    align-items:center;
    justify-content:center;
    min-height:46px;
    padding:0 22px;
    border-radius:999px;
    background:linear-gradient(135deg,var(--main),var(--main-deep));
    color:#fff;
    font-weight:800;
    text-decoration:none;
    box-shadow:0 14px 28px rgba(215,17,46,.2);
  }
  .link-modal__loading{
    position:absolute;
    left:50%;top:50%;
    transform:translate(-50%,-50%);
    display:flex;
    align-items:center;
    gap:12px;
    color:var(--ink-soft);
    font-size:13px;
    pointer-events:none;
  }
  .link-modal__loading::before{
    content:"";
    width:18px;
    height:18px;
    border-radius:50%;
    border:2px solid rgba(26,20,17,.14);
    border-top-color:var(--main);
    animation:spin .8s linear infinite;
  }
  .link-modal__body.is-loaded .link-modal__loading{
    display:none;
  }
  @keyframes modalRise{
    from{opacity:0;transform:translateY(18px) scale(.985);}
    to{opacity:1;transform:none;}
  }
  @keyframes spin{to{transform:rotate(360deg);}}
  @media (max-width:760px){
    .link-modal{padding:0;align-items:stretch;}
    .link-modal__panel{
      width:100vw;
      height:100dvh;
      border-radius:0;
    }
    .link-modal__head{
      min-height:58px;
      padding:11px 12px;
    }
    .link-modal__external{
      width:40px;
      padding:0;
      font-size:0;
    }
    .link-modal__external::before{
      content:"↗";
      font-size:17px;
    }
  }

  body{
    color:#1a1411;
    background:
      radial-gradient(circle at 12% 8%, rgba(215,17,46,.09), transparent 31%),
      radial-gradient(circle at 88% 10%, rgba(201,163,107,.16), transparent 30%),
      radial-gradient(circle at 50% 92%, rgba(215,17,46,.07), transparent 36%),
      linear-gradient(145deg,#ffffff 0%,#fffaf2 44%,#f7efe5 100%);
  }
  body::before{
    opacity:.55;
    background-image:
      linear-gradient(rgba(120,90,70,.07) 1px, transparent 1px),
      linear-gradient(90deg, rgba(120,90,70,.055) 1px, transparent 1px);
    mask-image:linear-gradient(to bottom, rgba(0,0,0,.65), transparent 86%);
  }
  body::after{
    background:radial-gradient(circle, rgba(215,17,46,.10), transparent 68%);
    filter:blur(12px);
  }
  header.site{
    background:
      linear-gradient(90deg,rgba(215,17,46,.055),transparent 22%,transparent 78%,rgba(201,163,107,.12)),
      rgba(255,255,255,.96);
    border-bottom:1px solid rgba(120,80,60,.16);
    box-shadow:0 12px 34px rgba(82,45,31,.10);
  }
  .brand::before,.brand::after{
    background:linear-gradient(90deg,transparent,rgba(215,17,46,.22),transparent);
  }
  main::before{
    color:rgba(215,17,46,.045);
  }
  .eyebrow{
    color:#b9853a;
  }
  .eyebrow::before{
    background:linear-gradient(90deg,var(--main),#d3a35a);
    box-shadow:0 0 10px rgba(215,17,46,.18);
  }
  .movie-intro{
    color:#2b211b;
  }
  .movie-intro span{
    color:rgba(50,35,28,.62);
  }
  .movie-intro span::before{
    box-shadow:0 0 10px rgba(215,17,46,.20);
  }
  .videocol{
    background:
      linear-gradient(135deg,rgba(255,255,255,.96),rgba(255,248,238,.84)),
      rgba(255,255,255,.92);
    border:1px solid rgba(120,80,60,.14);
    box-shadow:0 22px 64px rgba(101,62,36,.15), inset 0 1px 0 rgba(255,255,255,.84);
  }
  .videocol::before{
    border-color:rgba(201,163,107,.28);
  }
  .progress{
    background:rgba(88,58,42,.12);
    box-shadow:inset 0 1px 2px rgba(88,58,42,.08);
  }
  .rc,
  .sound{
    background:linear-gradient(145deg,rgba(255,255,255,.98),rgba(255,246,235,.86));
    border-color:rgba(120,80,60,.18);
    color:#2b211b;
    box-shadow:0 10px 22px rgba(101,62,36,.10), inset 0 1px 0 rgba(255,255,255,.9);
  }
  .rc:hover,
  .sound:hover{
    border-color:rgba(215,17,46,.34);
    color:var(--main);
    box-shadow:0 14px 28px rgba(101,62,36,.13),0 0 18px rgba(215,17,46,.10), inset 0 1px 0 rgba(255,255,255,.95);
  }
  .counter{
    background:rgba(255,255,255,.82);
    border-color:rgba(120,80,60,.14);
    color:#8a796c;
  }
  .counter b{color:#2b211b;}
  .dot{
    background:rgba(90,65,50,.24);
  }
  .dot:hover{
    background:rgba(215,17,46,.38);
  }
  .vtab{
    background:linear-gradient(145deg,rgba(255,255,255,.98),rgba(255,248,238,.86));
    border-color:rgba(120,80,60,.16);
    color:#2b211b;
    box-shadow:0 8px 18px rgba(101,62,36,.09), inset 0 1px 0 rgba(255,255,255,.86);
  }
  .vtab .vnum{
    color:#b9853a;
  }
  .vtab:hover{
    border-color:rgba(215,17,46,.30);
    color:var(--main);
    box-shadow:0 12px 24px rgba(101,62,36,.13),0 0 16px rgba(215,17,46,.08), inset 0 1px 0 rgba(255,255,255,.92);
  }
  .vtab[aria-current="true"]{
    background:linear-gradient(135deg,var(--main),var(--main-deep));
    color:#fff;
    border-color:rgba(215,17,46,.34);
    box-shadow:0 16px 34px rgba(215,17,46,.20);
  }
  .vtab[aria-current="true"] .vnum{
    color:#fff;
  }
  .menuhead{
    color:#231814;
  }
  .menuhead p{
    color:rgba(60,43,34,.70);
  }
  .menupanel{
    background:
      radial-gradient(circle at 16% 14%,rgba(255,255,255,.24),transparent 24%),
      radial-gradient(circle at 86% 86%,rgba(201,163,107,.22),transparent 26%),
      linear-gradient(145deg,#c6102b 0%,#8d0a1f 46%,#530612 100%);
    border:1px solid rgba(255,255,255,.16);
    box-shadow:0 24px 70px rgba(120,20,32,.26),0 18px 50px rgba(215,17,46,.22), inset 0 1px 0 rgba(255,255,255,.18);
  }
  .menupanel::before{
    background-image:
      linear-gradient(135deg,rgba(255,255,255,.12) 0,transparent 34%),
      repeating-linear-gradient(135deg,rgba(255,255,255,.045) 0 1px,transparent 1px 11px);
    opacity:.58;
  }
  .menupanel::after{
    border-color:rgba(245,215,156,.20);
  }
  .mapp::before{
    background:rgba(255,255,255,.10);
  }
  .mapp .label{
    color:#fff;
    text-shadow:0 2px 8px rgba(0,0,0,.30);
    opacity:.94;
  }
  .mapp:hover .label{
    color:#fff;
  }
  footer.site{
    background:
      linear-gradient(90deg,rgba(215,17,46,.055),transparent 25%,transparent 75%,rgba(201,163,107,.11)),
      #fffaf2;
    color:#6e5d50;
    border-top:1px solid rgba(120,80,60,.14);
    box-shadow:0 -18px 46px rgba(101,62,36,.09);
  }
  footer .tels a{
    color:#231814;
    background:rgba(255,255,255,.78);
    border-color:rgba(120,80,60,.14);
    box-shadow:0 10px 22px rgba(101,62,36,.08), inset 0 1px 0 rgba(255,255,255,.86);
  }
  footer .tels a:hover{
    color:var(--main);
    border-color:rgba(215,17,46,.28);
  }
  footer .tels small{
    color:#8a796c;
  }
  footer .links a{
    color:#6e5d50;
    background:rgba(255,255,255,.78);
    border-color:rgba(120,80,60,.12);
  }
  footer .links a:hover{
    color:var(--main);
    border-color:rgba(215,17,46,.24);
    background:#fff;
  }
  footer .copy{
    color:#9a8a7c;
  }

  body{
    background:
      radial-gradient(circle at 12% 8%, rgba(215,17,46,.035), transparent 30%),
      radial-gradient(circle at 88% 10%, rgba(201,163,107,.055), transparent 28%),
      linear-gradient(145deg,#ffffff 0%,#ffffff 46%,#fbfaf8 100%);
  }
  body::before{
    opacity:.28;
    background-image:
      linear-gradient(rgba(120,90,70,.035) 1px, transparent 1px),
      linear-gradient(90deg, rgba(120,90,70,.028) 1px, transparent 1px);
  }
  body::after{
    opacity:.18;
    background:radial-gradient(circle, rgba(215,17,46,.04), transparent 70%);
    filter:blur(16px);
  }
  main::before{
    color:rgba(215,17,46,.024);
  }
  .videocol{
    box-shadow:0 18px 46px rgba(94,68,48,.10), inset 0 1px 0 rgba(255,255,255,.9);
  }
  .menupanel{
    box-shadow:0 18px 44px rgba(64,42,34,.12), inset 0 1px 0 rgba(255,255,255,.18);
  }
  .mapp .tile::after{
    background:radial-gradient(circle,rgba(255,255,255,.26),transparent 68%);
  }

  .videocol{
    background:
      linear-gradient(135deg,rgba(255,255,255,.16),rgba(255,255,255,.045)),
      rgba(20,14,12,.94) !important;
    border:1px solid rgba(255,255,255,.14) !important;
    box-shadow:0 24px 70px rgba(0,0,0,.34), inset 0 1px 0 rgba(255,255,255,.14) !important;
  }
  .videocol::before{
    border-color:rgba(201,163,107,.16) !important;
  }
  .movie-intro{
    color:#fff !important;
  }
  .movie-intro span{
    color:rgba(255,255,255,.62) !important;
  }
  .movie-intro span::before{
    background:linear-gradient(90deg,var(--main),var(--gold-light)) !important;
    box-shadow:0 0 12px rgba(215,17,46,.55) !important;
  }
  .progress{
    background:rgba(255,255,255,.12) !important;
    box-shadow:inset 0 1px 2px rgba(0,0,0,.2) !important;
  }
  .rc,
  .sound{
    background:linear-gradient(145deg,rgba(255,255,255,.14),rgba(255,255,255,.04)) !important;
    border-color:rgba(255,255,255,.20) !important;
    color:#fff !important;
    box-shadow:0 10px 20px rgba(0,0,0,.18), inset 0 1px 0 rgba(255,255,255,.16) !important;
  }
  .rc:hover,
  .sound:hover{
    border-color:rgba(245,215,156,.72) !important;
    color:var(--gold-light) !important;
    box-shadow:0 14px 28px rgba(0,0,0,.24),0 0 20px rgba(215,17,46,.20), inset 0 1px 0 rgba(255,255,255,.22) !important;
  }
  .sound[data-on="true"]{
    background:linear-gradient(135deg,var(--main),var(--main-deep)) !important;
    border-color:rgba(255,255,255,.28) !important;
    color:#fff !important;
    box-shadow:0 18px 50px rgba(215,17,46,.26) !important;
  }
  .counter{
    background:rgba(0,0,0,.18) !important;
    border-color:rgba(255,255,255,.12) !important;
    color:#bcb1a8 !important;
  }
  .counter b{
    color:#fff !important;
  }
  .dot{
    background:rgba(255,255,255,.26) !important;
  }
  .dot:hover{
    background:rgba(255,255,255,.56) !important;
  }
  .vtab{
    background:linear-gradient(145deg,rgba(255,255,255,.10),rgba(255,255,255,.03)) !important;
    border-color:rgba(255,255,255,.16) !important;
    color:rgba(255,255,255,.82) !important;
    box-shadow:0 8px 18px rgba(0,0,0,.16), inset 0 1px 0 rgba(255,255,255,.12) !important;
  }
  .vtab .vnum{
    color:var(--gold-light) !important;
  }
  .vtab:hover{
    border-color:rgba(245,215,156,.62) !important;
    color:#fff !important;
    box-shadow:0 12px 24px rgba(0,0,0,.22),0 0 16px rgba(215,17,46,.16), inset 0 1px 0 rgba(255,255,255,.18) !important;
  }
  .vtab[aria-current="true"]{
    background:linear-gradient(135deg,var(--main),var(--main-deep)) !important;
    border-color:rgba(255,255,255,.26) !important;
    color:#fff !important;
    box-shadow:0 18px 50px rgba(215,17,46,.26) !important;
  }
  .vtab[aria-current="true"] .vnum{
    color:#fff !important;
  }

  @media (min-width:1025px){
    header.site{
      display:none !important;
    }
    main{
      padding:8px 0 18px !important;
    }
    main::before{
      display:none !important;
    }
    main .wrapfull{
      max-width:980px !important;
      padding:0 8px !important;
    }
    .hero{
      grid-template-columns:1fr !important;
      gap:10px !important;
      align-items:start !important;
    }

    .videocol{
      padding:6px !important;
      border-radius:8px !important;
    }
    .videocol::before{
      display:none !important;
    }
    .movie-intro{
      display:none !important;
    }
    .video-row{
      grid-template-columns:minmax(0,1fr) 222px !important;
      gap:8px !important;
      align-items:start !important;
    }
    .frame{
      border-radius:8px !important;
    }
    .frame::after{
      border-radius:8px !important;
      box-shadow:inset 0 0 0 1px rgba(255,255,255,.12), inset 0 -34px 70px rgba(0,0,0,.28) !important;
    }
    .frame .bigplay{
      width:46px !important;
      height:46px !important;
    }
    .frame .bigplay svg{
      width:18px !important;
      height:18px !important;
    }
    .nowbar{
      left:8px !important;
      right:8px !important;
      top:8px !important;
      padding:5px 10px !important;
      gap:8px !important;
      border-radius:12px !important;
    }
    .nowbar .badge{
      font-size:8px !important;
      letter-spacing:.16em !important;
    }
    .nowbar .badge::before{
      width:10px !important;
    }
    .nowbar .now-title{
      font-size:11px !important;
      line-height:1.2 !important;
    }
    .progress{
      height:2px !important;
      margin:6px 2px 0 !important;
    }
    .controls{
      margin-top:6px !important;
      gap:6px !important;
    }
    .cluster{
      gap:4px !important;
    }
    .rc{
      width:26px !important;
      height:26px !important;
    }
    .rc svg{
      width:12px !important;
      height:12px !important;
    }
    .counter{
      min-width:46px !important;
      padding:3px 7px !important;
      font-size:10px !important;
      letter-spacing:.06em !important;
    }
    .dots{
      gap:4px !important;
    }
    .dot{
      width:5px !important;
      height:5px !important;
    }
    .dot[aria-current="true"]{
      width:18px !important;
    }
    .sound{
      height:26px !important;
      padding:0 9px !important;
      gap:5px !important;
      font-size:10px !important;
    }
    .sound svg{
      width:12px !important;
      height:12px !important;
    }

    .movie-tabs{
      height:auto !important;
      margin-top:0 !important;
      gap:5px !important;
      justify-content:flex-start !important;
    }
    .vtab{
      width:100% !important;
      min-height:0 !important;
      padding:6px 8px !important;
      border-radius:8px !important;
      gap:6px !important;
      font-size:9.5px !important;
      line-height:1.15 !important;
    }
    .vtab .vnum{
      font-size:9px !important;
      min-width:18px !important;
    }
    .vtab .vlabel{
      min-width:0 !important;
      overflow:hidden !important;
      text-overflow:ellipsis !important;
      white-space:nowrap !important;
      display:block !important;
    }

    .menucol{
      gap:0 !important;
    }
    .menuhead{
      display:none !important;
    }
    .menupanel{
      padding:12px 16px !important;
      border-radius:12px !important;
      min-height:0 !important;
      align-items:center !important;
    }
    .menupanel::after{
      inset:6px !important;
      border-radius:9px !important;
    }
    .menugrid{
      grid-template-columns:repeat(9,1fr) !important;
      gap:8px 8px !important;
      align-content:start !important;
    }
    .mapp{
      gap:4px !important;
      padding:0 2px !important;
      border-radius:10px !important;
    }
    .mapp .tile{
      max-width:42px !important;
      border-radius:14px !important;
      box-shadow:0 7px 12px rgba(0,0,0,.22), inset 0 1px 0 rgba(255,255,255,.38), inset 0 -6px 12px rgba(0,0,0,.10) !important;
    }
    .mapp .tile::before{
      left:18% !important;
      right:18% !important;
      top:10% !important;
      height:24% !important;
    }
    .mapp .tile svg,
    .mapp[data-colored="true"] .tile svg{
      width:18px !important;
      height:18px !important;
    }
    .mapp .label,
    .mapp[data-colored="true"] .label{
      min-height:2.4em !important;
      font-size:9.2px !important;
      line-height:1.16 !important;
      letter-spacing:0 !important;
      font-weight:700 !important;
    }
    .mapp:hover{
      transform:translateY(-1px) !important;
    }
    .mapp:hover .tile{
      transform:translateY(-2px) scale(1.03) !important;
    }

    .videocol,
    .menupanel{
      max-height:none !important;
    }
  }

  @media (min-width:1025px) and (max-width:1180px){
    main .wrapfull{
      max-width:940px !important;
    }
    .video-row{
      grid-template-columns:minmax(0,1fr) 206px !important;
    }
    .menugrid{
      grid-template-columns:repeat(9,1fr) !important;
      gap:7px 6px !important;
    }
    .mapp .tile{
      max-width:40px !important;
    }
    .mapp .label,
    .mapp[data-colored="true"] .label{
      font-size:8.9px !important;
    }
  }

  .playlist-side{
    min-width:0;
  }
  .playlist-logo{
    display:none;
  }
  @media (min-width:1025px){
    .playlist-side{
      display:flex !important;
      flex-direction:column !important;
      min-height:0 !important;
      height:100% !important;
    }
    .playlist-logo{
      display:flex !important;
      align-items:center !important;
      justify-content:center !important;
      flex:none !important;
      gap:9px !important;
      padding:0 0 8px !important;
      min-height:50px !important;
    }
    .playlist-logo img{
      width:44px !important;
      height:44px !important;
      display:block !important;
      flex:none !important;
      padding:4px !important;
      border-radius:50% !important;
      background:#fff !important;
      box-shadow:0 8px 18px rgba(0,0,0,.20), inset 0 0 0 1px rgba(215,17,46,.14) !important;
      object-fit:contain !important;
    }
    .playlist-logo-text{
      display:block !important;
      color:#fff !important;
      font-family:'Shippori Mincho',serif !important;
      font-weight:700 !important;
      font-size:14px !important;
      line-height:1.18 !important;
      letter-spacing:.04em !important;
      text-shadow:0 2px 8px rgba(0,0,0,.36) !important;
      white-space:nowrap !important;
    }
    .playlist-logo-text span{
      color:#ffdae0 !important;
    }
    .playlist-side .movie-tabs{
      flex:1 1 auto !important;
      min-height:0 !important;
    }
  }

  @media (min-width:1025px) and (max-width:1180px){
    .playlist-logo{
      gap:7px !important;
      min-height:46px !important;
      padding-bottom:6px !important;
    }
    .playlist-logo img{
      width:38px !important;
      height:38px !important;
      padding:3px !important;
    }
    .playlist-logo-text{
      font-size:12px !important;
      letter-spacing:.02em !important;
    }
  }

  .mapp .tile,
  .mapp[data-colored="true"] .tile{
    background:transparent !important;
    box-shadow:none !important;
    overflow:visible !important;
  }
  .mapp .tile::before,
  .mapp .tile::after{
    display:none !important;
  }
  .mapp .tile-img{
    display:block !important;
    width:100% !important;
    height:100% !important;
    object-fit:contain !important;
    border:0 !important;
    border-radius:29% !important;
    filter:drop-shadow(0 10px 18px rgba(0,0,0,.26)) !important;
    transition:transform .24s var(--ease), filter .24s var(--ease) !important;
  }
  .mapp:hover .tile-img,
  .mapp:focus-visible .tile-img{
    transform:translateY(-4px) scale(1.06) !important;
    filter:drop-shadow(0 16px 24px rgba(0,0,0,.32)) saturate(1.04) brightness(1.04) !important;
  }
  .mapp:hover .tile{
    transform:none !important;
    filter:none !important;
    box-shadow:none !important;
  }
  @media (min-width:1025px){
    .mapp .tile-img{
      filter:drop-shadow(0 6px 10px rgba(0,0,0,.24)) !important;
    }
    .mapp:hover .tile-img,
    .mapp:focus-visible .tile-img{
      transform:translateY(-2px) scale(1.04) !important;
      filter:drop-shadow(0 9px 14px rgba(0,0,0,.30)) saturate(1.04) brightness(1.04) !important;
    }
  }

  .mapp .tile,
  .mapp[data-colored="true"] .tile{
    max-width:108px !important;
  }
  @media (min-width:1025px){
    .mapp .tile,
    .mapp[data-colored="true"] .tile{
      max-width:58px !important;
    }
    .mapp .label,
    .mapp[data-colored="true"] .label{
      font-size:9.6px !important;
    }
  }
  @media (min-width:1025px) and (max-width:1180px){
    .mapp .tile,
    .mapp[data-colored="true"] .tile{
      max-width:54px !important;
    }
    .mapp .label,
    .mapp[data-colored="true"] .label{
      font-size:9.2px !important;
    }
  }
  @media (max-width:640px){
    .mapp .tile,
    .mapp[data-colored="true"] .tile{
      max-width:82px !important;
    }
  }

  @media (min-width:1025px){
    main .wrapfull{
      max-width:1078px !important;
      padding:0 10px !important;
    }
    main{
      padding:10px 0 22px !important;
    }
    .hero{
      gap:12px !important;
    }
    .videocol{
      padding:7px !important;
      border-radius:10px !important;
    }
    .video-row{
      grid-template-columns:minmax(0,1fr) 244px !important;
      gap:9px !important;
    }
    .frame{
      border-radius:10px !important;
    }
    .nowbar{
      left:9px !important;
      right:9px !important;
      top:9px !important;
      padding:6px 11px !important;
    }
    .nowbar .now-title{
      font-size:12px !important;
    }
    .controls{
      margin-top:7px !important;
      gap:7px !important;
    }
    .rc{
      width:29px !important;
      height:29px !important;
    }
    .rc svg{
      width:13px !important;
      height:13px !important;
    }
    .sound{
      height:29px !important;
      padding:0 10px !important;
      font-size:11px !important;
    }
    .counter{
      min-width:51px !important;
      padding:4px 8px !important;
      font-size:11px !important;
    }
    .playlist-logo{
      min-height:55px !important;
      padding-bottom:9px !important;
    }
    .playlist-logo img{
      width:48px !important;
      height:48px !important;
    }
    .playlist-logo-text{
      font-size:15.4px !important;
    }
    .movie-tabs{
      gap:6px !important;
    }
    .vtab{
      padding:7px 9px !important;
      border-radius:9px !important;
      gap:7px !important;
      font-size:10.5px !important;
      line-height:1.18 !important;
    }
    .vtab .vnum{
      font-size:10px !important;
      min-width:20px !important;
    }
    .menupanel{
      padding:13px 18px !important;
      border-radius:13px !important;
    }
    .menupanel::after{
      inset:7px !important;
      border-radius:10px !important;
    }
    .menugrid{
      gap:9px 9px !important;
    }
    .mapp{
      gap:5px !important;
      padding:1px 2px !important;
    }
    .mapp .tile,
    .mapp[data-colored="true"] .tile{
      max-width:64px !important;
    }
    .mapp .label,
    .mapp[data-colored="true"] .label{
      font-size:10.6px !important;
      line-height:1.18 !important;
      min-height:2.55em !important;
    }
  }

  @media (min-width:1025px) and (max-width:1180px){
    main .wrapfull{
      max-width:1034px !important;
    }
    .video-row{
      grid-template-columns:minmax(0,1fr) 227px !important;
    }
    .mapp .tile,
    .mapp[data-colored="true"] .tile{
      max-width:59px !important;
    }
    .mapp .label,
    .mapp[data-colored="true"] .label{
      font-size:10.1px !important;
    }
  }

  body{
    background:
      radial-gradient(circle at 9% 9%, rgba(215,17,46,.105), transparent 30%),
      radial-gradient(circle at 86% 7%, rgba(201,163,107,.16), transparent 28%),
      radial-gradient(circle at 50% 96%, rgba(120,70,34,.08), transparent 32%),
      linear-gradient(135deg,#fff 0%,#fff9f0 42%,#f7efe4 100%) !important;
  }
  body::before{
    opacity:.42 !important;
    background-image:
      linear-gradient(rgba(125,78,48,.045) 1px, transparent 1px),
      linear-gradient(90deg, rgba(125,78,48,.038) 1px, transparent 1px),
      radial-gradient(circle, rgba(215,17,46,.09) 1px, transparent 1.5px) !important;
    background-size:56px 56px,56px 56px,24px 24px !important;
    mask-image:linear-gradient(to bottom, rgba(0,0,0,.72), transparent 92%) !important;
  }
  body::after{
    inset:auto -12vw -18vw auto !important;
    width:42vw !important;
    height:42vw !important;
    opacity:.8 !important;
    background:
      radial-gradient(circle at 42% 42%, rgba(215,17,46,.13), transparent 58%),
      radial-gradient(circle at 58% 58%, rgba(201,163,107,.12), transparent 70%) !important;
    filter:blur(18px) !important;
  }

  main{
    isolation:isolate;
    background:
      linear-gradient(120deg,rgba(255,255,255,.74),rgba(255,250,242,.86)),
      radial-gradient(circle at 18% 20%,rgba(215,17,46,.105),transparent 31%),
      radial-gradient(circle at 82% 6%,rgba(201,163,107,.18),transparent 34%),
      radial-gradient(circle at 60% 92%,rgba(215,17,46,.055),transparent 31%) !important;
  }
  main::before{
    content:"IWATAYA FOOD GROUP" !important;
    display:block !important;
    position:absolute !important;
    left:50% !important;
    top:clamp(4px,1.8vw,24px) !important;
    transform:translateX(-50%) !important;
    width:max-content !important;
    font-family:'Shippori Mincho',serif !important;
    font-size:clamp(50px,9vw,156px) !important;
    letter-spacing:.11em !important;
    line-height:1 !important;
    color:rgba(215,17,46,.052) !important;
    text-shadow:0 1px 0 rgba(255,255,255,.9) !important;
    white-space:nowrap !important;
    pointer-events:none !important;
    z-index:-1 !important;
  }
  main::after{
    content:"";
    position:absolute;
    inset:clamp(14px,2.2vw,32px) clamp(12px,3vw,48px) auto;
    height:min(58vw,560px);
    pointer-events:none;
    z-index:-1;
    border-radius:42px;
    background:
      linear-gradient(135deg,rgba(255,255,255,.55),rgba(255,255,255,0)),
      radial-gradient(circle at 18% 20%,rgba(255,255,255,.82),transparent 34%),
      radial-gradient(circle at 76% 22%,rgba(245,215,156,.16),transparent 32%),
      repeating-linear-gradient(135deg,rgba(215,17,46,.035) 0 1px,transparent 1px 14px);
    border:1px solid rgba(255,255,255,.72);
    box-shadow:0 28px 80px rgba(94,68,48,.09), inset 0 1px 0 rgba(255,255,255,.86);
  }
  .hero{
    position:relative;
  }
  .hero::before{
    content:"";
    position:absolute;
    inset:-14px -16px;
    z-index:-1;
    pointer-events:none;
    border-radius:28px;
    background:
      linear-gradient(145deg,rgba(255,255,255,.38),rgba(255,249,240,.18)),
      radial-gradient(circle at 8% 16%,rgba(215,17,46,.10),transparent 28%),
      radial-gradient(circle at 95% 8%,rgba(201,163,107,.14),transparent 28%);
    border:1px solid rgba(255,255,255,.54);
    box-shadow:0 18px 54px rgba(92,55,28,.08), inset 0 1px 0 rgba(255,255,255,.62);
  }
  .menupanel{
    box-shadow:0 22px 56px rgba(78,35,28,.18),0 8px 26px rgba(215,17,46,.10),inset 0 1px 0 rgba(255,255,255,.18) !important;
  }

  footer.site{
    position:relative;
    overflow:hidden;
    padding:0 !important;
    color:#f2e9dd !important;
    border-top:0 !important;
    background:
      radial-gradient(circle at 10% 14%,rgba(255,83,104,.26),transparent 28%),
      radial-gradient(circle at 90% 22%,rgba(245,215,156,.18),transparent 30%),
      linear-gradient(135deg,#2b080f 0%,#160b09 48%,#070403 100%) !important;
    box-shadow:0 -26px 70px rgba(63,26,18,.18) !important;
  }
  footer.site::before{
    height:5px !important;
    background:linear-gradient(90deg,var(--main),#ff5368,var(--gold-light),var(--gold),var(--main)) !important;
    box-shadow:0 0 26px rgba(215,17,46,.42) !important;
  }
  footer.site::after{
    content:"IWATAYA";
    position:absolute;
    right:-.08em;
    bottom:-.26em;
    font-family:'Shippori Mincho',serif;
    font-weight:700;
    font-size:clamp(96px,16vw,250px);
    letter-spacing:.08em;
    line-height:1;
    color:rgba(255,255,255,.035);
    pointer-events:none;
  }
  footer.site .wrapfull{
    position:relative;
    z-index:1;
    padding-top:clamp(34px,4vw,58px) !important;
    padding-bottom:clamp(24px,3vw,38px) !important;
  }
  .footer-inner{
    display:grid;
    grid-template-columns:minmax(0,1.1fr) minmax(320px,.9fr);
    gap:clamp(22px,3vw,48px);
    align-items:stretch;
    padding:clamp(20px,2.4vw,34px);
    border:1px solid rgba(255,255,255,.12);
    border-radius:28px;
    background:
      linear-gradient(135deg,rgba(255,255,255,.12),rgba(255,255,255,.035)),
      radial-gradient(circle at 14% 10%,rgba(245,215,156,.13),transparent 32%);
    box-shadow:0 24px 72px rgba(0,0,0,.30),inset 0 1px 0 rgba(255,255,255,.16);
    backdrop-filter:blur(14px);
  }
  .footer-brand{
    position:relative;
    min-width:0;
    padding:4px 0;
  }
  .footer-eyebrow{
    display:inline-flex;
    align-items:center;
    gap:10px;
    color:var(--gold-light);
    font-size:10px;
    font-weight:800;
    letter-spacing:.28em;
    text-transform:uppercase;
  }
  .footer-eyebrow::before{
    content:"";
    width:34px;
    height:1px;
    background:linear-gradient(90deg,var(--main),var(--gold-light));
    box-shadow:0 0 14px rgba(215,17,46,.45);
  }
  .footer-logo-text{
    margin:12px 0 10px;
    color:#fff;
    font-family:'Shippori Mincho',serif;
    font-size:clamp(24px,3vw,38px);
    font-weight:700;
    line-height:1.18;
    letter-spacing:.07em;
    text-shadow:0 12px 32px rgba(0,0,0,.34);
  }
  .footer-logo-text span{
    color:#ffdbe0;
  }
  .footer-message{
    margin:0;
    max-width:620px;
    color:rgba(255,255,255,.72);
    font-size:13.5px;
    line-height:1.9;
  }
  .footer-contact{
    display:flex;
    flex-direction:column;
    justify-content:center;
    gap:12px;
  }
  .footer-contact-label{
    margin:0;
    color:rgba(245,215,156,.88);
    font-size:10px;
    font-weight:800;
    letter-spacing:.26em;
    text-transform:uppercase;
  }
  footer .tels{
    display:grid !important;
    grid-template-columns:1fr !important;
    gap:12px !important;
  }
  footer .tels a{
    position:relative;
    display:block;
    min-height:74px;
    padding:15px 18px 15px 58px !important;
    color:#fff !important;
    border:1px solid rgba(255,255,255,.16) !important;
    border-radius:18px !important;
    background:linear-gradient(135deg,rgba(255,255,255,.12),rgba(255,255,255,.045)) !important;
    box-shadow:0 14px 34px rgba(0,0,0,.22),inset 0 1px 0 rgba(255,255,255,.12) !important;
    transition:transform .2s var(--ease),border-color .2s var(--ease),box-shadow .2s var(--ease),background .2s var(--ease) !important;
  }
  footer .tels a::before{
    content:"TEL";
    position:absolute;
    left:16px;
    top:50%;
    transform:translateY(-50%);
    width:30px;
    height:30px;
    display:flex;
    align-items:center;
    justify-content:center;
    border-radius:50%;
    color:#fff;
    font-family:'Zen Kaku Gothic New',sans-serif;
    font-size:8px;
    font-weight:900;
    letter-spacing:.08em;
    background:linear-gradient(135deg,var(--main),var(--main-deep));
    box-shadow:0 8px 18px rgba(215,17,46,.28);
  }
  footer .tels a:hover{
    transform:translateY(-3px) !important;
    border-color:rgba(245,215,156,.52) !important;
    background:linear-gradient(135deg,rgba(255,255,255,.18),rgba(255,255,255,.07)) !important;
    box-shadow:0 20px 44px rgba(0,0,0,.30),0 0 24px rgba(215,17,46,.18),inset 0 1px 0 rgba(255,255,255,.18) !important;
  }
  footer .tels small{
    color:rgba(245,215,156,.80) !important;
    font-size:10px !important;
    letter-spacing:.13em !important;
    margin-bottom:3px !important;
  }
  .footer-bottom{
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:18px;
    padding-top:22px;
  }
  footer .links{
    justify-content:flex-start !important;
    gap:8px !important;
    font-size:12px !important;
  }
  footer .links a{
    color:rgba(255,255,255,.78) !important;
    background:rgba(255,255,255,.06) !important;
    border-color:rgba(255,255,255,.10) !important;
    padding:9px 14px !important;
  }
  footer .links a:hover{
    color:#fff !important;
    border-color:rgba(245,215,156,.46) !important;
    background:rgba(255,255,255,.12) !important;
  }
  footer .copy{
    margin:0 !important;
    color:rgba(255,255,255,.48) !important;
    font-size:10.5px !important;
    letter-spacing:.1em !important;
    text-align:right;
  }

  @media (min-width:1025px){
    main{
      padding-top:12px !important;
      padding-bottom:28px !important;
    }
    main::before{
      top:6px !important;
      font-size:clamp(44px,8vw,118px) !important;
      color:rgba(215,17,46,.044) !important;
    }
    main::after{
      inset:8px max(10px,calc((100vw - 1120px) / 2)) auto !important;
      height:620px !important;
      border-radius:30px !important;
    }
    .hero::before{
      inset:-10px -12px !important;
      border-radius:20px !important;
    }
  }
  @media (max-width:900px){
    .footer-inner{
      grid-template-columns:1fr;
    }
    .footer-bottom{
      align-items:flex-start;
      flex-direction:column;
    }
    footer .copy{
      text-align:left;
    }
  }
  @media (max-width:640px){
    main::before{
      font-size:52px !important;
      letter-spacing:.06em !important;
    }
    main::after{
      inset:10px 8px auto !important;
      height:68vh !important;
      border-radius:24px !important;
    }
    .hero::before{
      inset:-8px -6px !important;
      border-radius:20px !important;
    }
    footer.site .wrapfull{
      padding-top:30px !important;
      padding-bottom:28px !important;
    }
    .footer-inner{
      padding:20px 16px;
      border-radius:22px;
    }
    footer .tels a{
      padding-left:54px !important;
      font-size:17px !important;
    }
  }

  main > .wrapfull{
    position:relative;
    z-index:2;
  }
  main::before,
  main::after{
    z-index:0 !important;
  }

  .hero{
    position:relative !important;
    overflow:hidden !important;
    padding:clamp(14px,2vw,24px) !important;
    gap:clamp(12px,1.6vw,20px) !important;
    border-radius:30px !important;
    background:
      radial-gradient(circle at 13% 14%,rgba(255,255,255,.16),transparent 24%),
      radial-gradient(circle at 86% 10%,rgba(245,215,156,.18),transparent 28%),
      radial-gradient(circle at 52% 88%,rgba(215,17,46,.24),transparent 34%),
      linear-gradient(145deg,#463833 0%,#291f1c 38%,#170f0e 100%) !important;
    border:1px solid rgba(255,255,255,.28) !important;
    box-shadow:
      0 28px 86px rgba(70,38,22,.22),
      0 12px 34px rgba(215,17,46,.10),
      inset 0 1px 0 rgba(255,255,255,.24) !important;
    isolation:isolate !important;
  }
  .hero::before{
    content:"" !important;
    position:absolute !important;
    inset:0 !important;
    z-index:-1 !important;
    pointer-events:none !important;
    border-radius:inherit !important;
    background:
      linear-gradient(135deg,rgba(255,255,255,.14),transparent 32%,rgba(215,17,46,.08) 72%,rgba(245,215,156,.09)),
      repeating-linear-gradient(135deg,rgba(255,255,255,.045) 0 1px,transparent 1px 13px) !important;
    border:0 !important;
    box-shadow:none !important;
  }
  .hero::after{
    content:"" !important;
    position:absolute !important;
    inset:10px !important;
    z-index:-1 !important;
    pointer-events:none !important;
    border-radius:22px !important;
    border:1px solid rgba(245,215,156,.20) !important;
    background:
      radial-gradient(circle at 48% 0%,rgba(255,255,255,.12),transparent 28%),
      linear-gradient(180deg,rgba(255,255,255,.04),rgba(255,255,255,0) 45%) !important;
  }

  .videocol,
  .menupanel{
    background:transparent !important;
    border:0 !important;
    box-shadow:none !important;
    backdrop-filter:none !important;
  }
  .videocol{
    padding:0 !important;
    border-radius:22px !important;
  }
  .videocol::before,
  .menupanel::after{
    display:none !important;
  }
  .video-row{
    position:relative !important;
    z-index:1 !important;
    gap:clamp(12px,1.4vw,18px) !important;
    padding:0 0 clamp(12px,1.4vw,18px) !important;
  }
  .video-row::after{
    content:"";
    position:absolute;
    left:0;
    right:0;
    bottom:0;
    height:1px;
    background:linear-gradient(90deg,transparent,rgba(245,215,156,.34),rgba(255,255,255,.10),transparent);
    pointer-events:none;
  }
  .frame{
    box-shadow:
      0 24px 54px rgba(0,0,0,.38),
      0 0 0 1px rgba(255,255,255,.13),
      0 0 28px rgba(215,17,46,.10) !important;
  }
  .playlist-logo{
    border-radius:18px !important;
    background:linear-gradient(135deg,rgba(255,255,255,.08),rgba(255,255,255,.025)) !important;
    border:1px solid rgba(255,255,255,.10) !important;
    margin-bottom:8px !important;
    padding:7px 8px !important;
  }
  .vtab{
    background:linear-gradient(135deg,rgba(255,255,255,.12),rgba(255,255,255,.045)) !important;
    border-color:rgba(255,255,255,.16) !important;
    box-shadow:inset 0 1px 0 rgba(255,255,255,.10) !important;
  }
  .vtab[aria-current="true"]{
    background:linear-gradient(135deg,#d7112e,#a10a23 58%,#5d0615) !important;
    box-shadow:0 12px 28px rgba(215,17,46,.28), inset 0 1px 0 rgba(255,255,255,.18) !important;
  }
  .menucol{
    position:relative !important;
    z-index:1 !important;
    margin-top:0 !important;
    padding-top:clamp(10px,1.3vw,16px) !important;
  }
  .menupanel{
    padding:clamp(12px,1.6vw,20px) clamp(8px,1.4vw,18px) clamp(4px,1vw,10px) !important;
    border-radius:0 !important;
    overflow:visible !important;
  }
  .menupanel::before{
    content:"" !important;
    position:absolute !important;
    inset:0 !important;
    z-index:0 !important;
    pointer-events:none !important;
    border-radius:22px !important;
    opacity:.72 !important;
    background:
      radial-gradient(circle at 12% 12%,rgba(255,255,255,.10),transparent 24%),
      radial-gradient(circle at 88% 86%,rgba(245,215,156,.10),transparent 28%),
      linear-gradient(135deg,rgba(255,255,255,.055),rgba(255,255,255,.015)) !important;
    border:1px solid rgba(255,255,255,.08) !important;
  }
  .menugrid{
    position:relative !important;
    z-index:1 !important;
  }
  .mapp::before{
    background:linear-gradient(135deg,rgba(255,255,255,.13),rgba(255,255,255,.04)) !important;
    border:1px solid rgba(255,255,255,.10) !important;
  }
  .mapp .label,
  .mapp[data-colored="true"] .label{
    color:#fff !important;
    text-shadow:0 2px 9px rgba(0,0,0,.46),0 0 14px rgba(215,17,46,.12) !important;
  }
  .mapp .tile-img{
    filter:drop-shadow(0 10px 15px rgba(0,0,0,.34)) !important;
  }
  .mapp:hover .tile-img,
  .mapp:focus-visible .tile-img{
    filter:drop-shadow(0 15px 22px rgba(0,0,0,.42)) saturate(1.06) brightness(1.05) !important;
  }

  @media (min-width:1025px){
    main .wrapfull{
      max-width:1100px !important;
    }
    .hero{
      padding:10px 12px 12px !important;
      gap:0 !important;
      border-radius:16px !important;
      box-shadow:
        0 20px 56px rgba(70,38,22,.20),
        0 7px 22px rgba(215,17,46,.08),
        inset 0 1px 0 rgba(255,255,255,.24) !important;
    }
    .hero::after{
      inset:5px !important;
      border-radius:12px !important;
    }
    .video-row{
      padding-bottom:9px !important;
      gap:10px !important;
    }
    .videocol{
      padding:0 !important;
      border-radius:12px !important;
    }
    .playlist-logo{
      min-height:52px !important;
      margin-bottom:6px !important;
      padding:5px 6px !important;
      background:linear-gradient(135deg,rgba(255,255,255,.09),rgba(255,255,255,.03)) !important;
    }
    .menucol{
      padding-top:10px !important;
    }
    .menupanel{
      padding:8px 10px 2px !important;
      border-radius:0 !important;
    }
    .menupanel::before{
      border-radius:12px !important;
      background:
        radial-gradient(circle at 10% 10%,rgba(255,255,255,.08),transparent 25%),
        radial-gradient(circle at 90% 90%,rgba(245,215,156,.08),transparent 28%),
        linear-gradient(135deg,rgba(255,255,255,.045),rgba(255,255,255,.012)) !important;
    }
    .menugrid{
      gap:8px 8px !important;
    }
  }

  @media (max-width:900px){
    .hero{
      padding:14px !important;
      border-radius:24px !important;
    }
    .video-row{
      padding-bottom:14px !important;
    }
    .menucol{
      padding-top:14px !important;
    }
  }

  .menupanel{
    position:relative !important;
    background:
      radial-gradient(circle at 12% 10%, rgba(255,255,255,.28), transparent 28%),
      radial-gradient(circle at 86% 88%, rgba(245,215,156,.24), transparent 34%),
      linear-gradient(135deg, rgba(255,255,255,.18), rgba(255,244,220,.105) 45%, rgba(255,255,255,.065)) !important;
    border:1px solid rgba(255,255,255,.24) !important;
    box-shadow:
      inset 0 1px 0 rgba(255,255,255,.30),
      inset 0 -22px 48px rgba(120,43,34,.08),
      0 12px 34px rgba(0,0,0,.10) !important;
  }
  .menupanel::before{
    opacity:1 !important;
    background:
      radial-gradient(circle at 10% 12%, rgba(255,255,255,.22), transparent 27%),
      radial-gradient(circle at 88% 86%, rgba(245,215,156,.20), transparent 32%),
      linear-gradient(135deg, rgba(255,255,255,.16), rgba(255,255,255,.055)),
      repeating-linear-gradient(135deg, rgba(255,255,255,.055) 0 1px, transparent 1px 12px) !important;
    border:1px solid rgba(255,255,255,.18) !important;
    box-shadow:inset 0 1px 0 rgba(255,255,255,.20) !important;
  }
  .menugrid{
    position:relative !important;
    z-index:2 !important;
  }
  .mapp::before{
    background:linear-gradient(135deg, rgba(255,255,255,.18), rgba(255,255,255,.06)) !important;
    border-color:rgba(255,255,255,.16) !important;
  }

  @media (min-width:1025px){
    .menupanel{
      background:
        radial-gradient(circle at 10% 10%, rgba(255,255,255,.24), transparent 27%),
        radial-gradient(circle at 90% 88%, rgba(245,215,156,.20), transparent 32%),
        linear-gradient(135deg, rgba(255,255,255,.16), rgba(255,245,225,.095) 44%, rgba(255,255,255,.055)) !important;
      border-color:rgba(255,255,255,.22) !important;
      box-shadow:
        inset 0 1px 0 rgba(255,255,255,.26),
        inset 0 -18px 40px rgba(120,43,34,.07),
        0 8px 22px rgba(0,0,0,.09) !important;
    }
    .menupanel::before{
      background:
        radial-gradient(circle at 10% 10%, rgba(255,255,255,.18), transparent 26%),
        radial-gradient(circle at 90% 90%, rgba(245,215,156,.16), transparent 30%),
        linear-gradient(135deg, rgba(255,255,255,.13), rgba(255,255,255,.045)),
        repeating-linear-gradient(135deg, rgba(255,255,255,.045) 0 1px, transparent 1px 12px) !important;
      border-color:rgba(255,255,255,.14) !important;
    }
  }

  .hero .menupanel{
    background:
      linear-gradient(135deg, #c8142e 0%, #9d0b22 46%, #650615 100%) !important;
    border:1px solid rgba(255,226,178,.46) !important;
    box-shadow:
      inset 0 1px 0 rgba(255,255,255,.24),
      inset 0 -14px 34px rgba(0,0,0,.18),
      0 12px 30px rgba(72,16,20,.26) !important;
  }
  .hero .menupanel::before{
    opacity:.42 !important;
    background:
      linear-gradient(135deg, rgba(255,255,255,.12), transparent 28%, rgba(0,0,0,.08) 72%),
      repeating-linear-gradient(135deg, rgba(255,255,255,.045) 0 1px, transparent 1px 12px) !important;
    border:1px solid rgba(245,215,156,.24) !important;
    box-shadow:none !important;
    backdrop-filter:none !important;
    -webkit-backdrop-filter:none !important;
  }
  .hero .menugrid{
    position:relative !important;
    z-index:2 !important;
  }
  .hero .mapp::before{
    background:linear-gradient(135deg, rgba(255,255,255,.18), rgba(255,255,255,.055)) !important;
    border:1px solid rgba(255,255,255,.18) !important;
  }
  .hero .mapp .label,
  .hero .mapp[data-colored="true"] .label{
    color:#fff !important;
    text-shadow:
      0 2px 4px rgba(0,0,0,.72),
      0 0 10px rgba(80,0,10,.35) !important;
  }
  .hero .mapp .tile-img{
    filter:drop-shadow(0 7px 12px rgba(0,0,0,.44)) !important;
  }
  .hero .mapp:hover .tile-img,
  .hero .mapp:focus-visible .tile-img{
    filter:drop-shadow(0 11px 18px rgba(0,0,0,.50)) saturate(1.07) brightness(1.05) !important;
  }

  @media (min-width:1025px){
    .hero .menupanel{
      background:
        linear-gradient(135deg, #c9142e 0%, #a00b23 48%, #660615 100%) !important;
      border-color:rgba(255,226,178,.42) !important;
      box-shadow:
        inset 0 1px 0 rgba(255,255,255,.22),
        inset 0 -12px 28px rgba(0,0,0,.16),
        0 8px 22px rgba(72,16,20,.24) !important;
    }
    .hero .menupanel::before{
      opacity:.38 !important;
      background:
        linear-gradient(135deg, rgba(255,255,255,.10), transparent 30%, rgba(0,0,0,.08) 75%),
        repeating-linear-gradient(135deg, rgba(255,255,255,.04) 0 1px, transparent 1px 12px) !important;
      border-color:rgba(245,215,156,.20) !important;
    }
  }

  .hero .menupanel{
    border-radius:22px !important;
    overflow:hidden !important;
  }
  .hero .menupanel::before{
    border-radius:22px !important;
  }
  .hero .menucol{
    border-radius:22px !important;
  }

  @media (min-width:1025px){
    .hero .menupanel{
      border-radius:16px !important;
      overflow:hidden !important;
    }
    .hero .menupanel::before{
      border-radius:16px !important;
    }
    .hero .menucol{
      border-radius:16px !important;
    }
  }

  @media (max-width:900px){
    .hero .menupanel{
      border-radius:20px !important;
    }
    .hero .menupanel::before{
      border-radius:20px !important;
    }
  }

  .playlist-side{
    display:none !important;
  }
  .video-row{
    grid-template-columns:minmax(0,1fr) !important;
    gap:0 !important;
  }
  .video-main{
    width:100% !important;
    min-width:0 !important;
  }
  .frame .nowbar{
    display:inline-flex !important;
    left:clamp(10px,1.4vw,18px) !important;
    right:auto !important;
    top:clamp(10px,1.4vw,18px) !important;
    width:auto !important;
    max-width:calc(100% - 32px) !important;
    padding:10px 16px !important;
    border-radius:999px !important;
    background:linear-gradient(135deg,rgba(0,0,0,.68),rgba(0,0,0,.34)) !important;
    border:1px solid rgba(255,255,255,.22) !important;
    box-shadow:0 10px 24px rgba(0,0,0,.28),inset 0 1px 0 rgba(255,255,255,.14) !important;
    backdrop-filter:blur(8px) !important;
    -webkit-backdrop-filter:blur(8px) !important;
  }
  .frame .nowbar .now-title{
    display:block !important;
    max-width:min(640px,calc(100vw - 80px)) !important;
    font-size:clamp(13px,1.2vw,17px) !important;
    line-height:1.25 !important;
  }

  @media (min-width:1025px){
    .video-row{
      grid-template-columns:minmax(0,1fr) !important;
      gap:0 !important;
      padding-bottom:9px !important;
    }
    .frame .nowbar{
      left:10px !important;
      top:10px !important;
      padding:7px 12px !important;
      border-radius:12px !important;
      max-width:calc(100% - 20px) !important;
    }
    .frame .nowbar .badge{
      font-size:8px !important;
      letter-spacing:.16em !important;
    }
    .frame .nowbar .badge::before{
      width:10px !important;
    }
    .frame .nowbar .now-title{
      font-size:12px !important;
      max-width:calc(100vw - 120px) !important;
    }
  }

  @media (max-width:640px){
    .frame .nowbar{
      left:10px !important;
      top:10px !important;
      max-width:calc(100% - 20px) !important;
      padding:8px 11px !important;
      border-radius:14px !important;
    }
    .frame .nowbar .badge{
      display:none !important;
    }
    .frame .nowbar .now-title{
      font-size:12.5px !important;
      max-width:calc(100vw - 58px) !important;
    }
  }

  @media (min-width:1025px){
    .frame{
      aspect-ratio:16 / 7.55 !important;
    }
    .frame video{
      object-fit:cover !important;
      object-position:center center !important;
    }
    .video-row{
      padding-bottom:6px !important;
    }
    .progress{
      margin:5px 2px 0 !important;
    }
    .controls{
      margin-top:5px !important;
      gap:6px !important;
    }
    .menucol{
      padding-top:7px !important;
    }
    .menupanel{
      padding-top:7px !important;
      padding-bottom:1px !important;
    }
  }

  @media (min-width:1025px) and (max-height:900px){
    .frame{
      aspect-ratio:16 / 7.25 !important;
    }
    .hero{
      padding-top:8px !important;
      padding-bottom:9px !important;
    }
    .video-row{
      padding-bottom:5px !important;
    }
    .menugrid{
      gap:7px 8px !important;
    }
    .mapp .tile,
    .mapp[data-colored="true"] .tile{
      max-width:61px !important;
    }
    .mapp .label,
    .mapp[data-colored="true"] .label{
      font-size:10.2px !important;
      min-height:2.45em !important;
    }
  }

  .control-brand{
    display:inline-flex;
    align-items:center;
    gap:8px;
    height:46px;
    padding:0 16px 0 10px;
    border-radius:999px;
    background:linear-gradient(145deg,rgba(255,255,255,.14),rgba(255,255,255,.04));
    border:1px solid rgba(255,255,255,.20);
    color:#fff;
    box-shadow:0 10px 20px rgba(0,0,0,.18), inset 0 1px 0 rgba(255,255,255,.16);
    white-space:nowrap;
  }
  .control-brand img{
    width:28px;
    height:28px;
    display:block;
    flex:none;
    padding:3px;
    border-radius:50%;
    background:#fff;
    object-fit:contain;
    box-shadow:0 6px 14px rgba(0,0,0,.24), inset 0 0 0 1px rgba(215,17,46,.14);
  }
  .control-brand-text{
    display:block;
    color:#fff;
    font-family:'Shippori Mincho',serif;
    font-weight:700;
    font-size:13px;
    line-height:1.1;
    letter-spacing:.04em;
    text-shadow:0 2px 8px rgba(0,0,0,.36);
  }
  .control-brand-text span{
    color:#ffdae0;
  }

  @media (min-width:1025px){

    .frame[data-video-index="1"] video{
      object-position:center bottom !important;
    }
    .control-brand{
      height:29px !important;
      padding:0 10px 0 7px !important;
      gap:6px !important;
      border-color:rgba(255,255,255,.16) !important;
      background:linear-gradient(145deg,rgba(255,255,255,.13),rgba(255,255,255,.04)) !important;
      box-shadow:0 8px 16px rgba(0,0,0,.16), inset 0 1px 0 rgba(255,255,255,.14) !important;
    }
    .control-brand img{
      width:23px !important;
      height:23px !important;
      padding:2px !important;
    }
    .control-brand-text{
      font-size:11px !important;
      letter-spacing:.02em !important;
    }
  }

  @media (max-width:640px){
    .control-brand{
      order:2;
      flex:1 1 auto;
      justify-content:center;
      height:42px;
      padding:0 12px;
    }
    .control-brand img{
      width:26px;
      height:26px;
    }
    .control-brand-text{
      font-size:12px;
    }
  }

  .controls .control-brand{
    order:20 !important;
    margin-left:6px !important;
    flex:none !important;
  }
  .controls .sound{
    order:15 !important;
  }
  .controls .dots{
    order:10 !important;
  }
  .controls .spacer{
    order:5 !important;
    flex:1 1 auto !important;
  }
  @media (max-width:640px){
    .controls .control-brand{
      order:30 !important;
      width:100%;
      margin-left:0 !important;
    }
  }

  .controls{
    justify-content:flex-start !important;
  }
  .controls .cluster{
    order:1 !important;
    flex:none !important;
  }
  .controls .dots{
    order:2 !important;
    flex:none !important;
    margin-left:4px !important;
  }
  .controls .sound{
    order:3 !important;
    flex:none !important;
    margin-left:2px !important;
  }
  .controls .counter{
    order:4 !important;
    flex:none !important;
    margin-left:2px !important;
  }
  .controls .spacer{
    order:10 !important;
    flex:1 1 auto !important;
  }
  .controls .control-brand{
    order:20 !important;
    margin-left:auto !important;
    flex:none !important;
    background:transparent !important;
    border:0 !important;
    box-shadow:none !important;
    padding:0 !important;
    height:auto !important;
    border-radius:0 !important;
  }
  .control-brand img{
    box-shadow:0 5px 12px rgba(0,0,0,.22), inset 0 0 0 1px rgba(215,17,46,.12) !important;
  }

  @media (min-width:1025px){
    .controls .dots{
      margin-left:3px !important;
    }
    .controls .sound{
      margin-left:1px !important;
    }
    .controls .counter{
      margin-left:1px !important;
    }
    .controls .control-brand{
      margin-left:auto !important;
      padding:0 !important;
      background:transparent !important;
      border:0 !important;
      box-shadow:none !important;
    }
  }

  @media (max-width:640px){
    .controls .control-brand{
      order:30 !important;
      width:100% !important;
      margin-left:0 !important;
      justify-content:center !important;
      padding:0 !important;
      background:transparent !important;
      border:0 !important;
      box-shadow:none !important;
    }
  }

  .frame .nowbar{
    padding:12px 18px !important;
  }
  .frame .nowbar .badge{
    font-size:10px !important;
  }
  .frame .nowbar .now-title{
    font-size:clamp(16px,1.55vw,22px) !important;
    line-height:1.28 !important;
    font-weight:700 !important;
    letter-spacing:.04em !important;
  }

  @media (min-width:1025px){
    .frame .nowbar{
      padding:8px 15px !important;
    }
    .frame .nowbar .badge{
      font-size:9px !important;
      letter-spacing:.18em !important;
    }
    .frame .nowbar .now-title{
      font-size:15px !important;
      line-height:1.25 !important;
      font-weight:700 !important;
    }
  }

  @media (max-width:640px){
    .frame .nowbar .now-title{
      font-size:14px !important;
      line-height:1.25 !important;
    }
  }

  .frame .nowbar{
    padding:14px 22px !important;
    max-width:min(92%, 900px) !important;
  }
  .frame .nowbar .badge{
    font-size:11px !important;
    letter-spacing:.22em !important;
  }
  .frame .nowbar .now-title{
    font-size:clamp(22px,2.25vw,34px) !important;
    line-height:1.24 !important;
    font-weight:800 !important;
    letter-spacing:.045em !important;
  }

  @media (min-width:1025px){
    .frame .nowbar{
      padding:10px 20px !important;
      border-radius:16px !important;
    }
    .frame .nowbar .badge{
      font-size:10px !important;
      letter-spacing:.20em !important;
    }
    .frame .nowbar .now-title{
      font-size:24px !important;
      line-height:1.22 !important;
      font-weight:800 !important;
    }
  }

  @media (max-width:640px){
    .frame .nowbar{
      padding:10px 14px !important;
    }
    .frame .nowbar .now-title{
      font-size:18px !important;
      line-height:1.22 !important;
      font-weight:800 !important;
    }
  }

  .frame .slide-image{
    position:absolute;
    inset:0;
    width:100%;
    height:100%;
    border:0;
    object-fit:cover;
    object-position:center center;
    background:#0c0a09;
    display:none;
    pointer-events:none;
  }
  .frame.is-image video{
    display:none !important;
  }
  .frame.is-image .slide-image{
    display:block !important;
  }
  .frame:not(.is-image) .slide-image{
    display:none !important;
  }
  @media (min-width:1025px){
    .frame.is-image .slide-image{
      object-fit:cover !important;
      object-position:center center !important;
    }
  }

/* ===== 追加調整：スマホ表示のファーストビューをコンパクト化 ===== */
@media (max-width:760px){
  header.site{
    padding:7px 0 6px !important;
    border-top-width:4px !important;
    box-shadow:0 6px 18px rgba(82,45,31,.10) !important;
  }
  header.site .wrapfull{
    padding:0 14px !important;
  }
  .brand{
    gap:8px !important;
  }
  .brand .logo{
    width:34px !important;
    height:34px !important;
    padding:3px !important;
  }
  .brand .mark{
    font-size:20px !important;
    letter-spacing:.05em !important;
  }
  .brand-sub{
    font-size:8px !important;
    letter-spacing:.18em !important;
    line-height:1 !important;
  }

  main{
    padding:8px 0 28px !important;
  }
  main > .wrapfull{
    padding:0 9px !important;
  }
  main::before{
    display:none !important;
  }
  main::after{
    inset:6px 6px auto !important;
    height:520px !important;
    border-radius:20px !important;
    opacity:.62 !important;
  }

  .hero{
    padding:9px 10px 10px !important;
    border-radius:18px !important;
    gap:0 !important;
  }
  .hero::after{
    inset:5px !important;
    border-radius:14px !important;
  }

  .videocol{
    padding:0 !important;
    border-radius:14px !important;
  }
  .movie-intro{
    display:none !important;
  }
  .video-row{
    padding-bottom:8px !important;
  }

  .frame{
    aspect-ratio:16 / 7.8 !important;
    border-radius:14px !important;
  }
  .frame::after{
    border-radius:14px !important;
    box-shadow:inset 0 0 0 1px rgba(255,255,255,.14), inset 0 -42px 72px rgba(0,0,0,.26) !important;
  }
  .frame video,
  .frame .slide-image{
    object-fit:cover !important;
    object-position:center center !important;
  }
  .frame[data-video-index="1"] video{
    object-position:center bottom !important;
  }

  .frame .nowbar{
    left:8px !important;
    top:8px !important;
    right:auto !important;
    max-width:calc(100% - 16px) !important;
    padding:6px 10px !important;
    border-radius:12px !important;
  }
  .frame .nowbar .badge{
    display:none !important;
  }
  .frame .nowbar .now-title{
    font-size:15px !important;
    line-height:1.18 !important;
    letter-spacing:.03em !important;
    max-width:calc(100vw - 58px) !important;
  }

  .progress{
    height:3px !important;
    margin:6px 5px 0 !important;
  }

  .controls{
    display:grid !important;
    grid-template-columns:auto minmax(0,1fr) auto !important;
    gap:6px 7px !important;
    align-items:center !important;
    margin-top:6px !important;
    flex-wrap:nowrap !important;
  }
  .controls .cluster{
    grid-column:1 !important;
    grid-row:1 !important;
    order:initial !important;
    gap:5px !important;
  }
  .rc{
    width:34px !important;
    height:34px !important;
  }
  .rc svg{
    width:15px !important;
    height:15px !important;
  }
  .controls .dots{
    grid-column:2 !important;
    grid-row:1 !important;
    order:initial !important;
    width:auto !important;
    justify-content:center !important;
    gap:5px !important;
    margin:0 !important;
    padding:0 !important;
  }
  .dot{
    width:6px !important;
    height:6px !important;
  }
  .dot[aria-current="true"]{
    width:22px !important;
  }
  .controls .counter{
    grid-column:3 !important;
    grid-row:1 !important;
    order:initial !important;
    min-width:50px !important;
    padding:4px 8px !important;
    font-size:11px !important;
    letter-spacing:.07em !important;
    margin:0 !important;
    text-align:center !important;
  }
  .controls .sound{
    grid-column:1 / span 2 !important;
    grid-row:2 !important;
    order:initial !important;
    width:auto !important;
    height:34px !important;
    padding:0 12px !important;
    gap:6px !important;
    font-size:12px !important;
    justify-content:center !important;
    margin:0 !important;
  }
  .sound svg{
    width:14px !important;
    height:14px !important;
  }
  .controls .control-brand{
    grid-column:3 !important;
    grid-row:2 !important;
    order:initial !important;
    width:auto !important;
    height:34px !important;
    justify-content:flex-end !important;
    margin:0 !important;
    padding:0 !important;
    flex:none !important;
  }
  .control-brand img{
    width:22px !important;
    height:22px !important;
    padding:2px !important;
  }
  .control-brand-text{
    font-size:11px !important;
    line-height:1.05 !important;
    letter-spacing:.02em !important;
  }
  .controls .spacer{
    display:none !important;
  }

  .menucol{
    padding-top:8px !important;
  }
  .menuhead{
    display:none !important;
  }
  .menupanel{
    padding:9px 10px 7px !important;
    border-radius:14px !important;
  }
  .menupanel::before{
    border-radius:14px !important;
  }
  .menugrid{
    grid-template-columns:repeat(4,1fr) !important;
    gap:7px 5px !important;
  }
  .mapp{
    gap:4px !important;
    padding:0 2px !important;
    border-radius:10px !important;
  }
  .mapp .tile,
  .mapp[data-colored="true"] .tile{
    max-width:56px !important;
  }
  .mapp .label,
  .mapp[data-colored="true"] .label{
    min-height:2.35em !important;
    font-size:10.3px !important;
    line-height:1.15 !important;
    letter-spacing:0 !important;
  }
}

@media (max-width:390px){
  .brand .mark{
    font-size:18px !important;
  }
  .frame .nowbar .now-title{
    font-size:14px !important;
  }
  .rc{
    width:31px !important;
    height:31px !important;
  }
  .controls{
    gap:5px !important;
  }
  .controls .sound{
    height:32px !important;
    font-size:11px !important;
    padding:0 10px !important;
  }
  .control-brand-text{
    display:none !important;
  }
  .mapp .tile,
  .mapp[data-colored="true"] .tile{
    max-width:52px !important;
  }
  .mapp .label,
  .mapp[data-colored="true"] .label{
    font-size:9.8px !important;
  }
}
