:root{--ink:#1C1C28;--paper:#FFF4E6;--yellow:#FFD400;--blue:#2D6BFF;--pink:#FF4FA0;--green:#00B386;--link:#1E4FD8;--head:'Mochiy Pop One',sans-serif;--body:'M PLUS Rounded 1c',system-ui,sans-serif}
[hidden]{display:none!important}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;background:var(--paper);color:var(--ink);font-family:var(--body);line-height:1.8;font-size:17px;-webkit-text-size-adjust:100%}
img,video,svg{max-width:100%}
a{color:var(--link)}a:hover{color:#123290}
:focus-visible{outline:3px solid var(--blue);outline-offset:3px}
.skip{position:absolute;left:8px;top:0;transform:translateY(-150%);background:var(--ink);color:#fff;padding:8px 14px;z-index:99}.skip:focus{transform:none}
.wrap{max-width:1240px;margin:0 auto;padding:0 20px}
h1,h2,h3,.head{font-family:var(--head);font-weight:400;line-height:1.3}
.chip{display:inline-block;padding:2px 14px;border-radius:20px;background:var(--ink);color:var(--yellow);font-family:var(--head);font-size:15px}
.btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;min-height:52px;padding:10px 26px;border:4px solid var(--ink);border-radius:40px;font-weight:800;text-decoration:none;color:var(--ink);background:var(--yellow);cursor:pointer;font-family:inherit;font-size:17px}
.btn:hover{color:var(--ink);transform:translateY(-2px);box-shadow:4px 4px 0 var(--ink)}
.btn.dark{background:var(--ink);color:#fff}.btn.pink{background:var(--pink)}
/* header */
.site-h{position:relative;z-index:20;background:var(--paper)}
.site-h .wrap{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:10px 24px;padding-top:14px;padding-bottom:14px}
.logo-zone{display:inline-block;padding:30px 50px;margin:-30px -50px}
.logo{border:0;background:none;padding:0;margin:0;cursor:pointer;font-family:var(--head);font-size:26px;color:var(--ink);min-height:44px;text-decoration:none;display:inline-block}
.logo .ch{display:inline-block;position:relative;z-index:1000;transition:translate .35s ease-out,rotate .35s ease-out}
.logo .ch.ex{color:var(--pink)}
.logo.bounce .ch{animation:zbBounce .7s ease-out both}
@keyframes zbBounce{0%{transform:translateY(0) rotate(0)}30%{transform:translateY(-18px) rotate(-8deg)}60%{transform:translateY(4px) rotate(4deg)}100%{transform:translateY(0) rotate(0)}}
.nav{display:flex;flex-wrap:wrap;gap:8px;align-items:center}
.nav a{padding:6px 14px;border-radius:20px;font-weight:800;font-size:15px;text-decoration:none;color:var(--ink);background:#fff;border:3px solid var(--ink)}
.nav a[aria-current=page]{background:var(--yellow)}
.nav a:hover{background:var(--yellow)}
.lang{position:relative}
.lang summary{list-style:none;cursor:pointer;padding:6px 14px;border-radius:20px;border:3px solid var(--ink);background:var(--blue);color:#fff;font-weight:800;font-size:15px;min-height:44px;display:flex;align-items:center;gap:6px}
.lang summary::-webkit-details-marker{display:none}
.lang ul{position:absolute;right:0;top:calc(100% + 6px);margin:0;padding:8px;list-style:none;background:#fff;border:3px solid var(--ink);border-radius:18px;min-width:190px;box-shadow:6px 6px 0 var(--ink);z-index:30}
.lang li a{display:block;padding:8px 12px;border-radius:10px;text-decoration:none;color:var(--ink);font-weight:800}
.lang li a:hover,.lang li a[aria-current=true]{background:var(--yellow)}
.menu-btn{display:none}
@media (max-width:860px){
 .nav{display:none;width:100%}
 .nav.open{display:flex}
 .menu-btn{display:inline-flex;min-height:44px;padding:6px 16px;border:3px solid var(--ink);border-radius:20px;background:#fff;font-weight:800;font-family:inherit;font-size:15px;cursor:pointer}
}
/* breadcrumb */
.bc{font-size:14px;font-weight:800;margin:8px 0 0}
.bc ol{list-style:none;margin:0;padding:0;display:flex;flex-wrap:wrap;gap:4px}
.bc li+li::before{content:"›";margin:0 6px}
/* hero */
body{overflow-x:clip}
.hero{overflow:visible}
.hero .wrap{display:flex;flex-wrap:wrap;gap:32px;align-items:center;padding-top:16px;padding-bottom:64px}
.hero-txt{flex:1 1 460px;min-width:0}
.hero h1{margin:0;font-size:clamp(40px,6vw,88px);line-height:1.25}
.hero h1 .org{display:block;font-family:var(--body);font-weight:800;font-size:clamp(15px,1.4vw,18px);margin-top:16px;line-height:1.5}
.hero .lead{margin:16px 0 0;font-size:18px}
.hero-vid{flex:1 1 480px;min-width:0;border-radius:36px;overflow:hidden;border:5px solid var(--ink);box-shadow:12px 12px 0 var(--blue);background:#fff}
.hero-vid video{display:block;width:100%;aspect-ratio:16/10;object-fit:cover}
.hl{background:var(--yellow);padding:0 10px}
/* truck */
.rig{display:inline-block;position:relative;z-index:3;white-space:nowrap}
.rig-move{display:inline-flex;align-items:flex-end;position:relative;padding-bottom:.42em;transition:translate 2.6s cubic-bezier(.25,.1,.25,1),rotate 1.2s ease-out}
.rig-box{display:inline-block;flex:0 0 auto;white-space:nowrap;position:relative;z-index:1;background:var(--blue);color:#fff;padding:0 .25em .05em;border:5px solid var(--ink);border-radius:.12em}
.rig-cab{display:inline-flex;position:relative;z-index:0;margin-left:-.9em;margin-bottom:-.28em}
.rig-cab svg{width:2.2em;height:1.51em}
.rig.left .rig-move{flex-direction:row-reverse}
.rig.left .rig-cab{margin-left:0;margin-right:-.9em}
.rig.left .rig-cab svg{transform:scaleX(-1)}
.rig-under{position:absolute;left:0;right:0;bottom:0;height:.5em;pointer-events:none}
.rig-under span,.rig-under svg{position:absolute}
.rig .rail{top:-.04em;height:.1em;background:var(--ink);border-radius:3px;left:1%;right:1.3em}
.rig .gear{left:calc(100% - 2.65em);top:.02em;width:.07em;height:.3em;background:#5E6676;border:2px solid var(--ink)}
.rig .bump{top:.08em;height:.2em;left:calc(3% + 1.35em);right:2.85em;border:3px solid var(--ink);border-radius:4px;background:linear-gradient(180deg,#fff 0%,#D9DEE6 30%,#8A93A3 55%,#F4F6F9 75%,#9AA3B2 100%)}
.rig .wh{bottom:-.12em;width:.58em;height:.58em}
.rig .w0{left:3%}.rig .w1{left:calc(3% + .62em)}.rig .w2{left:calc(100% - 2.08em)}.rig .w3{left:calc(100% - .78em)}
.rig.left .rail{left:1.3em;right:1%}.rig.left .gear{left:2.55em}.rig.left .bump{left:2.85em;right:calc(3% + 1.35em)}
.rig.left .w0{left:calc(97% - .58em)}.rig.left .w1{left:calc(97% - 1.2em)}.rig.left .w2{left:1.5em}.rig.left .w3{left:.18em}
.rig.go .wh{animation:spin .35s linear infinite}
.rig.go .rig-box,.rig.go .rig-cab{animation:rumble .18s linear infinite}
@keyframes spin{to{transform:rotate(360deg)}}
@keyframes rumble{0%,100%{transform:translateY(0)}50%{transform:translateY(-2px)}}
/* sections */
.band{padding:64px 0}
.band.y{background:var(--yellow)}.band.b{background:var(--blue);color:#fff}.band.g{background:var(--green)}.band.k{background:var(--ink);color:var(--paper)}
.band.b a{color:#fff}
.sec-h{margin:0 0 12px;font-size:clamp(30px,3.6vw,46px)}
.cards{display:grid;grid-template-columns:repeat(auto-fit,minmax(230px,1fr));gap:20px}
.card{display:block;background:#fff;color:var(--ink);border:4px solid var(--ink);border-radius:28px;padding:22px;text-decoration:none}
a.card:hover{color:var(--ink);transform:rotate(-1deg) translateY(-3px);box-shadow:8px 8px 0 var(--ink)}
.card .t{font-family:var(--head);font-size:22px;margin:0}
.card p{margin:6px 0 0}
.tilt1{transform:rotate(-1.5deg)}.tilt2{transform:rotate(1deg)}.tilt3{transform:rotate(-.5deg)}.tilt4{transform:rotate(1.5deg)}
.def{display:grid;gap:14px}
.def p{margin:0;background:#fff;border:4px solid var(--ink);border-radius:22px;padding:16px 20px;font-weight:800}
.formula{display:flex;flex-wrap:wrap;align-items:center;gap:12px;font-family:var(--head);font-size:clamp(22px,3vw,36px);margin:8px 0}
.formula span.p{border-radius:50px;padding:8px 24px;border:4px solid var(--ink);color:var(--ink)}
.formula .k{background:var(--yellow)}.formula .r{background:#fff}.formula .c{background:var(--pink)}
.ex{font-weight:800}
.note{font-size:14px}
.disc{margin:20px 0 0;padding:14px 18px;border:3px dashed currentColor;border-radius:18px;font-weight:800;font-size:15px}
.nums{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:20px}
.num{background:#fff;border:4px solid var(--ink);border-radius:28px;padding:20px;text-align:center}
.num b{display:block;font-family:var(--head);font-weight:400;font-size:56px;line-height:1.2;color:var(--ink)}
.page-h{padding:24px 0 8px}
.page-h h1{margin:4px 0 0;font-size:clamp(34px,4.6vw,64px)}
.page-h .lead{font-size:18px;font-weight:800;margin:12px 0 0;max-width:900px}
.prose{max-width:900px}
.prose h2{font-size:clamp(24px,2.6vw,34px);margin:40px 0 10px}
.prose p{margin:0 0 1em}
.steps{list-style:none;margin:16px 0;padding:0;display:grid;gap:14px}
.steps li{display:flex;gap:14px;align-items:flex-start;background:#fff;border:4px solid var(--ink);border-radius:22px;padding:14px 18px}
.steps b{flex:0 0 auto;width:38px;height:38px;border-radius:50%;background:var(--yellow);border:3px solid var(--ink);text-align:center;line-height:32px;font-family:var(--head);font-weight:400}
.calc{background:#fff;border:4px solid var(--ink);border-radius:22px;padding:14px 18px;font-weight:800}
.timeline{list-style:none;margin:0;padding:0;display:grid;gap:10px}
.timeline li{background:#fff;border:3px solid var(--ink);border-radius:18px;padding:10px 16px}
.timeline b{font-family:var(--head);font-weight:400;color:#C2185B;margin-right:12px}
.books{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:24px}
.book{margin:0;background:#fff;border:4px solid var(--ink);border-radius:24px;padding:14px;text-align:center}
.book img{width:100%;aspect-ratio:5/7;object-fit:cover;border-radius:8px}
.book figcaption{font-weight:800;margin-top:8px}
/* members */
.rtabs{display:flex;flex-wrap:wrap;gap:10px;margin:8px 0 24px}
.rtabs a{padding:8px 18px;border-radius:30px;border:3px solid var(--ink);background:#fff;font-weight:800;text-decoration:none;color:var(--ink)}
.rtabs a:hover{background:var(--yellow)}
.region{margin:0 0 40px}
.region h2{display:flex;align-items:center;gap:12px;font-size:clamp(24px,2.8vw,34px);margin:0 0 14px}
.region h2 .cnt{font-family:var(--body);font-weight:800;font-size:15px;background:var(--ink);color:var(--yellow);border-radius:20px;padding:2px 12px}
.mlist{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:16px}
.mcard{height:100%;background:#fff;border:4px solid var(--ink);border-radius:24px;padding:16px 18px;display:flex;flex-direction:column;gap:6px}
.mcard .pref{align-self:flex-start;font-size:13px;font-weight:800;border-radius:14px;padding:0 10px;border:2px solid var(--ink)}
.mcard .nm{margin:0;font-family:var(--head);font-weight:400;font-size:19px;line-height:1.4}
.mcard .ad{margin:0;font-size:15px}
.mcard .lk{margin-top:auto;font-weight:800}
.mcard.self{box-shadow:6px 6px 0 var(--blue)}
.r1 .pref{background:#BFD3FF}.r2 .pref{background:#FFB8D9}.r3 .pref{background:#9DF0D3}.r4 .pref{background:#FFE58A}.r5 .pref{background:#FFD0B0}
/* faq */
.faq details{background:#fff;border:4px solid var(--ink);border-radius:22px;margin:0 0 14px;padding:0}
.faq summary{cursor:pointer;padding:16px 20px;font-family:var(--head);font-size:19px;list-style:none;display:flex;gap:12px}
.faq summary::before{content:"Q";flex:0 0 auto;width:34px;height:34px;border-radius:50%;background:var(--pink);text-align:center;line-height:34px;font-size:16px}
.faq summary::-webkit-details-marker{display:none}
.faq .a{padding:0 20px 18px 66px;margin:0}
/* access */
.mapbox{background:#fff;border:5px solid var(--ink);border-radius:36px;box-shadow:12px 12px 0 var(--blue);padding:14px}
.gmap{width:100%;height:380px;border:0;border-radius:24px;display:block}
.stations{display:grid;gap:14px}
.st{border:4px solid var(--ink);border-radius:22px;padding:14px 18px}
.st .n{font-family:var(--head);font-size:19px;margin:0}
.st p{margin:0;font-weight:800}
.board{background:#7FD08A;border:6px solid var(--ink);border-radius:40px;padding:24px;box-shadow:12px 12px 0 var(--ink)}
.bwrap{position:relative}
.cells{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));grid-auto-rows:170px;gap:22px}
.cell{border:5px solid var(--ink);border-radius:24px;padding:12px;background:#fff;overflow:hidden}
.cell .no{display:inline-block;background:var(--ink);color:var(--yellow);font-family:var(--head);font-size:14px;padding:0 10px;border-radius:14px}
.cell .t{margin:6px 0 2px;font-family:var(--head);font-size:18px;line-height:1.35}
.cell .d{margin:0;font-size:14px}
.cell.here{box-shadow:0 0 0 6px #fff}
.car{position:absolute;z-index:2;width:96px;height:64px;pointer-events:none;transition:left .42s ease-in-out,top .42s ease-in-out}
.car .flip{display:block;width:100%;height:100%}
.car.l .flip{transform:scaleX(-1)}
.car svg{display:block;width:96px;height:64px;animation:hop 1.2s ease-in-out infinite}
.car.run svg{animation:bump .16s linear infinite}
.car.run .sw{animation:spin .25s linear infinite}
.sw{transform-box:fill-box;transform-origin:center}
@keyframes hop{0%,100%{transform:translateY(0)}50%{transform:translateY(-10px)}}
@keyframes bump{0%,100%{transform:translateY(0)}50%{transform:translateY(-4px)}}
.dice{display:inline-flex;width:110px;height:110px;align-items:center;justify-content:center;background:#fff;border:6px solid var(--ink);border-radius:24px;font-family:var(--head);font-size:58px}
.dice.roll{animation:roll .6s ease-out}
@keyframes roll{40%{transform:rotate(200deg) scale(1.15)}100%{transform:rotate(360deg)}}
.routes{display:flex;flex-wrap:wrap;gap:10px;margin:14px 0 18px}
.routes button{min-height:48px;padding:6px 18px;border:4px solid var(--ink);border-radius:40px;background:#fff;font-weight:800;font-family:inherit;font-size:16px;cursor:pointer}
.routes button[aria-pressed=true]{background:var(--yellow);box-shadow:4px 4px 0 var(--ink)}
@media (max-width:640px){.cells{grid-auto-rows:150px;gap:10px}.cell{padding:8px;border-width:4px}.cell .t{font-size:14px}.cell .d{font-size:12px}.board{padding:12px}.car{transform:scale(.7);transform-origin:left top}}
/* footer */
.site-f{background:var(--ink);color:var(--paper);padding:48px 0 32px;margin-top:0}
.site-f a{color:var(--yellow)}
.site-f .grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:24px}
.site-f .nm{font-family:var(--head);font-size:20px;margin:0 0 8px}
.site-f ul{list-style:none;margin:0;padding:0}
.site-f .cr{margin:28px 0 0;font-size:13px;opacity:.85}
.upd{font-size:13px;margin:24px 0 0}
@media (prefers-reduced-motion:reduce){*,*::before,*::after{animation:none!important;transition:none!important;scroll-behavior:auto!important}}
.clock{background:none;border:0;padding:0;cursor:pointer;font:inherit;color:inherit;flex:0 0 250px;width:250px;min-height:380px;display:flex;flex-direction:column;align-items:center;justify-content:flex-start;gap:6px;transform:rotate(-6deg)}
.clock svg{width:180px;height:200px}
.clock-t{display:inline-block;width:150px;text-align:center;margin:0;background:var(--ink);color:var(--yellow);font-family:var(--head);font-size:24px;padding:2px 0;border-radius:20px;font-variant-numeric:tabular-nums}

.clock-h{display:block;width:240px;min-height:128px;text-align:center;font-size:21px;font-weight:900;line-height:1.5}
/* RTL (Arabic) */
[dir=rtl] .lang ul{right:auto;left:0}
[dir=rtl] .timeline b{margin-right:0;margin-left:12px}
[dir=rtl] .skip{left:auto;right:8px}
[dir=rtl] .formula,[dir=rtl] .ex,[dir=rtl] a[href^="tel:"]{unicode-bidi:plaintext}
/* スマホ：言語メニューを画面内に表示 */
@media (max-width:860px){
 .nav .lang{width:100%}
 .nav .lang ul{position:static;min-width:0;margin-top:8px;box-shadow:4px 4px 0 var(--ink);display:grid;grid-template-columns:1fr 1fr;gap:4px}
 [dir=rtl] .nav .lang ul{left:auto}
}
.rig.sm{font-size:.72em}
.rig .rig-box{flex-shrink:0}.rig-cab{flex-shrink:0}
/* レバレート：工賃アニメーション（A案：スライダー） */
.calc-anim{color:var(--ink);text-align:start;margin:28px 0;padding:20px;border:4px solid var(--ink);border-radius:24px;background:#fff;box-shadow:8px 8px 0 var(--ink)}
.calc-anim h3{margin:0 0 12px;font-family:var(--head);font-size:clamp(20px,2.6vw,28px)}
.ca-eq{display:flex;align-items:center;gap:10px;flex-wrap:wrap;font-weight:900;font-size:20px}
.ca-pill{display:inline-block;border:4px solid var(--ink);border-radius:999px;padding:6px 16px;background:#fff;font-weight:900;font-variant-numeric:tabular-nums}
.ca-pill small{font-size:13px;margin-inline-start:4px}
.ca-pill.k{background:var(--yellow)}.ca-pill.c{background:var(--pink);color:#fff}
.ca-v{font-family:var(--head);font-size:30px}
.ca-ctl{display:flex;align-items:center;gap:10px;margin-top:14px}
.ca-ctl button{font:inherit;font-weight:900;font-size:18px;border:3px solid var(--ink);border-radius:999px;padding:6px 12px;background:#fff;cursor:pointer;min-height:48px;min-width:64px;color:var(--ink)}
.ca-ctl button:active{background:var(--yellow)}
.ca-r{flex:1;min-width:0;height:40px;accent-color:var(--blue)}
.ca-hm{margin:6px 0 0;font-weight:800;text-align:center}
.ca-tot{text-align:center;margin-top:10px}
.ca-tot .ca-pill{padding:8px 26px}
.ca-y{font-family:var(--head);font-size:clamp(36px,6vw,56px);font-variant-numeric:tabular-nums}
.ca-bar{height:24px;border:3px solid var(--ink);border-radius:999px;background:#fff;overflow:hidden;margin-top:14px}
.ca-bar i{display:block;height:100%;width:0;background:repeating-linear-gradient(45deg,var(--pink) 0 14px,#ff7cb9 14px 28px);transition:width .3s}
.ca-n{margin:10px 0 0;font-size:14px;text-align:center}
.prose table.calc th[scope=row]{white-space:nowrap}
