/* Uphill Printing / work-stage2 : shared design foundation. Does not modify legacy CSS. */
:root{--navy:#102b37;--navy-deep:#091f2c;--green:#075543;--green-dark:#023e33;--ink:#24332e;--paper:#faf8f2;--cream:#f4ecdb;--line:#d7d4c7;--muted:#59665f;--serif:"Yu Mincho","Hiragino Mincho ProN","Noto Serif JP",serif;--sans:"Hiragino Kaku Gothic ProN","Yu Gothic","Meiryo",sans-serif}
*,*::before,*::after{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;color:var(--ink);font-family:var(--sans);background:var(--paper);line-height:1.75;-webkit-font-smoothing:antialiased}img{max-width:100%;display:block}a{color:inherit}button{font:inherit}a:focus-visible,button:focus-visible{outline:3px solid #cd9e47;outline-offset:3px}.container{width:min(1120px,calc(100% - 40px));margin-inline:auto}.skip-link{position:absolute;top:-70px;left:12px;background:#fff;padding:10px;z-index:1000}.skip-link:focus{top:12px}.site-header{background:#fffefa;position:relative;z-index:20}.header-inner{display:grid;grid-template-columns:1fr auto;grid-template-areas:"brand actions" "tagline actions";align-items:center;min-height:96px;padding-block:9px}.brand{grid-area:brand}.brand a{text-decoration:none;display:inline-flex;flex-direction:column;line-height:1.05}.brand-en{font-family:Georgia,"Times New Roman",serif;font-size:clamp(27px,3vw,38px);color:#18252a;letter-spacing:-.06em}.brand-en span{color:#9c2a24}.brand-ja{font-family:var(--serif);font-size:12px;letter-spacing:.2em;margin-top:5px}.header-tagline{grid-area:tagline;color:#59615c;font-size:11px;letter-spacing:.04em}.header-actions{grid-area:actions;display:flex;align-items:center;gap:20px}.header-phone{display:flex;flex-direction:column;align-items:center;font-family:var(--serif);font-weight:700}.header-phone a{text-decoration:none;font-size:20px;line-height:1.3}.header-phone span{font-family:var(--sans);font-size:11px;font-weight:normal;color:var(--muted)}.button{display:inline-flex;align-items:center;justify-content:center;gap:12px;min-height:44px;padding:10px 24px;border-radius:7px;font-weight:700;text-decoration:none;line-height:1.5;border:1.5px solid transparent;cursor:pointer;text-align:center;transition:transform .2s,background .2s,box-shadow .2s}.button:hover{transform:translateY(-2px)}.button-primary{background:linear-gradient(155deg,#106954,var(--green-dark));color:#fff;border-color:#b6c7bc;box-shadow:0 3px 7px #0002}.button-primary:hover{background:#0b6e59}.button-outline{background:transparent;color:var(--green-dark);border-color:var(--green-dark)}.button-outline:hover{background:#e9f0e9}.header-contact{font-size:13px}.site-nav{background:var(--navy);color:#fff}.nav-inner{display:flex;justify-content:space-around;align-items:center;min-height:45px}.nav-inner a{flex:1;text-align:center;padding:9px 6px;text-decoration:none;font-weight:700;font-size:13px;position:relative}.nav-inner a+a::before{content:"";position:absolute;left:0;top:25%;height:50%;border-left:1px solid #b7c8c8a8}.nav-inner a:hover,.nav-inner a:focus-visible{background:#1b4351}.menu-toggle{display:none;background:none;border:0;color:var(--navy);cursor:pointer}.section-pad{padding:32px 0 44px}.section-heading{text-align:center;font-family:var(--serif);font-size:clamp(20px,2.2vw,28px);line-height:1.4;margin:0 auto 24px;font-weight:700;display:flex;align-items:center;justify-content:center;gap:18px}.section-heading::before,.section-heading::after{content:"";width:48px;border-top:1px solid #637c74}.site-footer{background:#112b35;color:#e7ece8;padding:27px 0;font-size:12px;text-align:center}.site-footer strong{font-family:var(--serif);font-size:17px}.site-footer p{margin:4px 0 6px}.site-footer small{color:#b2c7c1}
@media(max-width:760px){.container{width:min(100% - 28px,580px)}.header-inner{grid-template-columns:1fr auto;grid-template-areas:"brand menu";min-height:78px;padding-block:11px;gap:12px}.header-tagline,.header-actions{display:none}.brand-en{font-size:28px}.brand-ja{font-size:10px}.menu-toggle{grid-area:menu;display:flex;align-items:center;flex-direction:column;gap:4px;padding:5px 3px;font-size:10px;font-weight:700;min-width:50px}.menu-icon{display:flex;flex-direction:column;gap:5px;width:26px}.menu-icon i{height:2px;width:100%;background:var(--navy)}.site-nav{display:none}.site-nav.is-open{display:block}.nav-inner{width:100%;display:flex;flex-direction:column;align-items:stretch;padding-block:4px}.nav-inner a{text-align:left;padding:12px 22px;border-bottom:1px solid #ffffff25;font-size:14px}.nav-inner a+a::before{display:none}.section-pad{padding:26px 0 31px}.section-heading{font-size:20px;gap:8px;margin-bottom:18px}.section-heading::before,.section-heading::after{width:20px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}.button{transition:none}}
