/* base reset (server) */
*,*::before,*::after{box-sizing:border-box}
body{margin:0}
img{max-width:100%}
[hidden]{display:none!important}


/* Layout: full-bleed winter-road hero, text anchored left, truck right; fixed header that goes solid on scroll; sections stacked in page order 01–05 */
:root{
  --red:#D2121B;        /* CHAOYANG brand red */
  --red-deep:#A80E15;
  --ink:#0F1418;        /* asphalt black */
  --ink-2:#2A333B;
  --snow:#F4F6F8;       /* page ground, cool white */
  --frost:#DCE3EA;      /* hairlines on light */
  --steel:#6E7B87;      /* secondary text, slightly blue */
  --white:#FFFFFF;
  --f-jp:"Noto Sans JP","Hiragino Kaku Gothic ProN","Yu Gothic",sans-serif;
  --f-en:"Montserrat","Helvetica Neue",Arial,sans-serif;
  --hdr-h:120px;
  --gutter:clamp(16px,5.4vw,90px);
  --ease:cubic-bezier(.22,.8,.2,1);
  color-scheme:light;
}
*,*::before,*::after{box-sizing:border-box}
html{scroll-behavior:smooth;scroll-padding-top:72px}
body{background:var(--snow);color:var(--ink);font-family:var(--f-jp);font-size:15px;line-height:1.8;-webkit-font-smoothing:antialiased;overflow-x:hidden}
a{color:inherit;text-decoration:none}
button{font:inherit;color:inherit;background:none;border:0;cursor:pointer}
:focus-visible{outline:2px solid var(--red);outline-offset:3px}
.en{font-family:var(--f-en);letter-spacing:.24em;text-transform:uppercase}

/* ============ HEADER ============ */
.hdr{position:fixed;inset:0 0 auto 0;z-index:50;padding-top:env(safe-area-inset-top,0px);
  transition:transform .5s var(--ease),background-color .4s,box-shadow .4s}
.hdr__in{height:var(--hdr-h);display:flex;align-items:flex-start;justify-content:space-between;gap:24px;padding:36px var(--gutter) 0;transition:height .4s var(--ease),padding .4s var(--ease)}
.hdr.is-solid{background:rgba(255,255,255,.9);backdrop-filter:blur(14px);-webkit-backdrop-filter:blur(14px);box-shadow:0 1px 0 var(--frost)}
.hdr.is-solid .hdr__in{height:72px;padding-top:18px}
.hdr.is-solid .brand__sub{opacity:0;transform:translateY(-6px);pointer-events:none}
.hdr.is-hidden{transform:translateY(-110%)}

.brand{display:block;line-height:1}
.logo{display:flex;align-items:center;gap:.5em;font-family:var(--f-en);font-weight:900;font-size:clamp(20px,2.05vw,34px);letter-spacing:-.01em;white-space:nowrap}
.logo__cy{display:inline-flex;align-items:center;color:var(--red);font-style:italic;transform:skewX(-4deg)}
.logo__sun{width:1.35em;height:.9em;margin:0 .06em;flex:none}
.logo__tg{color:var(--ink);margin-left:.35em}
.brand__sub{margin-top:14px;font-family:var(--f-en);font-size:11px;font-weight:600;letter-spacing:.3em;line-height:1.9;color:var(--ink-2);transition:opacity .3s,transform .3s}

.gnav{display:flex;gap:clamp(20px,3.3vw,56px);margin-left:auto;padding-top:2px}
.gnav a{position:relative;display:block;padding-bottom:10px}
.gnav .en{display:block;font-size:12.5px;font-weight:700;letter-spacing:.2em;line-height:1.4;transition:color .3s}
.gnav .jp{display:block;font-size:11px;font-weight:500;letter-spacing:.14em;color:var(--ink-2);margin-top:5px}
.gnav a::after{content:"";position:absolute;left:0;bottom:0;height:2px;width:100%;background:var(--red);transform:scaleX(0);transform-origin:right;transition:transform .45s var(--ease)}
.gnav a:hover::after,.gnav a.is-current::after{transform:scaleX(1);transform-origin:left}
.gnav a:hover .en,.gnav a.is-current .en{color:var(--red)}

.burger{width:48px;height:36px;margin-left:clamp(20px,3.5vw,60px);position:relative;flex:none}
.burger span{position:absolute;left:4px;right:4px;height:2px;background:var(--ink);transition:transform .45s var(--ease),opacity .3s,top .45s var(--ease)}
.burger span:nth-child(1){top:10px}.burger span:nth-child(2){top:17px}.burger span:nth-child(3){top:24px}
.burger:hover span:nth-child(2){transform:scaleX(.6);transform-origin:right}
body.menu-open .burger span{background:var(--white)}
body.menu-open .burger span:nth-child(1){top:17px;transform:rotate(30deg)}
body.menu-open .burger span:nth-child(2){opacity:0}
body.menu-open .burger span:nth-child(3){top:17px;transform:rotate(-30deg)}
body.menu-open .hdr{background:transparent;box-shadow:none;backdrop-filter:none;transform:none}
body.menu-open .hdr .logo__tg,body.menu-open .hdr .brand__sub{color:var(--white)}
body.menu-open .gnav{visibility:hidden}

/* ============ OVERLAY MENU ============ */
.menu{position:fixed;inset:0;z-index:40;display:grid;grid-template-columns:minmax(0,1.1fr) minmax(0,1fr);background:var(--ink);color:var(--white);
  clip-path:inset(0 0 100% 0);transition:clip-path .7s var(--ease);visibility:hidden}
body.menu-open .menu{clip-path:inset(0 0 0 0);visibility:visible}
.menu__visual{position:relative;overflow:hidden}
.menu__visual img{width:100%;height:100%;object-fit:cover;object-position:75% 50%;transform:scale(1.15);transition:transform 1.4s var(--ease);filter:saturate(.8)}
body.menu-open .menu__visual img{transform:scale(1.02)}
.menu__visual::after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,rgba(15,20,24,.2),rgba(15,20,24,.85))}
.menu__cap{position:absolute;left:var(--gutter);bottom:48px;z-index:1;font-family:var(--f-en);font-size:11px;letter-spacing:.3em;line-height:2}
.menu__body{padding:calc(var(--hdr-h) + 20px) var(--gutter) 48px;display:flex;flex-direction:column;justify-content:space-between;gap:40px;overflow-y:auto}
.mnav{list-style:none;margin:0;padding:0;border-top:1px solid rgba(255,255,255,.14)}
.mnav li{border-bottom:1px solid rgba(255,255,255,.14);opacity:0;transform:translateY(18px);transition:opacity .5s,transform .6s var(--ease)}
body.menu-open .mnav li{opacity:1;transform:none}
body.menu-open .mnav li:nth-child(1){transition-delay:.25s}body.menu-open .mnav li:nth-child(2){transition-delay:.31s}
body.menu-open .mnav li:nth-child(3){transition-delay:.37s}body.menu-open .mnav li:nth-child(4){transition-delay:.43s}
body.menu-open .mnav li:nth-child(5){transition-delay:.49s}body.menu-open .mnav li:nth-child(6){transition-delay:.55s}
.mnav a{display:grid;grid-template-columns:44px 1fr auto;align-items:baseline;gap:12px;padding:18px 0;position:relative}
.mnav .no{font-family:var(--f-en);font-size:11px;font-weight:600;letter-spacing:.1em;color:rgba(255,255,255,.45)}
.mnav .t{font-family:var(--f-en);font-weight:800;font-size:clamp(24px,2.6vw,40px);letter-spacing:.06em;line-height:1.1;transition:color .3s,transform .45s var(--ease)}
.mnav .t small{display:block;font-family:var(--f-jp);font-weight:500;font-size:12px;letter-spacing:.16em;color:rgba(255,255,255,.6);margin-top:8px}
.mnav .arw{width:28px;height:12px;opacity:.4;transition:transform .45s var(--ease),opacity .3s}
.mnav a:hover .t{color:var(--red);transform:translateX(10px)}
.mnav a:hover .arw{opacity:1;transform:translateX(6px)}
.menu__foot{display:grid;gap:18px}
.menu__foot .row{display:flex;flex-wrap:wrap;gap:12px}
.menu__tel{font-family:var(--f-en);font-weight:700;font-size:22px;letter-spacing:.08em;user-select:all}
.menu__note{font-size:11.5px;color:rgba(255,255,255,.6);letter-spacing:.08em}

/* ============ BUTTONS ============ */
.btn{--bg:var(--red);--fg:var(--white);position:relative;display:inline-flex;align-items:center;justify-content:space-between;gap:24px;min-width:254px;height:66px;padding:0 36px;
  background:var(--bg);color:var(--fg);font-weight:700;font-size:14.5px;letter-spacing:.16em;border:1.5px solid rgba(255,255,255,.9);overflow:hidden;isolation:isolate}
.btn::before{content:"";position:absolute;inset:0;z-index:-1;background:var(--white);transform:translateX(-101%);transition:transform .55s var(--ease)}
.btn .arw{width:32px;height:12px;flex:none;transition:transform .45s var(--ease)}
.btn:hover{color:var(--hover-fg,var(--red))}
.btn:hover::before{transform:none}
.btn:hover .arw{transform:translateX(8px)}
.btn--dark{--bg:rgba(15,20,24,.92);--hover-fg:var(--ink)}
.btn--sm{min-width:0;height:52px;padding:0 24px;font-size:13px}

/* ============ HERO ============ */
.hero{position:relative;height:100svh;min-height:640px;max-height:1100px;overflow:hidden;color:var(--white);background:var(--ink)}
.hero__bg{position:absolute;inset:0}
.hero__bg img{width:100%;height:100%;object-fit:cover;object-position:62% 50%;animation:kb 18s var(--ease) both}
@keyframes kb{from{transform:scale(1.1)}to{transform:scale(1)}}
.hero__shade{position:absolute;inset:0;background:
  linear-gradient(90deg,rgba(10,14,18,.55) 0%,rgba(10,14,18,.25) 38%,rgba(10,14,18,0) 58%),
  linear-gradient(0deg,rgba(10,14,18,.55) 0%,rgba(10,14,18,0) 26%)}
#snow{position:absolute;inset:0;width:100%;height:100%;pointer-events:none}
.hero__copy{position:absolute;left:var(--gutter);top:max(21.5%,150px);right:var(--gutter);max-width:860px}
.hero__h{margin:0;font-weight:900;font-size:clamp(46px,5.9vw,124px);line-height:1.2;white-space:nowrap;letter-spacing:-.03em;text-shadow:0 4px 30px rgba(0,0,0,.25)}
.hero__h .ln{display:block;overflow:hidden;padding-bottom:.02em}
.hero__h .ln>span{display:inline-block;animation:rise 1.1s var(--ease) both}
.hero__h .ln:nth-child(2)>span{animation-delay:.14s}
@keyframes rise{from{transform:translateY(60%);opacity:.0}to{transform:none;opacity:1}}
.hero__meta{margin-top:18px;max-width:min(470px,100%);animation:fade 1s .5s both}
@keyframes fade{from{opacity:.0;transform:translateY(10px)}to{opacity:1;transform:none}}
.hero__meta hr{border:0;height:1px;background:rgba(255,255,255,.75);margin:0}
.hero__meta hr.s{width:73%}
.hero__name{font-family:var(--f-en);font-weight:600;font-size:clamp(17px,1.62vw,26px);letter-spacing:.2em;margin:18px 0 0;line-height:1.3}
.hero__cat{font-family:var(--f-en);font-weight:500;font-size:clamp(11px,1.05vw,18px);letter-spacing:.36em;white-space:nowrap;margin:8px 0 16px;line-height:1.5}
.hero__dealer{font-size:clamp(12px,.98vw,15.5px);font-weight:500;letter-spacing:.12em;margin:16px 0 0}
.hero__cta{display:flex;flex-wrap:wrap;gap:24px;margin-top:34px;animation:fade 1s .7s both}

.hero__foot{position:absolute;left:var(--gutter);right:var(--gutter);bottom:max(40px,6.5vh);display:grid;grid-template-columns:1fr auto 1fr;align-items:end;font-size:11.5px}
.hero__place{display:flex;align-items:center;gap:36px}
.hero__place .en{font-size:11px;font-weight:600;line-height:1.7;letter-spacing:.24em}
.hero__place i{width:34px;height:1px;background:currentColor;opacity:.8}
.hero__place p{margin:0;letter-spacing:.2em;line-height:1.7;font-size:12px}
.scroll{display:grid;justify-items:center;gap:10px;font-family:var(--f-en);font-size:11px;font-weight:600;letter-spacing:.3em;padding-left:.3em}
.scroll__line{width:1px;height:30px;background:rgba(255,255,255,.35);position:relative;overflow:hidden}
.scroll__line::after{content:"";position:absolute;inset:0;background:var(--white);animation:drip 2.2s var(--ease) infinite}
@keyframes drip{0%{transform:translateY(-100%)}60%,100%{transform:translateY(100%)}}
.scroll svg{width:16px;height:10px;transition:transform .3s}
.scroll:hover svg{transform:translateY(4px)}
.hero__tag{justify-self:end;text-align:left;text-transform:uppercase;font-family:var(--f-en);font-size:11px;font-weight:600;letter-spacing:.22em;line-height:1.7}

/* section pager (fixed, right edge) */
.pager{position:fixed;right:max(20px,2.6vw);top:50%;transform:translateY(-50%);z-index:30;display:grid;justify-items:center;gap:12px;font-family:var(--f-en);font-size:11px;font-weight:600;letter-spacing:.08em;color:var(--white);mix-blend-mode:difference}
.pager__bar{width:1px;height:70px;background:rgba(255,255,255,.35);position:relative}
.pager__bar i{position:absolute;left:0;top:0;width:1px;height:100%;background:var(--white);transform-origin:top;transform:scaleY(var(--p,.2));transition:transform .3s}
.pager button{font-size:11px;font-weight:600;padding:2px 4px}
.pager__now{min-width:2ch;text-align:center}


