:root{--red:#b52635;--ink:#232628;--muted:#747775;--line:#dcded9;--paper:#f3f4ef}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:100px}body{margin:0;color:var(--ink);font-family:'Hiragino Kaku Gothic ProN','Yu Gothic',Meiryo,sans-serif;-webkit-font-smoothing:antialiased}a{color:inherit;text-decoration:none}button{font:inherit}a:focus-visible,button:focus-visible,summary:focus-visible{outline:3px solid var(--red);outline-offset:6px}header{height:100px;padding:0 4.5%;display:flex;align-items:center;justify-content:space-between;background:#fff;position:relative;z-index:10;border-bottom:1px solid #eee}.brand img{width:174px;display:block}nav{display:flex;align-items:center;gap:32px;font-size:12px;font-weight:700}.nav-contact{background:var(--red);color:white;padding:20px 26px;border-radius:3px}.nav-contact span{padding-left:30px}nav a:hover{opacity:.65}.menu{display:none}.wrap{max-width:1400px;margin:auto;padding:110px 6%}.hero{min-height:700px;height:calc(100svh - 100px);max-height:1000px;background:var(--paper);position:relative;overflow:hidden}.hero-art{position:absolute;inset:0 0 0 30%;background:url('assets/transport-scene.svg') center center/cover no-repeat;animation:arrive 1.5s ease-out}.hero-content{position:relative;padding:90px 0 100px 6%;pointer-events:none}.hero-content a{pointer-events:auto}.eyebrow{font-family:Arial,sans-serif;font-size:11px;font-weight:700;letter-spacing:.15em;margin:0 0 28px;display:flex;align-items:center;gap:12px}.eyebrow i,.dot{width:7px;height:7px;display:inline-block;background:var(--red);border-radius:50%}h1{font-size:clamp(40px,4.6vw,72px);line-height:1.55;letter-spacing:.015em;font-weight:800;margin:40px 0 28px}h1 span{display:block}.hero-company{font-size:14px;font-weight:700}.hero-company small{display:block;font:10px Arial;letter-spacing:.13em;margin-top:9px}.round-link{display:inline-flex;align-items:center;gap:18px;font-size:12px;font-weight:700;margin-top:40px}.circle{width:50px;height:50px;display:grid;place-items:center;background:var(--red);color:white;font:25px Arial;border-radius:50%;transition:transform .3s}.round-link:hover .circle{transform:rotate(-40deg)}.hero-bottom{position:absolute;bottom:26px;left:6%;right:4%;display:flex;justify-content:space-between;font:9px Arial;letter-spacing:.15em}.hero-bottom a span{margin-left:24px}.intro{display:grid;grid-template-columns:1fr 2fr;gap:80px}.section-label span{font:11px Arial;letter-spacing:.1em;color:var(--red)}.section-label p{font-size:14px;font-weight:700;margin-top:15px}.intro h2{font-size:clamp(25px,2.7vw,40px);line-height:1.8;margin:0 0 36px;letter-spacing:.04em}.intro em{font-style:normal;color:var(--red)}.intro-copy>p{max-width:630px;font-size:14px;line-height:2.3;margin:0 0 18px}.services{background:var(--paper)}.section-top{display:flex;align-items:flex-end;justify-content:space-between;gap:24px;margin-bottom:55px}h2{font-size:21px;margin:0;font-weight:700}h2>span{display:block;font:bold clamp(45px,5.7vw,84px)/1.1 Arial;letter-spacing:-.055em;margin-top:17px}.area-tag{font-size:12px;display:flex;gap:10px;align-items:center}.service-layout{display:grid;grid-template-columns:1fr 1fr;gap:70px}.service-visual{min-height:400px;background:#e4e6df;position:relative;overflow:hidden}.route-lines{position:absolute;inset:-20%;transform:rotate(-25deg);background:repeating-linear-gradient(90deg,transparent 0 75px,#f8f9f4 75px 96px,transparent 96px 180px),repeating-linear-gradient(0deg,transparent 0 100px,#f8f9f4 100px 123px,transparent 123px 220px)}.route-lines:after{content:'';position:absolute;width:55%;height:43%;border:8px solid var(--red);border-right:0;border-radius:120px 0 0 120px;left:20%;top:30%}.route-lines>span{position:absolute;left:42%;top:42%;font:bold italic 44px Arial;color:var(--red);transform:rotate(25deg);z-index:2}.route-lines small{position:absolute;left:42%;top:54%;font:7px Arial;letter-spacing:.1em;transform:rotate(25deg)}.route-point{position:absolute;width:21px;height:21px;background:var(--red);border:5px solid #fff;border-radius:50%;z-index:3}.p1{top:29%;left:74%}.p2{top:70%;left:74%}.p3{top:49%;left:19%}.service-caption{position:absolute;bottom:22px;left:24px;padding:14px 20px;background:white;font-weight:700;font-size:17px}.service-list>div{display:flex;align-items:center;gap:28px;border-bottom:1px solid #c9ccc6;min-height:80px}.service-list>div:first-child{border-top:1px solid #c9ccc6}.service-list span{font:11px Arial;color:var(--red)}h3{font-size:21px;margin:0}.service-list b{margin-left:auto;font-weight:400;color:var(--red)}.strength-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:40px}.strength-grid article{border-top:1px solid var(--line);padding-top:30px}.strength-mark{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:40px}.strength-mark svg{width:90px;height:90px;fill:none;stroke:var(--red);stroke-width:2}.strength-mark>span{font:12px Arial;color:var(--muted)}.strength-grid p{font-size:13px;line-height:2.2;margin-top:22px}.philosophy{background:var(--red);color:white;position:relative;overflow:hidden}.philosophy-inner{display:grid;grid-template-columns:1fr 2fr;gap:80px;position:relative;padding-top:95px;padding-bottom:95px}.philosophy .section-label span{color:#f5bac1}.philosophy h2{font-size:clamp(26px,3.6vw,51px);letter-spacing:.04em;white-space:nowrap}.philosophy h2 span{display:inline;font:inherit;margin:0;letter-spacing:0;opacity:.5}.philosophy p{font-size:14px;line-height:2.3;margin-top:26px}.philosophy-orbit{position:absolute;width:750px;height:750px;border:1px solid #ffffff20;border-radius:50%;right:-100px;top:-210px}.philosophy-orbit:before,.philosophy-orbit:after{content:'';position:absolute;inset:60px;border:1px solid #ffffff20;border-radius:50%}.philosophy-orbit:after{inset:120px}.company{display:grid;grid-template-columns:1fr 1.45fr;gap:90px}.company-location{display:flex;gap:14px;margin-top:70px}.company-location p{font:10px/1.8 Arial;letter-spacing:.08em}.company-location strong{font:12px/2 'Noto Sans JP';letter-spacing:0;display:block;margin-top:15px}.location-cross{color:var(--red);font-size:30px}dl{margin:0}dl>div{display:grid;grid-template-columns:110px 1fr;gap:20px;border-bottom:1px solid var(--line);padding:21px 0;font-size:13px;line-height:2}dl>div:first-child{border-top:1px solid var(--line)}dt{font-weight:700}dd{margin:0}.contact{background:#272c2d;color:white}.contact-heading{display:flex;justify-content:space-between;align-items:center}.contact-arrow{font:100px Arial;color:#d2d9d0}.contact-details{display:flex;gap:60px;align-items:center;margin:50px 0}.contact-details>a{font:clamp(25px,3.5vw,48px) Arial;letter-spacing:-.04em}.contact-details small{display:block;font:10px Arial;letter-spacing:.2em;margin-bottom:14px;color:#b3bbb8}.contact-details>a>span{font-size:24px;margin-left:25px;color:#a7b2ab}.contact-details>div{font:22px Arial}.form-panel{border-top:1px solid #555d5d;border-bottom:1px solid #555d5d}summary{cursor:pointer;padding:28px 0;display:flex;justify-content:space-between;align-items:center;font-size:16px;font-weight:700;list-style:none}summary::-webkit-details-marker{display:none}summary span{font-size:25px}.form-panel[open] summary span{transform:rotate(45deg)}.form-content{padding-bottom:32px}.form-content p{font-size:12px;line-height:2}.form-content iframe{border:0;width:100%;height:1100px;background:#fff;margin:18px 0}.form-external{font-size:12px;text-decoration:underline}footer.wrap{padding-top:60px;padding-bottom:28px}.footer-top{display:flex;justify-content:space-between;align-items:center;margin-bottom:60px}.footer-top p{font-size:30px;font-weight:700;line-height:1.6;margin:0}.top-link{border:1px solid var(--line);border-radius:50%;width:54px;height:54px;display:grid;place-items:center}.footer-bottom{display:flex;align-items:center;justify-content:space-between;gap:20px;border-top:1px solid var(--line);padding-top:25px}.footer-bottom img{width:140px}.footer-bottom small{font-size:9px;color:var(--muted)}.footer-bottom>span{font:10px Arial;color:var(--muted)}.skip{position:absolute;top:-100px;background:white;z-index:50;padding:10px}.skip:focus{top:0}@keyframes arrive{from{opacity:0;transform:translateY(15px)}to{opacity:1;transform:none}}@media(max-width:1000px){nav{gap:18px;font-size:11px}.brand img{width:140px}.nav-contact{padding:16px}.wrap{padding:80px 6%}.hero{min-height:670px}.hero-content{padding-top:80px}.hero-art{left:22%;opacity:.85}.intro,.philosophy-inner{gap:35px;grid-template-columns:1fr 2fr}.service-layout{gap:30px}.company{gap:40px;grid-template-columns:1fr 1.3fr}.strength-grid{gap:25px}.strength-grid h3{font-size:17px}}@media(max-width:700px){html{scroll-padding-top:76px}header{height:76px;padding:0 6%}.brand img{width:137px}.menu{display:flex;border:0;background:none;width:42px;height:42px;padding:10px 3px;flex-direction:column;justify-content:center;gap:7px}.menu span{width:30px;height:1px;background:var(--ink);transition:transform .2s}.menu[aria-expanded=true] span:first-child{transform:translateY(4px) rotate(45deg)}.menu[aria-expanded=true] span:last-child{transform:translateY(-4px) rotate(-45deg)}nav{display:none;position:absolute;left:0;right:0;top:76px;background:white;padding:25px 6% 35px;box-shadow:0 15px 20px #0001;align-items:stretch;gap:0}nav.open{display:flex;flex-direction:column}nav>a{padding:16px 0;font-size:14px;border-bottom:1px solid var(--line)}nav .nav-contact{margin-top:15px;padding:18px}.hero{height:calc(100svh - 76px);min-height:690px;max-height:850px}.hero-content{padding:37px 6% 0}.eyebrow{font-size:9px;margin-bottom:20px}h1{font-size:clamp(34px,9vw,51px);margin:26px 0 20px;line-height:1.5;letter-spacing:0}.hero-company{font-size:12px}.hero-company small{font-size:9px}.hero-art{inset:260px -25% 20px -14%;opacity:1;background-size:cover;background-position:center}.hero-content .round-link{position:absolute;top:555px;left:6%;margin:0;font-size:11px}.circle{width:42px;height:42px}.hero-bottom{font-size:7px;bottom:20px}.hero-bottom a{font-size:7px}.hero-bottom a span{margin-left:8px}.wrap{padding:65px 6%}.intro{display:block}.section-label{margin-bottom:28px}.intro h2{font-size:25px;line-height:1.8;margin-bottom:26px}.intro-copy>p{font-size:12px;line-height:2.2}.section-top{display:block;margin-bottom:32px}h2{font-size:18px}h2>span{font-size:50px;margin-top:10px}.area-tag{margin-top:26px;font-size:11px}.service-layout{display:block}.service-visual{min-height:280px;margin-bottom:25px}.service-caption{font-size:14px;left:16px;bottom:16px}.service-list>div{min-height:69px;gap:25px}.service-list h3{font-size:18px}.strength-grid{display:block}.strength-grid article{padding:25px 0;display:grid;grid-template-columns:75px 1fr;gap:0 20px}.strength-mark{grid-row:1/3;margin:0;display:flex;flex-direction:column;gap:15px}.strength-mark svg{width:60px;height:60px}.strength-grid h3{font-size:17px;margin-top:8px}.strength-grid p{font-size:12px;margin:12px 0 0}.philosophy-inner{display:block}.philosophy h2{font-size:32px;letter-spacing:0}.philosophy p{font-size:12px}.company{display:block}.company-location{display:none}.company dl{margin-top:35px}dl>div{grid-template-columns:80px 1fr;gap:15px;font-size:12px;padding:17px 0}.contact-arrow{font-size:65px}.contact-details{display:block;margin:35px 0}.contact-details>a{font-size:37px;display:block}.contact-details>div{font-size:21px;margin-top:25px}.contact-details small{font-size:9px;margin-bottom:9px}summary{font-size:14px;padding:24px 0}.form-content iframe{height:1200px}footer.wrap{padding-top:40px}.footer-top{margin-bottom:40px}.footer-top p{font-size:24px}.footer-bottom{flex-wrap:wrap}.footer-bottom img{width:120px}.footer-bottom small{order:3;width:100%;font-size:8px}.footer-bottom>span{font-size:9px}}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{animation:none!important;transition:none!important}}

/* Optimized static hero: shared composition ready for a future video layer. */
.brand img,.footer-bottom img{height:auto}.hero{background:#f6f3ec}.hero-art{inset:0;background:none;animation:none;opacity:1}.hero-art picture{display:block;width:100%;height:100%}.hero-art img{width:100%;height:100%;display:block;object-fit:cover;object-position:center}.hero-content{max-width:660px}h1{font-size:clamp(40px,4.1vw,64px)}.hero-content .round-link{background:#ffffffd9;border-radius:40px;padding:7px 20px 7px 7px}.hero-bottom{z-index:1}.hero-bottom>a{background:#ffffffbf;padding:8px;border-radius:2px}
@media(min-width:701px) and (max-width:1000px){.hero-art img{object-position:57% center}.hero-content{max-width:480px}.hero-content h1{font-size:42px}.hero-art:after{content:'';position:absolute;inset:0;background:linear-gradient(90deg,#f6f3ecb3,transparent 65%)}}
@media(max-width:700px){.hero{height:auto;min-height:0;max-height:none;display:flex;flex-direction:column;padding-bottom:54px}.hero-content{order:0;padding:34px 6% 22px}.hero-content h1{font-size:clamp(34px,9vw,51px);margin:24px 0 18px}.hero-art{position:relative;inset:auto;order:1;width:100%;height:300px;overflow:hidden}.hero-art img{object-fit:cover;object-position:right center}.hero-content .round-link{position:static;margin-top:22px;font-size:11px;padding:0;background:none}.hero-bottom{bottom:14px;left:6%;right:6%;align-items:center}.hero-company{margin-bottom:0}h2>span{font-size:clamp(39px,10.8vw,50px)}}

/* Font-independent decorative arrows, no icon-font or external request. */
.arrow-icon{display:inline-block;width:1em;height:1em;vertical-align:-.12em;flex-shrink:0}.circle .arrow-icon{width:24px;height:24px}.contact-arrow .arrow-icon{width:1em;height:1em}

/* v04: keep desktop copy width independent of its left gutter. */
@media(min-width:701px){.hero-content{margin-left:6%;padding:clamp(50px,8vh,90px) 0 80px;width:min(620px,88%);max-width:none}.hero-content h1{white-space:nowrap}.hero-content .hero-company{max-width:100%}}
