  @media screen and (max-width:767px){
    .content{padding:16px;}
    .stats{grid-template-columns:1fr 1fr;}
    .two{grid-template-columns:1fr;}
    .sl-row{grid-template-columns:44px 1fr 1fr 1fr;font-size:12px;}
    .sl-row span:nth-child(4),.sl-row span:last-child{display:none;}
    .st-row{grid-template-columns:1fr 1fr 1fr;font-size:12px;}
    .st-row span:nth-child(2),.st-row span:nth-child(4){display:none;}
    .ex-row{grid-template-columns:76px 1fr 92px 40px;font-size:12px;}
    .ex-row span:nth-child(3),.ex-row span:nth-child(5){display:none;}
    .segr{grid-template-columns:88px 1fr 88px;gap:8px;}
    .segr .sp{display:none;}
    .stats{grid-template-columns:1fr 1fr;}
    .shtbl th.nm{min-width:96px;font-size:12px;}
    .ev-row{grid-template-columns:48px minmax(0,1fr) 38px 38px 86px;gap:5px;font-size:12px;}
    .ev-row span:nth-child(3),.ev-row span:nth-child(4),.ev-row span:nth-child(7){display:none;}
    /* 編集/複製/削除ボタンが被らないよう最後の列に余裕を持たせる */
    .ev-row>span:last-child{gap:6px !important;}
    .ev-row .act{padding:5px;}
    .pk{grid-template-columns:16px 1fr 96px;}
    .cd{min-height:66px;padding:3px;}
    .cd-h span{font-size:11px;}
    .cd-a{opacity:1;}
    .ev-chip em{font-size:9.5px;} .ev-chip small{font-size:9px;}
    .links{flex-direction:column;}
    .lk{width:100%;}
    nav.bottom button{font-size:9px;}
    .ivgrid{grid-template-columns:1fr 1fr;}
    .ivform{padding:14px;}
    /* 明細をスマホでは1行=1カード化し、各入力欄に項目名ラベルを付ける */
    .ivtbl{border:none;background:none;}
    .ivrow{display:block;border:1px solid var(--line);border-radius:10px;background:var(--card);
      padding:10px 12px;margin-bottom:10px;position:relative;}
    .ivrow.hd{display:none;}
    .ivrow>span{display:flex;align-items:center;gap:8px;padding:5px 0;}
    .ivrow>span[data-label]::before{content:attr(data-label);flex:0 0 68px;font-size:11px;
      font-weight:600;color:var(--muted);}
    .ivrow .cell{flex:1;width:auto;font-size:14px;padding:8px 10px;text-align:left;}
    .ivrow .cell.r{text-align:right;}
    .ivrow .amt{justify-content:flex-start;font-size:15px;font-weight:700;color:var(--ink);}
    .ivrow .amt::before{color:var(--muted);}
    .ivrow .rm-c{position:absolute;top:6px;right:8px;padding:0;}
    .ivrow .rm-c .del{padding:6px;}
    .ivrow.empty-r{display:block;padding:12px;}
    .ivsum{width:100%;}
    .wl-acts{margin-left:0;width:100%;}
    .wl-acts .save,.wl-acts .prt{flex:1;justify-content:center;}
    .wl-grid .row{grid-template-columns:48px 28px 1fr 74px 74px 52px;gap:4px;padding:6px 8px;}
    .wl-grid .cell{padding:4px 5px;font-size:12px;}
    .wl-grid .c-r{font-size:12px;}
    .wl-grid .row.so-row{grid-template-columns:40px minmax(0,1.5fr) 44px 44px 38px 62px;gap:4px;padding:8px 6px;font-size:12px;}
    .so-row .c-t{white-space:nowrap;}
    .att-sel{padding:4px 2px;font-size:11px;}
    /* サイドバーをスライド式ドロワーにして、全機能をスマホからも開けるようにする */
    aside{display:flex;position:fixed;top:0;left:0;bottom:0;width:82%;max-width:300px;z-index:60;
      transform:translateX(-100%);transition:transform .25s ease;overflow-y:auto;
      padding-bottom:env(safe-area-inset-bottom);}
    body.nav-open aside{transform:translateX(0);}
    #nav-overlay{display:none;position:fixed;inset:0;z-index:55;background:rgba(16,22,32,.42);}
    body.nav-open #nav-overlay{display:block;}
    /* ハンバーガー：枠付きボタン＋「メニュー」ラベル */
    .menu-btn{display:flex;align-items:center;justify-content:center;gap:5px;color:var(--ink);
      padding:7px 11px;margin-right:8px;flex-shrink:0;border:1px solid var(--line);
      border-radius:9px;background:var(--surface);font-size:12px;font-weight:600;}
    .menu-btn::after{content:"メニュー";}
    .menu-btn:active{background:var(--surface2);}
    header.top{display:flex;}
    /* スマホのヘッダーでは残り時間だけを小さく出す */
    .demo-tt.hd .tl{display:none;}
    main{padding-bottom:64px;}
    nav.bottom{display:flex;position:fixed;bottom:0;left:0;right:0;z-index:30;background:var(--card);
      border-top:1px solid var(--line);padding-bottom:env(safe-area-inset-bottom);}
    nav.bottom button{flex:1;display:flex;flex-direction:column;align-items:center;gap:2px;padding:8px 0;color:var(--faint);font-size:10px;font-weight:500;}
    .svc{grid-template-columns:1fr;}
    .modal .mb{grid-template-columns:1fr;}
    .up-row{grid-template-columns:1.2fr 74px 90px 64px;font-size:12px;}
    .up-row span:nth-child(4){display:none;}
    .up-row2{grid-template-columns:84px 1fr 84px 60px;font-size:12px;}
    .up-row2 span:nth-child(4),.up-row2 span:nth-child(5){display:none;}
    /* ================= スマホのホーム画面 ================= */
    /* 落ち着いたカード型のヘッダー。今日の状況をひと目で確認できる */
    .m-hero{display:block;position:relative;overflow:hidden;margin:-16px -16px 18px;
      padding:18px 16px 16px;border-bottom:1px solid var(--line);background:var(--card);}
    .mh-aur,.mh-dots,.mh-scan{display:none;}
    .mh-top{display:flex;align-items:center;justify-content:space-between;}
    .mh-orb{width:38px;height:38px;border-radius:11px;display:flex;align-items:center;justify-content:center;
      background:var(--accent-soft);}
    .mh-orb img{width:24px;height:24px;}
    .mh-date{font-size:11px;color:var(--faint);letter-spacing:.04em;text-align:right;}
    .mh-date b{display:block;font-size:15px;color:var(--ink);font-weight:700;}
    .mh-digest{display:flex;gap:8px;margin-top:16px;}
    .mh-digest .dg{flex:1;background:var(--surface);border:1px solid var(--line);
      border-radius:12px;padding:11px 8px;text-align:center;}
    .mh-digest .pd{display:none;}
    .mh-digest .n{font-size:23px;font-weight:700;color:var(--ink);display:inline-block;letter-spacing:-.01em;}
    .mh-digest .l{font-size:9.5px;color:var(--faint);margin-top:2px;line-height:1.35;}
    .pop2{animation:mhBump .3s ease-out;}
    @keyframes mhBump{50%{transform:scale(1.16);}}
    .mh-ticker{margin-top:12px;overflow:hidden;position:relative;height:18px;
      border-top:1px solid var(--line);padding-top:7px;}
    .mh-ticker div{position:absolute;white-space:nowrap;font-size:10.5px;color:var(--muted);}
    /* 入場アニメ（控えめに） */
    .mh-a{opacity:0;transform:translateY(8px);animation:mhPop .4s cubic-bezier(.22,.8,.3,1) forwards;}
    @keyframes mhPop{to{opacity:1;transform:none;}}
    .mh-a.a1{animation-delay:.02s;} .mh-a.a2{animation-delay:.09s;} .mh-a.a3{animation-delay:.16s;}
    /* サービスは2列タイル。色は使わず、余白と階層で見せる */
    .svc{grid-template-columns:1fr 1fr;gap:10px;}
    .svc .t{padding:14px 12px;border-radius:13px;position:relative;overflow:hidden;
      opacity:0;transform:translateY(8px);animation:mhPop .4s cubic-bezier(.22,.8,.3,1) forwards;}
    .svc .t:nth-child(1){animation-delay:.18s;} .svc .t:nth-child(2){animation-delay:.24s;}
    .svc .t:nth-child(3){animation-delay:.30s;} .svc .t:nth-child(4){animation-delay:.36s;}
    .svc .t:active{transform:scale(.98);}
    .svc .t .chv{display:none;}
    .svc .t .h{margin-bottom:9px;}
    .svc .t .ic{width:38px;height:38px;border-radius:11px;}
    .svc .t.t1 .ic{background:var(--accent-soft);color:var(--accent);}
    .svc .t.t2 .ic{background:rgba(14,159,135,.12);color:#0B7E6C;}
    .svc .t.t3 .ic{background:rgba(179,124,44,.13);color:#9A6A20;}
    .svc .t.t4 .ic{background:rgba(110,90,196,.13);color:#5B4BB0;}
    .svc .t .name{font-size:13px;}
    .svc .t .note{font-size:10px;line-height:1.5;}
    .rip{position:absolute;border-radius:50%;background:var(--accent-soft);transform:scale(0);
      animation:mhRip .6s ease-out forwards;pointer-events:none;}
    @keyframes mhRip{to{transform:scale(4);opacity:0;}}
    .hello{margin-top:2px;}

  }

  /* 端末側で「視差を減らす」設定の方には、演出を止める */
  @media screen and (max-width:767px) and (prefers-reduced-motion:reduce){
    .m-hero *,.svc .t{animation:none !important;}
    .m-hero .mh-a,.svc .t{opacity:1 !important;transform:none !important;}
  }