/* ============ 02 QUESTION (sticky scroll typography) ============ */
.q{position:relative;height:300svh;background:var(--white);color:var(--ink)}
.q__pin{position:sticky;top:0;height:100svh;min-height:600px;overflow:hidden;display:flex;flex-direction:column;justify-content:center;padding:calc(var(--hdr-h) + 10px) var(--gutter) 130px}
.q__pin{--fs:min(6.6vw,12.4svh)}
.q__list{list-style:none;margin:0;padding:0}
.q__item{display:flex;align-items:center;gap:clamp(14px,2vw,32px);font-weight:900;font-size:var(--fs);line-height:1.1;letter-spacing:-.04em;color:#CFD6DC;transition:color .5s var(--ease),transform .6s var(--ease)}
.q__item .w{white-space:nowrap}
.q__item.is-on{color:var(--ink)}
.q__tag{display:inline-flex;align-items:center;gap:8px;font-family:var(--f-en);font-size:11px;font-weight:700;letter-spacing:.24em;color:var(--steel);opacity:0;transform:translateX(-12px);transition:opacity .45s,transform .5s var(--ease)}
.q__tag svg{width:14px;height:14px;color:var(--red)}
.q__tag b{font-family:var(--f-jp);font-weight:500;letter-spacing:.12em;margin-left:4px}
.q__item.is-on .q__tag{opacity:1;transform:none}
.q__item:hover{transform:translateX(12px)}
.q__rule{display:block;width:clamp(40px,3.8vw,64px);height:2px;background:var(--ink);margin:clamp(12px,2.2svh,24px) 0 clamp(6px,1.4svh,16px) .06em;transform:scaleX(0);transform-origin:left;transition:transform .6s var(--ease)}
.q__ask{margin:0;font-weight:900;font-size:var(--fs);line-height:1.15;letter-spacing:-.04em;white-space:nowrap;color:#CFD6DC;transition:color .5s}
.q__ask em{font-style:normal;color:#CFD6DC;display:inline-block;transition:color .5s .15s,transform .7s .15s var(--ease)}
.q.is-ask .q__rule{transform:scaleX(1)}
.q.is-ask .q__ask{color:var(--ink)}
.q.is-ask .q__ask em{color:var(--red);animation:jolt .6s .2s var(--ease)}
@keyframes jolt{0%{transform:translateY(0)}30%{transform:translateY(-8%) rotate(-1.5deg)}100%{transform:none}}
.q__foot{position:absolute;left:var(--gutter);right:var(--gutter);bottom:max(36px,5vh);display:grid;grid-template-columns:1fr auto 1fr;align-items:end;color:var(--ink)}
.q__foot .scroll__line{background:rgba(15,20,24,.2)}
.q__foot .scroll__line::after{background:var(--ink)}
.q__prog{position:absolute;left:0;top:0;height:3px;width:100%;background:var(--red);transform-origin:left;transform:scaleX(var(--qp,0))}


/* ============ 03 BIG NUMBER (30%) ============ */
.big{position:relative;min-height:100svh;overflow:hidden;color:var(--ink);
  background:radial-gradient(120% 70% at 85% 105%,#E7EDF2 0%,rgba(231,237,242,0) 60%),radial-gradient(60% 50% at 0% 60%,#EEF2F5 0%,rgba(238,242,245,0) 70%),var(--white)}
.big__num{position:absolute;left:calc(var(--gutter) - .06em);top:clamp(86px,11svh,120px);display:flex;align-items:flex-end;font-family:var(--f-en);font-weight:900;line-height:.78;letter-spacing:-.05em;--fs:min(46vw,84svh);font-size:var(--fs)}
.big__photo{display:block;padding-top:.08em;
  background-image:url("../images/hero.jpg");background-size:auto 118%;background-position:var(--bx,78%) var(--by,50%);
  -webkit-background-clip:text;background-clip:text;color:transparent;-webkit-text-fill-color:transparent;
  transition:background-size 1.2s var(--ease);filter:drop-shadow(0 18px 40px rgba(40,60,80,.18))}
.big__num:hover .big__photo{background-size:auto 132%}
.big__pct{display:block;font-size:.68em;margin-left:.02em;padding-right:.06em;font-style:italic;transform:skewX(-6deg) translateY(.02em);
  background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='220' height='220'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.9' numOctaves='2'/%3E%3CfeColorMatrix values='0 0 0 0 1 0 0 0 0 1 0 0 0 0 1 0 0 0 .55 0'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)'/%3E%3C/svg%3E"),linear-gradient(150deg,#F0232B 0%,#D2121B 45%,#A80E15 100%);background-size:220px 220px,100% 100%;background-blend-mode:soft-light,normal;
  -webkit-background-clip:text;background-clip:text;color:transparent;-webkit-text-fill-color:transparent;transition:transform .6s var(--ease)}
.big__num:hover .big__pct{transform:skewX(-10deg) translate(.03em,.01em)}
.big__side{position:absolute;right:calc(var(--gutter) + 40px);top:clamp(150px,17svh,180px);margin:0;font-family:var(--f-en);font-weight:700;font-size:clamp(13px,1.1vw,18px);letter-spacing:.3em;line-height:1.55;color:#A9B3BC;text-transform:uppercase}
.big__copy{position:absolute;left:var(--gutter);bottom:clamp(96px,11.5svh,120px);max-width:760px;text-shadow:0 0 18px #fff,0 0 30px rgba(255,255,255,.9)}
.big__h{margin:0;font-weight:900;font-size:clamp(34px,3.9vw,64px);line-height:1.2;letter-spacing:-.02em}
.big__sub{margin:.35em 0 0;font-weight:900;font-size:clamp(20px,2.15vw,36px);line-height:1.3;letter-spacing:-.01em}
.big__sub .brandword{font-family:var(--f-en);color:var(--red);letter-spacing:-.02em}
.big__cut{margin:.3em 0 0;font-weight:700;font-size:clamp(18px,1.95vw,32px);line-height:1.3;display:flex;align-items:baseline;flex-wrap:wrap;gap:0 .5em}
.big__cut strong{font-weight:900;color:var(--red);font-size:1.42em;letter-spacing:-.02em}
.big__cut strong .n{font-family:var(--f-en);font-variant-numeric:tabular-nums}
.big__note{margin:.6em 0 0;font-size:12px;letter-spacing:.1em;color:var(--ink-2);text-shadow:none}
.big__foot{position:absolute;left:var(--gutter);right:var(--gutter);bottom:max(32px,4.6vh);display:grid;grid-template-columns:1fr auto 1fr;align-items:end}
.big__foot .scroll__line{background:rgba(15,20,24,.2)}
.big__foot .scroll__line::after{background:var(--ink)}
.big__foot .hero__tag{letter-spacing:.2em;font-size:10.5px}


/* ============ 04 TEST ============ */
.test{position:relative;background:var(--white);color:var(--ink);overflow:hidden}
.test__top{position:relative;min-height:clamp(540px,66svh,640px)}
.test__photo{position:absolute;top:0;right:0;bottom:0;width:62%;margin:0;overflow:hidden}
.test__photo img{width:100%;height:100%;object-fit:cover;object-position:30% 60%;transform:scale(var(--ts,1.06));transition:transform .2s linear}
.test__photo::before{content:"";position:absolute;inset:0;z-index:1;background:linear-gradient(90deg,var(--white) 0%,rgba(255,255,255,.75) 10%,rgba(255,255,255,0) 30%),linear-gradient(0deg,var(--white) 0%,rgba(255,255,255,0) 14%)}
.test__copy{position:relative;z-index:2;padding:calc(var(--hdr-h) + 28px) var(--gutter) 36px}
.test__lead{margin:0;font-weight:900;font-size:clamp(28px,3.4vw,58px);line-height:1.25;letter-spacing:-.02em;text-shadow:0 0 14px #fff,0 0 26px #fff}
.test__rule{display:block;width:clamp(36px,3vw,52px);height:2px;background:var(--ink);margin:clamp(14px,2svh,22px) 0 clamp(10px,1.6svh,18px)}
.test__big{margin:0;font-family:var(--f-en);font-weight:900;font-size:clamp(46px,6.6vw,112px);line-height:.93;letter-spacing:-.045em;text-shadow:0 0 12px #fff,0 0 24px rgba(255,255,255,.95)}
.test__big span{display:block;white-space:nowrap}
.test__big .y{color:var(--red)}
.test__side{position:absolute;z-index:2;right:calc(var(--gutter) - 40px);top:clamp(140px,16svh,160px);margin:0;font-family:var(--f-en);font-weight:700;font-size:clamp(12px,1.05vw,17px);letter-spacing:.3em;line-height:1.5;color:rgba(255,255,255,.85);text-transform:uppercase;text-shadow:0 1px 8px rgba(40,60,90,.35)}

.spec{list-style:none;margin:0;padding:18px var(--gutter);display:grid;grid-template-columns:repeat(5,minmax(0,1fr));background:var(--white);position:relative;z-index:2}
.spec li{display:flex;align-items:center;gap:clamp(12px,1.2vw,20px);padding:6px clamp(10px,1.6vw,28px);border-left:1px solid var(--frost);min-width:0;transition:transform .4s var(--ease)}
.spec li:first-child{border-left:0;padding-left:0}
.spec svg{width:clamp(38px,3.4vw,58px);height:clamp(38px,3.4vw,58px);flex:none;color:var(--ink);transition:color .3s,transform .5s var(--ease)}
.spec li:hover svg{color:var(--red);transform:translateY(-3px)}
.spec dl{margin:0;min-width:0}
.spec dt{font-size:12px;font-weight:700;letter-spacing:.08em}
.spec dd{margin:0}
.spec .v{display:block;font-weight:900;font-size:clamp(16px,1.45vw,24px);line-height:1.35;letter-spacing:.01em;white-space:nowrap;font-variant-numeric:tabular-nums}
.spec .v.cy{font-family:var(--f-en);color:var(--red);font-weight:800}
.spec .s{display:block;font-size:clamp(10.5px,.78vw,12px);color:var(--ink-2);letter-spacing:.04em}

.strip{position:relative;overflow:hidden;background:var(--ink)}
.strip__track{display:flex;gap:6px;width:max-content;animation:marq 48s linear infinite}
.strip:hover .strip__track,.strip:focus-within .strip__track{animation-play-state:paused}
@keyframes marq{to{transform:translateX(calc(-50% - 3px))}}
.strip__item{position:relative;display:block;height:clamp(170px,24svh,232px);overflow:hidden;padding:0}
.strip__item img{height:100%;width:auto;max-width:none;display:block;transition:transform .8s var(--ease),filter .5s}
.strip__item::after{content:attr(data-cap);position:absolute;left:0;right:0;bottom:0;padding:28px 16px 12px;font-size:12px;font-weight:700;letter-spacing:.1em;color:var(--white);text-align:left;background:linear-gradient(0deg,rgba(10,14,18,.8),rgba(10,14,18,0));opacity:0;transform:translateY(8px);transition:opacity .4s,transform .45s var(--ease)}
.strip__item:hover img,.strip__item:focus-visible img{transform:scale(1.06)}
.strip__item:hover::after,.strip__item:focus-visible::after{opacity:1;transform:none}
.strip__zoom{position:absolute;top:12px;right:12px;z-index:1;width:34px;height:34px;display:grid;place-items:center;background:rgba(255,255,255,.92);color:var(--ink);opacity:0;transition:opacity .3s}
.strip__zoom svg{width:16px;height:16px}
.strip__item:hover .strip__zoom,.strip__item:focus-visible .strip__zoom{opacity:1}

/* lightbox */
.lb{position:fixed;inset:0;z-index:85;display:grid;grid-template-rows:1fr auto;visibility:hidden;background:rgba(10,14,18,.94);color:var(--white);opacity:0;transition:opacity .35s,visibility 0s .35s;padding:calc(20px + env(safe-area-inset-top,0px)) 16px calc(20px + env(safe-area-inset-bottom,0px))}
.lb.is-open{visibility:visible;opacity:1;transition:opacity .35s}
.lb__stage{display:grid;place-items:center;min-height:0;position:relative}
.lb__img{max-width:min(1100px,100%);max-height:calc(100svh - 170px);width:auto;height:auto;object-fit:contain;box-shadow:0 30px 80px rgba(0,0,0,.5);transform:scale(.96);transition:transform .45s var(--ease),opacity .25s}
.lb.is-open .lb__img{transform:none}
.lb__bar{display:flex;align-items:center;justify-content:space-between;gap:16px;max-width:1100px;width:100%;margin:16px auto 0}
.lb__cap{margin:0;font-size:14px;font-weight:700;letter-spacing:.08em}
.lb__cap small{display:block;font-family:var(--f-en);font-size:11px;color:rgba(255,255,255,.55);letter-spacing:.2em;margin-bottom:2px}
.lb__nav{display:flex;gap:8px}
.lb__nav button{width:48px;height:48px;border:1px solid rgba(255,255,255,.35);display:grid;place-items:center;transition:background .3s,border-color .3s}
.lb__nav button:hover{background:var(--red);border-color:var(--red)}
.lb__nav svg{width:18px;height:12px}
.lb__x{position:absolute;top:calc(14px + env(safe-area-inset-top,0px));right:16px;z-index:2;width:48px;height:48px;display:grid;place-items:center}
.lb__x svg{width:20px;height:20px;transition:transform .4s var(--ease)}
.lb__x:hover svg{transform:rotate(90deg)}


/* ============ 05 RESULT ============ */
.res{position:relative;background:var(--white);color:var(--ink);overflow:hidden}
.res__top{position:relative;min-height:clamp(600px,82svh,790px)}
.res__photo{position:absolute;top:0;right:0;bottom:0;width:58%;margin:0;overflow:hidden}
.res__photo img{width:100%;height:100%;object-fit:cover;object-position:40% 55%;transform:translateY(var(--ry,0px)) scale(1.08)}
.res__photo::before{content:"";position:absolute;inset:0;z-index:1;background:linear-gradient(90deg,var(--white) 0%,rgba(255,255,255,.7) 12%,rgba(255,255,255,0) 32%),linear-gradient(0deg,var(--white) 0%,rgba(255,255,255,.6) 10%,rgba(255,255,255,0) 26%)}
.res__side{position:absolute;z-index:2;right:calc(var(--gutter) - 40px);top:clamp(124px,14svh,140px);margin:0;font-family:var(--f-en);font-weight:700;font-size:clamp(12px,1.05vw,17px);letter-spacing:.2em;line-height:1.5;color:rgba(255,255,255,.9);text-transform:uppercase;text-shadow:0 1px 10px rgba(60,50,80,.4)}
.res__copy{position:relative;z-index:2;padding:calc(var(--hdr-h) + 36px) var(--gutter) 48px}
.eyebrow{display:flex;align-items:center;gap:18px;margin:0;font-family:var(--f-en);font-size:13px;font-weight:700;letter-spacing:.2em}
.eyebrow::after{content:"";width:110px;height:1px;background:var(--ink);opacity:.5}
.res__h{margin:clamp(14px,2svh,24px) 0 0;font-weight:900;font-size:clamp(64px,10.4vw,176px);line-height:1.08;letter-spacing:-.05em;text-shadow:0 0 18px #fff,0 0 34px rgba(255,255,255,.9)}
.res__h span{display:block;white-space:nowrap;transform-origin:left 70%}
.res.is-in .res__h span{animation:stamp .8s var(--ease) both}
.res.is-in .res__h span:nth-child(2){animation-delay:.18s}
@keyframes stamp{0%{transform:scale(1.18);filter:blur(6px);opacity:.35}60%{transform:scale(.985);filter:none;opacity:1}100%{transform:none}}
.res__sum{margin:clamp(10px,1.6svh,18px) 0 0;font-weight:900;font-size:clamp(20px,2.25vw,38px);line-height:1.35;letter-spacing:-.01em;text-shadow:0 0 14px #fff,0 0 24px #fff}
.res__note{margin:clamp(12px,2svh,22px) 0 0;font-size:clamp(15px,1.4vw,23px);font-weight:400;line-height:1.6;letter-spacing:.1em;color:var(--ink-2);text-shadow:0 0 12px #fff}
.verdict{list-style:none;margin:0;padding:8px var(--gutter) 44px;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));position:relative;z-index:2;background:var(--white)}
.verdict li{display:grid;grid-template-columns:auto 1fr;grid-template-rows:auto auto;gap:4px clamp(14px,1.6vw,26px);padding:0 clamp(12px,2vw,34px);border-left:1px solid #C9D1D8;min-width:0;align-items:start}
.verdict li:first-child{border-left:0;padding-left:0}
.verdict .no{grid-column:1/-1;font-family:var(--f-en);font-size:12px;font-weight:700;letter-spacing:.1em}
.verdict .ic{width:clamp(40px,3.1vw,52px);height:clamp(40px,3.1vw,52px);color:var(--ink);position:relative;transition:color .3s,transform .5s var(--ease)}
.verdict .ic svg{width:100%;height:100%}
.verdict .ok{position:absolute;right:-6px;bottom:-4px;width:20px;height:20px;border-radius:50%;background:var(--red);color:var(--white);display:grid;place-items:center;transform:scale(0);transition:transform .5s var(--ease)}
.verdict .ok svg{width:11px;height:11px}
.res.is-in .verdict .ok{transform:scale(1)}
.res.is-in .verdict li:nth-child(2) .ok{transition-delay:.12s}.res.is-in .verdict li:nth-child(3) .ok{transition-delay:.24s}.res.is-in .verdict li:nth-child(4) .ok{transition-delay:.36s}
.verdict li:hover .ic{color:var(--red);transform:translateY(-3px)}
.verdict h3{margin:0;font-size:clamp(16px,1.3vw,21px);font-weight:900;letter-spacing:.06em;line-height:1.4}
.verdict p{margin:4px 0 0;font-size:clamp(12px,.92vw,14.5px);line-height:1.7;letter-spacing:.04em;color:var(--ink-2)}


/* ============ 06 WHY CHAOYANG ============ */
.why{position:relative;background:var(--white);color:var(--ink);overflow:hidden}
.why__top{position:relative;min-height:clamp(500px,56svh,540px)}
.why__photo{position:absolute;top:0;right:0;width:62%;height:100%;margin:0;overflow:hidden}
.why__photo img{width:100%;height:100%;object-fit:cover;object-position:30% 40%;transform-origin:62% 120%;transform:rotate(var(--wr,0deg)) scale(1.08)}
.why__photo::before{content:"";position:absolute;inset:0;z-index:1;background:linear-gradient(90deg,var(--white) 0%,rgba(255,255,255,.6) 10%,rgba(255,255,255,0) 28%),linear-gradient(0deg,var(--white) 0%,rgba(255,255,255,0) 18%)}
.why__side{position:absolute;z-index:2;right:calc(var(--gutter) - 26px);top:clamp(124px,14svh,138px);margin:0;font-family:var(--f-en);font-weight:600;font-size:clamp(12px,1.05vw,17px);letter-spacing:.2em;line-height:1.55;color:var(--white);text-transform:uppercase}
.why__side b{display:block;font-weight:800;margin-bottom:.6em}
.why__copy{position:relative;z-index:2;padding:calc(var(--hdr-h) + 36px) var(--gutter) 30px}
.why__h{margin:clamp(12px,2svh,22px) 0 0;font-weight:900;font-size:clamp(46px,6.3vw,106px);line-height:1.1;letter-spacing:-.05em;white-space:nowrap;text-shadow:0 0 16px #fff,0 0 30px rgba(255,255,255,.9)}
.why__body{margin:clamp(16px,2.6svh,30px) 0 0;max-width:34em;font-size:clamp(14px,1.1vw,18px);line-height:1.62;letter-spacing:.06em;text-shadow:0 0 10px #fff}
.stats{list-style:none;margin:0;padding:10px var(--gutter) 22px;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));position:relative;z-index:2;background:var(--white)}
.stats li{position:relative;display:grid;grid-template-rows:auto auto 1fr;align-content:start;padding:0 clamp(12px,2.4vw,40px);border-left:1px solid #C9D1D8;min-width:0;transition:transform .45s var(--ease)}
.stats li:first-child{border-left:0;padding-left:0}
.stats li:hover{transform:translateY(-4px)}
.stats .num{display:flex;align-items:flex-end;min-height:clamp(64px,6.4vw,104px);font-family:var(--f-en);font-weight:900;font-size:clamp(46px,5.6vw,96px);line-height:.9;letter-spacing:-.05em;color:var(--red);white-space:nowrap;font-variant-numeric:tabular-nums}
.stats .num--std{font-size:clamp(38px,4.3vw,76px)}
.stats .num small{font-size:.5em;letter-spacing:-.03em}
.stats .num .pre{display:block;font-size:.26em;letter-spacing:.14em;color:var(--ink);margin-bottom:.35em}
.stats .num.stack{flex-direction:column;align-items:flex-start;justify-content:flex-end}
.stats .lab{margin:12px 0 0;font-family:var(--f-en);font-weight:700;font-size:clamp(12px,1.12vw,19px);letter-spacing:.2em;white-space:nowrap}
.stats .lab::after{content:"";display:block;width:100%;max-width:40px;height:2px;background:var(--red);margin-top:10px;transform:scaleX(0);transform-origin:left;transition:transform .5s var(--ease)}
.stats li:hover .lab::after{transform:scaleX(1)}
.stats p{margin:10px 0 0;font-size:clamp(12px,.9vw,14.5px);line-height:1.75;letter-spacing:.04em;color:var(--ink-2)}
.stats .src{display:block;font-size:10.5px;color:var(--steel);margin-top:4px;letter-spacing:.02em}
.strip--rev .strip__track{animation-direction:reverse}


/* ============ 07 PRODUCT ============ */
.prod{position:relative;background:var(--white);color:var(--ink);overflow:hidden}
.prod__top{position:relative}
.prod__photo{position:absolute;top:0;right:0;width:60%;height:clamp(460px,60svh,565px);margin:0;overflow:hidden}
.prod__photo img{width:100%;height:100%;object-fit:cover;object-position:20% 60%;transform:translateX(var(--px,0px)) scale(1.06)}
.prod__photo::before{content:"";position:absolute;inset:0;z-index:1;background:linear-gradient(90deg,var(--white) 0%,rgba(255,255,255,.65) 8%,rgba(255,255,255,0) 26%),linear-gradient(0deg,var(--white) 0%,rgba(255,255,255,.6) 12%,rgba(255,255,255,0) 30%)}
.prod__side{position:absolute;z-index:2;right:calc(var(--gutter) - 10px);top:clamp(118px,13svh,130px);margin:0;font-family:var(--f-en);font-weight:500;font-size:clamp(12px,1vw,16px);letter-spacing:.2em;line-height:1.3;color:var(--ink-2);text-transform:uppercase}
.prod__copy{position:relative;z-index:2;padding:calc(var(--hdr-h) + 28px) var(--gutter) 0}
.prod__h{margin:clamp(10px,1.6svh,18px) 0 0;font-weight:900;font-size:clamp(54px,6.5vw,110px);line-height:1.12;letter-spacing:-.05em;text-shadow:0 0 16px #fff,0 0 30px rgba(255,255,255,.9)}
.prod__h span{display:block;white-space:nowrap}
.prod__sub{margin:clamp(6px,1svh,12px) 0 0;font-weight:900;font-size:clamp(24px,2.45vw,41px);letter-spacing:-.02em;white-space:nowrap;text-shadow:0 0 14px #fff}
.prod__row{display:flex;align-items:flex-end;justify-content:space-between;gap:24px 40px;flex-wrap:wrap;margin-top:clamp(14px,2svh,22px)}
.prod__body{margin:0;font-size:clamp(13.5px,1.02vw,16.5px);line-height:1.62;letter-spacing:.08em;max-width:30em;text-shadow:0 0 10px #fff}
.vfilter{display:flex;margin:0;padding:0;list-style:none;margin-right:clamp(0px,10vw,220px)}
.vfilter li+li{border-left:1px solid #C9D1D8}
.vchip{display:flex;align-items:center;gap:14px;padding:8px clamp(12px,1.5vw,26px);text-align:left;position:relative;transition:color .3s}
.vchip svg{width:clamp(58px,5vw,84px);height:auto;color:var(--ink);transition:color .3s,transform .45s var(--ease)}
.vchip b{display:block;font-size:clamp(13px,.95vw,15px);font-weight:700;letter-spacing:.1em;white-space:nowrap}
.vchip small{display:block;font-size:11px;letter-spacing:.08em;color:var(--ink-2)}
.vchip::after{content:"";position:absolute;left:clamp(12px,1.5vw,26px);right:clamp(12px,1.5vw,26px);bottom:0;height:2px;background:var(--red);transform:scaleX(0);transform-origin:left;transition:transform .45s var(--ease)}
.vchip:hover svg{transform:translateX(4px)}
.vchip[aria-pressed="true"] svg,.vchip[aria-pressed="true"] b{color:var(--red)}
.vchip[aria-pressed="true"]::after{transform:scaleX(1)}
.vhint{margin:6px 0 0;font-size:11px;color:var(--steel);letter-spacing:.06em;text-align:right;min-height:1.6em}

.plist{position:relative;display:grid;grid-template-columns:1fr 1fr;margin-top:clamp(14px,2svh,24px);padding:0 calc(var(--gutter) + clamp(0px,19vw,340px)) 40px var(--gutter)}
.plist::before{left:calc(50% - clamp(0px,9.5vw,170px))}
.plist::before{content:"";position:absolute;left:50%;top:0;bottom:0;width:1px;background:#C9D1D8;transform:skewX(-9deg)}
.pcard{display:grid;grid-template-columns:minmax(0,1.05fr) minmax(0,1fr);gap:clamp(12px,1.6vw,26px);align-items:start;transition:opacity .45s,filter .45s}
.pcard:nth-child(2){padding-left:clamp(20px,3vw,48px)}
.pcard.is-dim{opacity:.28;filter:grayscale(1)}
.pcard__img{position:relative;display:block;padding:0;overflow:hidden;aspect-ratio:320/320;max-width:100%}
.pcard:nth-child(2) .pcard__img{aspect-ratio:320/360;max-width:100%}
.pcard__img img{width:100%;height:100%;object-fit:cover;transition:transform .9s var(--ease)}
.pcard__img:hover img,.pcard__img:focus-visible img{transform:scale(1.06) rotate(-1.5deg)}
.pcard__view{position:absolute;left:var(--vl);width:var(--vw);top:40%;height:39.5%;display:flex;flex-direction:column;justify-content:center;gap:4px;padding:0 6%;background:rgba(15,20,24,.9);backdrop-filter:blur(6px);-webkit-backdrop-filter:blur(6px);color:var(--white);border:1.5px solid rgba(255,255,255,.9);text-align:left;transition:background .35s}
.pcard__view b{font-family:var(--f-en);font-size:clamp(10px,.9vw,15px);font-weight:700;letter-spacing:.12em;white-space:nowrap;display:flex;align-items:center;justify-content:space-between;gap:8px}
.pcard__view b svg{width:22px;height:10px;transition:transform .4s var(--ease)}
.pcard__view small{font-size:clamp(9.5px,.72vw,12px);letter-spacing:.06em;color:rgba(255,255,255,.75)}
.pcard__img:hover .pcard__view,.pcard__img:focus-visible .pcard__view{background:rgba(210,18,27,.94)}
.pcard__img:hover .pcard__view b svg{transform:translateX(5px)}
.pcard__info{padding-top:clamp(18px,2.4svh,30px);min-width:0}
.pcard__name .pname{transition:color .3s}.pcard__name .pname:hover{color:var(--red)}
.pcard__name{display:flex;align-items:center;gap:14px;flex-wrap:wrap;margin:0;font-family:var(--f-en);font-weight:800;font-size:clamp(28px,2.4vw,40px);letter-spacing:-.02em;line-height:1}
.badge{font-family:var(--f-en);font-size:12px;font-weight:700;letter-spacing:.1em;padding:4px 10px;background:var(--red);color:var(--white)}
.plus{width:30px;height:30px;border:1.6px solid var(--ink);border-radius:50%;display:grid;place-items:center;transition:background .3s,color .3s,transform .45s var(--ease)}
.plus svg{width:12px;height:12px}
.plus:hover{background:var(--ink);color:var(--white)}
.plus[aria-expanded="true"]{background:var(--red);border-color:var(--red);color:var(--white);transform:rotate(45deg)}
.pcard__desc{margin:14px 0 0;font-size:clamp(13px,1vw,16px);line-height:1.6;letter-spacing:.08em}
.pcard__sz{margin:16px 0 0}
.pcard__sz span{display:inline-block;font-size:11.5px;letter-spacing:.1em;background:#9AA5AF;color:var(--white);padding:2px 12px}
.pcard__sz ul{list-style:none;margin:8px 0 0;padding:0;font-family:var(--f-en);font-weight:700;font-size:clamp(17px,1.4vw,23px);line-height:1.3;font-variant-numeric:tabular-nums}

/* quick popover */
.pop{position:absolute;z-index:6;right:calc(var(--gutter) - 40px);bottom:36px;width:min(336px,calc(100vw - 32px));background:var(--white);box-shadow:0 20px 50px rgba(15,20,24,.2),0 0 0 1px rgba(15,20,24,.06);padding:24px 24px 22px;opacity:0;visibility:hidden;transform:translateY(12px);transition:opacity .3s,transform .4s var(--ease),visibility 0s .4s}
.pop.is-open{opacity:1;visibility:visible;transform:none;transition:opacity .3s,transform .4s var(--ease)}
.pop::before{content:"";position:absolute;left:-9px;top:var(--ay,140px);width:18px;height:18px;background:var(--white);transform:rotate(45deg);box-shadow:-2px 2px 4px rgba(15,20,24,.06)}
.pop__x{position:absolute;right:12px;top:12px;width:32px;height:32px;display:grid;place-items:center}
.pop__x svg{width:16px;height:16px}
.pop h3{display:flex;align-items:center;gap:12px;margin:0 0 12px;font-family:var(--f-en);font-weight:800;font-size:30px;letter-spacing:-.02em}
.pop dl{margin:0}
.pop dt{font-family:var(--f-en);font-size:13px;font-weight:700;letter-spacing:.06em;margin-top:14px;padding-top:14px;border-top:1px solid var(--frost)}
.pop dt:first-child{border-top:0;padding-top:0;margin-top:0}
.pop dt small{font-family:var(--f-jp);font-weight:500;font-size:11.5px;color:var(--ink-2);margin-left:4px}
.pop dd{margin:6px 0 0;font-size:14px;line-height:1.75}
.pop dd ul{margin:0;padding-left:1.1em}
.pop .btn{width:100%;min-width:0;height:52px;margin-top:16px;font-size:13.5px;justify-content:center;--bg:var(--ink);border-color:var(--ink)}

/* product detail drawer (link page) */
.drw{position:fixed;inset:0;z-index:82;visibility:hidden}
.drw.is-open{visibility:visible}
.drw__bg{position:absolute;inset:0;background:rgba(10,14,18,.55);opacity:0;transition:opacity .4s}
.drw.is-open .drw__bg{opacity:1}
.drw__panel{position:absolute;top:0;right:0;bottom:0;width:min(760px,100%);background:var(--white);color:var(--ink);overflow-y:auto;transform:translateX(100%);transition:transform .6s var(--ease);padding-bottom:env(safe-area-inset-bottom,0px)}
.drw.is-open .drw__panel{transform:none}
.drw__bar{position:sticky;top:0;z-index:1;display:flex;align-items:center;justify-content:space-between;padding:calc(14px + env(safe-area-inset-top,0px)) clamp(20px,4vw,44px) 14px;background:rgba(255,255,255,.94);backdrop-filter:blur(8px);border-bottom:1px solid var(--frost)}
.drw__crumb{font-family:var(--f-en);font-size:11px;font-weight:700;letter-spacing:.2em;color:var(--steel)}
.drw__crumb b{color:var(--ink)}
.drw__hero{background:linear-gradient(180deg,#EEF2F5,var(--white));padding:clamp(20px,4vw,40px) clamp(20px,4vw,44px) 0;display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:28px;align-items:end}
.drw__fig{position:relative;max-width:100%}
.drw__hero img{width:100%;max-width:100%;display:block}
.drw__plate{position:absolute;left:calc(var(--vl,20%) - 2%);width:calc(var(--vw,62%) + 4%);top:38%;height:44%;display:flex;flex-direction:column;justify-content:center;padding:0 7%;background:var(--ink);color:var(--white);border-left:4px solid var(--red)}
.drw__plate b{font-family:var(--f-en);font-size:11px;letter-spacing:.3em;color:rgba(255,255,255,.7)}
.drw__plate em{font-style:normal;font-family:var(--f-en);font-weight:800;font-size:clamp(20px,3vw,30px);letter-spacing:.02em}
.drw__hero h3{margin:0;font-family:var(--f-en);font-weight:900;font-size:clamp(40px,6vw,68px);letter-spacing:-.03em;line-height:1}
.drw__hero p{margin:14px 0 24px;font-size:15px;line-height:1.8;letter-spacing:.06em}
.drw__body{padding:clamp(24px,4vw,40px) clamp(20px,4vw,44px) 48px;display:grid;gap:28px}
.drw__tbl{width:100%;border-collapse:collapse;font-size:14px}
.drw__tbl th,.drw__tbl td{text-align:left;padding:14px 12px;border-bottom:1px solid var(--frost);vertical-align:top}
.drw__tbl th{width:30%;font-weight:700;letter-spacing:.08em;background:var(--snow)}
.drw__tbl td b{font-family:var(--f-en);font-size:17px;font-variant-numeric:tabular-nums}
.drw__cta{display:flex;flex-wrap:wrap;gap:12px}
.drw__cta .btn{border-color:var(--red)}
.drw__cta .btn--dark{border-color:var(--ink)}
.drw__note{margin:0;font-size:12px;color:var(--steel);line-height:1.7}


/* ============ 08 COST / NO STOCK ============ */
.cost{position:relative;background:var(--white);color:var(--ink);overflow:hidden}
.cost__top{position:relative;min-height:clamp(600px,76svh,700px)}
.cost__photo{position:absolute;top:0;right:0;width:63%;height:100%;margin:0;overflow:hidden}
.cost__photo img{width:100%;height:100%;object-fit:cover;object-position:30% 70%;transform:translateY(var(--cy,0px)) scale(1.08)}
.cost__photo::before{content:"";position:absolute;inset:0;z-index:1;background:linear-gradient(90deg,var(--white) 0%,rgba(255,255,255,.7) 10%,rgba(255,255,255,0) 30%),linear-gradient(0deg,var(--white) 0%,rgba(255,255,255,0) 12%)}
.cost__side{position:absolute;z-index:2;right:calc(var(--gutter) - 14px);top:clamp(124px,14svh,136px);margin:0;font-family:var(--f-en);font-weight:500;font-size:clamp(12px,1.05vw,17px);letter-spacing:.16em;line-height:1.4;color:rgba(255,255,255,.9);text-transform:uppercase;text-shadow:0 1px 10px rgba(40,50,70,.4)}
.cost__copy{position:relative;z-index:2;padding:calc(var(--hdr-h) + 34px) var(--gutter) 40px}
.cost__h{margin:clamp(10px,1.8svh,20px) 0 0;font-weight:900;font-size:clamp(52px,6.8vw,114px);line-height:1.18;letter-spacing:-.05em;text-shadow:0 0 16px #fff,0 0 30px rgba(255,255,255,.9)}
.cost__h>span{display:block;white-space:nowrap}
.cost__h .k{font-size:.66em;letter-spacing:-.02em}
.cost__sub{margin:clamp(10px,1.6svh,18px) 0 0;font-weight:900;font-size:clamp(28px,2.8vw,47px);line-height:1.35;letter-spacing:-.02em;text-shadow:0 0 14px #fff}
.cost__body{margin:clamp(14px,2.2svh,24px) 0 0;font-size:clamp(14px,1.1vw,18px);line-height:1.6;letter-spacing:.08em;text-shadow:0 0 10px #fff}
.cost__body b{font-family:var(--f-en)}
.cost__bottom{position:relative;display:grid;grid-template-columns:minmax(0,1fr) clamp(330px,24vw,390px);align-items:end}
.flow{padding:0 var(--gutter) 44px;min-width:0}
.flow__t{display:flex;align-items:center;gap:14px;margin:0 0 18px;font-family:var(--f-en);font-size:15px;font-weight:600;letter-spacing:.14em}
.flow__t small{font-family:var(--f-jp);font-size:12px;font-weight:500;letter-spacing:.06em;color:var(--ink-2);display:flex;align-items:center;gap:10px}
.flow__t small::before{content:"";width:20px;height:1px;background:var(--ink)}
.steps{position:relative;list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(5,minmax(0,1fr))}
.steps::before{content:"";position:absolute;left:0;right:0;top:-8px;height:2px;background:var(--frost)}
.steps::after{content:"";position:absolute;left:0;top:-8px;height:2px;width:100%;background:var(--red);transform-origin:left;transform:scaleX(var(--fp,1));transition:transform .2s linear}
.step{position:relative;display:grid;grid-template-columns:auto 1fr;grid-template-rows:auto auto 1fr;align-items:center;align-content:start;gap:6px 12px;padding:10px clamp(10px,1.3vw,22px) 4px;border-left:1px solid #C9D1D8;min-width:0;transition:opacity .4s,transform .45s var(--ease)}
.step:first-child{border-left:0;padding-left:0}
.step:not(:first-child)::before{content:"";position:absolute;left:-7px;top:50%;width:12px;height:12px;border-right:1.6px solid var(--ink);border-top:1.6px solid var(--ink);transform:translateY(-50%) rotate(45deg) scale(.7);background:var(--white)}
.step .no{grid-column:1/-1;font-family:var(--f-en);font-size:12px;font-weight:700;letter-spacing:.06em}
.step svg{width:clamp(36px,3vw,52px);height:clamp(36px,3vw,52px);color:var(--ink);transition:color .3s,transform .45s var(--ease)}
.step>div{display:contents}
.step h3{margin:0;font-size:clamp(14px,1.05vw,17px);font-weight:900;letter-spacing:.06em}
.step p{grid-column:1/-1;margin:4px 0 0;font-size:clamp(11px,.8vw,13px);line-height:1.75;color:var(--ink-2);letter-spacing:.02em}
.steps.is-play .step{opacity:.35}
.steps.is-play .step.is-on{opacity:1}
.step.is-on .no{color:var(--red)}
.step:hover svg{color:var(--red);transform:translateY(-3px)}
.biz{position:relative;z-index:3;margin-top:-60px;background:var(--ink);color:var(--white);padding:clamp(24px,2.4vw,36px) clamp(22px,3.4vw,58px) clamp(28px,2.6vw,40px)}
.biz .eyebrow{font-size:12px;font-weight:600;color:var(--white)}
.biz .eyebrow::after{background:var(--white);width:60px}
.biz h3{margin:14px 0 22px;font-size:clamp(18px,1.5vw,27px);font-weight:900;line-height:1.45;letter-spacing:.06em}
.biz .btn{width:100%;min-width:0;height:58px;padding:0 30px;border-radius:999px;--bg:transparent;border:1.6px solid var(--white);font-size:14px;justify-content:center;gap:28px}
.biz .btn::before{background:var(--red)}
.biz .btn:hover{--hover-fg:var(--white);color:var(--white)}


/* ============ 09 FLEET SIMULATOR ============ */
.fleet{position:relative;background:var(--white);color:var(--ink);overflow:hidden}
.fleet__top{position:relative;min-height:clamp(520px,60svh,570px)}
.fleet__photo{position:absolute;top:0;right:0;width:64%;height:100%;margin:0;overflow:hidden}
.fleet__photo img{width:100%;height:100%;object-fit:cover;object-position:60% 60%;transform:translateX(var(--fx,0px)) scale(1.08)}
.fleet__photo::before{content:"";position:absolute;inset:0;z-index:1;background:linear-gradient(90deg,var(--white) 0%,rgba(255,255,255,.85) 12%,rgba(255,255,255,0) 32%)}
.fleet__side{position:absolute;z-index:2;right:calc(var(--gutter) - 20px);top:clamp(116px,13svh,126px);margin:0;font-family:var(--f-en);font-weight:500;font-size:clamp(12px,1.05vw,17px);letter-spacing:.16em;line-height:1.4;color:rgba(255,255,255,.88);text-transform:uppercase;text-shadow:0 1px 10px rgba(30,40,60,.35)}
.fleet__copy{position:relative;z-index:2;padding:calc(var(--hdr-h) + 30px) var(--gutter) 22px}
.fleet__h{margin:clamp(8px,1.4svh,16px) 0 0;font-weight:900;font-size:clamp(48px,6.2vw,104px);line-height:1.12;letter-spacing:-.05em;text-shadow:0 0 16px #fff,0 0 30px rgba(255,255,255,.9)}
.fleet__h>span{display:block;white-space:nowrap}
.fleet__h .k{font-size:.72em}
.fleet__sub{margin:clamp(6px,1svh,12px) 0 0;font-weight:900;font-size:clamp(20px,2vw,33px);line-height:1.35;letter-spacing:.02em;text-shadow:0 0 12px #fff}
.fleet__body{margin:clamp(8px,1.4svh,14px) 0 0;font-size:clamp(13px,1vw,16.5px);line-height:1.6;letter-spacing:.08em;text-shadow:0 0 10px #fff}

.fleet__bottom{display:grid;grid-template-columns:minmax(0,40%) minmax(0,1fr)}
.sim{background:var(--ink);color:var(--white);padding:clamp(24px,2.2vw,34px) clamp(20px,2.6vw,44px) clamp(28px,2.6vw,40px) var(--gutter)}
.sim__head{display:flex;align-items:center;gap:16px 24px;flex-wrap:wrap;margin-bottom:22px}
.sim__head h3{margin:0;display:flex;align-items:center;gap:16px;font-family:var(--f-en);font-weight:500;font-size:clamp(15px,1.15vw,19px);letter-spacing:.14em;white-space:nowrap}
.sim__head h3::after{content:"";width:50px;height:1px;background:rgba(255,255,255,.7)}
.sim__head p{margin:0;font-size:12px;line-height:1.6;letter-spacing:.04em;color:rgba(255,255,255,.85);flex:1;min-width:14em}
.sim__row{display:grid;grid-template-columns:clamp(110px,8vw,128px) minmax(0,1fr);align-items:center;gap:10px;margin-bottom:10px}
.sim__row>label,.sim__row>span.l{font-size:13px;font-weight:500;letter-spacing:.06em;line-height:1.4}
.sim__row small{display:block;font-size:12px}
.fld{position:relative}
.fld input,.fld select{width:100%;height:44px;border:0;border-radius:3px;background:var(--white);color:var(--ink);font:inherit;font-size:14px;padding:0 14px;appearance:none;-webkit-appearance:none;font-variant-numeric:tabular-nums}
.fld select{padding-right:36px;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='8'%3E%3Cpath d='M1 1l5 5 5-5' fill='none' stroke='%230F1418' stroke-width='1.5'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 14px center}
.fld input:focus,.fld select:focus{outline:2px solid var(--red);outline-offset:1px}
.fld .unit{position:absolute;right:14px;top:50%;transform:translateY(-50%);font-size:13px;color:var(--ink);pointer-events:none}
.fld--u input{padding-right:40px}
.seg{display:flex;align-items:center;gap:8px;flex-wrap:wrap}
.seg button{white-space:nowrap;height:44px;min-width:58px;padding:0 14px;border-radius:3px;background:var(--white);color:var(--ink);font-size:13.5px;font-weight:500;transition:background .25s,color .25s,transform .3s var(--ease)}
.seg button:hover{transform:translateY(-2px)}
.seg button[aria-pressed="true"]{background:var(--red);color:var(--white)}
.seg .free{background:transparent;color:var(--white);border:1px solid rgba(255,255,255,.7)}
.seg .free[aria-pressed="true"]{background:var(--white);color:var(--ink)}
.seg input{width:84px;height:44px;border:0;border-radius:3px;padding:0 10px;font:inherit;font-size:14px;color:var(--ink);background:var(--white)}
.seg .u{font-size:13px}
.sim__go{margin-top:16px;width:100%;height:56px;border-radius:999px;background:var(--red);color:var(--white);font-size:15px;font-weight:700;letter-spacing:.16em;display:flex;align-items:center;justify-content:center;gap:24px;position:relative;overflow:hidden;isolation:isolate;transition:color .3s}
.sim__go::before{content:"";position:absolute;inset:0;z-index:-1;background:var(--white);transform:translateX(-101%);transition:transform .5s var(--ease)}
.sim__go:hover{color:var(--red)}
.sim__go:hover::before{transform:none}
.sim__go svg{width:28px;height:12px;transition:transform .4s var(--ease)}
.sim__go:hover svg{transform:translateX(6px)}
.sim__err{margin:10px 0 0;font-size:12px;color:#FF8A8F;min-height:1.4em}

.out{padding:clamp(10px,1vw,14px) var(--gutter) 0 clamp(16px,1.6vw,26px);min-width:0}
.tcards{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px}
.tcard{position:relative;border:1px solid var(--frost);padding:14px clamp(10px,1vw,16px) 10px;transition:border-color .3s,box-shadow .3s,transform .4s var(--ease);cursor:pointer;background:var(--white)}
.tcard:hover{transform:translateY(-3px);box-shadow:0 10px 26px rgba(15,20,24,.08)}
.tcard.is-on{border-color:var(--red);box-shadow:0 0 0 1px var(--red)}
.tcard h4{margin:0;display:flex;align-items:baseline;gap:6px;font-family:var(--f-en);font-weight:800;font-size:clamp(12px,.9vw,15px);letter-spacing:.02em;white-space:nowrap}
.tcard h4 svg{width:clamp(24px,2vw,32px);height:auto;align-self:center;flex:none}
.tcard h4 b{font-size:clamp(22px,1.9vw,31px);color:var(--red);font-weight:900;letter-spacing:-.02em}
.tcard .cap{margin:4px 0 0;font-size:11.5px;color:var(--ink-2);letter-spacing:.04em}
.tcard .chart{display:grid;grid-template-columns:1fr auto 1fr;align-items:end;gap:6px;height:82px;margin-top:8px}
.tcard .bar{justify-self:center;width:clamp(26px,2.8vw,46px);transition:height .7s var(--ease)}
.tcard .bar.a{background:#B9C0C6}
.tcard .bar.b{background:var(--red)}
.tcard .save{align-self:start;display:grid;justify-items:center;text-align:center;color:var(--red);font-weight:900;font-size:clamp(10.5px,.82vw,13px);line-height:1.3;white-space:nowrap;font-variant-numeric:tabular-nums}
.tcard .save svg{width:10px;height:22px;margin-bottom:2px}
.tcard .save small{display:block;font-size:.95em}
.tcard .lg{display:grid;grid-template-columns:1fr 1fr;margin-top:6px;font-size:10.5px;text-align:center;letter-spacing:.02em;color:var(--ink-2)}
.out__note{margin:8px 0 0;font-size:11px;color:var(--steel);letter-spacing:.02em;line-height:1.6}
.out__low{display:grid;grid-template-columns:minmax(0,1fr) clamp(180px,19vw,320px);gap:20px;margin-top:14px;margin-right:calc(var(--gutter) * -1)}
.out__low .eyebrow{font-size:13px;font-weight:500}
.merits{list-style:none;margin:12px 0 18px;padding:0;display:grid;grid-template-columns:1fr 1fr;gap:18px 0}
.merits li{display:grid;grid-template-columns:auto 1fr;gap:4px 14px;align-items:center;padding:0 16px;border-left:1px solid #C9D1D8}
.merits li:nth-child(odd){border-left:0;padding-left:0}
.merits svg{width:clamp(34px,2.8vw,46px);height:auto;grid-row:span 2}
.merits b{font-size:clamp(13px,.95vw,15px);letter-spacing:.06em}
.merits span{font-size:11.5px;color:var(--ink-2);letter-spacing:.02em}
.out__img{margin:0;overflow:hidden;min-height:160px}
.out__img img{width:100%;height:100%;object-fit:cover;transition:transform 1s var(--ease)}
.out__img:hover img{transform:scale(1.05)}

/* ============ 09−２ FLEET SIMULATOR ============ */
.s09{--s09-red:#E60012;--s09-red-dark:#B8000E;--s09-ink:#111;--s09-sub:#4A4D52;--s09-line:#DADDE2;
  position:relative;background:#fff;color:var(--s09-ink);font-family:"Noto Sans JP",sans-serif;-webkit-font-smoothing:antialiased;overflow:hidden}
.s09 *,.s09 *::before,.s09 *::after{box-sizing:border-box}
.s09 p,.s09 h2,.s09 h3,.s09 ul{margin:0;padding:0}
.s09 ul{list-style:none}
.s09 a{color:inherit;text-decoration:none}
.s09-en{font-family:"Montserrat","Noto Sans JP",sans-serif}

/* ---------- 上段：キービジュアル ---------- */
.s09-hero{position:relative;min-height:570px;padding:150px 4.5vw 20px}
.s09-photo{position:absolute;top:0;right:0;width:64%;height:100%;z-index:0}
.s09-photo img{display:block;width:100%;height:100%;object-fit:cover;object-position:center 60%}
.s09-photo::before{content:"";position:absolute;inset:0 auto 0 0;width:42%;background:linear-gradient(90deg,#fff 0%,rgba(255,255,255,.85) 30%,rgba(255,255,255,0) 100%)}
.s09-photo::after{content:"";position:absolute;inset:auto 0 0 0;height:18%;background:linear-gradient(0deg,#fff 0%,rgba(255,255,255,0) 100%)}
.s09-tagline{position:absolute;top:110px;right:3.6vw;z-index:1;font-size:17px;font-weight:500;line-height:1.5;letter-spacing:.18em;color:#5E6670}
.s09-copy{position:relative;z-index:1;max-width:780px}
.s09-eyebrow{display:flex;align-items:center;gap:18px;font-size:17px;font-weight:600;letter-spacing:.16em;margin-bottom:10px}
.s09-eyebrow::after{content:"";width:84px;height:1.5px;background:currentColor}
.s09-eyebrow.is-red{color:var(--s09-red);font-size:14px;margin-bottom:12px}
.s09-eyebrow.is-red::after{background:var(--s09-ink);width:50px}
.s09 h2{font-weight:900;font-size:clamp(44px,5.6vw,98px);line-height:1.08;letter-spacing:-.03em;white-space:nowrap;
  text-shadow:0 0 18px #fff,0 0 4px #fff}
.s09-lead{margin-top:22px;font-size:clamp(20px,1.9vw,31px);font-weight:900;line-height:1.38;letter-spacing:.01em;text-shadow:0 0 10px #fff}
.s09-text{margin-top:16px;font-size:15px;line-height:1.75;letter-spacing:.08em;color:#222;text-shadow:0 0 8px #fff}

/* ---------- 下段 ---------- */
.s09-body{position:relative;z-index:1;display:grid;grid-template-columns:minmax(0,300px) minmax(0,330px) minmax(0,1fr);gap:0 32px;padding:16px 4.2vw 32px}
.s09-fm h3{white-space:nowrap;font-size:clamp(24px,2vw,34px);font-weight:900;line-height:1.3;letter-spacing:.02em}
.s09-fm p{margin-top:14px;font-size:14px;line-height:1.75;letter-spacing:.04em}
.s09-cta{margin-top:20px;display:flex;align-items:center;justify-content:center;gap:24px;height:62px;border-radius:4px;background:var(--s09-red);color:#fff!important;font-size:15px;font-weight:700;letter-spacing:.06em;transition:background .2s}
.s09-cta:hover{background:var(--s09-red-dark)}

.s09-feat{border-left:1px solid var(--s09-line);padding-left:22px;display:flex;flex-direction:column;justify-content:space-between;gap:16px}
.s09-feat li{display:grid;grid-template-columns:56px minmax(0,1fr);gap:20px;align-items:center}
.s09-feat svg{display:block;width:56px;height:56px}
.s09-feat b{display:block;font-size:15px;font-weight:700;margin-bottom:8px}
.s09-feat span{display:block;font-size:12px;line-height:1.7;color:var(--s09-sub)}

.s09-right{display:flex;flex-direction:column;gap:22px;min-width:0}
.s09-cards{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;margin-top:-30px}
.s09-card{border:1px solid var(--s09-line);background:#fff;padding:12px 14px 12px;display:flex;flex-direction:column;gap:6px}
.s09-card-h{display:flex;align-items:center;gap:8px;white-space:nowrap}
.s09-card-h svg{width:30px;height:20px;flex-shrink:0}
.s09-card-h strong{font-family:"Montserrat",sans-serif;font-size:27px;font-weight:700;line-height:1;color:var(--s09-red)}
.s09-card-h em{font-style:normal;font-family:"Montserrat",sans-serif;font-size:14px;font-weight:700}
.s09-card-sub{font-size:12px;color:var(--s09-sub);letter-spacing:.04em;padding-left:8px}
.s09-chart{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));align-items:end;gap:10px;height:72px;margin-top:4px;position:relative}
.s09-bar{justify-self:center;width:44px}
.s09-bar.is-now{height:62%;background:#C4C6CA}
.s09-bar.is-cy{height:28%;background:var(--s09-red)}
.s09-save{position:absolute;right:4px;top:-4px;display:flex;align-items:flex-start;gap:4px;color:var(--s09-red);font-weight:700;font-size:13px;line-height:1.45;white-space:nowrap}
.s09-save svg{width:10px;height:30px;margin-top:2px}
.s09-legend{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));text-align:center;font-size:11px;letter-spacing:.02em}
.s09-legend span:last-child{font-family:"Montserrat",sans-serif;font-weight:500}

.s09-bv .s09-eyebrow{font-size:13px;margin:0 0 8px}
.s09-bv ul{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}
.s09-bv li{position:relative;height:124px;overflow:hidden;background:#222}
.s09-bv img{display:block;width:100%;height:100%;object-fit:cover;transition:transform .5s}
.s09-bv li:hover img{transform:scale(1.05)}
.s09-bv li::after{content:"";position:absolute;inset:0;background:linear-gradient(0deg,rgba(0,0,0,.72) 0%,rgba(0,0,0,.25) 55%,rgba(0,0,0,0) 100%)}
.s09-bv p{position:absolute;left:16px;bottom:12px;z-index:1;color:#fff}
.s09-bv p b{display:block;font-family:"Montserrat",sans-serif;font-size:20px;font-weight:700;letter-spacing:.02em;line-height:1.2}
.s09-bv p span{font-size:13px;font-weight:500}

/* ---------- タブレット ---------- */
@media (max-width:1280px){
  .s09-body{grid-template-columns:minmax(0,1fr) minmax(0,1fr)}
  .s09-right{grid-column:1/-1;margin-top:36px}
  .s09-cards{margin-top:0}
}
/* ---------- スマホ ---------- */
@media (max-width:760px){
  .s09-hero{padding:0;min-height:0;display:flex;flex-direction:column}
  .s09-photo{position:relative;width:100%;height:240px;order:-1}
  .s09-photo::before{display:none}
  .s09-tagline{top:20px;right:16px;font-size:12px;color:#fff;text-shadow:0 1px 6px rgba(0,0,0,.4)}
  .s09-copy{padding:8px 16px 0}
  .s09-fm h3{white-space:normal}
  .s09 h2{white-space:normal;font-size:clamp(34px,10vw,48px)}
  .s09-lead{font-size:20px}
  .s09-text{font-size:14px;letter-spacing:.04em}
  .s09-text br{display:none}
  .s09-body{grid-template-columns:1fr;padding:32px 16px 40px;gap:32px}
  .s09-feat{border-left:0;padding-left:0;border-top:1px solid var(--s09-line);padding-top:28px}
  .s09-right{margin-top:0}
  .s09-cards{grid-template-columns:repeat(2,minmax(0,1fr))}
  .s09-bv ul{grid-template-columns:1fr}
}

/* ============ 10 TOCHIGI ============ */
.tg{position:relative;background:var(--white);color:var(--ink);overflow:hidden}
.tg__top{position:relative;min-height:clamp(560px,40.9vw,700px)}
.tg__vis{position:absolute;top:0;right:0;width:62.9%;aspect-ratio:1052/684;margin:0}
.tg__vis>img{width:100%;height:100%;object-fit:cover;display:block}
.tg__vis::before{content:"";position:absolute;inset:0;z-index:1;pointer-events:none;background:linear-gradient(90deg,var(--white) 0%,rgba(255,255,255,.7) 10%,rgba(255,255,255,0) 30%),linear-gradient(0deg,var(--white) 0%,rgba(255,255,255,0) 8%)}
.pin{position:absolute;z-index:2;left:var(--x);top:var(--y);display:flex;align-items:center;gap:6px;transform:translate(-5px,-50%);font-family:var(--f-en);font-weight:700;font-size:clamp(10px,.8vw,13px);letter-spacing:.04em;color:var(--ink);padding:4px 6px 4px 0;white-space:nowrap}
.pin i{position:relative;width:9px;height:9px;border-radius:50%;background:var(--ink);flex:none;transition:background .3s,transform .3s var(--ease)}
.pin i::after{content:"";position:absolute;inset:-6px;border-radius:50%;border:2px solid var(--red);opacity:0;transform:scale(.4);transition:opacity .3s,transform .5s var(--ease)}
.pin.is-on{color:var(--red)}
.pin.is-on i{background:var(--red);transform:scale(1.3)}
.pin.is-on i::after{opacity:1;transform:scale(1);animation:ping 1.4s ease-out infinite}
@keyframes ping{0%{transform:scale(.6);opacity:1}100%{transform:scale(2.2);opacity:0}}
.tg__side{position:absolute;z-index:2;right:calc(var(--gutter) - 48px);top:clamp(112px,12.5svh,122px);margin:0;font-family:var(--f-en);font-weight:500;font-size:clamp(11px,.92vw,15px);letter-spacing:.16em;line-height:1.4;color:#8E99A3;text-transform:uppercase}
.tg__copy{position:relative;z-index:3;padding:calc(var(--hdr-h) + 34px) var(--gutter) 30px;pointer-events:none}
.tg__copy>*{pointer-events:auto}
.tg__h{margin:clamp(4px,1svh,10px) 0 0;font-weight:900;font-size:clamp(52px,6.8vw,114px);line-height:1.12;letter-spacing:-.05em;text-shadow:0 0 16px #fff,0 0 30px rgba(255,255,255,.9)}
.tg__h>span{display:block;white-space:nowrap}
.tg__h .k{font-size:.72em}
.tg__sub{margin:clamp(8px,1.4svh,14px) 0 0;font-weight:900;font-size:clamp(22px,2vw,33px);line-height:1.34;letter-spacing:.02em;text-shadow:0 0 12px #fff,0 0 22px #fff}
.tg__body{margin:clamp(10px,1.6svh,18px) 0 0;font-size:clamp(13px,1vw,16.5px);line-height:1.5;letter-spacing:.08em;text-shadow:0 0 10px #fff,0 0 18px #fff}
.areas{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:3px;background:var(--white)}
.area{position:relative;display:block;width:100%;padding:0;text-align:left;background:var(--white);cursor:pointer}
.area__img{position:relative;display:block;aspect-ratio:335/164;overflow:hidden;background:var(--ink)}
.area__img img{width:100%;height:100%;object-fit:cover;transition:transform 1s var(--ease),filter .5s}
.area__img::after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,rgba(10,14,18,.55),rgba(10,14,18,.1) 80%);transition:background .4s}
.area__t{position:absolute;z-index:1;left:clamp(16px,2.6vw,44px);top:50%;transform:translateY(-50%);color:var(--white)}
.area__t b{display:block;font-family:var(--f-en);font-weight:800;font-size:clamp(22px,2.4vw,40px);letter-spacing:-.01em;line-height:1}
.area__t span{display:flex;align-items:center;gap:12px;margin-top:10px;font-size:clamp(12px,1.05vw,17px);font-weight:500;letter-spacing:.3em}
.area__t span::after{content:"";width:46px;height:1px;background:currentColor;transition:width .5s var(--ease),background .3s}
.area__d{display:block;padding:14px clamp(14px,1.8vw,30px) 30px clamp(16px,2.6vw,44px);font-size:clamp(12px,.9vw,14.5px);line-height:1.6;letter-spacing:.06em;color:var(--ink-2)}
.area:hover .area__img img,.area.is-on .area__img img,.area:focus-visible .area__img img{transform:scale(1.07)}
.area.is-on .area__img::after{background:linear-gradient(90deg,rgba(168,14,21,.7),rgba(10,14,18,.1) 85%)}
.area.is-on .area__t span::after{width:72px}


/* ============ 11 WHO WE ARE ============ */
.who{position:relative;background:var(--white);color:var(--ink);overflow:hidden}
.who__top{position:relative;min-height:clamp(620px,42vw,705px)}
.who__photo{position:absolute;top:0;right:0;width:69%;height:100%;margin:0;overflow:hidden}
.who__photo img{width:100%;height:100%;object-fit:cover;object-position:50% 40%;transform:translateY(var(--wy,0px)) scale(1.07)}
.who__photo::before{content:"";position:absolute;inset:0;z-index:1;background:linear-gradient(90deg,var(--white) 0%,rgba(255,255,255,.85) 8%,rgba(255,255,255,0) 30%)}
.who__side{position:absolute;z-index:2;right:calc(var(--gutter) - 64px);top:clamp(72px,8svh,80px);margin:0;font-family:var(--f-en);font-weight:500;font-size:clamp(11px,.9vw,15px);letter-spacing:.14em;line-height:1.4;color:var(--ink-2);text-transform:uppercase}
.who__copy{position:relative;z-index:2;padding:calc(var(--hdr-h) + 34px) var(--gutter) 30px}
.who__h{margin:clamp(10px,1.6svh,18px) 0 0;font-weight:900;font-size:clamp(46px,4.8vw,80px);line-height:1.18;letter-spacing:-.03em;text-shadow:0 0 16px #fff,0 0 30px rgba(255,255,255,.9)}
.who__h span{display:block;white-space:nowrap}
.who__h .turn{position:relative;display:inline-block}
.who__h .turn::after{content:"";position:absolute;left:0;right:.4em;bottom:.08em;height:.14em;background:var(--red);z-index:-1;transform:scaleX(0);transform-origin:left;transition:transform .9s .3s var(--ease)}
.who.is-in .who__h .turn::after{transform:scaleX(1)}
.who__body{margin:clamp(14px,2svh,22px) 0 0;font-size:clamp(15px,1.25vw,21px);line-height:1.52;letter-spacing:.14em;text-shadow:0 0 12px #fff,0 0 20px #fff}
.who__sig{display:flex;align-items:center;gap:20px;flex-wrap:wrap;margin-top:clamp(18px,3svh,32px)}
.ezlogo{font-family:var(--f-en);font-weight:900;font-style:italic;font-size:clamp(22px,1.7vw,28px);letter-spacing:-.04em;line-height:1;color:var(--ink)}
.ezlogo b{color:var(--red);font-weight:900}
.who__sig small{flex-basis:100%;font-family:var(--f-en);font-size:clamp(11px,.9vw,15px);letter-spacing:.14em;color:var(--ink-2);margin-top:-8px}
.who__more{display:inline-flex;align-items:center;gap:12px;font-size:13px;font-weight:700;letter-spacing:.12em;padding:8px 0;border-bottom:1.5px solid var(--ink);transition:color .3s,border-color .3s}
.who__more svg{width:26px;height:10px;transition:transform .4s var(--ease)}
.who__more:hover{color:var(--red);border-color:var(--red)}
.who__more:hover svg{transform:translateX(6px)}

.acc{display:flex;height:clamp(200px,14vw,236px);background:var(--white);gap:0;margin:0 -24px}
.acc__p{--sk:24px;position:relative;flex:1;min-width:0;overflow:hidden;clip-path:polygon(var(--sk) 0,100% 0,calc(100% - var(--sk)) 100%,0 100%);margin-left:-18px;transition:flex .7s var(--ease);padding:0;text-align:left;color:var(--white);background:var(--ink)}
.acc__p:first-child{margin-left:0}
.acc__p img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;transition:transform 1.1s var(--ease),filter .5s}
.acc__p::after{content:"";position:absolute;inset:0;background:linear-gradient(0deg,rgba(10,14,18,.78) 0%,rgba(10,14,18,.15) 60%,rgba(10,14,18,0) 100%);transition:background .4s}
.acc__t{position:absolute;z-index:1;left:calc(var(--sk) + clamp(10px,1.4vw,22px));right:calc(var(--sk) + 10px);bottom:clamp(16px,1.8vw,28px);font-size:clamp(13px,1.02vw,17px);font-weight:700;line-height:1.5;letter-spacing:.06em;text-shadow:0 1px 8px rgba(0,0,0,.5)}
.acc__t::after{content:"";display:block;width:40px;height:1px;background:currentColor;margin-top:14px;transition:width .6s var(--ease),background .3s}
.acc__more{display:block;max-height:0;overflow:hidden;font-size:.82em;font-weight:500;line-height:1.7;color:rgba(255,255,255,.88);opacity:0;transition:max-height .6s var(--ease),opacity .4s,margin .4s}
.acc__p.is-open{flex:1.9}
.acc__p.is-open img{transform:scale(1.06)}
.acc__p.is-open .acc__more{max-height:6em;opacity:1;margin-top:8px}
.acc__p.is-open .acc__t::after{width:80px;background:var(--red)}
.acc__p:not(.is-open) img{filter:saturate(.7) brightness(.9)}


/* ============ 12 CONTACT ============ */
.ct{position:relative;background:var(--white);color:var(--ink);overflow:hidden;padding-bottom:clamp(24px,3vw,40px)}
.ct__top{position:relative;min-height:clamp(600px,40vw,676px)}
.ct__photo{position:absolute;top:0;right:0;width:71%;height:100%;margin:0;overflow:hidden}
.ct__photo img{width:100%;height:100%;object-fit:cover;object-position:50% 50%;transform:translateX(var(--ctx,0px)) scale(1.06)}
.ct__photo::before{content:"";position:absolute;inset:0;z-index:1;background:linear-gradient(90deg,var(--white) 0%,rgba(255,255,255,.85) 8%,rgba(255,255,255,0) 30%)}
.ct__side{position:absolute;z-index:2;right:calc(var(--gutter) - 60px);top:clamp(116px,13svh,124px);margin:0;font-family:var(--f-en);font-weight:500;font-size:clamp(11px,.9vw,15px);letter-spacing:.12em;line-height:1.4;color:var(--ink-2);text-transform:uppercase}
.ct__copy{position:relative;z-index:2;padding:calc(var(--hdr-h) + 32px) var(--gutter) 30px}
.ct__h{margin:clamp(6px,1svh,12px) 0 0;font-weight:900;font-size:clamp(58px,6.6vw,110px);line-height:1.08;letter-spacing:-.05em;text-shadow:0 0 16px #fff,0 0 30px rgba(255,255,255,.9)}
.ct__h span{display:block;white-space:nowrap}
.ct__sub{margin:clamp(8px,1.4svh,14px) 0 0;font-weight:900;font-size:clamp(20px,1.85vw,31px);line-height:1.45;letter-spacing:.04em;text-shadow:0 0 12px #fff,0 0 20px #fff}
.ct__body{margin:clamp(12px,2svh,22px) 0 0;font-size:clamp(13px,1vw,16.5px);line-height:1.6;letter-spacing:.08em;text-shadow:0 0 10px #fff}
.ways{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px;padding:0 var(--gutter);margin-top:4px;position:relative;z-index:2}
.way{position:relative;display:grid;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:clamp(12px,1.4vw,32px);padding:clamp(18px,1.8vw,28px) clamp(18px,2.2vw,40px);background:#F0F2F4;color:var(--ink);text-align:left;overflow:hidden;isolation:isolate;transition:color .35s}
.way::before{content:"";position:absolute;inset:0;z-index:-1;background:var(--red);transform:translateY(101%);transition:transform .55s var(--ease)}
.way--dark{background:var(--ink);color:var(--white)}
.way svg.ic{width:clamp(48px,4.2vw,70px);height:auto;transition:transform .5s var(--ease)}
.way small{display:block;font-family:var(--f-en);font-size:12px;font-weight:500;letter-spacing:.14em}
.way b{display:block;margin-top:4px;font-size:clamp(17px,1.5vw,28px);white-space:nowrap;font-weight:900;letter-spacing:.04em;line-height:1.25}
.way span.d{display:block;margin-top:10px;font-size:clamp(12px,.9vw,14.5px);line-height:1.6;letter-spacing:.06em;opacity:.85}
.way .go{width:36px;height:14px;transition:transform .45s var(--ease)}
.way:hover,.way:focus-visible{color:var(--white)}
.way:hover::before,.way:focus-visible::before{transform:none}
.way:hover svg.ic{transform:rotate(-6deg) scale(1.05)}
.way:hover .go{transform:translateX(8px)}
.ways2{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr) minmax(0,1.15fr);align-items:center;padding:clamp(18px,2vw,28px) var(--gutter) 0}
.ways2>*{border-left:1px solid #C9D1D8;padding:0 clamp(14px,2.2vw,40px)}
.ways2>*:first-child{border-left:0;padding-left:clamp(14px,1.4vw,24px)}
.sub{display:grid;grid-template-columns:auto 1fr auto;align-items:center;gap:clamp(14px,2vw,34px);text-align:left;padding-block:6px}
.sub .ic{width:clamp(56px,4.2vw,70px);height:auto}
.sub b{display:block;font-size:clamp(16px,1.3vw,21px);font-weight:900;letter-spacing:.04em}
.sub span.d{display:block;margin-top:6px;font-size:clamp(12px,.88vw,14px);line-height:1.55;color:var(--ink-2)}
.sub .go{width:36px;height:14px;transition:transform .45s var(--ease)}
.sub:hover b{color:var(--red)}
.sub:hover .go{transform:translateX(8px);color:var(--red)}
.chips{list-style:none;margin:0;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:8px;text-align:center}
.chips li{display:grid;justify-items:center;gap:10px;font-size:clamp(10.5px,.78vw,12.5px);letter-spacing:.02em;line-height:1.35}
.chips svg{width:clamp(30px,2.3vw,40px);height:auto;transition:transform .4s var(--ease),color .3s}
.chips li:hover svg{transform:translateY(-3px);color:var(--red)}
.line-ic{display:grid;place-items:center;width:clamp(56px,4.2vw,70px);aspect-ratio:1;border-radius:18px;background:#06C755;color:#fff}
.line-ic svg{width:62%;height:auto}

/* mini dialog (LINE) */
.mini{position:fixed;inset:0;z-index:84;display:grid;place-items:center;padding:16px;visibility:hidden}
.mini.is-open{visibility:visible}
.mini__bg{position:absolute;inset:0;background:rgba(10,14,18,.6);opacity:0;transition:opacity .3s}
.mini.is-open .mini__bg{opacity:1}
.mini__box{position:relative;width:min(420px,100%);background:var(--white);color:var(--ink);padding:32px 28px 28px;text-align:center;transform:scale(.94);opacity:0;transition:transform .45s var(--ease),opacity .3s}
.mini.is-open .mini__box{transform:none;opacity:1}
.mini__qr{width:160px;height:160px;margin:18px auto;border:1.5px dashed #B8C3CD;display:grid;place-items:center;font-size:12px;color:var(--steel);letter-spacing:.08em}
.mini h3{margin:12px 0 0;font-size:20px;font-weight:900;letter-spacing:.04em}
.mini p{margin:0;font-size:13px;line-height:1.8;color:var(--ink-2)}
.mini .x{position:absolute;right:8px;top:8px;border:0;width:40px;height:40px}

/* footer */
.ft2{background:var(--ink);color:rgba(255,255,255,.72);padding:clamp(48px,6vw,80px) var(--gutter) calc(28px + env(safe-area-inset-bottom,0px))}
.ft2__top{display:grid;grid-template-columns:minmax(0,1.2fr) minmax(0,1.6fr) auto;gap:40px;align-items:start;padding-bottom:40px;border-bottom:1px solid rgba(255,255,255,.14)}
.ft2 .logo__tg{color:var(--white)}
.ft2__lead{margin:18px 0 0;font-size:13px;line-height:1.9;letter-spacing:.06em}
.ft2__nav{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px 24px;list-style:none;margin:0;padding:0}
.ft2__nav a{display:block;padding:6px 0;transition:color .3s}
.ft2__nav a .en{display:block;font-size:12px;font-weight:700;color:var(--white);letter-spacing:.2em;transition:color .3s}
.ft2__nav a small{font-size:11px;letter-spacing:.1em}
.ft2__nav a:hover .en{color:var(--red)}
.ft2__cta{display:grid;gap:10px}
.ft2__cta .btn{min-width:230px;height:56px}
.ft2__bot{display:flex;flex-wrap:wrap;justify-content:space-between;gap:12px;padding-top:24px;font-size:11px;letter-spacing:.12em}
.totop{display:inline-flex;align-items:center;gap:10px;font-family:var(--f-en);font-weight:700;letter-spacing:.24em;color:var(--white)}
.totop svg{width:10px;height:14px;transition:transform .4s var(--ease)}
.totop:hover svg{transform:translateY(-4px)}


/* ============ 12 RIG WORKS ============ */
.rig{position:relative;background:#0E1114;color:#fff;overflow:hidden;min-height:clamp(620px,56.3vw,941px)}
.rig__bg{position:absolute;inset:0;margin:0}
.rig__bg img{width:100%;height:100%;object-fit:cover;object-position:70% 30%;transform:scale(1.05) translateY(var(--rgy,0px))}
.rig__bg::after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,rgba(14,17,20,.9) 0%,rgba(14,17,20,.55) 34%,rgba(14,17,20,0) 55%)}
.rig__copy{position:relative;z-index:2;padding:clamp(120px,11vw,180px) var(--gutter) 60px;max-width:880px}
.rig__logo{display:block;width:clamp(300px,38.6vw,646px);max-width:100%;height:auto}
.rig__h{margin:clamp(28px,3.4vw,56px) 0 0;font-weight:700;font-size:clamp(24px,2.2vw,37px);line-height:1.55;letter-spacing:.04em}
.rig__h span{display:block;white-space:nowrap}
.rig__rule{display:block;width:52px;height:2px;background:#fff;margin:clamp(20px,2.2vw,34px) 0}
.rig__body{margin:0;font-size:clamp(13px,1.02vw,17px);line-height:2.05;letter-spacing:.06em;color:rgba(255,255,255,.9)}
.rig__btn{margin-top:clamp(28px,3vw,50px);display:inline-flex;align-items:center;justify-content:space-between;gap:40px;min-width:min(402px,100%);height:74px;padding:0 44px;border:1.5px solid rgba(255,255,255,.85);font-family:var(--f-en);font-weight:700;font-size:clamp(14px,1.1vw,18px);letter-spacing:.14em;color:#fff;position:relative;overflow:hidden;isolation:isolate;transition:color .35s}
.rig__btn small{font-family:var(--f-jp);font-size:.92em;letter-spacing:.06em;margin-left:.4em}
.rig__btn::before{content:"";position:absolute;inset:0;z-index:-1;background:#fff;transform:translateX(-101%);transition:transform .55s var(--ease)}
.rig__btn svg{width:26px;height:22px;transition:transform .4s var(--ease)}
.rig__btn:hover{color:#0E1114}
.rig__btn:hover::before{transform:none}
.rig__btn:hover svg{transform:translateX(8px)}
.season{position:absolute;z-index:2;right:0;bottom:0;width:59%;height:25%;display:flex}
.sea{--sk:clamp(40px,4.4vw,74px);position:relative;flex:1;min-width:0;overflow:hidden;clip-path:polygon(var(--sk) 0,100% 0,calc(100% - var(--sk)) 100%,0 100%);margin-left:calc(var(--sk) * -1 + 12px);padding:0;text-align:left;color:#fff;background:#222;transition:flex .6s var(--ease)}
.sea:first-child{margin-left:0}
.sea:last-child{clip-path:polygon(var(--sk) 0,100% 0,100% 100%,0 100%)}
.sea img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;transition:transform 1s var(--ease)}
.sea::after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,rgba(0,0,0,.35),rgba(0,0,0,0) 70%);transition:background .4s}
.sea__t{position:absolute;z-index:1;left:calc(var(--sk) + clamp(20px,3vw,56px));top:50%;transform:translateY(-58%);text-shadow:0 1px 10px rgba(0,0,0,.4)}
.sea__t b{display:block;font-family:var(--f-en);font-weight:700;font-size:clamp(16px,1.6vw,27px);letter-spacing:.2em}
.sea__t span{display:block;margin-top:4px;font-weight:700;font-size:clamp(14px,1.45vw,24px);letter-spacing:.06em}
.sea__t span::after{content:"";display:block;width:46px;height:2px;background:#fff;margin-top:14px;transition:width .5s var(--ease),background .3s}
.sea__t i{display:block;font-style:normal;font-size:12px;letter-spacing:.14em;margin-top:10px;opacity:0;transform:translateY(6px);transition:opacity .4s,transform .45s var(--ease)}
.sea:hover,.sea:focus-visible{flex:1.35}
.sea:hover img,.sea:focus-visible img{transform:scale(1.08)}
.sea:hover .sea__t span::after{width:80px;background:var(--red)}
.sea:hover .sea__t i,.sea:focus-visible .sea__t i{opacity:1;transform:none}
.sea--w:hover::after{background:linear-gradient(90deg,rgba(20,50,90,.45),rgba(0,0,0,0) 70%)}
.sea--s:hover::after{background:linear-gradient(90deg,rgba(20,70,30,.4),rgba(0,0,0,0) 70%)}

/* RIG drawer tabs */
.rtabs{display:flex;gap:0;border-bottom:1px solid var(--frost)}
.rtabs button{flex:1;padding:14px 10px;font-family:var(--f-en);font-weight:700;font-size:13px;letter-spacing:.16em;color:var(--steel);position:relative}
.rtabs button small{display:block;font-family:var(--f-jp);font-size:11px;letter-spacing:.06em;font-weight:500}
.rtabs button[aria-selected="true"]{color:var(--ink)}
.rtabs button[aria-selected="true"]::after{content:"";position:absolute;left:0;right:0;bottom:-1px;height:3px;background:var(--red)}
.rpanel h4{margin:0 0 8px;font-size:18px;font-weight:900;letter-spacing:.04em}
.rpanel p{margin:0 0 16px;font-size:14px;line-height:1.85;color:var(--ink-2)}
.rpanel ul{margin:0 0 8px;padding-left:1.2em;font-size:14px;line-height:1.9}
.drw__hero--rig{background:#0E1114;padding-bottom:28px}
.drw__hero--rig img{max-width:420px}


/* footer v3 */
.ft3{position:relative;background:#050607;color:#fff;overflow:hidden}
.ft3__photo{position:absolute;top:0;right:0;width:19%;height:calc(100% - 140px);margin:0;pointer-events:none}
.ft3__photo img{width:100%;height:100%;object-fit:cover;object-position:left center}
.ft3__photo::before{content:"";position:absolute;inset:0;z-index:1;background:linear-gradient(90deg,#050607 0%,rgba(5,6,7,.6) 30%,rgba(5,6,7,0) 70%),linear-gradient(0deg,#050607 0%,rgba(5,6,7,0) 20%)}
.ft3__main{position:relative;z-index:2;display:grid;grid-template-columns:clamp(260px,24vw,420px) minmax(0,1fr);gap:clamp(30px,3.6vw,70px);padding:clamp(70px,6.8vw,130px) var(--gutter) clamp(36px,3vw,50px)}
.ft3__brand .logo{flex-wrap:wrap;font-size:clamp(28px,2.4vw,46px);row-gap:.1em}
.ft3__brand .logo__tg{color:#fff;margin-left:.08em;flex-basis:100%;font-size:1.05em}
.ft3__en{margin:clamp(16px,1.6vw,26px) 0 0;font-family:var(--f-en);font-weight:500;font-size:clamp(13px,1.15vw,22px);letter-spacing:.2em;line-height:1.5}
.ft3__rule{display:block;width:60px;height:1.5px;background:#fff;margin:clamp(28px,2.8vw,50px) 0 clamp(30px,2.6vw,46px)}
.ft3__msg{margin:0;white-space:nowrap;font-size:clamp(17px,1.45vw,30px);font-weight:700;line-height:1.55;letter-spacing:.14em}
.ft3__tag{margin:clamp(24px,2.4vw,40px) 0 0;font-family:var(--f-en);font-size:clamp(11px,.92vw,17px);letter-spacing:.24em;line-height:1.6;color:rgba(255,255,255,.6);text-transform:uppercase}
.ft3__cols{display:grid;grid-template-columns:repeat(5,auto);justify-content:start;gap:clamp(20px,2.6vw,52px);margin-bottom:clamp(32px,2.8vw,52px)}
.ft3__cols h4{margin:0;padding-bottom:14px;border-bottom:1.5px solid rgba(255,255,255,.8);font-family:var(--f-en);font-weight:600;font-size:clamp(14px,1.05vw,19px);letter-spacing:.06em}
.ft3__cols ul{list-style:none;margin:18px 0 0;padding:0;display:grid;gap:clamp(10px,.9vw,16px)}
.ft3__cols button{padding:0}
.ft3__cols a,.ft3__cols button{display:inline-flex;align-items:center;gap:0;white-space:nowrap;font-size:clamp(12px,.9vw,16px);letter-spacing:.02em;color:rgba(255,255,255,.88);text-align:left;position:relative;transition:color .3s,transform .35s var(--ease)}
.ft3__cols a::before,.ft3__cols button::before{content:"";width:0;height:1.5px;background:var(--red);transition:width .35s var(--ease)}
.ft3__cols a:hover,.ft3__cols button:hover{color:#fff}
.ft3__cols a:hover::before,.ft3__cols button:hover::before{width:10px;margin-right:8px}
.ft3__cols .soon{color:rgba(255,255,255,.4);cursor:default}
.ft3__cols .soon::before{display:none}
.ft3__cols .soon em{margin-left:6px;font-style:normal;font-family:var(--f-en);font-size:9px;letter-spacing:.14em;border:1px solid rgba(255,255,255,.3);padding:1px 5px}
.ft3__cta{display:grid;grid-template-columns:1fr 1.08fr 1.28fr;gap:10px;max-width:1060px}
.fbtn{white-space:nowrap;display:flex;align-items:center;justify-content:center;gap:clamp(10px,1.1vw,24px);height:clamp(74px,4.9vw,96px);padding:0 16px;font-weight:700;font-size:clamp(13px,.98vw,19px);letter-spacing:.04em;position:relative;overflow:hidden;isolation:isolate;transition:color .35s}
.fbtn .ic{width:clamp(38px,2.9vw,56px);height:auto}
.fbtn .go{width:32px;height:14px;transition:transform .4s var(--ease)}
.fbtn::before{content:"";position:absolute;inset:0;z-index:-1;transform:translateY(101%);transition:transform .5s var(--ease)}
.fbtn:hover .go{transform:translateX(7px)}
.fbtn--red{background:#C8101A;color:#fff}.fbtn--red::before{background:#fff}.fbtn--red:hover{color:#C8101A}
.fbtn--white{background:#fff;color:var(--ink)}.fbtn--white::before{background:#C8101A}.fbtn--white:hover{color:#fff}
.fbtn--line{background:#050607;color:#fff;border:1.5px solid rgba(255,255,255,.85)}.fbtn--line::before{background:#fff}.fbtn--line:hover{color:var(--ink)}
.fbtn:hover::before{transform:none}
.ft3__sub{display:grid;grid-template-columns:1fr 1fr;max-width:760px;margin-top:clamp(16px,1.4vw,26px)}
.ft3__sub .sub{padding:4px clamp(14px,2.4vw,50px) 4px 0;color:#fff}
.ft3__sub .sub+.sub{border-left:1.5px solid rgba(255,255,255,.5);padding-left:clamp(14px,2.8vw,56px)}
.ft3__sub .sub b{font-size:clamp(14px,1.05vw,19px);white-space:nowrap}
.ft3__sub .sub .ic{width:clamp(48px,3.2vw,62px)}
.ft3__sub .sub:hover b,.ft3__sub .sub:hover .go{color:#fff}
.ft3__sub .sub:hover b{text-decoration:underline;text-underline-offset:5px;text-decoration-color:var(--red)}
.ft3__sub .line-ic{width:clamp(48px,3.2vw,60px);border-radius:14px}
.ft3__bot{position:relative;z-index:2;display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:18px 40px;margin:0 var(--gutter);padding:clamp(30px,2.4vw,44px) 0 calc(clamp(30px,2.6vw,46px) + env(safe-area-inset-bottom,0px));border-top:1px solid rgba(255,255,255,.3)}
.ft3__name{display:flex;align-items:center;gap:22px;font-size:clamp(14px,1.2vw,22px);letter-spacing:.2em}
.ft3__name .en{font-weight:500;letter-spacing:.14em}
.ft3__name i{width:1px;height:1.3em;background:rgba(255,255,255,.6)}
.ft3__co{display:flex;align-items:center;gap:32px;font-size:clamp(12px,.95vw,17px);letter-spacing:.1em;color:rgba(255,255,255,.72);line-height:1.8;text-align:right}
.ft3__co::before{content:"";width:1px;height:2.6em;background:rgba(255,255,255,.4)}
.ft3__co p{margin:0}
.ft3__co b{font-weight:400;margin-right:1.2em}
.ft3__co .num{font-family:var(--f-en);letter-spacing:.08em;user-select:all}
.ft3__copy{flex-basis:100%;display:flex;justify-content:space-between;font-family:var(--f-en);font-size:10.5px;letter-spacing:.16em;color:rgba(255,255,255,.4)}
.ft3__copy .totop{color:#fff}

/* ===== test picker popup ===== */
.pk{position:fixed;inset:0;z-index:90;display:grid;place-items:center;padding:16px;visibility:hidden}
.pk.is-open{visibility:visible}
.pk__bg{position:absolute;inset:0;background:rgba(40,46,52,.55);backdrop-filter:blur(3px);-webkit-backdrop-filter:blur(3px);opacity:0;transition:opacity .35s}
.pk.is-open .pk__bg{opacity:1}
.pk__box{position:relative;width:min(824px,100%);max-height:calc(100svh - 32px);overflow:auto;background:#fff;color:#0F1418;padding:clamp(28px,3.4vw,56px) clamp(22px,3vw,48px) clamp(26px,3vw,48px) clamp(24px,3.4vw,56px);transform:translateY(24px) scale(.97);opacity:0;transition:transform .5s cubic-bezier(.22,.8,.2,1),opacity .35s}
.pk.is-open .pk__box{transform:none;opacity:1}
.pk__img{position:absolute;right:0;top:clamp(70px,8vw,130px);width:48%;margin:0;aspect-ratio:347/280;pointer-events:none}
.pk__img img{width:100%;height:100%;object-fit:cover}
.pk__img::before{content:"";position:absolute;inset:0;background:linear-gradient(90deg,#fff 0%,rgba(255,255,255,0) 40%),linear-gradient(0deg,#fff 0%,rgba(255,255,255,0) 25%)}
.pk__x{position:absolute;right:clamp(14px,1.6vw,26px);top:clamp(14px,1.6vw,24px);z-index:2;width:44px;height:44px;display:grid;place-items:center}
.pk__x svg{width:22px;height:22px;transition:transform .4s cubic-bezier(.22,.8,.2,1)}
.pk__x:hover svg{transform:rotate(90deg)}
.pk__e{position:relative;display:flex;align-items:center;gap:18px;margin:0;font-family:"Montserrat",Arial,sans-serif;font-weight:600;font-size:clamp(12px,1vw,16px);letter-spacing:.12em}
.pk__e::after{content:"";width:60px;height:1px;background:#0F1418}
.pk__h{position:relative;margin:clamp(12px,1.4vw,22px) 0 0;font-weight:900;font-size:clamp(40px,5.8vw,98px);line-height:1.08;letter-spacing:-.04em;text-shadow:0 0 16px #fff,0 0 30px rgba(255,255,255,.9)}
.pk__h span{display:block;white-space:nowrap}
.pk__s{position:relative;margin:clamp(12px,1.4vw,22px) 0 0;font-size:clamp(14px,1.2vw,19px);font-weight:500;line-height:1.65;letter-spacing:.04em;text-shadow:0 0 10px #fff}
.pk__opts{position:relative;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:clamp(8px,1vw,16px);margin-top:clamp(20px,2.4vw,40px)}
.pk__o{display:grid;justify-items:center;align-content:center;gap:12px;height:clamp(100px,7.6vw,128px);border:1.5px solid #DDE2E6;border-radius:4px;background:#fff;font-weight:700;font-size:clamp(14px,1.1vw,18px);text-align:center;padding:0 6px;transition:border-color .25s,background .25s,transform .35s cubic-bezier(.22,.8,.2,1)}
.pk__o svg{height:clamp(24px,2vw,34px);width:auto;color:#0F1418;transition:color .25s,transform .4s cubic-bezier(.22,.8,.2,1)}
.pk__o b{white-space:nowrap}
.pk__o:hover,.pk__o:focus-visible{border-color:#D2121B;background:#FFF1F1;transform:translateY(-3px)}
.pk__o:hover svg{color:#D2121B;transform:translateX(4px)}
@media (max-width:760px){
  .pk__img{width:56%;top:90px;opacity:.55}
  .pk__h{font-size:min(10.6vw,44px)}
  .pk__s br{display:none}
  .pk__opts{grid-template-columns:1fr 1fr}
  .pk__o{height:92px}
  .pk__o b{font-size:14px}
}

/* ============ PLACEHOLDER SECTIONS ============ */
.sec{position:relative;padding:clamp(80px,11vw,160px) var(--gutter);border-top:1px solid var(--frost)}
.sec:nth-of-type(odd){background:var(--white)}
.sec__head{display:grid;grid-template-columns:auto 1fr;gap:6px 28px;align-items:end;max-width:1200px}
.sec__no{grid-row:span 2;font-family:var(--f-en);font-weight:800;font-size:clamp(56px,7vw,110px);line-height:.8;color:transparent;-webkit-text-stroke:1.2px var(--red)}
.sec__en{font-family:var(--f-en);font-weight:800;font-size:clamp(28px,3.4vw,52px);letter-spacing:.08em;line-height:1}
.sec__jp{font-size:13px;letter-spacing:.2em;color:var(--steel);font-weight:500}
.sec__todo{margin-top:48px;max-width:1200px;border:1px dashed #B8C3CD;padding:clamp(24px,3vw,44px);display:grid;grid-template-columns:minmax(0,1fr) auto;gap:24px;align-items:center;color:var(--ink-2)}
.sec__todo p{margin:0;font-size:14px;max-width:62ch}
.sec__todo .en{font-size:10.5px;font-weight:700;color:var(--red);display:block;margin-bottom:6px}
.chip{font-family:var(--f-en);font-size:10.5px;font-weight:700;letter-spacing:.2em;padding:6px 12px;border:1px solid var(--ink);white-space:nowrap}

.ft{background:var(--ink);color:rgba(255,255,255,.7);padding:40px var(--gutter) calc(40px + env(safe-area-inset-bottom,0px));display:flex;flex-wrap:wrap;justify-content:space-between;gap:16px;font-size:11.5px;letter-spacing:.12em}

/* ============ MODAL (popup) ============ */
.modal{position:fixed;inset:0;z-index:80;display:grid;place-items:center;padding:24px 16px;visibility:hidden}
.modal.is-open{visibility:visible}
.modal__bg{position:absolute;inset:0;background:rgba(10,14,18,.7);backdrop-filter:blur(4px);opacity:0;transition:opacity .4s}
.modal.is-open .modal__bg{opacity:1}
.modal__box{position:relative;width:min(760px,100%);max-height:calc(100svh - 48px);overflow:auto;background:var(--white);color:var(--ink);
  transform:translateY(30px);opacity:0;transition:transform .5s var(--ease),opacity .4s}
.modal.is-open .modal__box{transform:none;opacity:1}
.modal__top{display:flex;align-items:stretch;border-bottom:1px solid var(--frost);position:sticky;top:0;background:var(--white);z-index:1}
.tab{flex:1;padding:22px 16px 18px;font-weight:700;font-size:14px;letter-spacing:.14em;color:var(--steel);position:relative;text-align:left;padding-left:clamp(20px,4vw,44px)}
.tab small{display:block;font-family:var(--f-en);font-size:10px;letter-spacing:.24em;margin-bottom:2px}
.tab[aria-selected="true"]{color:var(--ink)}
.tab[aria-selected="true"]::after{content:"";position:absolute;left:0;right:0;bottom:-1px;height:3px;background:var(--red)}
.x{width:68px;flex:none;display:grid;place-items:center;border-left:1px solid var(--frost)}
.x svg{width:18px;height:18px;transition:transform .4s var(--ease)}
.x:hover svg{transform:rotate(90deg)}
.modal__body{padding:clamp(24px,4vw,44px)}
.lead{font-size:13.5px;color:var(--ink-2);margin:0 0 24px}
.form{display:grid;grid-template-columns:1fr 1fr;gap:18px 20px}
.f{display:grid;gap:6px;min-width:0}
.f--w{grid-column:1/-1}
.f label{font-size:12px;font-weight:700;letter-spacing:.1em}
.f label em{font-style:normal;color:var(--red);font-size:10.5px;margin-left:6px}
.f input,.f select,.f textarea{width:100%;font:inherit;font-size:14px;padding:12px 14px;border:1px solid #C7D0D8;background:var(--snow);color:var(--ink);border-radius:0;transition:border-color .2s,background .2s}
.f input:focus,.f select:focus,.f textarea:focus{outline:none;border-color:var(--ink);background:var(--white)}
.f textarea{min-height:96px;resize:vertical}
.form .btn{grid-column:1/-1;justify-self:start;border-color:var(--red)}
.done{display:grid;gap:12px;padding:20px 0}
.done h3{margin:0;font-size:20px;letter-spacing:.06em}
.done p{margin:0;font-size:13.5px;color:var(--ink-2)}

body.lock{overflow:hidden}

/* ============ RESPONSIVE ============ */
@media (max-width:1100px){
  .gnav{display:none}
}
@media (max-width:760px){
  :root{--hdr-h:64px}
  html{scroll-padding-top:60px}
  .hdr__in,.hdr.is-solid .hdr__in{height:64px;padding-top:0;align-items:center}
  .brand__sub{display:none}
  .logo{font-size:17px}
  .burger{width:44px}
  .hero{height:100svh;min-height:600px}
  .hero__bg img{object-position:79% 50%}
  .hero__shade{background:linear-gradient(0deg,rgba(10,14,18,.82) 0%,rgba(10,14,18,.5) 46%,rgba(10,14,18,0) 72%)}
  .hero__copy{top:auto;bottom:118px}
  .hero__h{font-size:min(10.4vw,60px);line-height:1.22}
  .hero__name{letter-spacing:.14em}
  .hero__cat{letter-spacing:.2em;font-size:11px}
  .hero__dealer{letter-spacing:.06em}
  .hero__cta{flex-direction:column;gap:10px;margin-top:22px}
  .btn{width:100%;min-width:0;height:56px;padding:0 22px}
  .hero__foot{bottom:28px;grid-template-columns:1fr}
  .hero__place,.hero__tag{display:none}
  .pager{display:none}
  .menu{grid-template-columns:1fr}
  .menu__visual{display:none}
  .menu__body{padding-top:96px}
  .mnav a{grid-template-columns:34px 1fr auto;padding:14px 0}
  .form{grid-template-columns:1fr}
  .ft3__photo{width:60%;height:300px;opacity:.55}
  .ft3__main{grid-template-columns:1fr;padding-top:64px}
  .ft3__brand .logo{font-size:28px}
  .ft3__msg{font-size:min(5vw,20px)}
  .ft3__cols a,.ft3__cols button{white-space:normal}
  .ft3__cols{grid-template-columns:1fr 1fr;gap:28px 20px}
  .ft3__cols>div:last-child{grid-column:1/-1}
  .ft3__cta{grid-template-columns:1fr}
  .fbtn{height:64px;justify-content:space-between;padding:0 20px}
  .ft3__sub{grid-template-columns:1fr;gap:14px}
  .ft3__sub .sub+.sub{border-left:0;padding-left:0;border-top:1px solid rgba(255,255,255,.2);padding-top:14px}
  .ft3__sub .sub span.d{display:none}
  .ft3__co{text-align:left}
  .ft3__co::before{display:none}
  .ft3__co b{display:block}
  .ft3__name{flex-wrap:wrap;gap:10px 16px;font-size:14px}
  .rig{min-height:0;padding-bottom:0}
  .rig__bg{position:relative;height:66vw;max-height:360px}
  .rig__bg::after{background:linear-gradient(0deg,#0E1114 0%,rgba(14,17,20,0) 50%)}
  .rig__copy{padding:0 var(--gutter) 32px;margin-top:-80px}
  .rig__logo{width:min(82vw,360px)}
  .rig__h{font-size:min(5.4vw,24px)}
  .rig__h span{white-space:normal}
  .rig__body br{display:none}
  .rig__btn{width:100%;height:60px;padding:0 24px}
  .season{position:relative;width:100%;height:auto;flex-direction:column}
  .sea,.sea:first-child,.sea:last-child{--sk:0px;clip-path:none;margin:0 0 2px;height:120px;flex:none}
  .sea:hover,.sea:focus-visible{flex:none}
  .sea__t{left:var(--gutter)}
  .sea__t i{opacity:1;transform:none}
  .ct__top{min-height:0;display:flex;flex-direction:column}
  .ct__photo{position:relative;width:100%;height:60vw;max-height:320px;order:-1}
  .ct__photo::before{background:linear-gradient(0deg,var(--white) 0%,rgba(255,255,255,0) 28%)}
  .ct__side{display:none}
  .ct__copy{padding-top:0;margin-top:-24px}
  .ct__h{font-size:min(15vw,66px)}
  .ct__sub{font-size:min(5.2vw,22px)}
  .ct__body br{display:none}
  .ways{grid-template-columns:1fr;gap:8px}
  .way{padding:18px}
  .way b{font-size:19px}
  .ways2{grid-template-columns:1fr;gap:16px}
  .ways2>*,.ways2>*:first-child{border-left:0;padding:0}
  .ways2>*+*{border-top:1px solid var(--frost);padding-top:16px}
  .sub span.d br{display:none}
  .chips{grid-template-columns:repeat(2,minmax(0,1fr));row-gap:18px}
  .ft2__top{grid-template-columns:1fr}
  .ft2__nav{grid-template-columns:1fr 1fr}
  .ft2__cta .btn{width:100%}
  .who__top{min-height:0;display:flex;flex-direction:column}
  .who__photo{position:relative;width:100%;height:64vw;max-height:340px;order:-1}
  .who__photo::before{background:linear-gradient(0deg,var(--white) 0%,rgba(255,255,255,0) 28%)}
  .who__side{display:none}
  .who__copy{padding-top:0;margin-top:-28px}
  .who__h{font-size:min(10.6vw,48px)}
  .who__body{font-size:15px;letter-spacing:.08em}
  .acc{flex-direction:column;height:auto;margin:0}
  .acc__p{--sk:0px;clip-path:none;margin:0 0 3px;height:92px;flex:none;transition:height .6s var(--ease)}
  .acc__p.is-open{height:210px;flex:none}
  .acc__t{left:var(--gutter);right:var(--gutter);bottom:14px;font-size:14px}
  .acc__t br{display:none}
  .acc__t::after{margin-top:8px}
  .tg__top{min-height:0;display:flex;flex-direction:column}
  .tg__vis{position:relative;width:100%;order:-1}
  .tg__vis::before{background:linear-gradient(0deg,var(--white) 0%,rgba(255,255,255,0) 22%)}
  .pin{font-size:9px;gap:4px}
  .pin i{width:7px;height:7px}
  .pin[data-flip]{flex-direction:row-reverse;transform:translate(calc(-100% + 5px),-50%);padding:4px 0 4px 6px}
  .tg__side{display:none}
  .tg__copy{padding-top:0;margin-top:-10px}
  .tg__h{font-size:min(12.4vw,56px)}
  .tg__sub{font-size:min(5.2vw,22px)}
  .tg__body br{display:none}
  .areas{grid-template-columns:1fr 1fr}
  .areas li:last-child{grid-column:1/-1}
  .area__t b{font-size:22px}
  .area__t span{font-size:11px;margin-top:6px;letter-spacing:.2em}
  .area__t span::after{width:24px}
  .area__d{padding:10px 12px 18px;font-size:12px}
  .area__d br{display:none}
  .fleet__top{min-height:0;display:flex;flex-direction:column}
  .fleet__photo{position:relative;width:100%;height:58vw;max-height:320px;order:-1}
  .fleet__photo::before{background:linear-gradient(0deg,var(--white) 0%,rgba(255,255,255,0) 30%)}
  .fleet__side{display:none}
  .fleet__copy{padding-top:0;margin-top:-24px}
  .fleet__h{font-size:min(10vw,46px)}
  .fleet__sub{font-size:min(5vw,22px)}
  .fleet__body br{display:none}
  .fleet__bottom{grid-template-columns:1fr}
  .sim{padding:26px var(--gutter) 30px}
  .sim__row{grid-template-columns:1fr;gap:6px}
  .sim__row small{display:inline}
  .seg{gap:6px}
  .seg button{min-width:0;flex:1;padding:0 4px;white-space:nowrap;font-size:12.5px}
  .seg .free{flex:1.5}
  .seg input{flex:1 0 100%;width:auto}
  .seg .u{display:none}
  .out{padding:18px var(--gutter) 0}
  .tcards{grid-template-columns:1fr 1fr}
  .out__low{grid-template-columns:1fr;margin-right:0}
  .merits{grid-template-columns:1fr}
  .merits li,.merits li:nth-child(odd){border-left:0;padding:0}
  .out__img{margin:0 calc(var(--gutter) * -1);height:180px}
  .cost__top{min-height:0;display:flex;flex-direction:column}
  .cost__photo{position:relative;width:100%;height:64vw;max-height:340px;order:-1}
  .cost__photo::before{background:linear-gradient(0deg,var(--white) 0%,rgba(255,255,255,0) 30%)}
  .cost__side{display:none}
  .cost__copy{padding:0 var(--gutter) 26px;margin-top:-30px}
  .cost__h{font-size:min(11.2vw,52px)}
  .cost__sub{font-size:min(6.6vw,30px)}
  .cost__body{font-size:14px;letter-spacing:.03em}
  .cost__body br{display:none}
  .cost__bottom{grid-template-columns:1fr}
  .steps{grid-template-columns:1fr;padding-left:18px}
  .steps::before,.steps::after{left:0;right:auto;top:0;bottom:0;width:2px;height:auto}
  .steps::after{height:100%;transform-origin:top;transform:scaleY(var(--fp,1))}
  .step,.step:first-child{border-left:0;padding:12px 0 12px 8px;border-top:1px solid var(--frost)}
  .step:first-child{border-top:0}
  .step:not(:first-child)::before{display:none}
  .step p br{display:none}
  .step p{padding-left:0}
  .biz{margin-top:0}
  .prod__photo{position:relative;width:100%;height:58vw;max-height:320px}
  .prod__photo::before{background:linear-gradient(0deg,var(--white) 0%,rgba(255,255,255,0) 32%)}
  .prod__side{display:none}
  .prod__copy{padding-top:0;margin-top:-26px}
  .prod__h{font-size:min(13.4vw,62px)}
  .prod__sub{font-size:min(6vw,28px)}
  .prod__body br{display:none}
  .vfilter{margin-right:0;width:100%;justify-content:space-between}
  .vchip{flex-direction:column;align-items:flex-start;gap:6px;padding:8px 10px}
  .vchip svg{width:54px}
  .vchip b{font-size:12px;letter-spacing:.04em}
  .vchip small{font-size:10px}
  .vhint{text-align:left}
  .plist{grid-template-columns:1fr;gap:36px;padding:0 var(--gutter) 40px}
  .plist::before{display:none}
  .pcard,.pcard:nth-child(2){grid-template-columns:minmax(0,1fr) minmax(0,1fr);padding-left:0}
  .pcard__info{padding-top:4px}
  .pcard__name .pname{transition:color .3s}.pcard__name .pname:hover{color:var(--red)}
.pcard__name{font-size:26px;gap:8px}
  .pcard__desc br{display:none}
  .pcard__view{padding:0 5%}
  .pcard__view small{display:none}
  .pop{position:fixed;left:0;right:0;bottom:0;width:100%;padding-bottom:calc(22px + env(safe-area-inset-bottom,0px));transform:translateY(100%)}
  .pop::before{display:none}
  .drw__hero{grid-template-columns:1fr}
  .why__top{min-height:0;display:flex;flex-direction:column}
  .why__photo{position:relative;width:100%;height:60vw;max-height:320px;order:-1}
  .why__photo::before{background:linear-gradient(0deg,var(--white) 0%,rgba(255,255,255,0) 30%)}
  .why__side{top:80px;right:var(--gutter);font-size:10px;letter-spacing:.16em}
  .why__side span{display:none}
  .why__copy{padding:0 var(--gutter) 20px;margin-top:-24px}
  .why__h{font-size:min(11vw,52px)}
  .why__body{font-size:14px;letter-spacing:.02em}
  .why__body br{display:none}
  .stats{grid-template-columns:1fr 1fr;gap:28px 0;padding:10px var(--gutter) 36px}
  .stats li{padding:0 0 0 14px}
  .stats li:nth-child(odd){border-left:0;padding-left:0}
  .stats .num{font-size:min(12vw,50px);min-height:0}
  .stats .num--std{font-size:min(7vw,32px);flex-wrap:wrap;white-space:normal}
  .stats .lab{font-size:10.5px;letter-spacing:.12em;white-space:normal}
  .res__top{min-height:0;display:flex;flex-direction:column}
  .res__photo{position:relative;width:100%;height:70vw;max-height:380px;order:-1}
  .res__photo::before{background:linear-gradient(0deg,var(--white) 0%,rgba(255,255,255,0) 32%)}
  .res__side{display:none}
  .res__copy{padding:0 var(--gutter) 28px;margin-top:-40px}
  .res__h{font-size:min(20vw,96px)}
  .res__sum{font-size:min(4.4vw,22px);white-space:nowrap}
  .res__note{font-size:14px;letter-spacing:.04em}
  .verdict{grid-template-columns:1fr;padding:0 var(--gutter) 40px}
  .verdict li{border-left:0;border-top:1px solid var(--frost);padding:16px 0}
  .verdict li:first-child{border-top:0}
  .test__top{min-height:0;display:flex;flex-direction:column}
  .test__photo{position:relative;width:100%;height:62vw;max-height:340px;order:-1}
  .test__photo::before{background:linear-gradient(0deg,var(--white) 0%,rgba(255,255,255,0) 30%)}
  .test__copy{padding:0 var(--gutter) 24px;margin-top:-28px}
  .test__lead{font-size:min(7vw,30px)}
  .test__big{font-size:min(11.4vw,54px)}
  .test__side{display:none}
  .spec{grid-template-columns:1fr;padding:4px var(--gutter) 20px}
  .spec li{border-left:0;border-top:1px solid var(--frost);padding:12px 0}
  .spec li:first-child{border-top:0}
  .spec svg{width:36px;height:36px}
  .spec .v{font-size:17px}
  .strip__item{height:150px}
  .strip__item::after{opacity:1;transform:none;font-size:10.5px;padding:20px 10px 8px}
  .lb__nav button{width:44px;height:44px}
  .q{height:260svh}
  .q__pin{padding:84px var(--gutter) 110px;justify-content:center}
  .q__pin{--fs:min(10.6vw,8.4svh)}
  .q__tag{font-size:9.5px;letter-spacing:.16em}
  .q__tag b{display:none}
  .q__item:hover{transform:none}
  .q__foot{grid-template-columns:1fr;bottom:24px}
  .q__foot .hero__place,.q__foot .hero__tag{display:none}
  .big{min-height:0;padding:96px var(--gutter) 120px;display:flex;flex-direction:column;gap:18px}
  .big__num{position:relative;left:auto;top:auto;--fs:min(52vw,300px);margin-left:-.05em}
  .big__side{position:relative;right:auto;top:auto;order:-1;font-size:11px;letter-spacing:.24em;line-height:1.6}
  .big__copy{position:relative;left:auto;bottom:auto}
  .big__h{font-size:min(8.6vw,40px)}
  .big__sub{font-size:min(5vw,24px);white-space:nowrap}
  .big__cut{font-size:min(4.6vw,20px)}
  .big__note{font-size:10.5px;letter-spacing:.04em}
  .big__foot{grid-template-columns:1fr;bottom:24px}
  .big__foot .hero__place,.big__foot .hero__tag{display:none}
  .sec__todo{grid-template-columns:1fr}
  .sec__head{gap:4px 16px}
}
@media (max-height:720px) and (min-width:761px){
  .hero__copy{top:18%}
  .hero__h{font-size:clamp(44px,5.2vw,96px)}
  .hero__cta{margin-top:24px}
}
@media (prefers-reduced-motion:reduce){
  *,*::before,*::after{animation:none!important;transition-duration:.01ms!important}
  html{scroll-behavior:auto}
  .q{height:auto}.q__pin{position:relative}
}

/* LINE dialog: QR + link */
.mini__qr:has(img){border:0}
.mini__qr a,.mini__qr img{display:block;width:100%;height:100%}
.mini .mini__t{margin:0 0 14px;font-size:12.5px;line-height:1.7;color:var(--ink-2)}
.mini__line{display:flex;align-items:center;justify-content:center;gap:10px;width:100%;height:52px;background:#06C755;color:#fff;font-weight:800;font-size:15px;text-decoration:none;transition:filter .2s}
.mini__line:hover{filter:brightness(1.08)}
.mini__line svg{width:24px;height:22px;flex:none}
