:root{font-family:'Noto Sans JP',sans-serif;color:#253029;background:#f1f2e9;scroll-behavior:smooth}*{box-sizing:border-box}body{margin:0;min-width:320px}img{display:block;max-width:100%}a{color:inherit}.skip{position:absolute;top:-60px;left:12px;z-index:20;background:#fff;padding:10px}.skip:focus{top:10px}.notice{margin:0;padding:8px 4vw;background:#e4e8dc;text-align:center;font-size:10px;line-height:1.8}.site-header{display:flex;align-items:center;justify-content:space-between;gap:20px;padding:16px 4vw;background:#f6f6ed}.brand{display:flex;align-items:center;gap:12px;text-decoration:none;font-size:20px;font-weight:700}.brand-icon{display:grid;place-items:center;width:42px;height:42px;background:#456450;color:#fff;font-size:22px}.brand small{display:block;font-size:9px;font-weight:400;letter-spacing:.1em}nav{display:flex;gap:28px;font-size:11px}nav a{text-decoration:none}.hero{position:relative;min-height:780px;background:#5c684e;overflow:hidden}.hero>img{position:absolute;width:100%;height:100%;object-fit:cover;object-position:center}.hero-card{position:relative;z-index:1;width:min(530px,40vw);min-height:565px;top:105px;margin-left:6vw;padding:55px 48px 45px;background:#f6f6edec;box-shadow:0 25px 70px #1a241821}.serial{font:700 10px 'DM Sans',sans-serif;letter-spacing:.17em;color:#5a795e}.serial span{padding:0 8px}.industry{font-size:13px;font-weight:700;letter-spacing:.04em;color:#48694e;margin:60px 0 18px}.hero h1{font-size:clamp(47px,4.5vw,72px);line-height:1.4;letter-spacing:-.07em;margin:0}.hero-card>p:last-of-type{font-size:13px;line-height:2.1;margin:30px 0}.hero-card a,.approach a,.about a{display:inline-flex;align-items:center;gap:28px;padding:10px 0;border-bottom:1px solid currentColor;text-decoration:none;font-size:12px;font-weight:700}.hero-card a span{font-size:22px;font-weight:400}.hero-label{position:absolute;right:3vw;bottom:25px;background:#f6f6ed;padding:10px 14px;font:700 10px 'DM Sans',sans-serif;letter-spacing:.14em}.between{display:flex;justify-content:center;align-items:center;gap:5vw;padding:35px 3vw;background:#496650;color:#eaf0e5;font:700 12px 'DM Sans',sans-serif;letter-spacing:.2em}.between span:nth-child(even){opacity:.5}.approach{display:grid;grid-template-columns:.85fr 1.15fr;gap:5vw;align-items:center;padding:105px 7vw;background:#e4e8db}.approach-head{max-width:480px}.approach h2,.about h2{font-size:clamp(42px,4.7vw,68px);line-height:1.45;letter-spacing:-.065em;margin:30px 0}.approach-head>p:not(.serial),.about p:not(.serial){font-size:13px;line-height:2.3;max-width:570px}.approach figure{position:relative;margin:0}.approach figure img{width:100%;height:clamp(520px,53vw,760px);object-fit:cover;object-position:center}.approach figcaption{position:absolute;bottom:18px;right:18px;background:#f6f6ed;padding:10px 13px;font:700 9px 'DM Sans',sans-serif;letter-spacing:.12em}.about{display:grid;grid-template-columns:1fr 1fr;gap:8vw;align-items:end;padding:100px 9vw;background:#d7dccd}.about h2{margin-bottom:0}.about a{margin-top:20px}footer{display:flex;justify-content:space-between;gap:20px;padding:25px 4vw;background:#f6f6ed;font-size:10px}footer a{text-decoration:none}a:focus-visible{outline:3px solid #bd874c;outline-offset:4px}
@media(max-width:1100px){.hero-card{width:480px;top:80px;min-height:540px}.hero{min-height:700px}.approach{grid-template-columns:1fr 1fr;gap:3vw}.approach h2{font-size:44px}}
@media(max-width:760px){.hero{min-height:750px}.hero>img{object-position:50% center}.hero-card{width:min(530px,86vw);min-height:auto;top:60px;margin-left:6vw;padding:40px 35px}.industry{margin-top:35px}.hero h1{font-size:50px}.approach{display:flex;flex-direction:column;align-items:stretch;padding:80px 6vw}.approach-head{max-width:650px}.approach figure img{height:540px}.about{grid-template-columns:1fr;padding:80px 6vw}.about h2{margin-bottom:10px}}
@media(max-width:480px){.notice{font-size:9px}.site-header{display:block}.brand{font-size:18px}nav{justify-content:space-between;margin-top:18px;gap:8px;font-size:10px}.hero{min-height:810px}.hero>img{object-position:52% center}.hero-card{top:35px;width:90vw;margin-left:5vw;padding:30px 24px;background:#f6f6edf2}.hero h1{font-size:44px}.hero-card>p:last-of-type{font-size:12px;margin:20px 0}.industry{font-size:12px;margin-top:26px}.hero-label{bottom:12px;right:5vw;font-size:8px}.between{gap:2vw;font-size:9px;letter-spacing:.08em;padding:23px 2vw}.approach{padding:70px 5vw}.approach h2,.about h2{font-size:40px}.approach figure img{height:400px}.approach figcaption{font-size:8px;right:8px;bottom:8px}.about{padding:70px 5vw}footer{flex-direction:column}}
@media(prefers-reduced-motion:reduce){:root{scroll-behavior:auto}*,*:before,*:after{animation:none!important;transition:none!important}}

/* #94: the trade name reads as a three-line sign beside the entrance photograph. */
.hero-card{top:65px;width:min(575px,45vw);min-height:0;padding:35px 42px 38px}
.industry{margin:20px 0 10px;font-size:11px}
.hero-kicker{margin:0 0 14px;font-size:15px;font-weight:700;letter-spacing:.02em;color:#456450}
.hero h1{font-size:clamp(42px,4.1vw,63px);line-height:1.16;letter-spacing:-.08em}
.hero h1 span{display:block;white-space:nowrap}
.hero h1 span:last-child{text-align:right}
.hero-card>p:last-of-type{margin:22px 0;font-size:12px}
@media(max-width:760px){
  .hero-card{top:42px;width:min(570px,86vw);padding:28px 32px 32px}
  .hero h1{font-size:clamp(39px,7.6vw,55px)}
}
@media(max-width:480px){
  .hero-card{top:26px;width:90vw;padding:22px 23px 25px}
  .hero h1{font-size:clamp(34px,9vw,43px)}
  .hero-kicker{font-size:13px}
  .industry{margin:13px 0 8px}
  .hero-card>p:last-of-type{margin:17px 0}
}
