:root{--navy:#081c2e;--blue:#0877b7;--ink:#182d3c;--muted:#556775;--line:#d7dfe4;--serif:'Yu Mincho','Hiragino Mincho ProN',serif}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:100px}body{margin:0;color:var(--ink);font:16px/1.95 'Yu Gothic','Hiragino Kaku Gothic ProN',Meiryo,sans-serif}a{color:inherit;text-decoration:none}a,button{-webkit-tap-highlight-color:transparent}a:focus-visible,button:focus-visible{outline:3px solid #e5b45e;outline-offset:5px}img{max-width:100%;display:block;object-fit:cover}h1,h2,h3,p{margin-top:0}h1,h2{font-family:var(--serif);font-weight:500;letter-spacing:.045em;line-height:1.55}h2{font-size:clamp(28px,3vw,42px);margin-bottom:25px}h3{font-size:21px;line-height:1.6}p{margin-bottom:20px}.wrap{width:min(1160px,88%);margin-inline:auto}.eyebrow{font-family:Arial,sans-serif;font-size:12px;font-weight:700;letter-spacing:.2em;color:var(--blue);margin-bottom:23px}.eyebrow:before{content:'';display:inline-block;vertical-align:middle;width:32px;height:1px;background:currentColor;margin-right:15px}header{height:100px;padding:0 4.5%;background:var(--navy);color:#fff;display:flex;align-items:center;justify-content:space-between;gap:25px;position:relative;z-index:3}.brand{display:inline-flex;flex-direction:column;flex-shrink:0}.brand small{font:10px/1.8 Arial,sans-serif;letter-spacing:.24em;color:#83a9c4}.brand strong{font:600 21px/1.7 var(--serif);letter-spacing:.035em}nav{display:flex;align-items:center;gap:25px;font-size:14px;font-weight:600}nav a{padding:8px 0}nav a[aria-current]{border-bottom:1px solid #6cc4f4}nav .nav-contact{padding:16px 22px;background:var(--blue)}.menu{display:none}.skip{position:absolute;left:10px;top:-100px;background:white;padding:12px;z-index:20}.skip:focus{top:10px}.hero{position:relative;min-height:690px;background:var(--navy);color:#fff;isolation:isolate}.hero-photo{position:absolute;inset:0 0 0 40%;z-index:-2;overflow:hidden}.hero-photo img{height:100%;width:100%;object-position:center 46%}.hero:after{content:'';position:absolute;inset:0;z-index:-1;background:linear-gradient(90deg,#081c2e 0%,#081c2ef5 23%,#081c2ebb 43%,#081c2e12 80%),linear-gradient(0deg,#081c2e99,transparent 40%)}.hero-content{padding-top:85px;padding-bottom:115px}.hero .eyebrow{color:#85c3e8}.hero h1{font-size:clamp(42px,5.1vw,70px);line-height:1.55;margin-bottom:26px;letter-spacing:.05em}.hero-sub{font-family:var(--serif);font-size:22px;margin-bottom:14px}.hero-description{font-size:15px;color:#d7e2e9;line-height:2.1}.button{display:inline-flex;align-items:center;gap:35px;background:var(--blue);color:white;padding:17px 27px;font-size:14px;font-weight:700;margin-top:16px}.button:hover,.nav-contact:hover{background:#09689f}.button span{font-size:20px}.hero-bottom{position:absolute;bottom:24px;left:6%;right:6%;display:flex;justify-content:space-between;font-size:12px;letter-spacing:.14em;color:#b7cbd9}.intro{padding-block:110px;display:grid;grid-template-columns:1fr 1fr;gap:90px}.intro>div:last-child{padding-top:50px}.intro p:not(.eyebrow){color:var(--muted)}.text-link{display:inline-flex;gap:25px;align-items:center;font-size:14px;font-weight:600;border-bottom:1px solid #8aa5b8;padding:10px 0}.text-link:hover{color:var(--blue)}.technology-section{padding:95px 0 100px;background:#edf2f5}.section-head{display:flex;justify-content:space-between;align-items:end;gap:25px;margin-bottom:45px}.section-head h2{margin-bottom:0}.photo-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:24px}.photo-card{background:white}.photo-card img{width:100%;height:300px;transition:filter .2s}.photo-card:hover img{filter:brightness(1.1)}.photo-card>div{padding:24px;position:relative}.number{font:12px Arial;color:var(--blue);letter-spacing:.15em}.photo-card h3{margin:12px 0 8px;font-family:var(--serif);font-weight:600}.photo-card p{font-size:14px;color:var(--muted);margin-bottom:22px}.card-arrow{position:absolute;right:24px;bottom:16px;color:var(--blue)}.value-feature{display:grid;grid-template-columns:1fr 1fr;gap:80px;align-items:center;padding-block:110px}.value-feature>img{width:100%;height:430px;object-position:center 40%}.value-feature p{color:var(--muted)}.applications{background:var(--navy);color:#fff;padding:80px 0}.applications .eyebrow{color:#8ac9ed}.application-list{display:grid;grid-template-columns:repeat(4,1fr);margin:35px 0;border-top:1px solid #496170;border-bottom:1px solid #496170}.application-list span{padding:25px 10px;font-family:var(--serif);font-size:24px;text-align:center;border-right:1px solid #496170}.application-list span:last-child{border:0}.applications p:last-child{font-size:14px;color:#bfd1dc;margin:0}.contact-band{padding:80px 0;background:#eaf1f6;position:relative}.contact-band .wrap{position:relative}.contact-band .button{position:absolute;right:0;top:65px}.contact-band h2{margin:0}.contact-band p:not(.eyebrow){margin-top:25px}.phone{display:flex;gap:25px;align-items:center;margin-top:30px}.phone>a{font:40px Arial;color:var(--blue)}footer{padding-block:55px 24px;display:grid;grid-template-columns:1fr 1fr;gap:30px}footer .brand small{color:var(--blue)}footer p{font-size:13px;margin-top:20px;color:var(--muted)}.footer-links{display:grid;grid-template-columns:1fr 1fr;align-content:center;gap:12px;font-size:14px}.copyright{grid-column:1/-1;display:flex;justify-content:space-between;border-top:1px solid var(--line);padding-top:20px;font-size:12px;margin-bottom:0}.page-title{padding-block:75px 65px}.page-title h1{font-size:48px}.page-title>p:last-child{color:var(--muted)}.tech-row{display:grid;grid-template-columns:1fr 1fr;align-items:center;gap:75px;padding-block:45px 65px;border-bottom:1px solid var(--line)}.tech-row img{height:370px;width:100%}.spec{padding-top:24px;margin-top:25px;border-top:1px solid var(--line);font-weight:bold;font-size:16px}.equipment{padding-block:90px}.table-scroll{overflow-x:auto}table{border-collapse:collapse;width:100%;font-size:15px;white-space:nowrap}th,td{padding:20px;text-align:left;border-bottom:1px solid var(--line)}th{background:var(--navy);color:white;font-weight:500}.note{font-size:14px;color:var(--muted);margin-top:22px}.quality-wide{display:grid;grid-template-columns:1fr 1fr;background:var(--navy);color:white;align-items:center}.quality-wide img{width:100%;height:460px}.quality-wide>div{padding:50px}.quality-wide .eyebrow{color:#88c4e7}.process{padding-top:90px}.process ol{padding:0;list-style:none;display:grid;grid-template-columns:repeat(3,1fr);gap:35px}.process li{border-top:1px solid var(--line);padding-top:24px}.process b{color:var(--blue);font:30px Arial}.process h3{margin-top:20px}.process p{color:var(--muted)}.company-summary{display:grid;grid-template-columns:1.15fr 1fr;align-items:center;gap:70px}.company-summary>img{width:100%;height:400px}.history{display:flex;align-items:center;gap:20px}.history strong{font:58px Arial;color:var(--blue)}.history span{font-size:14px}.company-table{padding-block:90px}dl>div{display:grid;grid-template-columns:190px 1fr;padding:22px 15px;border-bottom:1px solid var(--line)}dt{font-weight:600}dd{margin:0;color:var(--muted)}.access{padding-bottom:85px}.access-times{display:grid;grid-template-columns:1fr 1fr;gap:25px;margin:30px 0}.access-times>div{background:#edf2f5;padding:30px}.access-times strong{display:block;font:50px Arial;margin-top:18px}.access-times strong span{font:20px Meiryo;margin-left:8px}.access-times p{font-size:14px;margin:12px 0 0}
@media(min-width:1500px){.hero{min-height:760px}.hero-content{padding-top:115px}}@media(max-width:1100px){header{height:90px;padding-inline:4%}nav{gap:15px;font-size:12px}.brand strong{font-size:18px}.nav-contact{padding:12px!important}.intro,.value-feature,.tech-row{gap:40px}.hero-sub{font-size:19px}}@media(max-width:800px){header{height:82px}.brand strong{font-size:18px}.menu{display:block;color:white;border:1px solid #647b8c;background:transparent;padding:10px 12px;font:14px Meiryo}nav{display:none;position:absolute;left:0;right:0;top:82px;background:var(--navy);padding:20px 6%;font-size:16px}nav.open{display:flex;flex-direction:column;align-items:stretch;gap:8px}.wrap{width:88%}.hero{min-height:690px}.hero-photo{left:18%}.hero-photo img{object-position:60% center}.hero:after{background:linear-gradient(90deg,#081c2eeb,#081c2e94 55%,#081c2e55),linear-gradient(0deg,#081c2ec9,transparent)}.hero-content{padding-top:70px}.hero h1{font-size:clamp(32px,9vw,44px)}.hero-sub{font-size:18px}.hero-bottom>span:nth-child(2){display:none}.intro,.value-feature,.tech-row,.company-summary,.quality-wide{grid-template-columns:1fr;gap:28px}.intro{padding-block:65px}.intro>div:last-child{padding-top:0}.section-head{display:block}.section-head>a{margin-top:15px}.photo-grid{grid-template-columns:1fr}.photo-card{display:grid;grid-template-columns:40% 60%}.photo-card img{height:100%;min-height:230px}.photo-card>div{padding:23px 18px}.photo-card h3{font-size:19px}.technology-section{padding-block:65px}.value-feature{padding-block:65px}.value-feature>img{height:340px}.application-list{grid-template-columns:1fr 1fr}.application-list span{font-size:21px}.application-list span:nth-child(2){border-right:0}.application-list span:nth-child(-n+2){border-bottom:1px solid #496170}.contact-band{padding-block:60px}.contact-band .button{position:static;margin-top:25px}.contact-band h2{font-size:28px}footer{grid-template-columns:1fr}.footer-links{gap:14px}.page-title{padding-block:55px 25px}.page-title h1{font-size:34px}.tech-row{padding-block:35px}.tech-row img{height:320px}.spec{font-size:15px}.equipment,.company-table{padding-block:60px}th,td{padding:15px}.quality-wide img{height:350px}.quality-wide>div{padding:30px}.process{padding-top:55px}.process ol{grid-template-columns:1fr;gap:22px}.company-summary>img{height:280px}dl>div{grid-template-columns:90px 1fr;gap:15px;padding-inline:0}.access-times{grid-template-columns:1fr}.phone{flex-direction:column;align-items:start;gap:10px}.phone>a{font-size:34px}.copyright{gap:15px;flex-wrap:wrap}.hero-description{font-size:14px}.eyebrow{font-size:12px;letter-spacing:.15em}}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*{transition:none!important}}


/* Group branding follows the reference site's divider and responsive mark. */
.brand-lockup{display:flex;align-items:center;gap:20px;min-width:0}.brand-lockup .brand strong{font-size:21px;white-space:nowrap}.group-logo{display:inline-flex;align-items:center;flex-shrink:0}.group-logo img{object-fit:contain}.brand-lockup>.group-logo{border-left:1px solid #607181;padding-left:20px;min-height:38px}.brand-lockup .group-full{width:auto;height:27px}.brand-lockup .group-mark{display:none;width:auto;height:26px}header nav{gap:22px}footer .group-logo{display:flex;background:var(--navy);width:210px;padding:17px 20px;margin-top:20px}footer .group-logo img{width:170px;height:auto}
/* Preserve the full portrait so neither worker is cropped at any viewport. */


.access-map{display:block;width:100%;height:420px;border:0;margin-top:30px;background:#edf2f5}
@media(max-width:1340px) and (min-width:801px){.brand-lockup .group-full{display:none}.brand-lockup .group-mark{display:block}header nav{gap:18px}}
@media(max-width:1100px) and (min-width:801px){header{padding-inline:3%;gap:16px}.brand-lockup{gap:14px}.brand-lockup .brand strong{font-size:19px}.brand-lockup>.group-logo{padding-left:14px}header nav{gap:14px;font-size:13px}}
@media(max-width:800px){header{height:82px}.brand-lockup{gap:14px}.brand-lockup .brand strong{font-size:18px}.brand-lockup>.group-logo{padding-left:14px;min-height:30px}.brand-lockup .group-full{display:none}.brand-lockup .group-mark{display:block;height:26px;width:auto}nav{top:82px}.hero-content{padding-top:55px}.access-map{height:350px}}
@media(max-width:380px){header{gap:10px}.brand-lockup{gap:10px}.brand-lockup .brand strong{font-size:16px}.brand-lockup>.group-logo{padding-left:10px}.menu{padding:9px}}

.equipment-photos{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:24px;margin:30px 0 42px}.equipment-photos img{width:100%;height:auto;aspect-ratio:3/4;object-fit:cover}@media(max-width:800px){.equipment-photos{grid-template-columns:1fr;gap:28px}}

/* Balance Japanese line breaks across screen widths while keeping intentional breaks. */
h1,h2,h3{text-wrap:balance;line-break:strict}p,dd{text-wrap:pretty;line-break:strict}
.value-feature .slogan-image{height:auto;aspect-ratio:841.89/1190.55;object-fit:contain;background:#fff}

.footer-address-label{display:inline-block;width:5em}

.contact-form-section{padding:20px 0 110px}.form-note{color:var(--muted);text-align:right;margin-bottom:24px}.form-note span,.form-row>label span,.form-choice legend span{color:#b94040}.contact-form{border-top:1px solid var(--line)}.form-row{display:grid;grid-template-columns:260px 1fr;gap:36px;padding:25px 28px;border-bottom:1px solid var(--line);align-items:start}.form-row>label,.form-choice legend{font-weight:700;padding-top:12px}.form-row input[type="text"],.form-row input[type="email"],.form-row input[type="tel"],.form-row select,.form-row textarea{width:100%;border:1px solid #bdc9d1;background:#f7f9fa;color:var(--ink);font:inherit;padding:13px 15px;border-radius:0}.form-row textarea{resize:vertical;min-height:190px}.form-row input:focus,.form-row select:focus,.form-row textarea:focus{outline:2px solid var(--blue);outline-offset:2px;background:#fff}.form-choice{margin:0}.form-choice legend{float:left;width:260px}.form-choice>div{grid-column:2;display:flex;flex-wrap:wrap;gap:12px 25px;padding-top:9px}.form-choice label{white-space:nowrap}.form-choice input{accent-color:var(--blue)}.form-row input[type="file"]{padding:10px 0;font:inherit}.form-actions{text-align:center;padding-top:36px}.form-submit{border:0;cursor:pointer}.form-status{margin:24px auto 0;color:var(--blue);font-weight:700}.form-status[hidden]{display:none}
@media(max-width:700px){.contact-form-section{padding-bottom:75px}.form-note{text-align:left}.form-row{grid-template-columns:1fr;gap:8px;padding:20px 0}.form-row>label,.form-choice legend{padding-top:0}.form-choice legend{float:none;width:auto}.form-choice>div{grid-column:1;padding-top:4px;gap:10px 18px}.form-actions{text-align:left}}

/* Compact contact form */
.contact-form-section{padding:8px 0 72px;font-size:14px}
.form-note{margin-bottom:14px;font-size:12px}
.form-row{grid-template-columns:210px 1fr;gap:24px;padding:15px 20px}
.form-row>label,.form-choice legend{padding-top:7px;font-size:14px}
.form-row input:not([type="radio"]):not([type="file"]),.form-row select,.form-row textarea{padding:8px 11px;font-size:14px;line-height:1.45}
.form-row textarea{min-height:126px}
.form-choice legend{width:210px}
.form-choice>div{padding-top:5px;gap:7px 18px;font-size:14px}
.form-row input[type="file"]{padding:6px 0;font-size:13px}
.form-actions{padding-top:22px}
.form-submit{padding:12px 21px;font-size:13px}
.form-status{margin-top:16px;font-size:13px}
@media(max-width:700px){.contact-form-section{padding-bottom:58px}.form-row{grid-template-columns:1fr;gap:6px;padding:14px 0}.form-row>label,.form-choice legend{padding-top:0}.form-choice legend{width:auto}.form-choice>div{padding-top:3px}.form-actions{padding-top:18px}}

/* Narrow contact form */
.contact-form,.contact-form-section .form-note{width:min(900px,100%);margin-left:auto;margin-right:auto}
.form-honeypot{position:absolute!important;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}.form-help{margin:6px 0 0;color:var(--muted);font-size:12px}.form-success{display:none;width:min(900px,100%);margin:0 auto 28px;padding:24px 28px;border-left:4px solid var(--blue);background:#f1f6f9}.form-success:target{display:block}.form-success h2{margin:0 0 8px;font-size:22px}.form-success p{margin:0;line-height:1.8}
.privacy-policy{padding:10px 0 100px;max-width:900px}.privacy-policy h2{font-size:26px;margin:42px 0 12px}.privacy-policy h2:first-child{margin-top:0}.privacy-policy p{color:var(--muted)}

/* Ooba Toso logo mark */
.brand-with-mark{flex-direction:row;align-items:center;gap:11px}
.brand-with-mark .ooba-mark{width:40px;height:40px;object-fit:contain;flex:0 0 auto}
.brand-with-mark>span{display:flex;flex-direction:column}
footer .brand-with-mark .ooba-mark{width:46px;height:46px}
@media(max-width:800px){header .brand-with-mark{gap:8px}header .brand-with-mark .ooba-mark{width:32px;height:32px}footer .brand-with-mark .ooba-mark{width:42px;height:42px}}

/* Opening splash */
body.has-splash{overflow:hidden}
.splash{position:fixed;inset:0;z-index:1000;display:grid;place-items:center;overflow:hidden;background:#edf2f5;animation:splash-out .65s cubic-bezier(.22,.61,.36,1) 2.05s forwards}
.splash__word{position:relative;z-index:2;display:flex;margin:0;color:#e60012;font:700 clamp(82px,18vw,240px)/.8 "Helvetica Neue",Arial,sans-serif;letter-spacing:-.035em}
.splash__word span{display:inline-block;opacity:0;transform:translateY(.42em);animation:splash-letter .58s cubic-bezier(.16,1,.3,1) calc(.12s + var(--index)*.11s) forwards}
.splash__line{position:absolute;z-index:2;left:8%;bottom:8%;width:84%;height:1px;background:rgba(230,0,18,.4);transform:scaleX(0);transform-origin:left;animation:splash-line .9s cubic-bezier(.16,1,.3,1) .62s forwards}.splash:before{content:"";position:absolute;z-index:1;left:48%;top:-32%;width:clamp(18px,2.4vw,42px);height:165%;background:rgba(230,0,18,.07);transform:rotate(28deg);transform-origin:center}.splash:after{content:"";position:absolute;z-index:1;left:34%;top:-78vw;width:112vw;height:112vw;border:1px solid rgba(24,45,60,.12);border-radius:50%}
@keyframes splash-letter{to{opacity:1;transform:translateY(0)}}
@keyframes splash-line{to{transform:scaleX(1)}}
@keyframes splash-out{to{opacity:0;visibility:hidden}}
@media(prefers-reduced-motion:reduce){.splash{animation-delay:.2s;animation-duration:.2s}.splash__word span{animation:none;opacity:1;transform:none}.splash__line{animation:none;transform:scaleX(1)}}
