:root{
    --cream:#f5f9f7;       /* page background — soft mint white */
    --beige:#e9f2ee;       /* band background — light mint */
    --beige-d:#dce9e3;     /* slightly deeper mint-gray */
    --ink:#15211d;         /* PRIMARY TEXT — near-black green-charcoal */
    --ink-s:#5d6c66;       /* secondary/muted text — slate */
    --green:#14b17e;       /* ACCENT — mint (irep) */
    --green-d:#0e9166;     /* accent hover / accent text — deeper mint */
    --card:#ffffff;        /* card surface — white */
    --line:rgba(20,60,45,.12); /* hairline borders/dividers */
    --on-accent:#ffffff;   /* white text/icon that sits ON the mint accent */
    --cyan:#26c6da;        /* secondary accent (sparingly) */
    --max:124rem;
  }
  *{box-sizing:border-box;margin:0;padding:0}
  html{scroll-behavior:smooth;font-size:62.5%;overflow-x:clip}
  body{
    font-family:"Zen Kaku Gothic New","Hiragino Sans","Noto Sans JP",sans-serif;
    background:var(--cream);color:var(--ink);line-height:2.1;letter-spacing:.03em;
    font-size:1.6rem;font-weight:500;-webkit-font-smoothing:antialiased;font-feature-settings:"palt" on;
    overflow-x:hidden;
  }
  /* ローディング・スプラッシュ（可愛い四足歩行ロボがゲージ上をSTART→GOALまで走り、走った分ゲージが満ちる→フェードアウト） */
  #loader{position:fixed;inset:0;z-index:9999;background:#ffffff;display:grid;place-items:center;animation:loaderOut .5s ease 2.4s forwards}
  .loader-in{display:flex;flex-direction:column;align-items:center;gap:1.2rem;animation:loaderPop .5s ease both}
  .ldtrack{position:relative;width:27rem;height:1.4rem;border-radius:999px;background:#dbe8e2;box-shadow:inset 0 .1rem .3rem rgba(20,60,45,.1)}
  .ldfill{position:absolute;left:0;top:0;bottom:0;width:0;border-radius:999px;background:linear-gradient(90deg,#43e0a8,var(--green));animation:ldrun 2.15s cubic-bezier(.55,.02,.3,1) forwards}
  .ldrobo{position:absolute;left:0;bottom:100%;margin-bottom:-.35rem;transform:translateX(-50%);animation:ldrunx 2.15s cubic-bezier(.55,.02,.3,1) forwards}
  .robo{display:block;animation:ldbob .3s ease-in-out infinite}
  .robo .leg{transform-box:fill-box;transform-origin:50% 8%}
  .robo .lg-a{animation:ldleg .3s linear infinite}
  .robo .lg-b{animation:ldleg .3s linear infinite;animation-delay:-.15s}
  .ldlabels{display:flex;justify-content:space-between;width:27rem;font-family:"Zen Maru Gothic",sans-serif;font-weight:700;font-size:1.1rem;letter-spacing:.16em;color:#9aa8a2}
  .loader-name{font-family:"Zen Maru Gothic",sans-serif;font-weight:900;font-size:2.4rem;color:#15211d;letter-spacing:.08em;line-height:1;margin-top:.6rem}
  @keyframes ldrun{from{width:0}to{width:100%}}
  @keyframes ldrunx{from{left:0}to{left:100%}}
  @keyframes ldleg{0%,100%{transform:rotate(16deg)}50%{transform:rotate(-16deg)}}
  @keyframes ldbob{0%,100%{transform:translateY(0)}50%{transform:translateY(-.18rem)}}
  @keyframes loaderPop{from{opacity:0;transform:translateY(.7rem)}to{opacity:1;transform:none}}
  @keyframes loaderOut{to{opacity:0;visibility:hidden}}
  @media (prefers-reduced-motion:reduce){.ldfill{width:100%;animation:none}.ldrobo{left:100%;animation:none}.robo,.robo .leg{animation:none}#loader{animation:loaderOut .3s ease .7s forwards}}
  a{color:inherit;text-decoration:none}
  img{max-width:100%;display:block}
  .maru{font-family:"Zen Maru Gothic","Hiragino Maru Gothic ProN",sans-serif}
  /* 日本語見出しの改行制御: 文節を inline-block でまとめ、語中では折らず切れ目だけで改行 */
  .nw{display:inline-block}
  .wrap{width:100%;max-width:var(--max);margin:0 auto;padding:0 3.2rem}

  /* caption label */
  .cap{display:inline-flex;align-items:center;gap:.8rem;font-family:"Zen Maru Gothic",sans-serif;font-weight:700;font-size:1.3rem;letter-spacing:.22em;color:var(--green-d)}
  .cap::before{content:"";width:2.2rem;height:.2rem;background:var(--green);border-radius:2px}

  /* green pill button */
  .btn{display:inline-flex;align-items:center;gap:1rem;font-family:"Zen Maru Gothic",sans-serif;font-weight:700;font-size:1.6rem;line-height:1;color:var(--on-accent);background:linear-gradient(135deg,#43e0a8 0%,var(--green) 52%,#12a069 100%);box-shadow:0 .6rem 2rem rgba(30,201,135,.3);height:5.4rem;padding:0 1rem 0 2.6rem;border-radius:2.7rem;transition:.2s}
  .btn:hover{background:linear-gradient(135deg,#54e6b3 0%,#1bbd80 52%,#0f9260 100%);transform:translateY(-2px);box-shadow:0 .9rem 2.6rem rgba(30,201,135,.42)}
  .btn .ico{width:3.4rem;height:3.4rem;border-radius:50%;background:#fff;display:grid;place-items:center}
  .btn .ico svg{width:2rem;height:2rem}
  .btn.dark{background:var(--beige-d);color:var(--ink)}
  .btn.dark .ico{background:var(--green)}
  .btn.outline{background:transparent;border:.2rem solid var(--ink);height:5.4rem;padding:0 2.6rem;color:var(--ink)}
  .btn.outline:hover{background:var(--ink);color:var(--on-accent)}

  /* header */
  header{position:fixed;top:0;left:0;right:0;z-index:60;background:transparent;transition:background .3s ease,backdrop-filter .3s ease}
  header::before{content:"";position:absolute;inset:0;z-index:-1;background:linear-gradient(180deg,rgba(8,17,32,.6),rgba(8,17,32,0));pointer-events:none;transition:opacity .3s ease}
  header.scrolled,header.inner{background:rgba(255,255,255,.94);backdrop-filter:blur(10px);border-bottom:.1rem solid var(--line);box-shadow:0 .4rem 2rem rgba(20,60,45,.06)}
  header.scrolled::before,header.inner::before{opacity:0}
  header.nav-hidden{transform:translateY(-100%);opacity:0;pointer-events:none}
  /* header text: white over the hero video, dark on solid header (scrolled / inner pages) */
  header .logo,header .nav .menu a.l{color:#fff;transition:color .25s ease}
  header .logo .by{color:rgba(255,255,255,.72)}
  header .navtoggle span{background:#fff}
  header.scrolled .logo,header.scrolled .nav .menu a.l,header.inner .logo,header.inner .nav .menu a.l{color:var(--ink)}
  header.scrolled .logo .by,header.inner .logo .by{color:var(--ink-s)}
  header.scrolled .navtoggle span,header.inner .navtoggle span{background:var(--ink)}
  header .wrap{max-width:none}
  .nav{display:flex;align-items:center;justify-content:space-between;height:7.2rem}
  .logo{display:flex;align-items:center;gap:1rem;font-family:"Zen Maru Gothic",sans-serif;font-weight:900;font-size:2.2rem;letter-spacing:.04em}
  .logo .face{width:3rem;height:3rem;border-radius:1rem;background:var(--green);position:relative;flex:none}
  .logo .face::before,.logo .face::after{content:"";position:absolute;top:1.1rem;width:.5rem;height:.5rem;border-radius:50%;background:var(--on-accent)}
  .logo .face::before{left:.8rem}.logo .face::after{right:.8rem}
  .logo .by{font-family:"Zen Kaku Gothic New";font-size:1.1rem;font-weight:700;color:var(--ink-s);margin-left:.3rem}
  .nav .menu{display:flex;align-items:center;gap:2.7rem}
  .nav .menu a.l{font-family:"Zen Maru Gothic";font-weight:700;font-size:1.4rem;letter-spacing:.02em;position:relative}
  .nav .menu a.l::after{content:"";position:absolute;left:0;right:0;bottom:-.7rem;height:.16rem;background:var(--green);border-radius:2px;transform:scaleX(0);transform-origin:center;transition:transform .25s ease}
  .nav .menu a.l:hover::after{transform:scaleX(1)}
  .nav .menu .navdiv{width:.1rem;height:2rem;background:rgba(255,255,255,.34);flex:none;margin:0 .3rem}
  header.scrolled .nav .menu .navdiv,header.inner .nav .menu .navdiv{background:var(--line)}
  .nav .btn{height:4.4rem;font-size:1.4rem;padding:0 .6rem 0 2rem}
  .nav .btn .ico{width:3rem;height:3rem}
  /* hamburger + mobile menu */
  .navtoggle{display:none;width:4.4rem;height:4.4rem;border:none;background:transparent;cursor:pointer;flex-direction:column;justify-content:center;gap:.55rem;padding:0}
  .navtoggle span{display:block;width:2.6rem;height:.28rem;background:var(--ink);border-radius:2px;margin:0 auto;transition:.25s}
  .navtoggle[aria-expanded="true"] span:nth-child(1){transform:translateY(.83rem) rotate(45deg)}
  .navtoggle[aria-expanded="true"] span:nth-child(2){opacity:0}
  .navtoggle[aria-expanded="true"] span:nth-child(3){transform:translateY(-.83rem) rotate(-45deg)}
  .mobilemenu{position:fixed;inset:7.2rem 0 auto 0;z-index:55;background:var(--cream);border-bottom:1px solid var(--line);padding:1.6rem 2.4rem 3rem;transform:translateY(-120%);transition:transform .3s cubic-bezier(.3,.8,.3,1);box-shadow:0 2rem 4rem rgba(0,0,0,.4);display:none}
  .mobilemenu.open{transform:translateY(0)}
  .mobilemenu nav{display:flex;flex-direction:column}
  .mobilemenu nav a{font-family:"Zen Maru Gothic";font-weight:700;font-size:1.9rem;padding:1.7rem .4rem;border-bottom:1px solid var(--line);color:var(--ink)}
  .mobilemenu .btn{width:100%;justify-content:center;margin-top:2rem;height:5.6rem}

  .content{position:relative;z-index:2;background:var(--cream);border-radius:3.6rem 3.6rem 0 0}
  @keyframes floaty{0%,100%{transform:translateY(0)}50%{transform:translateY(-1.5rem)}}
  /* second floating cluster (guide CONCEPT section) */
  .cscatter{position:relative;overflow:hidden}
  .scatter2{position:absolute;inset:0;z-index:0;pointer-events:none}
  .scatter2 .bot2{position:absolute;width:auto;opacity:.92;filter:drop-shadow(0 1.4rem 1.6rem rgba(0,0,0,.5));animation:floaty 6.5s ease-in-out infinite}
  .c-go2{left:-3%;bottom:5%;height:24%;animation-delay:.3s}
  .c-jaka{right:2%;top:7%;height:32%;animation-delay:.9s}
  .c-spot{right:-3%;bottom:8%;height:18%;animation-delay:1.4s}
  .cscatter .wrap{position:relative;z-index:2}
  /* SCROLL SCENES */
  .scenes{position:relative;z-index:1}
  .scene{min-height:96vh;display:grid;place-items:center;text-align:center;padding:9vh 2.4rem}
  /* sections */
  section.blk{padding:7.2rem 0}
  .shead{text-align:center;max-width:76rem;margin:0 auto 4rem}
  .shead .cap{justify-content:center;margin-bottom:1.4rem}
  .shead h2{font-family:"Zen Maru Gothic",sans-serif;font-weight:700;font-size:clamp(2.8rem,4vw,4.2rem);line-height:1.5;letter-spacing:.1em}
  .shead p{margin-top:1.8rem;font-size:1.5rem;line-height:2;color:var(--ink-s)}

  /* SHOWCASE — category rows of horizontal scroll cards */
  .catrows{display:grid;gap:4rem;grid-template-columns:minmax(0,1fr)}
  .catrow{min-width:0}
  .catrow.is-hidden{display:none}
  /* category filter */
  .filterbar{display:flex;flex-wrap:wrap;align-items:center;justify-content:center;gap:1.1rem;margin:-1rem auto 3.6rem;max-width:84rem}
  .filterbar-label{width:100%;text-align:center;font-weight:700;font-size:1.3rem;letter-spacing:.1em;color:var(--ink-s);margin-bottom:.6rem}
  .chip-f{font-family:"Zen Maru Gothic";font-weight:700;font-size:1.45rem;color:var(--ink);background:var(--card);border:.15rem solid var(--line);border-radius:999px;padding:1.05rem 2.3rem;cursor:pointer;transition:.18s}
  .chip-f:hover{border-color:var(--green);color:var(--green-d);transform:translateY(-2px)}
  .chip-f.is-active{background:var(--green);border-color:var(--green);color:var(--on-accent)}
  /* per-card category tags */
  .ctags{display:flex;flex-wrap:wrap;gap:.6rem;margin-top:1rem}
  .ctag{font-family:"Zen Maru Gothic";font-weight:700;font-size:1.05rem;line-height:1.2;border-radius:999px;padding:.4rem 1rem}
  .ctag-type{background:rgba(20,177,126,.14);color:var(--green)}
  .ctag-use{background:rgba(38,198,218,.14);color:var(--cyan)}
  .ctag-size{background:rgba(18,70,52,.07);color:var(--ink-s)}
  .ctag-cute{background:rgba(20,177,126,.14);color:var(--green)}
  .ctag-cool{background:rgba(38,198,218,.14);color:var(--cyan)}
  .ctag-deliver{background:rgba(20,177,126,.14);color:var(--green)}
  .pcard .ty{display:none}
  /* pickup (おすすめ機種) */
  /* search */
  .searchwrap{position:relative;max-width:42rem;margin:0 auto 2.6rem}
  .searchwrap .sicon{position:absolute;left:1.8rem;top:50%;transform:translateY(-50%);font-size:1.6rem;opacity:.6}
  .searchwrap input{width:100%;font-family:inherit;font-size:1.5rem;color:var(--ink);background:var(--card);border:.15rem solid var(--line);border-radius:999px;padding:1.3rem 1.8rem 1.3rem 4.6rem}
  .searchwrap input:focus{outline:none;border-color:var(--green);box-shadow:0 0 0 .3rem rgba(20,177,126,.18)}
  .lineup-empty{display:none;text-align:center;color:var(--ink-s);font-family:"Zen Maru Gothic";font-weight:700;font-size:1.6rem;padding:4rem 0}
  /* compare button on cards */
  .pcard{position:relative}
  .cmp{position:absolute;top:1.4rem;right:1.4rem;z-index:3;font-family:"Zen Maru Gothic";font-weight:700;font-size:1.45rem;color:var(--green-d);background:rgba(255,255,255,.96);border:.15rem solid rgba(20,177,126,.4);border-radius:999px;padding:.8rem 1.7rem;cursor:pointer;transition:.15s;box-shadow:0 .4rem 1.4rem rgba(20,60,45,.16)}
  .cmp:hover{background:var(--green);border-color:var(--green);color:var(--on-accent)}
  .cmp.on{background:var(--green);border-color:var(--green);color:var(--on-accent);box-shadow:0 .4rem 1.4rem rgba(20,177,126,.4)}
  /* compare tray */
  .cmptray{position:fixed;left:0;right:0;bottom:0;z-index:120;background:rgba(14,26,43,.96);backdrop-filter:blur(8px);border-top:.1rem solid var(--line);box-shadow:0 -1rem 3rem rgba(0,0,0,.45);transform:translateY(110%);transition:transform .3s cubic-bezier(.3,.8,.3,1)}
  .cmptray.open{transform:translateY(0)}
  .cmptray-inner{display:flex;align-items:center;justify-content:space-between;gap:2rem;padding:1.4rem 3.2rem}
  .cmptray-items{display:flex;gap:1rem;align-items:center;flex-wrap:wrap}
  .cmptray-items .ci{display:flex;align-items:center;gap:.6rem;background:var(--beige-d);border:.1rem solid var(--line);border-radius:1.2rem;padding:.5rem 1rem .5rem .6rem;font-size:1.25rem;font-weight:700}
  .cmptray-items .ci img{width:3.2rem;height:3.2rem;object-fit:contain}
  .cmptray-items .ci button{border:none;background:none;cursor:pointer;font-size:1.6rem;color:var(--ink-s);line-height:1}
  .cmptray-actions{display:flex;gap:1.2rem;flex:none}
  .cmptray-clear{background:none;border:none;font-family:"Zen Maru Gothic";font-weight:700;font-size:1.3rem;color:var(--ink-s);cursor:pointer}
  .cmptray-go{font-family:"Zen Maru Gothic";font-weight:700;font-size:1.5rem;color:var(--on-accent);background:var(--green);border:none;border-radius:999px;padding:1.2rem 2.6rem;cursor:pointer}
  .cmptray-go:disabled{opacity:.5;cursor:default}
  /* compare modal */
  .cmpmodal{position:fixed;inset:0;z-index:200;display:none}
  .cmpmodal.open{display:block}
  .cmpmodal-bg{position:absolute;inset:0;background:rgba(0,0,0,.6);backdrop-filter:blur(4px)}
  .cmpmodal-box{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);width:min(124rem,96vw);max-height:92vh;overflow:auto;background:var(--card);border-radius:2.8rem;padding:clamp(2.8rem,4vw,4.4rem);box-shadow:0 4rem 9rem rgba(0,0,0,.6)}
  .cmpmodal-box h3{font-family:"Zen Maru Gothic";font-weight:900;font-size:3.2rem;margin-bottom:1.4rem}
  .cmp-help{font-size:1.6rem;color:var(--ink-s);margin-bottom:1.8rem}
  .cmp-fields{display:flex;flex-wrap:wrap;gap:1rem;margin-bottom:3rem}
  .cmp-fchip{font-family:"Zen Maru Gothic";font-weight:700;font-size:1.55rem;color:var(--ink-s);background:rgba(255,255,255,.05);border:.1rem solid var(--line);border-radius:999px;padding:.9rem 1.9rem;cursor:pointer;transition:.18s}
  .cmp-fchip:hover{border-color:var(--green);color:var(--ink)}
  .cmp-fchip.on{background:var(--green);color:var(--on-accent);border-color:var(--green)}
  .cmptable-wrap{overflow-x:auto}
  .cmptable{width:100%;border-collapse:collapse;font-size:1.7rem}
  .cmptable th,.cmptable td{padding:1.9rem 2.1rem;text-align:left;border-bottom:.1rem solid var(--line);vertical-align:top}
  .cmptable th.rowlabel,.cmptable td.rowlabel{width:9em;color:var(--ink-s);font-weight:700;white-space:nowrap;background:rgba(255,255,255,.04)}
  .cmptable .chead{text-align:center}
  .cmptable .chead .ph{height:20rem;background:linear-gradient(180deg,#eef5f2,#dde9e4);border-radius:1.8rem;display:grid;place-items:center;overflow:hidden;margin-bottom:1.2rem}
  .cmptable .chead .ph img{max-height:18rem;max-width:88%;object-fit:contain}
  .cmptable .chead .nm{font-family:"Zen Maru Gothic";font-weight:700;font-size:2.1rem}
  .cmptable .cmp-cta{font-family:"Zen Maru Gothic";font-weight:700;font-size:1.5rem;color:var(--on-accent);background:var(--green);border:none;border-radius:999px;padding:1.1rem 2.2rem;cursor:pointer}
  .cmptable .cmp-cta:hover{background:var(--green-d)}
  .catlabel{display:flex;align-items:center;gap:1.2rem;margin-bottom:2.2rem;padding:0 .4rem}
  .catlabel .dot{width:1rem;height:1rem;border-radius:50%;background:var(--green);flex:none}
  .catlabel h3{font-family:"Zen Maru Gothic";font-weight:700;font-size:2.2rem;letter-spacing:.06em}
  .catlabel .cnt{font-family:"Zen Maru Gothic";font-weight:700;font-size:1.25rem;color:var(--ink-s);background:var(--card);border:.1rem solid var(--line);border-radius:2rem;padding:.3rem 1.2rem}
  .scroller{margin:0 -3.2rem;padding:0 3.2rem 1.6rem;overflow-x:auto;scrollbar-width:none;scroll-snap-type:x proximity}
  .scroller::-webkit-scrollbar{display:none}
  .track{width:max-content;display:flex;gap:2rem}
  .pcard{width:21rem;flex:none;background:var(--card);border:.1rem solid var(--line);border-radius:2.4rem;padding:1.6rem 1.6rem 1.8rem;scroll-snap-align:start;transition:.22s;color:var(--ink)}
  .pcard:hover{transform:translateY(-.6rem);box-shadow:0 2rem 4rem rgba(0,0,0,.45);border-color:var(--green)}
  .pcard .ph{height:18rem;border-radius:1.8rem;background:linear-gradient(180deg,#eef5f2,#dde9e4);display:grid;place-items:center;overflow:hidden}
  .pcard .ph img{max-height:16rem;max-width:86%;width:auto;object-fit:contain;filter:drop-shadow(0 1rem 1.2rem rgba(0,0,0,.45))}
  .pcard h4{font-family:"Zen Maru Gothic";font-weight:700;font-size:1.55rem;margin-top:1.4rem;letter-spacing:.02em;line-height:1.4}
  .pcard .ty{font-size:1.1rem;font-weight:700;color:var(--green-d);letter-spacing:.08em;margin-top:.4rem}
  /* 四足特化: 横スクロールをやめ、大きいカードのグリッド一覧に */
  .qcards{display:grid;gap:2.4rem;grid-template-columns:repeat(auto-fill,minmax(30rem,1fr))}
  .qcards .pcard{width:auto;flex:none;scroll-snap-align:none}
  .pcard.big{padding:2rem 2rem 2.4rem;cursor:pointer}
  .pcard.big .ph{height:24rem}
  .pcard.big .ph img{max-height:21rem}
  .pcard.big h4{font-size:1.9rem;margin-top:1.8rem}
  .pcard-lead{font-size:1.35rem;color:var(--ink-s);line-height:1.75;margin-top:.9rem}
  .scroll-hint{text-align:center;font-family:"Zen Maru Gothic";font-weight:700;font-size:1.3rem;color:var(--ink-s);margin-top:3.2rem}
  .scroller,.strip{cursor:grab;-webkit-overflow-scrolling:touch;overscroll-behavior-x:contain}
  .scroller.dragging,.strip.dragging{cursor:grabbing;scroll-snap-type:none;scroll-behavior:auto}
  .scroller img,.strip img{-webkit-user-drag:none;user-select:none}
  .scroller.dragging a,.strip.dragging a{pointer-events:none}

  /* THOUGHT — 想い (upvege-style centered soft card + strip) */
  .thought .tcard{max-width:82rem;margin:0 auto;background:var(--beige);border-radius:4rem;padding:clamp(2.8rem,3.4vw,4.4rem) clamp(2.8rem,5vw,7rem);text-align:center}
  .tcard .teyebrow{font-family:"Zen Maru Gothic";font-weight:700;font-size:1.4rem;letter-spacing:.18em;color:var(--ink-s);margin-bottom:1.8rem}
  .tcard .tlead{font-family:"Zen Maru Gothic";font-weight:700;font-size:clamp(2.8rem,5vw,4.4rem);line-height:1.3;letter-spacing:.08em;margin-bottom:2rem}
  .tcard .tpara{font-size:1.55rem;line-height:1.95;color:var(--ink);max-width:56rem;margin:0 auto 2.2rem;text-align:left}
  .tcard .tlink{display:inline-flex;align-items:center;gap:1rem;background:var(--ink);color:var(--cream);height:5rem;padding:0 1rem 0 2.6rem;border-radius:2.5rem;font-weight:700;font-size:1.5rem}
  .tcard .tlink .ico{width:3rem;height:3rem;border-radius:50%;background:var(--green);display:grid;place-items:center}
  .tcard .tlink .ico svg{width:1.8rem;height:1.8rem}
  .strip{margin:3.6rem -3.2rem 0;padding:0 3.2rem 1.2rem;overflow-x:auto;scrollbar-width:none}
  .strip::-webkit-scrollbar{display:none}
  .strip .track{width:max-content;display:flex;gap:1.6rem}
  .sthumb{width:15rem;height:15rem;flex:none;border-radius:2.2rem;background:linear-gradient(180deg,#eef5f2,#dde9e4);border:.1rem solid var(--line);display:grid;place-items:center;overflow:hidden}
  .sthumb img{max-height:12rem;max-width:82%;width:auto;object-fit:contain;filter:drop-shadow(0 .8rem 1rem rgba(0,0,0,.45))}

  /* generic light cards */
  .grid{display:grid;gap:2.4rem;margin-top:1rem}
  .swipe-hint{display:none}
  .g3{grid-template-columns:repeat(3,1fr)}.g2{grid-template-columns:repeat(2,1fr)}
  .lcard{background:var(--card);border:.1rem solid var(--line);border-radius:2.8rem;padding:2.8rem 2.6rem}
  .lcard .ic{width:6rem;height:6rem;border-radius:1.8rem;background:var(--beige-d);display:grid;place-items:center;font-size:2.8rem;margin-bottom:2rem}
  .lcard .no{font-family:"Zen Maru Gothic";font-weight:700;font-size:1.3rem;color:var(--green-d);margin-bottom:1rem;letter-spacing:.1em}
  .lcard h3{font-family:"Zen Maru Gothic";font-weight:700;font-size:2rem;letter-spacing:.04em;margin-bottom:1rem}
  .lcard p{font-size:1.45rem;line-height:2;color:var(--ink-s)}
  /* compact clearAI-style variant: STEP + title on one row, no icon, shorter card */
  .lcard:has(.lhead){padding:2.6rem 2.8rem;border-radius:2.2rem}
  .lcard .lhead{display:flex;align-items:center;gap:1.2rem;margin-bottom:1rem}
  .lcard .lhead .no{margin:0;flex:none}
  .lcard .lhead .ic{width:4.2rem;height:4.2rem;border-radius:1.3rem;margin:0;flex:none;background:rgba(20,177,126,.1);color:var(--green-d)}
  .lcard .ic svg{width:2.3rem;height:2.3rem;display:block}
  .lcard .ic svg *{stroke:currentColor}
  .lcard .lhead h3{margin:0;font-size:1.9rem;flex:1;min-width:0}

  /* band (alt beige) */
  .band{background:var(--beige)}
  .band .lcard{background:var(--card);border-color:var(--line)}
  .band .lcard .ic{background:#26385a}

  /* concept chat */
  .bubbles{max-width:62rem;margin:0 auto;display:grid;gap:1.8rem}
  .bub{background:var(--card);border:.1rem solid var(--line);border-radius:2.4rem;padding:2rem 2.6rem;width:fit-content;max-width:100%;font-family:"Zen Maru Gothic";font-weight:700;font-size:clamp(1.7rem,2.4vw,2.1rem)}
  .bub.r{margin-left:auto;background:var(--green);border-color:var(--green);color:var(--on-accent)}
  .bub small{display:block;font-family:"Zen Kaku Gothic New";font-weight:500;font-size:1.3rem;color:var(--ink-s);margin-top:.4rem}
  .bub.r small{color:var(--on-accent)}

  /* pricing (clearAI-style plan cards) */
  .plans{display:grid;grid-template-columns:repeat(3,1fr);gap:2.2rem;align-items:stretch}
  .plan{position:relative;display:flex;flex-direction:column;text-align:left;background:var(--card);border:.1rem solid var(--line);border-radius:2.4rem;padding:3.2rem 2.8rem}
  .plan.feat{background:#0a1422;border-color:#0a1422;color:#eaf2ee}
  .plan-badge{align-self:flex-start;font-family:"Zen Maru Gothic";font-weight:700;font-size:1.2rem;letter-spacing:.05em;background:rgba(255,255,255,.16);color:#fff;border-radius:999px;padding:.5rem 1.4rem;margin-bottom:1.6rem}
  .plan-name{font-family:"Zen Maru Gothic";font-weight:700;font-size:1.6rem;color:var(--ink)}
  .plan.feat .plan-name{color:#eaf2ee}
  .plan-price{font-family:"Zen Maru Gothic";font-weight:900;font-size:2.6rem;margin:.9rem 0 0;color:var(--ink)}
  .plan.feat .plan-price{color:#fff}
  .plan-price small{font-size:1.3rem;font-weight:500;color:var(--ink-s);margin-left:.5rem}
  .plan.feat .plan-price small{color:rgba(234,242,238,.6)}
  .plan-desc{font-size:1.4rem;line-height:1.8;color:var(--ink-s);margin:1.4rem 0 1.8rem}
  .plan.feat .plan-desc{color:rgba(234,242,238,.72)}
  .plan-feat{list-style:none;display:grid;gap:1rem;margin:0 0 2.6rem}
  .plan-feat li{font-size:1.4rem;line-height:1.55;color:var(--ink-s);display:flex;gap:.9rem}
  .plan-feat li::before{content:"";flex:none;width:.7rem;height:.7rem;margin-top:.65rem;border-radius:50%;background:var(--green)}
  .plan.feat .plan-feat li{color:rgba(234,242,238,.82)}
  .plan-cta{margin-top:auto;text-align:center;font-family:"Zen Maru Gothic";font-weight:700;font-size:1.5rem;background:transparent;border:.15rem solid var(--line);color:var(--ink);border-radius:999px;padding:1.3rem;transition:.2s}
  .plan-cta:hover{background:var(--ink);border-color:var(--ink);color:var(--cream)}
  .plan.feat .plan-cta{background:#fff;border-color:#fff;color:#0a1422}
  .plan.feat .plan-cta:hover{background:var(--green);border-color:var(--green);color:#fff}
  /* pricing stats row */
  .pstats{display:grid;grid-template-columns:repeat(4,1fr);gap:2rem;margin-top:2.8rem;padding-top:2.6rem;border-top:.1rem solid var(--line)}
  .pstat{position:relative;text-align:center}
  .pstat+.pstat::before{content:"";position:absolute;left:0;top:50%;transform:translateY(-50%);width:.1rem;height:3.6rem;background:var(--line)}
  .pstat-n{font-family:"Zen Maru Gothic";font-weight:900;font-size:2.6rem;color:var(--ink);line-height:1}
  .pstat-l{font-size:1.3rem;color:var(--ink-s);margin-top:.7rem}
  /* hero直下の実績スタッツ帯（clearAI風） */
  .herostats{padding:3.2rem 0;border-bottom:.1rem solid var(--line)}
  .herostats .pstats{margin-top:0;padding-top:0;border-top:none}

  /* how it works (flow) — numbered step cards with tag */
  .steps{display:grid;grid-template-columns:repeat(4,1fr);gap:1.8rem}
  .stepc{background:var(--card);border:.1rem solid var(--line);border-radius:2.2rem;padding:2.6rem 2.4rem}
  .stepc-top{display:flex;align-items:center;justify-content:space-between;margin-bottom:1.6rem}
  .stepc-n{font-family:"Zen Maru Gothic";font-weight:900;font-size:3rem;line-height:1;color:var(--ink)}
  .stepc-tag{font-family:"Zen Maru Gothic";font-weight:700;font-size:1.1rem;letter-spacing:.1em;color:var(--green-d);background:rgba(20,177,126,.12);border-radius:999px;padding:.5rem 1.1rem}
  .stepc h3{font-family:"Zen Maru Gothic";font-weight:700;font-size:1.6rem;margin-bottom:.8rem}
  .stepc p{font-size:1.35rem;line-height:1.8;color:var(--ink-s)}
  .note{font-size:1.25rem;color:var(--ink-s);margin-top:2.4rem;text-align:center;max-width:80rem;margin-left:auto;margin-right:auto;line-height:1.9}

  /* faq */
  .faq{max-width:80rem;margin:0 auto}
  details{background:var(--card);border:.1rem solid var(--line);border-radius:2rem;padding:0 2.6rem;margin-top:1.4rem}
  summary{cursor:pointer;list-style:none;padding:2.2rem 0;font-family:"Zen Maru Gothic";font-weight:700;font-size:1.6rem;display:flex;justify-content:space-between;gap:1.6rem}
  summary::-webkit-details-marker{display:none}
  summary::after{content:"＋";color:var(--green-d);font-weight:900}
  details[open] summary::after{content:"−"}
  details .ans{padding:0 0 2.4rem;font-size:1.45rem;line-height:2.05;color:var(--ink-s)}

  /* contact */
  .cbox{background:var(--beige-d);border-radius:4rem;padding:5rem 3.2rem;text-align:center;color:var(--ink);position:relative;overflow:hidden}
  .cbox::before{content:"";position:absolute;width:30rem;height:30rem;border:.2rem solid rgba(255,255,255,.1);border-radius:50%;top:-12rem;right:-8rem}
  .cbox h2{font-family:"Zen Maru Gothic";font-weight:700;font-size:clamp(2.8rem,4.4vw,4.4rem);letter-spacing:.08em;position:relative}
  .cbox p{margin-top:1.6rem;font-size:1.5rem;color:var(--ink-s);position:relative}
  .cbox .acts{display:flex;flex-wrap:wrap;gap:1.4rem;justify-content:center;margin-top:2.6rem;position:relative}
  .cbox .btn.outline{border-color:var(--ink);color:var(--ink)}
  .cbox .btn.outline:hover{background:var(--ink);color:var(--on-accent)}

  footer{padding:3.4rem 0;border-top:.1rem solid var(--line);color:var(--ink-s);font-size:1.3rem}
  .foot{display:flex;justify-content:space-between;flex-wrap:wrap;gap:1.6rem;align-items:center}

  /* robot detail modal */
  .rmodal{position:fixed;inset:0;z-index:200;display:none}
  .rmodal.open{display:block}
  .rmodal-backdrop{position:absolute;inset:0;background:rgba(0,0,0,.6);backdrop-filter:blur(4px)}
  .rmodal-box{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);width:min(98rem,94vw);max-height:90vh;overflow:auto;background:var(--card);border-radius:3rem;display:grid;grid-template-columns:1.05fr .95fr;box-shadow:0 4rem 9rem rgba(0,0,0,.6)}
  .rmodal-close{position:absolute;top:1.4rem;right:1.6rem;z-index:4;width:4rem;height:4rem;border:none;border-radius:50%;background:rgba(30,47,74,.85);font-size:2.4rem;line-height:1;color:var(--ink);cursor:pointer;box-shadow:0 .6rem 1.6rem rgba(0,0,0,.45)}
  .rmodal-close:hover{background:var(--beige-d)}
  .rmodal-media{background:linear-gradient(180deg,#eef5f2,#dde9e4);padding:3.2rem;display:flex;flex-direction:column;gap:1.6rem;border-radius:3rem 0 0 3rem}
  .rmodal-stage{flex:1;min-height:34rem;display:grid;place-items:center;overflow:hidden}
  .rmodal-stage img{max-height:42rem;max-width:100%;width:auto;transition:transform .3s ease;filter:drop-shadow(0 2rem 2.4rem rgba(0,0,0,.5))}
  .rmodal-views{display:flex;gap:1rem;justify-content:center}
  .rmodal-views button{font-family:"Zen Maru Gothic";font-weight:700;font-size:1.3rem;padding:.8rem 1.8rem;border-radius:999px;border:.15rem solid var(--line);background:var(--card);cursor:pointer;color:var(--ink)}
  .rmodal-views button.on{background:var(--green);border-color:var(--green);color:var(--on-accent)}
  .rmodal-info{padding:4.2rem 3.6rem}
  .rmodal-maker{font-family:"Zen Maru Gothic";font-weight:700;font-size:1.3rem;letter-spacing:.12em;color:var(--green-d)}
  .rmodal-info h3{font-family:"Zen Maru Gothic";font-weight:900;font-size:3.2rem;letter-spacing:.03em;margin:.4rem 0 1.6rem}
  .rmodal-info .ctags{margin-bottom:.6rem}
  .rmodal-desc{font-size:1.5rem;line-height:2;color:var(--ink);margin:1.8rem 0}
  .rmodal-spec{display:grid;grid-template-columns:auto 1fr;gap:.7rem 2rem;margin:2rem 0 2.8rem;font-size:1.4rem}
  .rmodal-spec dt{color:var(--ink-s);font-weight:700;white-space:nowrap}
  .rmodal-spec dd{color:var(--ink)}
  .rmodal-note{font-size:1.15rem;color:var(--ink-s);margin-top:1.6rem;line-height:1.7}
  body.modal-open{overflow:hidden}

  /* contact form */
  .cform{max-width:80rem;margin:3.4rem auto 0;background:var(--card);border:.1rem solid var(--line);border-radius:3rem;padding:clamp(3rem,5vw,5rem);box-shadow:0 2rem 5rem rgba(0,0,0,.4);display:grid;gap:2.2rem;grid-template-columns:1fr 1fr}
  .cform .f-full{grid-column:1/-1}
  .cform label{display:block;font-family:"Zen Maru Gothic";font-weight:700;font-size:1.35rem;margin-bottom:.9rem;color:var(--ink)}
  .cform label .req{color:#e57373;font-size:1.1rem;margin-left:.6rem;background:rgba(229,115,115,.16);padding:.15rem .8rem;border-radius:999px}
  .cform input,.cform select,.cform textarea{width:100%;font-family:inherit;font-size:1.5rem;color:var(--ink);background:#eef5f1;border:.15rem solid var(--line);border-radius:1.4rem;padding:1.3rem 1.6rem;transition:.15s}
  .cform input::placeholder,.cform textarea::placeholder{color:var(--ink-s)}
  .cform input:focus,.cform select:focus,.cform textarea:focus{outline:none;border-color:var(--green);box-shadow:0 0 0 .3rem rgba(20,177,126,.18)}
  .cform textarea{min-height:13rem;resize:vertical;line-height:1.8}
  .cform .cats{display:flex;flex-wrap:wrap;gap:.9rem}
  .cform .cats label{display:inline-flex;align-items:center;gap:.7rem;font-weight:700;font-size:1.3rem;background:#eef5f1;border:.15rem solid var(--line);border-radius:999px;padding:.9rem 1.5rem;margin:0;cursor:pointer;transition:.15s}
  .cform .cats label:hover{border-color:var(--green);color:var(--green-d)}
  .cform .cats input{width:auto;margin:0;accent-color:var(--green)}
  .cform .submit-row{grid-column:1/-1;display:flex;flex-direction:column;align-items:center;gap:1.2rem;margin-top:.6rem}
  .cform button[type=submit]{font-family:"Zen Maru Gothic";font-weight:700;font-size:1.7rem;color:var(--on-accent);background:var(--green);border:none;border-radius:999px;padding:0 1rem 0 4rem;height:6rem;cursor:pointer;display:inline-flex;align-items:center;gap:1.4rem;transition:.2s}
  .cform button[type=submit] .ico{width:3.6rem;height:3.6rem;border-radius:50%;background:#fff;display:grid;place-items:center}
  .cform button[type=submit] .ico svg{width:2rem;height:2rem}
  .cform button[type=submit]:hover{background:var(--green-d);transform:translateY(-2px)}
  .cform .privacy{font-size:1.15rem;color:var(--ink-s)}
  .cform-done{grid-column:1/-1;display:none;text-align:center;padding:1.6rem 2rem;background:rgba(46,199,122,.12);border-radius:1.6rem;font-family:"Zen Maru Gothic";font-weight:700;font-size:1.4rem;line-height:1.9;color:#2ec77a}
  .cform-done a{color:#2ec77a;border-bottom:.1rem solid #2ec77a}
  .cform-alt{text-align:center;margin-top:2.4rem;font-size:1.35rem;color:var(--ink-s)}
  .cform-alt a{color:var(--green-d);font-weight:700;border-bottom:.1rem solid var(--green)}
  /* robot finder (self-diagnosis) */
  .finder{max-width:84rem;margin:3.2rem auto 0;background:var(--card);border:.1rem solid var(--line);border-radius:2.8rem;padding:clamp(3rem,4vw,4.4rem)}
  .fq{margin-bottom:3rem}
  .fq-t{font-family:"Zen Maru Gothic";font-weight:700;font-size:1.8rem;margin-bottom:1.4rem}
  .fq-opts{display:flex;flex-wrap:wrap;gap:1rem}
  .fq-opts button{font-family:"Zen Maru Gothic";font-weight:700;font-size:1.4rem;color:var(--ink);background:#eef5f1;border:.15rem solid var(--line);border-radius:999px;padding:1.1rem 2rem;cursor:pointer;transition:.15s}
  .fq-opts button:hover{border-color:var(--green);color:var(--green-d)}
  .fq-opts button.on{background:var(--green);border-color:var(--green);color:var(--on-accent)}
  .fq-actions{text-align:center;margin-top:1rem}
  .fq-actions .btn{justify-content:center}
  .fq-actions .btn:disabled{opacity:.45;cursor:default;transform:none}
  .fresult{display:none;margin-top:3.4rem;padding-top:3rem;border-top:.1rem solid var(--line)}
  .fresult.show{display:block}
  .fres-head{text-align:center;font-family:"Zen Maru Gothic";font-weight:700;font-size:2rem;margin-bottom:.6rem}
  .fres-head b{color:var(--green-d)}
  .fres-sub{text-align:center;color:var(--ink-s);font-size:1.4rem;margin-bottom:2.6rem}
  .fres-cards{display:flex;flex-wrap:wrap;justify-content:center;gap:1.6rem}
  .fres-card{width:16rem;background:#eef5f1;border:.1rem solid var(--line);border-radius:2rem;padding:1.4rem;text-align:center;cursor:pointer;transition:.2s}
  .fres-card:hover{transform:translateY(-.5rem);border-color:var(--green)}
  .fres-card .ph{height:11rem;border-radius:1.4rem;background:linear-gradient(180deg,#eef5f2,#dde9e4);display:grid;place-items:center;overflow:hidden}
  .fres-card .ph img{max-height:9.6rem;max-width:84%;width:auto;object-fit:contain}
  .fres-card .nm{font-family:"Zen Maru Gothic";font-weight:700;font-size:1.4rem;margin-top:1rem}
  .fres-cta{text-align:center;margin-top:2.8rem}
  /* subsidy guide */
  .subsidy-list{max-width:88rem;margin:3rem auto 0;display:grid;gap:1.4rem}
  .subsidy-row{display:grid;grid-template-columns:auto 1fr auto;gap:2rem;align-items:center;background:var(--card);border:.1rem solid var(--line);border-radius:2rem;padding:2.2rem 2.6rem}
  .subsidy-row .sname{font-family:"Zen Maru Gothic";font-weight:700;font-size:1.6rem;color:var(--ink)}
  .subsidy-row .sdesc{font-size:1.35rem;color:var(--ink-s);line-height:1.9}
  .subsidy-row .sbadge{font-family:"Zen Maru Gothic";font-weight:700;font-size:1.2rem;white-space:nowrap;border-radius:999px;padding:.6rem 1.2rem}
  .sbadge.ok{background:rgba(46,199,122,.16);color:#2ec77a}
  .sbadge.mid{background:rgba(20,177,126,.16);color:var(--green)}
  .sbadge.no{background:rgba(18,70,52,.07);color:var(--ink-s)}
  .cform .invalid{border-color:#e57373!important;box-shadow:0 0 0 .3rem rgba(229,115,115,.2)!important}
  .cform .ferr{display:block;color:#e57373;font-family:"Zen Maru Gothic";font-weight:700;font-size:1.2rem;margin-top:.7rem}

  /* news */
  .news-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:2.4rem;margin-top:4.6rem}
  .ncard{display:block;background:var(--card);border:.1rem solid var(--line);border-radius:2.4rem;padding:3rem 2.8rem;box-shadow:0 1rem 3rem rgba(0,0,0,.3);transition:.2s}
  .ncard:hover{transform:translateY(-.6rem);box-shadow:0 2rem 4.4rem rgba(0,0,0,.45);border-color:var(--green)}
  .ncard .date{font-family:"Zen Maru Gothic";font-weight:700;font-size:1.3rem;color:var(--green-d);letter-spacing:.06em}
  .ncard .ntag{display:inline-block;font-size:1.1rem;font-weight:700;color:var(--ink-s);background:rgba(18,70,52,.07);border-radius:999px;padding:.3rem 1rem;margin-left:.8rem}
  .ncard h3{font-family:"Zen Maru Gothic";font-weight:700;font-size:1.7rem;line-height:1.7;margin-top:1.4rem;color:var(--ink)}
  .news-note{text-align:center;margin-top:3.4rem;font-size:1.3rem;color:var(--ink-s)}

  /* clearAI corporate block */
  .corp{position:relative;overflow:hidden;background:#0a1422;color:#eaf2ee;border-radius:3.4rem;padding:clamp(3.2rem,4.4vw,5.2rem);display:grid;grid-template-columns:1.15fr .85fr;gap:3rem;align-items:center;margin-top:1rem}
  .corp .cap{color:var(--cyan)}
  .corp h2{font-family:"Zen Maru Gothic";font-weight:900;font-size:clamp(2.6rem,4vw,3.8rem);color:#ffffff;line-height:1.45;margin-top:1.4rem}
  .corp p{margin-top:1.8rem;font-size:1.5rem;line-height:2;color:rgba(234,242,238,.74)}
  .corp .svc{display:flex;flex-wrap:wrap;gap:.9rem;margin-top:2.2rem}
  .corp .svc span{font-family:"Zen Maru Gothic";font-weight:700;font-size:1.25rem;color:#eaf2ee;background:rgba(20,177,126,.18);border:.1rem solid rgba(38,198,218,.45);border-radius:999px;padding:.7rem 1.4rem}
  .corp .btn{margin-top:3rem;background:var(--green);color:var(--on-accent)}
  .corp .btn .ico{background:#fff}
  .corp .btn:hover{background:var(--green-d)}

  /* rich footer */
  .bigfoot{border-top:.1rem solid var(--line);padding:6.4rem 0 3.4rem;color:var(--ink-s);font-size:1.4rem}
  .bigfoot .cols{display:grid;grid-template-columns:1.1fr 1.5fr;gap:5rem}
  .bigfoot .tagline2{margin-top:1.8rem;line-height:2;max-width:32rem}
  .bigfoot .fnav{display:flex;flex-wrap:wrap;gap:1.2rem 2.6rem;margin-top:2.6rem}
  .bigfoot .fnav a{font-family:"Zen Maru Gothic";font-weight:700;font-size:1.35rem;color:var(--ink)}
  .bigfoot .fnav a:hover{color:var(--green-d)}
  .company h4{font-family:"Zen Maru Gothic";font-weight:700;font-size:1.5rem;letter-spacing:.1em;color:var(--ink);margin-bottom:1.8rem}
  .company dl{display:grid;grid-template-columns:7em 1fr;gap:1rem 2rem}
  .company dt{color:var(--ink-s);font-weight:700}
  .company dd{color:var(--ink);line-height:1.8}
  .company .corp-link{display:inline-flex;align-items:center;gap:.7rem;margin-top:2.2rem;font-family:"Zen Maru Gothic";font-weight:700;color:var(--green-d);border-bottom:.1rem solid var(--green)}
  .bigfoot .copy{display:flex;justify-content:space-between;flex-wrap:wrap;gap:1.4rem;margin-top:5rem;padding-top:2.6rem;border-top:.1rem solid var(--line);font-size:1.25rem}
  .bigfoot .copy .links{display:flex;gap:2rem}
  .bigfoot .copy a{color:var(--ink-s);cursor:pointer}
  .bigfoot .copy a:hover{color:var(--green-d)}

  /* privacy modal */
  .pmodal{position:fixed;inset:0;z-index:210;display:none}
  .pmodal.open{display:block}
  .pmodal-bg{position:absolute;inset:0;background:rgba(0,0,0,.6);backdrop-filter:blur(4px)}
  .pmodal-box{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);width:min(72rem,92vw);max-height:86vh;overflow:auto;background:var(--card);border-radius:2.6rem;padding:clamp(3rem,5vw,4.6rem);box-shadow:0 4rem 9rem rgba(0,0,0,.6)}
  .pmodal-box h3{font-family:"Zen Maru Gothic";font-weight:900;font-size:2.4rem;margin-bottom:2rem}
  .pmodal-box h4{font-family:"Zen Maru Gothic";font-weight:700;font-size:1.6rem;margin:2rem 0 .8rem}
  .pmodal-box p{font-size:1.45rem;line-height:2;color:var(--ink)}
  .pmodal-box .rmodal-close{position:absolute;top:1.4rem;right:1.6rem}

  @media(max-width:760px){
    .news-grid{grid-template-columns:1fr}
    .corp{grid-template-columns:1fr;padding:3.6rem 2.6rem;text-align:center}
    .corp .svc,.corp .cap{justify-content:center}
    .bigfoot .cols{grid-template-columns:1fr;gap:3.4rem}
    .bigfoot .copy{flex-direction:column}
    .rmodal-box{grid-template-columns:1fr;width:94vw;max-height:92vh}
    .rmodal-media{border-radius:3rem 3rem 0 0;padding:2.4rem}
    .rmodal-stage{min-height:22rem}
    .rmodal-stage img{max-height:26rem}
    .rmodal-info{padding:2.8rem 2.4rem}
    .rmodal-info h3{font-size:2.6rem}
    .cform{grid-template-columns:1fr}
    .cmp{padding:.85rem 1.7rem;font-size:1.45rem}
    .cmptray-inner{flex-direction:column;gap:1.2rem;padding:1.2rem 1.6rem}
    .cmptray-items{justify-content:center}
    /* SP: 比較モーダルはフルスクリーンのシートにして中央寄せ計算を排除。表だけ横スクロール */
    .cmpmodal-box{position:fixed!important;inset:0!important;top:0!important;left:0!important;right:0!important;bottom:0!important;width:100%!important;max-width:100%!important;max-height:100%!important;transform:none!important;border-radius:0!important;padding:2rem 1.4rem 4rem!important;overflow-y:auto!important;overflow-x:hidden!important}
    .cmpmodal-box h3{font-size:2.4rem}
    .cmp-help{font-size:1.4rem}
    .cmp-fchip{font-size:1.35rem;padding:.7rem 1.4rem}
    .cmptable-wrap{overflow-x:hidden!important;max-width:100%}
    .cmptable{font-size:1.3rem;width:100%!important;min-width:0!important;table-layout:fixed!important}
    .cmptable th,.cmptable td{padding:1rem .7rem;overflow-wrap:anywhere}
    .cmptable th.rowlabel,.cmptable td.rowlabel{width:6.2em;white-space:normal;font-size:1.15rem;line-height:1.5;word-break:keep-all}
    .cmptable .chead .ph{height:8.5rem;border-radius:1.2rem}
    .cmptable .chead .ph img{max-height:7.5rem}
    .cmptable .chead .nm{font-size:1.3rem;word-break:keep-all;line-height:1.45}
    .cmptable .cmp-cta{font-size:1.15rem;padding:.7rem 1rem}
  }
  /* ナビが7項目あり中間幅(861〜1160px)で潰れて折り返すため、この帯ではハンバーガーに切替（フォント等はデスクトップのまま維持） */
  @media(max-width:1160px){
    .navtoggle{display:flex}
    .nav .navcta{display:none}
    .nav .menu a.l{display:none}
    .nav .menu .navdiv{display:none}
    .mobilemenu{display:block}
  }
  @media(max-width:860px){
    html{font-size:56%}
    .navtoggle{display:flex}
    .nav .navcta{display:none}
    .mobilemenu{display:block}
    .scene{min-height:88vh;padding:7vh 1.6rem}
    .scatter2{display:none}
    .nav .menu a.l{display:none}
    .nav .menu .navdiv{display:none}
    .g3,.g2{grid-template-columns:1fr}
    /* SP: 料金プランは縦積みだと不細工になるため横スクロール（スワイプ）に */
    .plans{display:flex;grid-template-columns:none;gap:1.6rem;overflow-x:auto;scroll-snap-type:x mandatory;margin:0 -2rem;padding:1.6rem 2rem;scrollbar-width:none;-webkit-overflow-scrolling:touch}
    .plans::-webkit-scrollbar{display:none}
    .plan{flex:0 0 80vw;scroll-snap-align:center}
    /* SP: 実績スタッツは2列 */
    .pstats{grid-template-columns:1fr 1fr;gap:2.8rem 1rem}
    .pstat::before{display:none}
    /* SP: カード系はすべて横スワイプ化（clearAI HPのCardCarouselと同思想） */
    .grid.swipe,.steps,.subsidy-list{display:flex;grid-template-columns:none;gap:1.2rem;overflow-x:auto;scroll-snap-type:x mandatory;margin:.2rem -2rem 0;padding:.2rem 2rem 1rem;scrollbar-width:none;-webkit-overflow-scrolling:touch}
    .grid.swipe::-webkit-scrollbar,.steps::-webkit-scrollbar,.subsidy-list::-webkit-scrollbar{display:none}
    .grid.swipe>*,.stepc{flex:0 0 80vw;scroll-snap-align:center}
    .stepc{padding:2.2rem 2rem}
    /* SP: 補助金カードは横長3カラム→縦積みに（1文字ずつ折れる崩れを解消） */
    .subsidy-list{margin-top:1rem}
    .subsidy-row{flex:0 0 82vw;scroll-snap-align:center;grid-template-columns:1fr;gap:.8rem;align-items:start;padding:2rem 2.1rem}
    .subsidy-row .sname{order:1;font-size:1.7rem}
    .subsidy-row .sbadge{order:2;justify-self:start}
    .subsidy-row .sdesc{order:3}
    .swipe-hint{display:block;text-align:center;font-family:"Zen Maru Gothic";font-weight:700;font-size:1.2rem;color:var(--ink-s);margin-top:.4rem}
    /* SP: カードと見出しの余白を引き締める */
    .grid{gap:1.6rem;margin-top:.4rem}
    .lcard{padding:2.2rem 2rem;border-radius:2.2rem}
    .lcard .ic{width:4.6rem;height:4.6rem;font-size:2.2rem;margin-bottom:1.1rem;border-radius:1.3rem}
    .lcard .no{margin-bottom:.4rem}
    .lcard h3{font-size:1.85rem;margin-bottom:.6rem}
    /* SP: アイコン付きカード（Why Rental）はタイトルが1行に収まるよう調整 */
    .grid.swipe>*{flex:0 0 82vw}
    .lcard:has(.lhead){padding:2.2rem 2rem}
    .lcard .lhead{gap:1rem;margin-bottom:.8rem}
    .lcard .lhead .ic{width:3.6rem;height:3.6rem;border-radius:1.1rem}
    .lcard .lhead .ic svg{width:2rem;height:2rem}
    .lcard .lhead h3{font-size:1.7rem;letter-spacing:.01em}
    .lcard p{line-height:1.9}
    .shead{margin-bottom:1.8rem}
    .shead p{margin-top:1.2rem}
    section.blk{padding:3.4rem 0}
    /* SP: 見出しが幅に収まらず単語の途中で折れるのを防ぐ（nwフレーズが1行に入るサイズへ） */
    .shead h2{font-size:2.3rem;letter-spacing:.02em;line-height:1.55}
    .corp h2{font-size:2.3rem;letter-spacing:.02em;line-height:1.5}
    .tcard .tlead{letter-spacing:.02em}
    .shead h2,.corp h2,.tcard .tlead,.cbox h2,.finder-banner h2{word-break:keep-all;overflow-wrap:break-word}
  }
  @media(max-width:360px){
    .shead h2,.corp h2{font-size:2.1rem}
  }
  /* ===== UX / accessibility polish ===== */
  section[id],header,#company{scroll-margin-top:8.5rem}
  a:focus-visible,button:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible,summary:focus-visible,.pcard:focus-visible,.chip-f:focus-visible{outline:.3rem solid var(--green-d);outline-offset:.3rem;border-radius:.8rem}
  .skiplink{position:absolute;left:1rem;top:-8rem;z-index:300;background:var(--green);color:var(--on-accent);padding:1.1rem 1.8rem;border-radius:0 0 1.2rem 1.2rem;font-family:"Zen Maru Gothic";font-weight:700;font-size:1.4rem;transition:top .2s}
  .skiplink:focus{top:0;outline:none}
  .totop{position:fixed;right:2.2rem;bottom:2.2rem;z-index:90;width:5rem;height:5rem;border-radius:50%;background:var(--green);color:var(--on-accent);border:none;cursor:pointer;display:grid;place-items:center;opacity:0;pointer-events:none;transform:translateY(1rem);transition:opacity .25s,transform .25s,background .2s;box-shadow:0 1rem 2.4rem rgba(0,0,0,.5)}
  .totop:hover{background:var(--green-d);color:var(--on-accent)}
  .totop.show{opacity:1;pointer-events:auto;transform:none}
  .totop svg{width:2.2rem;height:2.2rem}
  @media(max-width:760px){ .totop{right:1.4rem;bottom:8.5rem;width:4.6rem;height:4.6rem} }
  @media (prefers-reduced-motion: reduce){
    *,*::before,*::after{animation-duration:.001ms!important;animation-iteration-count:1!important;transition-duration:.001ms!important}
    html{scroll-behavior:auto}
  }

/* finder CTA banner (home) + richer result */
.finder-banner{display:flex;align-items:center;justify-content:space-between;gap:3rem;background:var(--card);border:.1rem solid var(--line);border-radius:3rem;padding:clamp(3rem,5vw,5rem);flex-wrap:wrap}
.finder-banner h2{margin-top:1rem}
.finder-banner p{margin-top:1.2rem;color:var(--ink-s);max-width:46rem}
.finder-banner .btn{flex:none}
.fres-card .spec{font-size:1.1rem;color:var(--ink-s);margin-top:.5rem;line-height:1.5}
.fres-reasons{display:flex;flex-wrap:wrap;justify-content:center;gap:.8rem;margin:1rem 0 2rem}
.fres-reasons span{font-family:"Zen Maru Gothic";font-weight:700;font-size:1.2rem;background:#eef5f1;border:.1rem solid var(--line);border-radius:999px;padding:.6rem 1.4rem;color:var(--ink)}
.fres-plan{max-width:60rem;margin:2.8rem auto 0;text-align:center;font-size:1.45rem;color:var(--ink);background:rgba(20,177,126,.12);border-radius:1.6rem;padding:1.6rem 2rem}
.fres-plan b{color:var(--green-d)}
@media(max-width:760px){.finder-banner{flex-direction:column;text-align:center;align-items:stretch}.finder-banner .btn{justify-content:center}}
@media(max-width:540px){.grid.swipe>*,.stepc,.subsidy-row{flex-basis:84vw}}

/* ===== BRAND REVEAL (scrolls in after the hero) ===== */
.brandreveal{position:relative;z-index:2;padding:15rem 0 11rem;text-align:center}
.brandreveal .wrap{max-width:84rem}
.br-eyebrow{display:inline-flex;align-items:center;gap:1rem;font-size:1.5rem;color:var(--green);font-weight:700;letter-spacing:.12em;margin:0}
.br-title{font-family:"Zen Maru Gothic",sans-serif;font-weight:900;color:var(--ink);font-size:clamp(5rem,11vw,11rem);line-height:.98;letter-spacing:.04em;margin:2rem 0 .4rem}
.br-title span{display:block;font-family:"Zen Kaku Gothic New",sans-serif;font-weight:800;font-size:.16em;letter-spacing:.42em;color:var(--ink-s);margin-top:1.4rem}
.br-h{font-family:"Zen Maru Gothic",sans-serif;font-weight:900;color:#fff;font-size:clamp(2.6rem,4.6vw,4.4rem);line-height:1.4;margin:1.2rem 0 2.4rem}
.br-h .u{background:linear-gradient(transparent 60%,rgba(20,177,126,.42) 60%)}
.br-lead{font-size:1.7rem;line-height:2.1;color:var(--ink-s);max-width:60rem;margin:0 auto}
.br-lead b{color:var(--ink);font-weight:700}
.br-acts{display:flex;flex-wrap:wrap;gap:1.4rem;justify-content:center;margin-top:3.6rem}
/* reveal-on-scroll */
.reveal{opacity:0;transform:translateY(3rem);transition:opacity .8s cubic-bezier(.2,.8,.2,1),transform .8s cubic-bezier(.2,.8,.2,1)}
.reveal.in{opacity:1;transform:none}
.brandreveal .reveal:nth-child(2){transition-delay:.08s}
.brandreveal .reveal:nth-child(3){transition-delay:.16s}
.brandreveal .reveal:nth-child(4){transition-delay:.24s}
.brandreveal .reveal:nth-child(5){transition-delay:.32s}
@media(max-width:760px){.brandreveal{padding:9rem 0 7rem}.br-acts .btn{flex:1 1 auto;justify-content:center}}

/* ===== FULL-BLEED 実機 HERO ===== */
.s-hero.fullbleed{position:relative;min-height:100svh;padding:0;display:block;overflow:hidden;background:radial-gradient(120% 92% at 72% 12%,#20344f 0%,#0e1a2b 58%,#081120 100%);text-align:left}
.fb-videos{position:absolute;inset:0;z-index:0}
.fb-video{position:absolute;inset:0;z-index:0;width:100%;height:100%;object-fit:cover;object-position:60% center;background:#080c16;filter:saturate(.72) contrast(1.04) brightness(.82);opacity:0;transition:opacity 1.4s ease}
.fb-video.is-active{opacity:1}
.fb-scrim{position:absolute;inset:0;z-index:2;pointer-events:none;background:linear-gradient(180deg,rgba(8,12,22,.55) 0%,rgba(8,12,22,.12) 20%,rgba(8,12,22,.12) 40%,rgba(8,12,22,.9) 100%),linear-gradient(90deg,rgba(8,12,22,.6) 0%,rgba(8,12,22,.1) 52%,transparent 78%),linear-gradient(0deg,rgba(15,58,49,.22),rgba(13,40,42,.16))}
.dotpulse{width:1rem;height:1rem;border-radius:50%;background:var(--green);box-shadow:0 0 0 0 rgba(30,201,135,.6);animation:dotpulse 1.9s infinite;flex:none}
@keyframes dotpulse{0%{box-shadow:0 0 0 0 rgba(30,201,135,.5)}70%{box-shadow:0 0 0 1.4rem rgba(30,201,135,0)}100%{box-shadow:0 0 0 0 rgba(30,201,135,0)}}
/* ===== IREP-STYLE HERO TITLE — two slides that alternate over the video ===== */
.fb-title{position:absolute;left:0;bottom:11vh;z-index:3;width:100%;max-width:none;padding:0 3.2rem;pointer-events:none;min-height:24rem}
.fb-slide{position:absolute;left:3.2rem;right:3.2rem;bottom:0;opacity:0;visibility:hidden;transform:translateY(1.4rem);transition:opacity .9s cubic-bezier(.2,.8,.2,1),transform .9s cubic-bezier(.2,.8,.2,1),visibility .9s}
.fb-slide.is-on{opacity:1;visibility:visible;transform:none}
.fb-slide .btn{pointer-events:auto}
.fb-head{font-family:"Zen Maru Gothic",sans-serif;font-weight:900;color:#fff;font-size:clamp(4.2rem,8.2vw,8.6rem);line-height:1.06;letter-spacing:.02em;margin:0;text-shadow:0 1.2rem 5rem rgba(0,0,0,.6),0 0 3rem rgba(0,0,0,.4)}
.fb-tag{display:inline-flex;align-items:center;gap:1.2rem;margin-top:2.2rem;font-size:clamp(1.35rem,1.7vw,1.9rem);font-weight:700;color:var(--green);letter-spacing:.05em;text-shadow:0 .4rem 2rem rgba(0,0,0,.75)}
.fb-mark{width:2.6rem;height:.3rem;background:var(--green);border-radius:2px;box-shadow:0 0 1.4rem rgba(30,201,135,.8);flex:none}
/* brand slide (slide B) */
.fb-eyebrow{display:inline-flex;align-items:center;gap:1rem;font-size:clamp(1.3rem,1.6vw,1.6rem);color:#fff;font-weight:700;letter-spacing:.1em;margin:0;text-shadow:0 .4rem 2rem rgba(0,0,0,.7)}
.fb-brand2{font-family:"Zen Maru Gothic",sans-serif;font-weight:900;color:#fff;font-size:clamp(6rem,14vw,16rem);line-height:.9;letter-spacing:0;margin:1.2rem 0 0;text-shadow:0 1.4rem 5rem rgba(0,0,0,.6),0 0 3rem rgba(0,0,0,.35)}
.fb-brand2 span{display:block;font-family:"Zen Kaku Gothic New",sans-serif;font-weight:800;font-size:.13em;letter-spacing:.42em;color:rgba(255,255,255,.72);margin-top:1.2rem}
.fb-lead2{font-size:clamp(1.5rem,1.8vw,1.75rem);line-height:1.9;color:#fff;max-width:56rem;margin:1.8rem 0 0;text-shadow:0 .4rem 2rem rgba(0,0,0,.65)}
.fb-lead2 b{color:#fff;font-weight:700}
.fb-acts2{display:flex;flex-wrap:wrap;gap:1.4rem;margin-top:2.8rem}
.fb-title .btn.outline{border-color:rgba(255,255,255,.65);color:#fff}
.fb-title .btn.outline:hover{background:#fff;color:var(--ink);border-color:#fff}
.spbr{display:none}
@media(max-width:860px){
  .s-hero.fullbleed{background:radial-gradient(130% 60% at 70% 8%,#20344f 0%,#0e1a2b 55%,#081120 100%)}
  .fb-scrim{background:linear-gradient(180deg,rgba(8,12,22,.6) 0%,rgba(8,12,22,.12) 24%,rgba(8,12,22,.2) 52%,rgba(8,12,22,.92) 100%)}
  .fb-title{bottom:10vh;padding:0 2rem;min-height:30rem}
  .fb-slide{left:2rem;right:2rem}
  .spbr{display:inline}
  .fb-acts .btn,.fb-acts2 .btn{flex:1 1 auto;justify-content:center}
}

/* ============================================================
   DOSSIER v2 — 計器 / 研究資料調の上書きレイヤー（ミント維持）
   角丸ゼロ・1px罫線・§NN自動採番・monoラベル・hover反転カード
   ============================================================ */
:root{--mono:"JetBrains Mono",ui-monospace,SFMono-Regular,Menlo,monospace}
body{counter-reset:sec}

/* --- sharp corners on structural surfaces --- */
.content{border-radius:0}
.lcard,.stepc,.plan,.subsidy-row,.pcard,.pcard .ph,.pcard img,.finder,.finder-banner,
.cbox,.corp,.cform,.tcard,.rmodal,.rmodal-media,.rmodal-stage,.cmpmodal-box,.pmodal-box,
.tmodal-box,details,.qcards>*,.fres,.chip-f,.ctag,.cmp,.sbadge,.plan-badge,.plan-cta,
.cmptray-go,.cmp-fchip,.cmp-cta,.searchwrap input,.cform input,.cform select,.cform textarea,
.lcard .lhead .ic,.stepc-tag,.bub{border-radius:0 !important}

/* --- section head → left-aligned dossier meta row with §NN --- */
.shead{counter-increment:sec;text-align:left;max-width:none;margin-left:0;margin-right:0}
.shead .cap{display:flex;align-items:center;justify-content:flex-start;gap:1.3rem;width:100%;
  padding-bottom:1.3rem;border-bottom:.1rem solid var(--ink);
  font-family:var(--mono);font-weight:700;font-size:1.15rem;letter-spacing:.22em;
  text-transform:uppercase;color:var(--ink-s)}
.shead .cap::before{content:"§" counter(sec,decimal-leading-zero);
  width:auto;height:auto;margin:0;background:none;border-radius:0;
  font-family:var(--mono);font-weight:700;font-size:1.2rem;letter-spacing:.04em;color:var(--green-d)}
.shead h2{text-align:left;letter-spacing:-.005em;line-height:1.22;margin-top:2.6rem}
.shead p{margin-left:0;margin-right:0;text-align:left;max-width:62rem}

/* --- cards: hard 1px border + hover invert --- */
.lcard{border:.1rem solid var(--ink);box-shadow:none;background:#fff;
  transition:background .3s ease,color .3s ease,transform .3s ease}
.lcard:hover{background:var(--ink);color:var(--cream);transform:none}
.lcard:hover h3,.lcard:hover .maru{color:#fff}
.lcard:hover p{color:rgba(245,249,247,.74)}
.lcard:hover .no{color:var(--green)}
.lcard:hover .lhead .ic{background:rgba(20,177,126,.26);color:var(--green)}
.lcard .no{font-family:var(--mono);letter-spacing:.05em}

/* --- step cards --- */
.stepc{border:.1rem solid var(--ink);box-shadow:none;transition:background .3s ease,color .3s ease}
.stepc:hover{background:var(--ink);color:var(--cream)}
.stepc:hover h3{color:#fff}
.stepc:hover p{color:rgba(245,249,247,.74)}
.stepc:hover .stepc-n{color:var(--green)}
.stepc-n{font-family:var(--mono);font-feature-settings:"tnum"}
.stepc-tag{font-family:var(--mono);border:.1rem solid var(--green-d);background:transparent;
  color:var(--green-d);letter-spacing:.12em}

/* --- lineup cards + compare --- */
.pcard{border:.1rem solid var(--ink);box-shadow:none}
.pcard:hover{box-shadow:none;transform:translateY(-.3rem)}
.cmp{font-family:var(--mono);letter-spacing:.05em;box-shadow:none}

/* --- plans --- */
.plan{border:.1rem solid var(--ink);box-shadow:none}
.plan-badge{font-family:var(--mono);letter-spacing:.14em;text-transform:uppercase}
.plan-price{font-feature-settings:"tnum"}

/* --- subsidy --- */
.subsidy-row{border:.1rem solid var(--ink)}

/* --- stats: tabular numerals + hard rules --- */
.pstat-n,.pstat-l{font-feature-settings:"tnum"}
.herostats{border-top:.1rem solid var(--ink);border-bottom:.1rem solid var(--ink)}

/* --- buttons: keep mint, sharpen + flatten --- */
.btn{border-radius:.2rem;box-shadow:none;background:var(--green)}
.btn:hover{background:var(--green-d);transform:translateY(-1px);box-shadow:none}
.btn.outline{border-radius:.2rem}

/* --- forms --- */
.cform button[type=submit]{border-radius:.2rem}

/* --- FAQ: Q## auto-numbering --- */
.faq{counter-reset:q}
details{counter-increment:q}
summary::before{content:"Q" counter(q,decimal-leading-zero);font-family:var(--mono);
  font-weight:700;color:var(--green-d);margin-right:1.2rem;font-size:1.4rem;letter-spacing:.02em}

/* --- corp (dark block): keep own light meta row --- */
.corp .cap{display:inline-flex;width:auto;border:none;padding:0;color:var(--cyan);
  font-family:var(--mono);text-transform:uppercase;letter-spacing:.2em}
.corp .cap::before{content:"";width:2.2rem;height:.1rem;margin:0;background:var(--cyan)}

/* --- bands get hard top/bottom rules --- */
section.blk.band{border-top:.1rem solid var(--ink);border-bottom:.1rem solid var(--ink)}

/* --- news cards → sharp + hover invert --- */
.ncard{border:.1rem solid var(--ink);border-radius:0;box-shadow:none;transition:background .3s ease,color .3s ease}
.ncard:hover{background:var(--ink);color:var(--cream);transform:none;box-shadow:none;border-color:var(--ink)}
.ncard:hover h3{color:#fff}
.ncard:hover .date{color:var(--green)}
.ncard .date{font-family:var(--mono);letter-spacing:.04em}
.ncard .ntag{border-radius:0;font-family:var(--mono);letter-spacing:.08em}

/* --- remaining pills → sharp --- */
.cform .cats label,.corp .svc span,.cform label .req,.catlabel .cnt,
.chip-f,.cmp-fchip{border-radius:0}
.corp .svc span{font-family:var(--mono);letter-spacing:.04em}

/* --- hero eyebrow → mono --- */
.fb-eyebrow{font-family:var(--mono);text-transform:uppercase;letter-spacing:.2em}

/* --- SP: keep meta row readable --- */
@media(max-width:860px){
  .shead .cap{font-size:1.05rem;letter-spacing:.16em}
  .shead h2{margin-top:1.8rem}
}

/* ============================================================
   Web Interface Guidelines 監査対応（推奨修正 2026-07-06）
   ============================================================ */
/* 画像: width/height属性を付与したためアスペクト比ヒントのみ効かせ、表示は従来通り（歪み防止） */
.pcard .ph img,.sthumb img,.rmodal-stage img,.fres-card .ph img,.cmptable .chead .ph img{height:auto}
/* モーダル/ドロワー: 背面スクロール貫通を防止 */
.cmpmodal-box,.pmodal-box,.rmodal,.mobilemenu{overscroll-behavior:contain}

/* ============================================================
   Make Interfaces Feel Better（Dossierと両立する原則のみ 2026-07-06）
   ============================================================ */
/* #14 transition specificity + #12 scale-on-press(0.96) — タクタイルな押し心地 */
.btn{transition:background .2s ease,box-shadow .2s ease,transform .12s cubic-bezier(.2,0,0,1)}
.btn:active{transform:scale(.96)}
.plan-cta,.cform button[type=submit],.cmptray-go,.fq-opts button,.chip-f,.cmp,.cmp-fchip,.fres-card,.pcard{
  transition:background .2s ease,color .2s ease,border-color .2s ease,box-shadow .2s ease,transform .12s cubic-bezier(.2,0,0,1)}
.plan-cta:active,.cform button[type=submit]:active,.cmptray-go:active,.fq-opts button:active,
.chip-f:active,.cmp:active,.cmp-fchip:active,.pcard:active{transform:scale(.96)}
.cmptray-go:disabled:active{transform:none}
/* #16 最小ヒット領域 40×40px */
.cmp{min-height:4rem;display:inline-flex;align-items:center}
.chip-f{min-height:4rem;display:inline-flex;align-items:center;justify-content:center}
.cmptray-clear{min-height:4rem;display:inline-flex;align-items:center;padding:0 .8rem}
/* #9 tabular-nums — 動的に変わる数値のガタつき防止 */
#cmptray-n,.cmptray-go{font-variant-numeric:tabular-nums}
/* #10 text-wrap: pretty — 本文のorphan(1語残り)を防ぐ（見出しは.nwで手動制御済み） */
.shead p,.lcard p,.stepc p,.plan-desc,.subsidy-row .sdesc,.tcard .tpara,.cbox p,.corp p,.ncard h3{text-wrap:pretty}

/* ============================================================
   デザイン改善（大・中位 2026-07-07）
   ①機種スペック表 ②FIGキャプション ③信頼バンド
   ④想い=引用ブロック ⑤ヒーロー§00 ⑥フッター反転(締めの黒)
   ============================================================ */

/* ⑤ HERO §00 メタ行（動画上・白系mono） */
.fb-meta{font-family:var(--mono);font-size:1.15rem;letter-spacing:.16em;text-transform:uppercase;
  color:rgba(255,255,255,.62);margin:0 0 1.6rem;padding-bottom:1.1rem;
  border-bottom:.1rem solid rgba(255,255,255,.22);display:inline-block}

/* ② FIGキャプション帯（画像下・mono） */
.pcard .figcap{display:flex;justify-content:space-between;align-items:center;
  font-family:var(--mono);font-size:1.05rem;letter-spacing:.12em;text-transform:uppercase;
  color:var(--ink-s);margin-top:1.2rem;padding:.6rem 0;
  border-top:.1rem solid var(--ink);border-bottom:.1rem solid var(--line)}
.pcard .figcap span:first-child{color:var(--green-d);font-weight:700}

/* ① スペック表（mono・点線リーダー・tabular） */
.pcard .spec{display:grid;grid-template-columns:1fr 1fr;gap:.5rem 1.6rem;margin-top:1.3rem}
.pcard .spec>div{display:flex;justify-content:space-between;align-items:baseline;gap:.6rem;
  border-bottom:.1rem dotted var(--line);padding-bottom:.45rem}
.pcard .spec dt{font-family:var(--mono);font-size:1.05rem;letter-spacing:.05em;color:var(--ink-s)}
.pcard .spec dd{font-family:var(--mono);font-weight:700;font-size:1.45rem;color:var(--ink);font-variant-numeric:tabular-nums}
.pcard .spec dd em{font-style:normal;font-weight:500;font-size:.72em;color:var(--ink-s);margin-left:.15rem}
.pcard.big h4{margin-top:1.4rem}
.spec-note{text-align:center;font-family:var(--mono);font-size:1.1rem;letter-spacing:.02em;
  color:var(--ink-s);margin:1.2rem auto 0;max-width:80rem;line-height:1.9}

/* ③ 信頼バンド（対応メーカーの活版的ストリップ） */
.makers{padding:3.2rem 0;border-top:.1rem solid var(--ink);border-bottom:.1rem solid var(--ink);background:var(--card)}
.makers-row{display:flex;align-items:center;gap:2rem 3.4rem;flex-wrap:wrap}
.makers-label{font-family:var(--mono);font-size:1.2rem;letter-spacing:.14em;text-transform:uppercase;color:var(--ink-s);flex:none}
.makers-label em{font-style:normal;color:rgba(20,60,45,.35)}
.makers-list{list-style:none;display:flex;flex-wrap:wrap;gap:.8rem 3.2rem;margin:0;padding:0}
.makers-list li{font-family:var(--mono);font-weight:700;font-size:1.7rem;letter-spacing:.05em;color:var(--ink)}
.makers-tag{margin-left:auto;font-family:"Zen Maru Gothic";font-weight:700;font-size:1.35rem;color:var(--green-d)}

/* ④ 想い → Dossier流の引用ブロック（左寄せ・左ミント罫・mono見出し） */
.thought .tcard{max-width:92rem;text-align:left;border-left:.4rem solid var(--green);position:relative}
.thought .tcard .teyebrow,.thought .tcard .tlead,.thought .tcard .tpara{text-align:left;margin-left:0;margin-right:0}
.thought .tcard .teyebrow{font-family:var(--mono);text-transform:uppercase;letter-spacing:.2em;color:var(--green-d)}
.thought .tcard .tpara{max-width:66rem}

/* ⑥ フッター反転 — 締めの「黒の一撃」 */
footer.bigfoot{background:#0a1422;color:rgba(234,242,238,.66);border-top:.1rem solid #0a1422}
.bigfoot .logo{color:#fff}
.bigfoot .logo .by{color:rgba(234,242,238,.6)}
.bigfoot .tagline2{color:rgba(234,242,238,.66)}
.bigfoot .fnav a{color:rgba(234,242,238,.82)}
.bigfoot .fnav a:hover{color:var(--green)}
.bigfoot .company h4{color:#fff}
.bigfoot .company dt{color:var(--cyan)}
.bigfoot .company dd{color:rgba(234,242,238,.82)}
.bigfoot .corp-link{color:var(--green);border-bottom-color:var(--green)}
.bigfoot .copy{border-top-color:rgba(255,255,255,.14)}
.bigfoot .copy a{color:rgba(234,242,238,.72)}
.bigfoot .copy a:hover{color:var(--green)}

/* SP調整 */
@media(max-width:860px){
  .fb-meta{font-size:.98rem;letter-spacing:.1em;white-space:normal}
  .makers-row{gap:1.4rem 2rem}
  .makers-list{gap:.6rem 2rem}
  .makers-list li{font-size:1.4rem}
  .makers-tag{margin-left:0;flex-basis:100%}
  .pcard .spec dd{font-size:1.35rem}
}
