/*
Theme Name: MORIYA Industrial
Author: MORIYA
Description: 守屋建設興業のためのオリジナルテーマ。立体感のある写真、スクロール演出、モバイル対応。
Version: 1.0.0
Requires at least: 6.5
Requires PHP: 8.0
Text Domain: moriya-industrial
License: GNU General Public License v2 or later
License URI: https://www.gnu.org/licenses/gpl-2.0.html
*/
:root{--site-font:"Yu Mincho","YuMincho","Hiragino Mincho ProN","Noto Serif JP","MS PMincho",serif;--ink:#101a27;--navy:#0d1723;--lime:#c2f54a;--paper:#fff;--muted:#5b6570;--line:#dce0e3;--soft:#f1f3f4;--gutter:clamp(24px,5.6vw,100px)}
*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:105px}body{margin:0;color:var(--ink);background:var(--paper);font-family:var(--site-font);font-size:16px;line-height:1.85;-webkit-font-smoothing:antialiased}a{color:inherit;text-decoration:none}button{font:inherit;cursor:pointer}button,a{-webkit-tap-highlight-color:transparent}button:focus-visible,a:focus-visible,summary:focus-visible{outline:3px solid #548811;outline-offset:6px}img{max-width:100%;display:block}button{color:inherit}h1,h2,h3,p{margin-top:0}::selection{background:var(--lime);color:var(--navy)}[hidden]{display:none!important}.skip-link{position:fixed;top:-100px;left:20px;background:var(--lime);padding:12px 20px;z-index:1000}.skip-link:focus{top:10px}.site-header{height:100px;padding:0 2.7vw;display:flex;align-items:center;gap:32px;position:sticky;top:0;background:rgba(255,255,255,.97);backdrop-filter:blur(16px);z-index:50;border-bottom:1px solid #e7eaed}.brand{display:flex;align-items:center;gap:12px;flex-shrink:0}.brand-mark{width:43px;height:43px}.brand strong{display:block;font-family:var(--site-font);font-size:33px;letter-spacing:-1.2px;line-height:1.05;font-weight:900}.brand-period{color:#699724}.brand small{font-size:12px;letter-spacing:.08em;font-weight:700;display:block;margin-top:7px}.desktop-nav{margin-left:auto;display:flex;gap:clamp(16px,2.4vw,42px);font-size:14px;font-weight:700}.desktop-nav a{position:relative;padding:15px 0}.desktop-nav a:after{content:"";position:absolute;bottom:8px;left:0;width:0;height:2px;background:#739e31;transition:width .25s}.desktop-nav a:hover:after{width:100%}.header-contact{background:var(--ink);color:white;padding:15px 22px;font-size:14px;font-weight:700;display:flex;gap:26px;align-items:center}.header-contact span{color:var(--lime);font-size:25px;line-height:1}.menu-toggle{display:none;width:46px;height:46px;border:1px solid var(--line);background:white;padding:10px}.menu-toggle span{display:block;width:24px;height:2px;background:var(--ink);margin:6px 0;transition:transform .2s}.mobile-nav{position:absolute;top:100%;left:0;right:0;background:white;padding:20px 24px 30px;box-shadow:0 18px 30px #0002}.mobile-nav a{display:block;padding:13px 0;border-bottom:1px solid var(--line);font-weight:700}
.hero{min-height:690px;height:min(780px,calc(100svh - 100px));position:relative;isolation:isolate;overflow:hidden;background:var(--navy);color:white}.hero-grid{position:absolute;inset:0;background-image:linear-gradient(#ffffff05 1px,transparent 1px),linear-gradient(90deg,#ffffff05 1px,transparent 1px);background-size:90px 90px;z-index:-1}.hero-image-wrap{position:absolute;top:0;right:0;width:59%;height:100%;clip-path:polygon(18% 0,100% 0,100% 100%,0 100%);z-index:-1;overflow:hidden}.hero-image{width:100%;height:100%;object-fit:cover;object-position:48% 51%;transform:scale(1.035) translate3d(var(--px,0px),var(--py,0px),0);transition:transform .7s ease-out;filter:saturate(.65)}.photo-shade{position:absolute;inset:0;background:linear-gradient(90deg,#0d1723d9 0%,#0d172352 33%,#0d172310 85%),linear-gradient(0deg,#0d1723db,transparent 36%)}.hero-outline{position:absolute;right:-8%;top:14%;height:65%;width:47%;border:1px solid #c2f54965;transform:perspective(900px) rotateY(-22deg) rotateZ(-14deg);z-index:-1;pointer-events:none}.hero-copy{position:relative;z-index:2;padding:70px 0 110px var(--gutter);width:67%;pointer-events:none}.hero-copy a{pointer-events:auto}.eyebrow{font-family:var(--site-font);font-size:12px;letter-spacing:.15em;display:flex;align-items:center;gap:12px;font-weight:700;margin-bottom:32px}.lime-line{display:inline-block;width:32px;height:3px;background:var(--lime)}h1{font-size:clamp(44px,4.5vw,76px);font-weight:900;line-height:1.4;letter-spacing:.025em;margin:0 0 24px;text-shadow:0 2px 15px #0d172345}h1 span{display:block}.lime{color:var(--lime)}.hero-description{font-size:14px;color:#e3e8ef;line-height:2.1;white-space:pre-line;margin-bottom:27px}.button{display:inline-flex;align-items:center;justify-content:space-between;gap:45px;min-height:61px;font-size:14px;font-weight:700;padding:8px 10px 8px 25px;transition:background .2s,transform .2s}.button:hover{transform:translateY(-3px)}.button-lime{background:var(--lime);color:var(--ink)}.button-lime:hover{background:#d5ff79}.button-icon{width:43px;height:43px;display:grid;place-items:center;border-left:1px solid #16241b30;font-size:25px}.hero-photo-label{position:absolute;right:var(--gutter);bottom:108px;text-align:right}.hero-photo-label span{font-family:var(--site-font);font-size:23px;letter-spacing:.06em;font-weight:800}.hero-photo-label small{display:block;font-size:12px;letter-spacing:.1em;margin-top:6px}.hero-bottom{position:absolute;left:var(--gutter);right:var(--gutter);bottom:26px;display:flex;gap:25px;justify-content:space-between;align-items:center;font-family:var(--site-font);font-size:11px;letter-spacing:.1em}.scroll-cue{display:flex;gap:13px;align-items:center}.scroll-line{width:1px;height:33px;background:#ffffff40;position:relative;overflow:hidden}.scroll-line:after{content:"";display:block;width:1px;height:16px;background:var(--lime);animation:scroll 2s ease-in-out 2}.hero-location{margin-left:auto}.hero-location span{margin-left:25px;color:var(--lime)}.motion-toggle{font-size:12px;line-height:1.5;padding:8px 10px;background:#0d1723c9;border:1px solid #ffffff50;color:#fff}.motion-toggle span{margin-left:10px}.hero-word{position:absolute;bottom:-75px;left:30%;z-index:-1;font-family:var(--site-font);font-size:clamp(160px,21vw,350px);font-weight:900;line-height:1;color:transparent;-webkit-text-stroke:1px #ffffff1c;letter-spacing:-.07em;pointer-events:none}.trust-strip{display:grid;grid-template-columns:1.3fr 1fr 1fr;margin:0 var(--gutter);padding:32px 0;border-bottom:1px solid var(--line);gap:30px}.trust-strip>div{display:flex;align-items:center;gap:22px;border-right:1px solid var(--line);font-size:13px;line-height:1.8}.trust-strip>div:last-child{border:0;justify-content:flex-end}.trust-label{font-family:var(--site-font);font-size:11px;letter-spacing:.1em}.trust-strip strong{font-family:var(--site-font);font-size:48px;line-height:1;font-weight:800;letter-spacing:-.04em}.trust-strip .trust-quality{font-size:23px;line-height:1.04;letter-spacing:0}.trust-symbol{font-size:40px;color:#669421}.section{padding:100px var(--gutter)}.section-kicker{display:flex;align-items:center;gap:30px;font-size:13px;margin-bottom:48px}.section-kicker span:first-child{font-family:var(--site-font);font-weight:700;letter-spacing:.09em}.section-kicker span:first-child:before{content:"";display:inline-block;width:8px;height:8px;background:#87b632;margin-right:12px}.section-kicker span+span{color:var(--muted)}.about-layout{display:grid;grid-template-columns:1fr 1fr;gap:70px}.section-title{font-size:clamp(32px,3.4vw,52px);line-height:1.65;letter-spacing:.05em;font-weight:800}.about-copy{max-width:580px;padding-top:7px}.about-copy p{white-space:pre-line;line-height:2.25;color:#48535d;font-size:15px}.text-link{display:inline-flex;align-items:center;gap:50px;padding:12px 0;border-bottom:1px solid var(--ink);font-size:14px;font-weight:700}.text-link span{font-size:25px;line-height:1}.site-footer{background:#09111a;color:white;padding:60px var(--gutter) 35px;display:grid;grid-template-columns:1fr auto;gap:36px;position:relative}.footer-brand{font-family:var(--site-font);font-size:50px;line-height:1;font-weight:900;letter-spacing:-.05em}.footer-brand>span{color:var(--lime)}.footer-brand small{display:block;font-size:13px;font-weight:500;letter-spacing:.08em;line-height:2;margin-top:14px}.site-footer>div{display:flex;gap:28px;align-items:center;font-size:13px}.site-footer>p{font-family:var(--site-font);font-size:11px;color:#9fa9b4;letter-spacing:.08em;margin:0}.back-top{justify-self:end;border:1px solid #ffffff50;width:42px;height:42px;display:grid;place-items:center}.js-ready .reveal{opacity:0;transform:translateY(22px);transition:opacity .7s ease,transform .7s ease}.js-ready .reveal.is-visible{opacity:1;transform:none}.motion-off *{animation:none!important;transition:none!important;scroll-behavior:auto!important}.motion-off .reveal{opacity:1;transform:none}.motion-off .hero-image{transform:none}.admin-bar .site-header{top:32px}
.services-section{background:var(--soft)}.section-heading{display:flex;justify-content:space-between;gap:40px;align-items:center;margin-bottom:43px}.section-heading .section-title{margin:0}.section-intro{color:var(--muted);font-size:15px;line-height:2.1;margin:0;padding-right:7%}.service-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:24px}.service-card{background:white;transition:transform .35s,box-shadow .35s;border:1px solid #e1e5e7;display:flex;flex-direction:column;min-width:0}.service-card:hover{transform:translateY(-7px);box-shadow:0 18px 30px #1020310d}.service-card>img{width:100%;height:235px;object-fit:cover;filter:saturate(.75)}.service-card:first-child>img{object-position:50% 45%}.service-card-body{padding:28px;display:flex;flex-direction:column;flex:1}.service-number{font-family:var(--site-font);font-size:11px;letter-spacing:.07em;font-weight:700;color:#606d78}.service-number:before{content:"";display:inline-block;background:var(--lime);width:18px;height:3px;margin-right:9px;vertical-align:middle}.service-card h3{font-size:25px;line-height:1.5;margin:15px 0}.service-card p{font-size:14px;line-height:2;color:#55616c;margin-bottom:23px}.service-card details{margin-top:auto}.service-card summary{border-top:1px solid var(--line);padding:16px 0 0;font-size:13px;font-weight:700;display:flex;justify-content:space-between;align-items:center;gap:12px;list-style:none;cursor:pointer}.service-card summary::-webkit-details-marker,.fleet-list summary::-webkit-details-marker{display:none}.service-card summary span{font-size:24px;line-height:1;font-weight:400}.service-card details[open] summary span,.fleet-list[open]>summary span{transform:rotate(45deg)}.service-detail{font-size:14px;line-height:2;padding-top:15px;color:#53606b}.service-compact .service-card-body{padding-top:34px}.service-compact h3{font-size:22px}.facility-card{background:#e8eddf}.fleet-section{background:var(--navy);color:white}.fleet-section .section-kicker span+span{color:#adb8c6}.fleet-layout{display:grid;grid-template-columns:.85fr 1.15fr;gap:65px;align-items:center}.fleet-copy>p{font-size:15px;color:#c1c9d2;line-height:2.2}.fleet-copy .section-title{font-size:clamp(30px,3vw,45px)}.fleet-tags{display:flex;flex-wrap:wrap;gap:8px;margin:28px 0 33px}.fleet-tags span{font-size:12px;border:1px solid #ffffff35;padding:5px 12px}.fleet-copy .text-link{border-color:#ffffff70}.fleet-copy .text-link span{color:var(--lime)}.fleet-image-frame{height:400px;position:relative;overflow:hidden;background:#263646}.fleet-image-frame>img{width:100%;height:100%;object-fit:cover;object-position:center 52%;transition:opacity .15s}.fleet-image-index{position:absolute;bottom:16px;right:18px;background:#0d1723cf;color:white;font:12px var(--site-font);letter-spacing:.1em;padding:9px 13px}.fleet-caption{display:flex;justify-content:space-between;align-items:center;gap:20px;padding:19px 0;font-size:14px}.fleet-caption>span{font:10px var(--site-font);color:#aebac5;letter-spacing:.1em}.fleet-select{display:flex;gap:14px}.fleet-select button{flex:1;min-width:0;background:transparent;border:1px solid #ffffff30;padding:0;color:#c9d2da;text-align:left}.fleet-select button.is-active{border-color:var(--lime);color:var(--lime)}.fleet-select img{height:80px;width:100%;object-fit:cover}.fleet-select button span{display:block;font-size:11px;padding:7px 9px}.fleet-list{margin-top:54px;border-top:1px solid #ffffff30;border-bottom:1px solid #ffffff30}.fleet-list>summary{padding:21px 0;display:flex;justify-content:space-between;cursor:pointer;font-size:14px;list-style:none}.fleet-list>summary span{font-size:22px}.fleet-list-content{display:grid;grid-template-columns:repeat(3,1fr);gap:30px;padding:10px 0 25px}.fleet-list-content h3{font-size:16px;color:var(--lime)}.fleet-list-content p{font-size:14px;color:#c3ccd6;line-height:2}.statement-band{display:flex;align-items:center;gap:3vw;background:var(--lime);padding:30px var(--gutter);overflow:hidden;white-space:nowrap;font-family:var(--site-font);font-size:clamp(30px,5vw,84px);line-height:1;font-weight:900;letter-spacing:-.04em}.outline-text{-webkit-text-stroke:1px var(--ink);color:transparent}.statement-plus{margin-left:auto;font-weight:400}.company-layout{display:grid;grid-template-columns:.9fr 1.1fr;gap:65px}.company-layout .section-title{font-size:clamp(30px,3vw,45px)}.company-intro{font-size:15px;line-height:2.2;color:var(--muted)}.company-seal{font:900 clamp(36px,4.7vw,68px)/1 var(--site-font);letter-spacing:-.025em;color:#c8cfd4;margin-top:60px}.company-seal>span{color:#94b750}.company-seal small{display:block;font:12px/2 var(--site-font);letter-spacing:.08em;color:#6b7680;margin-top:18px}.company-table{margin:0}.company-table>div{display:grid;grid-template-columns:115px 1fr;gap:20px;border-bottom:1px solid var(--line);padding:21px 0;font-size:14px;line-height:2}.company-table>div:first-child{border-top:1px solid var(--line)}.company-table dt{font-weight:700}.company-table dd{margin:0}.secondary{color:#68747e}.company-table a:hover{text-decoration:underline}.permit-panel{background:var(--soft);margin-top:60px;padding:27px 30px;display:flex;align-items:center;gap:30px;flex-wrap:wrap}.permit-panel>div{display:flex;align-items:center;gap:13px}.permit-panel h3{font-size:16px;margin:0}.permit-icon{font-size:30px;color:#729d28}.permit-panel p{font-size:13px;flex:1;margin:0;min-width:230px}.permit-panel .text-link{font-size:12px;gap:22px}.contact-section{background:var(--lime);padding:75px var(--gutter) 28px;position:relative;overflow:hidden}.contact-top{display:grid;grid-template-columns:1fr 1fr;gap:70px;align-items:center;padding-bottom:55px}.contact-section .eyebrow{font-size:12px;letter-spacing:.1em}.contact-section h2{font-size:clamp(44px,5vw,74px);font-weight:900;line-height:1.5;letter-spacing:.035em;margin:0}.contact-copy p{font-size:15px;line-height:2.1;margin-bottom:25px}.contact-copy>span{font-size:12px}.contact-phone{display:flex;gap:25px;align-items:center;justify-content:space-between;font:700 clamp(30px,3.6vw,54px)/1.4 var(--site-font);letter-spacing:-.025em;border-bottom:1px solid #1020106b;padding:4px 0 10px}.contact-phone span{font-weight:400}.contact-copy small{display:block;font-size:11px;margin-top:8px}.contact-bottom{border-top:1px solid #10201050;padding-top:22px;display:flex;align-items:center;gap:28px;font-size:12px}.contact-bottom a{font:700 21px var(--site-font)}.contact-bottom a span{font-weight:400;margin-left:14px}.contact-bottom>span:last-child{margin-left:auto;font:11px var(--site-font);letter-spacing:.1em}.wp-content{max-width:1000px;margin:0 auto;padding:80px 24px;min-height:50vh}.wp-content h1{font-size:42px;color:var(--ink)}.wp-content a{text-decoration:underline}.wp-content img{height:auto}.wp-content .alignwide{max-width:100%}.wp-content iframe{max-width:100%}.wp-content pre{overflow:auto}.wp-content .wp-block-button__link{background:var(--ink);color:white}.post-list article{padding:25px 0;border-bottom:1px solid var(--line)}.post-list h2{font-size:26px}
@media(max-width:1100px){.service-card-body{padding:22px}.service-card h3{font-size:22px}.service-compact h3{font-size:20px}.service-card>img{height:195px}.fleet-layout,.company-layout{gap:40px}.fleet-image-frame{height:340px}.company-table>div{grid-template-columns:95px 1fr;gap:15px}.contact-top{gap:40px}}
@media(max-width:850px){.service-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.section-intro{padding:0}.fleet-layout{grid-template-columns:1fr;gap:35px}.fleet-copy{display:grid;grid-template-columns:1fr 1fr;gap:5px 30px}.fleet-copy .text-link{justify-self:start}.fleet-copy .section-title{margin-bottom:10px}.fleet-copy>p{margin-bottom:10px}.fleet-tags{margin:10px 0}.fleet-image-frame{height:440px}.fleet-select img{height:105px}.company-layout{grid-template-columns:1fr;gap:35px}.company-seal{display:none}.company-intro{margin-bottom:0}.contact-phone{font-size:32px}.contact-bottom>span:last-child{display:none}}
@media(max-width:540px){.section-heading{display:block;margin-bottom:30px}.section-heading .section-title{margin-bottom:22px}.section-intro{font-size:14px}.service-grid{grid-template-columns:1fr;gap:20px}.service-card>img{height:225px}.service-card h3{font-size:24px}.service-card-body{padding:25px}.service-number{font-size:10px}.service-card p{font-size:14px}.service-compact .service-card-body{padding-top:28px}.fleet-copy{display:block}.fleet-copy .section-title{margin-bottom:20px}.fleet-copy>p{font-size:14px}.fleet-tags{margin:24px 0}.fleet-tags span{font-size:11px}.fleet-image-frame{height:300px}.fleet-select{gap:8px}.fleet-select img{height:66px}.fleet-select button span{font-size:9px;padding:6px}.fleet-caption{font-size:13px}.fleet-caption>span{font-size:9px}.fleet-list{margin-top:30px}.fleet-list-content{grid-template-columns:1fr;gap:12px}.fleet-list-content h3{margin-bottom:8px}.statement-band{gap:18px;padding:25px 24px;font-size:28px}.statement-plus{display:none}.company-table>div{grid-template-columns:83px 1fr;gap:13px;font-size:12px;padding:18px 0}.company-intro{font-size:14px}.permit-panel{padding:23px;margin-top:35px;gap:13px}.permit-panel h3{font-size:14px}.permit-panel p{min-width:0;flex-basis:100%;font-size:12px}.contact-section{padding-top:50px}.contact-top{grid-template-columns:1fr;gap:30px;padding-bottom:30px}.contact-section h2{font-size:43px}.contact-section .eyebrow{font-size:10px;margin-bottom:20px}.contact-copy p{font-size:14px;margin-bottom:20px}.contact-phone{font-size:clamp(29px,8.7vw,42px)}.contact-bottom{gap:12px;flex-wrap:wrap;font-size:11px}.contact-bottom a{font-size:19px}}
@media(hover:hover) and (pointer:fine){.service-card:hover{transform:perspective(1100px) rotateX(var(--card-x,0deg)) rotateY(var(--card-y,0deg)) translateY(-7px)}}
.motion-off .service-card:hover{transform:none}
@keyframes scroll{0%{transform:translateY(-16px)}100%{transform:translateY(33px)}}
@media(min-width:1650px){.hero-copy{padding-top:85px}.hero{height:800px}}
@media(max-width:1100px){.desktop-nav{gap:15px;font-size:12px}.site-header{gap:20px}.brand strong{font-size:28px}.brand small{font-size:11px}.header-contact{padding:13px 16px;gap:14px}.trust-strip{gap:20px}.trust-strip>div{gap:13px}.trust-strip strong{font-size:38px}.hero{min-height:650px}.hero-copy{padding-top:70px}.hero-photo-label span{font-size:18px}.about-layout{gap:40px}}
@media(max-width:850px){.site-header{height:82px;padding:0 24px}.desktop-nav{display:none}.header-contact{margin-left:auto}.menu-toggle{display:block}.hero{min-height:670px;height:auto}.hero-copy{width:80%;padding-top:70px;padding-bottom:150px}.hero-image-wrap{width:72%;opacity:.65;clip-path:polygon(24% 0,100% 0,100% 100%,0 100%)}h1{font-size:53px}.hero-photo-label{bottom:110px}.trust-strip{grid-template-columns:1fr 1fr}.trust-strip>div:nth-child(2){border:0;justify-content:flex-end}.trust-strip>div:last-child{display:none}.section{padding-top:75px;padding-bottom:75px}.about-layout{grid-template-columns:1fr;gap:15px}.section-kicker{margin-bottom:30px}.about-copy{max-width:100%}.site-footer>div{gap:17px;flex-wrap:wrap;justify-content:flex-end}.hero-outline{right:-15%;width:65%}}
@media(max-width:540px){html{scroll-padding-top:90px}.site-header{height:77px;padding:0 18px;gap:12px}.brand{gap:8px}.brand-mark{width:31px;height:34px}.brand strong{font-size:26px}.brand small{font-size:10px;margin-top:5px;letter-spacing:0}.header-contact{font-size:11px;padding:10px 12px;gap:5px}.header-contact span{font-size:19px}.menu-toggle{width:38px;height:38px;padding:7px}.menu-toggle span{width:22px}.hero{min-height:750px}.hero-copy{width:100%;padding-top:47px;padding-bottom:255px}.eyebrow{font-size:9px;letter-spacing:.08em;gap:9px;margin-bottom:27px}.lime-line{width:20px}h1{font-size:clamp(35px,9.2vw,48px);line-height:1.47;letter-spacing:0;margin-bottom:20px}.hero-description{font-size:12px;max-width:330px;line-height:2.1}.hero-image-wrap{top:220px;width:100%;height:560px;clip-path:polygon(28% 0,100% 0,100% 100%,0 100%);opacity:.68}.hero-image{object-position:center 51%}.photo-shade{background:linear-gradient(180deg,#0d1723c9,transparent 50%,#0d1723c0),linear-gradient(90deg,#0d1723b0,transparent 70%)}.hero-copy .button{margin-top:4px;min-height:54px;gap:30px}.hero-photo-label{bottom:99px}.hero-photo-label span{font-size:16px}.hero-photo-label small{font-size:10px}.hero-bottom{bottom:22px;gap:12px;font-size:8px;left:24px;right:24px}.hero-location{display:none}.motion-toggle{font-size:10px}.hero-word{font-size:146px;bottom:7px;left:15%}.hero-outline{top:46%;right:-24%;height:40%;width:90%}.trust-strip{padding:25px 0;gap:15px;grid-template-columns:1.05fr 1fr}.trust-strip>div{flex-wrap:wrap;gap:4px 12px;font-size:10px}.trust-strip>div:first-child>span:last-child{flex-basis:100%}.trust-strip>div:nth-child(2){gap:8px;flex-wrap:nowrap}.trust-strip strong{font-size:37px}.trust-symbol{font-size:30px}.section{padding-top:60px;padding-bottom:60px}.section-title{font-size:30px;letter-spacing:.02em}.section-kicker{font-size:11px;gap:23px}.about-copy p{font-size:14px;line-height:2.2}.site-footer{grid-template-columns:1fr;padding-top:45px;gap:25px}.site-footer>div{justify-content:flex-start}.site-footer>p{font-size:9px}.back-top{position:absolute;right:24px;top:48px}.footer-brand{font-size:43px}.admin-bar .site-header{top:0}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{animation:none!important;transition:none!important}.js-ready .reveal{opacity:1;transform:none}.hero-image{transform:none}}
/* Comfortable Japanese body copy across screen sizes. */
.hero-description,.about-copy p,.service-card p,.service-detail,.section-intro,.fleet-copy>p,.fleet-list-content p,.company-intro,.contact-copy p{font-size:1rem}
.company-table>div{font-size:.9375rem}.service-card summary,.text-link,.fleet-list>summary{font-size:.875rem}
@media(max-width:540px){.hero-description{max-width:100%;line-height:1.9}.company-table>div{font-size:.875rem}.hero{min-height:780px}.hero-copy{padding-bottom:265px}.hero-image-wrap{height:600px}.service-card summary{font-size:.875rem}}
/* Supplied corporate identity and dedicated information pages. */
.brand .brand-name strong{word-break:keep-all;overflow-wrap:normal}
.brand-logo{width:70px;height:63px;object-fit:contain;flex-shrink:0}.brand .brand-name strong{font-family:var(--site-font);font-size:17px;letter-spacing:.02em;line-height:1.5}.brand .brand-name small{font-family:var(--site-font);font-size:9px;letter-spacing:.07em;margin-top:3px}.desktop-nav a[aria-current=page]:after{width:100%}.mobile-nav a[aria-current=page]{color:#48651b}.header-contact[aria-current=page]{box-shadow:inset 0 -3px var(--lime)}
.footer-brand.supplied-brand{display:flex;align-items:center;gap:18px;letter-spacing:0}.supplied-brand img{width:82px;height:74px;object-fit:contain}.footer-brand.supplied-brand>span{color:white;font-family:var(--site-font);font-size:16px;line-height:1.8;letter-spacing:.03em}.footer-brand.supplied-brand small{font:10px/1.8 var(--site-font);letter-spacing:.04em;margin-top:5px}.site-footer>div{gap:21px;flex-wrap:wrap;justify-content:flex-end;max-width:600px}
.hero-future .hero-image-wrap{top:0;right:0;width:100%;height:100%;clip-path:none;opacity:1}.hero-future .hero-image{object-position:center 55%;filter:saturate(.9)}.hero-future .photo-shade{background:linear-gradient(90deg,rgba(9,19,31,.91) 0%,rgba(9,19,31,.69) 29%,rgba(9,19,31,.18) 57%,rgba(9,19,31,.02) 100%),linear-gradient(0deg,rgba(9,19,31,.78),transparent 35%)}.hero-future h1{font-size:clamp(40px,4.1vw,65px);line-height:1.38}.hero-future .hero-copy{padding-top:58px}.hero-future .hero-outline{border-color:#ffffff36;top:12%;height:67%;right:-14%;width:39%}.hero-future .hero-photo-label{bottom:98px}.hero-future .hero-photo-label small{font-size:11px}.hero-future .hero-word{opacity:.5}
.page-masthead{position:relative;isolation:isolate;overflow:hidden;background:var(--navy);color:white;padding:26px var(--gutter) 70px}.breadcrumbs{display:flex;gap:16px;align-items:center;font-size:12px;color:#c6d0dc;margin-bottom:48px}.breadcrumbs a:hover{text-decoration:underline}.page-masthead .eyebrow{color:var(--lime);font-size:13px;letter-spacing:.12em;margin-bottom:12px}.page-masthead h1{font-size:clamp(34px,4vw,58px);margin-bottom:18px;line-height:1.5}.page-description{font-size:16px;color:#d3dbe3;max-width:680px;margin:0;line-height:2}.page-masthead-word{position:absolute;bottom:-40px;right:0;font:900 clamp(120px,20vw,300px)/1 var(--site-font);letter-spacing:-.06em;color:transparent;-webkit-text-stroke:1px #ffffff15;z-index:-1}.inner-page .section-kicker{display:none}.inner-page .section{padding-top:70px;padding-bottom:80px}.page-end-nav{display:flex;align-items:center;justify-content:space-between;gap:30px;padding:35px var(--gutter);border-top:1px solid var(--line)}.page-additional-content.wp-content{min-height:0;padding-top:30px;padding-bottom:50px}
@media(max-width:1100px){.desktop-nav{display:none}.site-header{height:90px}.header-contact{margin-left:auto}.menu-toggle{display:block}.brand-logo{width:62px;height:56px}.site-footer{grid-template-columns:1fr}.site-footer>div{justify-content:flex-start}.hero-future .hero-copy{width:70%;padding-top:65px}}
@media(max-width:540px){.site-header{height:77px;padding:0 14px;gap:10px}.brand{gap:8px;min-width:0;flex:1;flex-shrink:1}.brand-logo{width:49px;height:44px}.brand .brand-name{min-width:0}.brand .brand-name strong{font-size:12px;line-height:1.7;letter-spacing:0;max-width:115px}.brand .brand-name small{display:none}.header-contact{font-size:11px;padding:10px;gap:6px;flex-shrink:0}.header-contact span{font-size:16px}.menu-toggle{flex-shrink:0}.supplied-brand img{width:62px;height:56px}.footer-brand.supplied-brand{gap:13px;max-width:calc(100% - 35px)}.footer-brand.supplied-brand>span{font-size:13px}.footer-brand.supplied-brand small{font-size:8px}.site-footer>div{gap:16px;font-size:12px}.hero-future{min-height:855px}.hero-future .hero-copy{width:100%;padding-top:40px;padding-bottom:365px}.hero-future h1{font-size:clamp(35px,9.2vw,48px)}.hero-future .hero-image-wrap{top:auto;bottom:0;height:51%;width:100%;overflow:visible}.hero-future .hero-image{object-fit:cover;object-position:59% center;transform:none;filter:saturate(.9)}.hero-future .photo-shade{background:linear-gradient(180deg,var(--navy),transparent 35%,rgba(9,19,31,.68)),linear-gradient(90deg,rgba(9,19,31,.1),transparent)}.hero-future .hero-outline{display:none}.hero-future .hero-photo-label{bottom:97px}.hero-future .hero-photo-label span{font-size:15px}.hero-future .hero-photo-label small{font-size:10px}.hero-future .hero-word{font-size:116px;left:5%;bottom:30px}.page-masthead{padding-top:19px;padding-bottom:45px}.breadcrumbs{font-size:11px;margin-bottom:32px}.page-masthead .eyebrow{font-size:12px}.page-masthead h1{font-size:32px;margin-bottom:15px}.page-description{font-size:14px;line-height:2}.inner-page .section{padding-top:48px;padding-bottom:50px}.page-end-nav{padding:25px 24px;gap:16px;flex-wrap:wrap}.page-end-nav .text-link{font-size:12px;gap:15px}}
