:root{--paper:#f2efe7;--ink:#232722;--rust:#a84d2d;--green:#485e4b;--line:rgba(35,39,34,.18);--sans:-apple-system,BlinkMacSystemFont,"Hiragino Kaku Gothic ProN","Yu Gothic",Meiryo,sans-serif;--serif:"Yu Mincho","Hiragino Mincho ProN",serif}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--paper);color:var(--ink);font-family:var(--sans);font-feature-settings:"palt";line-height:1.9}a{color:inherit}img{display:block;max-width:100%}.skip{position:fixed;top:-100px;left:1rem;z-index:99;background:#fff;padding:.7rem 1rem}.skip:focus{top:1rem}:focus-visible{outline:3px solid #d87852;outline-offset:4px}.site-header{height:84px;display:flex;align-items:center;justify-content:space-between;padding:0 clamp(20px,4vw,64px);border-bottom:1px solid var(--line);position:fixed;inset:0 0 auto;z-index:20;background:rgba(242,239,231,.92);backdrop-filter:blur(14px)}.brand{display:flex;align-items:center;gap:12px;text-decoration:none;font-family:var(--serif);font-weight:700;letter-spacing:.08em;line-height:1.2}.brand small{display:block;font:600 8px/1.4 var(--sans);letter-spacing:.25em;margin-top:4px}.brand-mark{display:grid;place-items:center;width:38px;height:38px;border:1px solid currentColor;font-size:20px}.site-header nav{display:flex;align-items:center;gap:clamp(18px,2.5vw,42px);font-size:12px;font-weight:700;letter-spacing:.08em}.site-header nav a{text-decoration:none}.nav-contact{border-left:1px solid var(--line);padding-left:clamp(18px,2.5vw,42px)}.menu-button{display:none;background:0;border:0}.hero{min-height:100svh;padding:140px clamp(24px,7vw,110px) 65px;display:grid;grid-template-columns:1fr 1.05fr;align-items:center;position:relative;overflow:hidden}.hero:before{content:"";position:absolute;inset:84px 0 0;background-image:linear-gradient(var(--line) 1px,transparent 1px),linear-gradient(90deg,var(--line) 1px,transparent 1px);background-size:clamp(65px,8.3vw,128px) clamp(65px,8.3vw,128px);opacity:.18;mask-image:linear-gradient(to right,#0000,#000 45%,#0000)}.hero-copy{position:relative;z-index:2}.eyebrow,.section-label{font-size:10px;font-weight:800;letter-spacing:.25em}.hero h1,.section h2,.contact h2{font-family:var(--serif);font-weight:500;line-height:1.38;letter-spacing:.06em;margin:.8em 0;font-size:clamp(38px,5.7vw,84px)}.hero h1 em{color:var(--rust);font-style:normal}.lead{font-family:var(--serif);font-size:clamp(15px,1.35vw,20px);line-height:2.2}.text-link{display:inline-flex;gap:55px;border-bottom:1px solid;padding:12px 0;text-decoration:none;font-size:13px;font-weight:700;margin-top:30px}.text-link span{color:var(--rust)}.hero-art{position:relative;height:min(55vw,620px);align-self:end}.hero-art svg{position:absolute;width:120%;right:-15%;bottom:5%;overflow:visible}.mountain{fill:#3f5446}.mountain-back{fill:#b55a37;opacity:.2}.snow{fill:var(--paper);opacity:.75}.line{fill:none;stroke:var(--rust);stroke-width:2}.sun{width:clamp(65px,8vw,120px);height:clamp(65px,8vw,120px);background:var(--rust);border-radius:50%;position:absolute;top:9%;right:8%}.hero-art p{position:absolute;right:0;bottom:2%;font-size:9px;letter-spacing:.25em;line-height:1.8}.scroll{position:absolute;left:clamp(24px,4vw,64px);bottom:30px;font-size:8px;letter-spacing:.25em;display:flex;align-items:center;gap:12px}.scroll span{width:70px;height:1px;background:var(--ink)}.section{padding:clamp(90px,12vw,180px) clamp(24px,8vw,130px);position:relative}.section-label{writing-mode:vertical-rl;position:absolute;left:clamp(22px,3vw,48px);top:clamp(90px,12vw,180px);display:flex;gap:15px}.section-label span{color:var(--rust)}.intro{display:grid;grid-template-columns:1.3fr .7fr;gap:10vw}.intro-copy{max-width:720px;margin-left:10vw}.kicker{color:var(--rust);font-family:var(--serif);font-size:14px;letter-spacing:.18em}.intro h2,.business h2,.products h2,.company h2{font-size:clamp(34px,4.5vw,66px);margin:.45em 0}.intro-copy>p:not(.kicker){max-width:600px}.intro blockquote{font-family:Georgia,serif;font-size:clamp(19px,2.5vw,35px);line-height:1.5;align-self:end;border-left:1px solid var(--rust);padding:30px;margin:0;color:var(--green)}.dark{background:var(--ink);color:var(--paper)}.dark .section-label{color:var(--paper)}.section-head{margin-left:10vw;margin-bottom:90px}.pillar{border-top:1px solid rgba(255,255,255,.25);padding:70px 0;display:grid;grid-template-columns:10vw 1fr 1fr;gap:6vw}.pillar-number{color:var(--rust);font:italic 42px Georgia}.pillar h3{font:500 clamp(25px,3.2vw,46px)/1.5 var(--serif);letter-spacing:.08em}.pillar>div:nth-child(2)>p:last-child{max-width:520px;color:#c9cbc4}.pillar ul{list-style:none;padding:0;margin:70px 0 0}.pillar li{padding:18px 0;border-bottom:1px solid rgba(255,255,255,.18);font-size:14px}.pillar li b{color:var(--rust);font-size:10px;margin-right:22px}.product-grid{display:grid;grid-template-columns:1.35fr .8fr;gap:clamp(30px,6vw,90px);margin-left:10vw}.product{margin:0}.product-main{grid-row:span 2}.photo{height:min(56vw,680px);overflow:hidden;background:#ddd}.photo img{width:100%;height:100%;object-fit:cover}.product-main .photo img{object-position:50% 45%}.product:not(.product-main) .photo{height:360px}.product figcaption{padding:24px 0}.product span,.product-note>span{font-size:9px;letter-spacing:.22em;color:var(--rust);font-weight:800}.product h3,.product-note h3{font:500 clamp(24px,2.6vw,38px)/1.45 var(--serif);margin:.3em 0}.product p,.product-note p{font-size:14px}.product-note{border-top:1px solid var(--line);padding:35px 15% 20px 0;position:relative}.bee{font-size:42px;color:var(--rust);position:absolute;right:5%;top:25%}.availability{text-align:right;font-size:11px;margin:35px 0 0}.company{background:#ded8ca}.company-wrap{display:grid;grid-template-columns:1fr 1fr;gap:10vw;margin-left:10vw}.company-logo{width:170px;height:150px;object-fit:cover;object-position:50% 23%;margin-top:55px;mix-blend-mode:multiply}.company dl{margin:0}.company dl div{display:grid;grid-template-columns:120px 1fr;padding:24px 0;border-top:1px solid var(--line)}.company dt{font-size:11px;font-weight:700}.company dd{margin:0;font-family:var(--serif);font-size:15px}.company dd small{letter-spacing:.12em}.contact{padding:clamp(100px,14vw,200px) 8vw;background:var(--rust);color:#fff;position:relative;overflow:hidden}.contact:after{content:"山";position:absolute;right:-.05em;bottom:-.42em;font:500 min(60vw,800px)/1 var(--serif);color:rgba(255,255,255,.055)}.contact-inner{position:relative;z-index:1;max-width:1100px;margin:auto}.contact h2{font-size:clamp(38px,6vw,82px);margin:.45em 0}.contact-actions{display:grid;grid-template-columns:1fr 1fr;margin-top:60px;border-top:1px solid rgba(255,255,255,.45)}.contact-actions a{padding:30px 20px 30px 0;border-bottom:1px solid rgba(255,255,255,.45);font-size:clamp(17px,2vw,28px);text-decoration:none}.contact-actions a+a{padding-left:35px;border-left:1px solid rgba(255,255,255,.45)}.contact-actions small{display:block;font-size:8px;letter-spacing:.25em;margin-bottom:12px}.contact-actions span{float:right}.contact-note{font-size:11px}footer{background:var(--ink);color:#ddd;padding:70px clamp(24px,7vw,110px) 30px;display:grid;grid-template-columns:1fr 1fr;gap:45px;align-items:start}footer>p{font-family:var(--serif);text-align:right}footer>div:nth-of-type(2){display:flex;gap:30px;font-size:11px}footer>div:nth-of-type(2) a:last-child{margin-left:auto}footer>small{grid-column:1/-1;border-top:1px solid #ffffff22;padding-top:20px;font-size:8px;letter-spacing:.15em}.reveal{opacity:0;transform:translateY(26px);transition:opacity .8s ease,transform .8s ease}.reveal.visible{opacity:1;transform:none}.legal{max-width:820px;margin:auto;padding:160px 24px 100px}.legal h1{font:500 clamp(34px,5vw,58px)/1.4 var(--serif);margin-bottom:60px}.legal h2{font:600 18px/1.5 var(--serif);margin-top:45px}.legal-date{margin-top:50px;font-size:12px}
@media(max-width:780px){.site-header{height:68px}.site-header nav{display:none;position:absolute;top:68px;left:0;right:0;background:var(--paper);padding:24px;flex-direction:column;align-items:flex-start;border-bottom:1px solid var(--line)}.site-header nav.open{display:flex}.nav-contact{border-left:0;padding-left:0}.menu-button{display:grid;width:44px;height:44px;padding:10px;gap:4px;place-content:center}.menu-button span{display:block;width:23px;height:1px;background:var(--ink)}.menu-button b{font-size:6px;letter-spacing:.2em}.hero{padding:110px 24px 60px;grid-template-columns:1fr;align-items:start}.hero-copy{padding-top:20px}.hero-art{height:45vh;min-height:340px;margin-top:-20px}.hero-art svg{width:125%;right:-30%}.hero-art p,.scroll{display:none}.section{padding:90px 24px}.section-label{position:static;writing-mode:initial;margin-bottom:45px}.intro,.company-wrap{grid-template-columns:1fr;gap:50px}.intro-copy,.section-head,.company-wrap,.product-grid{margin-left:0}.intro blockquote{margin-left:auto}.section-head{margin-bottom:50px}.pillar{grid-template-columns:45px 1fr;padding:50px 0}.pillar ul{grid-column:2;margin:10px 0}.product-grid{grid-template-columns:1fr}.product-main{grid-row:auto}.photo{height:65vh;max-height:600px}.product:not(.product-main) .photo{height:420px}.company dl div{grid-template-columns:90px 1fr}.contact-actions{grid-template-columns:1fr}.contact-actions a+a{padding-left:0;border-left:0}footer{grid-template-columns:1fr}footer>p{text-align:left}footer>small{grid-column:1}.availability{text-align:left}}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}.reveal{opacity:1;transform:none;transition:none}}
html:not(.js) .reveal{opacity:1;transform:none}
/* Crop the source artwork's generous white margin so the official mark reads clearly at header size. */
.brand-mark{overflow:hidden;border:0;background:#fff}.brand-mark img{width:100%;height:100%;object-fit:contain}
@media(max-width:780px){.hero-copy{min-width:0}.lead{max-width:100%;overflow-wrap:anywhere}.lead br{display:none}}
.it-services ul{margin-bottom:28px}.it-site-link{display:flex;align-items:center;justify-content:space-between;gap:24px;padding:20px 22px;border:1px solid var(--rust);color:var(--paper);text-decoration:none;transition:background-color .25s ease,color .25s ease}.it-site-link small{display:block;color:var(--rust);font-size:8px;font-weight:800;letter-spacing:.22em;margin-bottom:3px}.it-site-link>b{color:var(--rust);font-size:20px}.it-site-link:hover{background:var(--rust);color:#fff}.it-site-link:hover small,.it-site-link:hover>b{color:#fff}
@media(max-width:780px){.it-services{grid-column:2}.it-services ul{grid-column:auto}.it-site-link{margin-top:28px}}
.hero-line{white-space:nowrap}
.company-logo{height:auto;object-fit:contain;object-position:center}
