:root{--green:#17382b;--lime:#d9e9a3;--cream:#f5f3ea;--ink:#213229;--line:#abb7a1}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--cream);color:var(--ink);font-family:'Noto Sans JP',sans-serif}a{color:inherit}.skip{position:absolute;top:-5rem;left:1rem;z-index:10;padding:.6rem 1rem;background:#fff}.skip:focus{top:1rem}.notice{margin:0;padding:.5rem 4vw;background:var(--green);color:#ecf1db;text-align:center;font-size:.63rem;line-height:1.6}.top{display:flex;justify-content:space-between;align-items:center;gap:1rem;padding:1.1rem 4vw;border-bottom:1px solid #c7d0b7}.wordmark{font:700 1.38rem 'Noto Serif JP',serif;text-decoration:none;white-space:nowrap}.wordmark span{font:700 .57rem 'DM Sans',sans-serif;letter-spacing:.16em;color:#66836a}.top nav{display:flex;gap:1.5rem;font-size:.78rem}.top nav a{text-decoration:none}.top nav a:hover,.top nav a:focus-visible{text-decoration:underline}.number{margin:0;font:700 .66rem 'DM Sans',sans-serif;letter-spacing:.18em;color:#63816c}.hero{display:grid;grid-template-columns:minmax(340px,42%) minmax(0,58%);min-height:690px;background:#e4ebd2}.hero-copy{display:flex;flex-direction:column;justify-content:center;align-items:flex-start;padding:5vw 5vw 2rem 6vw}.industry{margin:2.4rem 0 1.1rem;padding:.48rem .75rem;background:var(--green);color:#f4f5e6;font-size:.78rem;letter-spacing:.06em}.hero h1,.equipment h2,.about h2{font-family:'Noto Serif JP',serif;font-weight:600;letter-spacing:.045em;line-height:1.35}.hero h1{margin:0 0 1.5rem;font-size:clamp(3.2rem,5.2vw,6.5rem);white-space:nowrap}.lead{max-width:25em;margin:0 0 2rem;font-size:.9rem;line-height:2.05}.hero-link,.back,.about a{display:inline-flex;justify-content:space-between;align-items:center;gap:2rem;padding:.85rem 0;border-bottom:1px solid currentColor;text-decoration:none;font-size:.84rem;font-weight:700}.hero-link{min-width:220px}.hero-link:hover,.back:hover,.about a:hover{opacity:.6}.side-note{margin:auto 0 0;padding-top:3rem;font:700 .62rem 'DM Sans',sans-serif;letter-spacing:.18em;color:#67816a}.hero-photo{position:relative;min-width:0;margin:0;background:#8d9f80}.hero-photo img{display:block;width:100%;height:100%;min-height:690px;object-fit:cover;object-position:67% center}.hero-photo figcaption{position:absolute;right:1.5rem;bottom:1.5rem;padding:.45rem .7rem;background:#f5f3e5e8;font-size:.65rem}.equipment{padding:8rem 5vw 7rem;max-width:1500px;margin:auto}.equipment-head{display:flex;justify-content:space-between;align-items:end;gap:3rem;margin-bottom:3rem}.equipment h2{margin:1.2rem 0 0;font-size:clamp(2.4rem,4.3vw,5rem)}.equipment-head>p{max-width:26em;margin:0 0 .3rem;font-size:.87rem;line-height:1.9}.equipment figure{margin:0}.equipment img{display:block;width:100%;height:auto;aspect-ratio:16/8;object-fit:cover}.equipment figcaption{padding:1rem 0;font:700 .62rem 'DM Sans',sans-serif;letter-spacing:.16em;color:#667d6b}.back{margin-top:2rem;color:var(--green)}.about{display:grid;grid-template-columns:1fr 2fr;gap:3rem;padding:6rem 6vw;background:var(--green);color:#f2f3e8}.about .number{color:var(--lime)}.about div{max-width:700px}.about h2{margin:0;font-size:clamp(2.1rem,3.8vw,4rem)}.about p:not(.number){font-size:.85rem;line-height:2.05}.about a{margin-top:1rem}footer{display:flex;justify-content:space-between;gap:1rem;padding:1.5rem 5vw;background:#10261d;color:#dce6d5;font-size:.69rem}footer a{text-decoration:none}@media(max-width:1100px){.hero{grid-template-columns:42% 58%;min-height:600px}.hero-copy{padding-left:5vw}.hero h1{font-size:clamp(2.7rem,4.6vw,4rem)}.hero-photo img{min-height:600px}.lead{font-size:.83rem}}@media(max-width:760px){.notice{text-align:left;padding:.5rem 5vw;font-size:.6rem}.top{align-items:flex-start;flex-direction:column;gap:.75rem;padding:1rem 5vw}.top nav{flex-wrap:wrap;gap:1rem;font-size:.74rem}.hero{display:flex;flex-direction:column;min-height:0}.hero-photo{order:-1}.hero-photo img{height:auto;min-height:0;aspect-ratio:16/9;object-fit:cover;object-position:72% center}.hero-photo figcaption{right:.5rem;bottom:.5rem;font-size:.54rem}.hero-copy{padding:2.2rem 5vw 2.5rem}.industry{margin:1rem 0}.hero h1{font-size:clamp(2.8rem,10vw,4rem)}.lead{margin-bottom:1.4rem}.side-note{display:none}.equipment{padding:5rem 5vw}.equipment-head{display:block;margin-bottom:2rem}.equipment h2{font-size:clamp(2.2rem,7vw,3.4rem)}.equipment-head>p{margin:1.3rem 0 0}.equipment img{aspect-ratio:4/3}.about{display:block;padding:4rem 5vw}.about .number{margin-bottom:2rem}.about h2{font-size:clamp(2rem,7vw,3rem)}footer{flex-wrap:wrap}}@media(max-width:380px){.wordmark{font-size:1.2rem}.wordmark span{font-size:.52rem}}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}}

@media (min-width:761px) and (max-width:900px){.equipment-head{display:block}.equipment-head>p{max-width:35em;margin:1.3rem 0 0}}

/* The practice bay reads like a field note: a tall, right-aligned title faces the photograph. */
.hero-copy{justify-content:flex-end;align-items:stretch;padding:3rem 4vw 2.5rem 5vw}
.hero-copy>.number{margin-bottom:auto}
.hero .industry{align-self:flex-start;margin:2.5rem 0 1.25rem;background:none;color:var(--green);border-top:2px solid currentColor;padding:.6rem 0;font-weight:700}
.hero h1{display:flex;flex-direction:column;align-items:flex-end;gap:.05em;margin:0 0 1.6rem;font-size:clamp(3.1rem,5.5vw,5.8rem);line-height:1.08;white-space:normal;text-align:right;letter-spacing:.015em}
.hero h1 span:first-child{align-self:flex-start}
.hero .lead{align-self:flex-end;max-width:27em;text-align:right}
.hero-link{align-self:flex-end}
.hero .side-note{margin:2.5rem 0 0;text-align:right;padding:0}
@media(max-width:1100px){.hero h1{font-size:clamp(2.7rem,5.3vw,4.3rem)}}
@media(max-width:760px){.hero-copy{padding:2rem 5vw 2.6rem}.hero-copy>.number{margin-bottom:0}.hero .industry{margin:1.6rem 0 1rem}.hero h1{font-size:clamp(3.1rem,11vw,5rem);margin-bottom:1.4rem}.hero .lead{font-size:.82rem}.hero-link{min-width:220px}.hero .side-note{display:none}}
