@import url('https://fonts.googleapis.com/css2?family=Noto+Sans+JP:wght@400;500;600;700;800;900&display=swap');
:root{--paper:#f4f3ef;--white:#fff;--ink:#172a25;--muted:#66706b;--line:#d5dad3;--green:#245b45;--lime:#d5e8a4;--sans:'Noto Sans JP',sans-serif}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:90px}body{margin:0;background:var(--paper);color:var(--ink);font-family:var(--sans);font-size:15px;line-height:1.85}a{color:inherit;text-decoration:none}button,input{font:inherit}button,a{-webkit-tap-highlight-color:transparent}button{cursor:pointer}button:focus-visible,a:focus-visible,summary:focus-visible{outline:3px solid #609963;outline-offset:5px}img{display:block;max-width:100%;height:auto}h1,h2,h3,p{margin:0}h1,h2,h3{line-height:1.4;letter-spacing:-.045em}p+p{margin-top:18px}::selection{background:var(--lime);color:var(--ink)}.skip{position:absolute;left:12px;top:-80px;z-index:100;background:var(--ink);color:white;padding:12px}.skip:focus{top:10px}.shell{width:min(1320px,calc(100% - 112px));margin:auto}.header{height:88px;padding:0 48px;display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid var(--line);background:rgba(244,243,239,.96);position:sticky;top:0;z-index:30;backdrop-filter:blur(12px)}.brand{display:flex;align-items:center;gap:13px;line-height:1}.brand-symbol{width:33px;height:33px;border:7px solid var(--green);border-right-width:0;position:relative}.brand-symbol:after{content:'';position:absolute;width:18px;height:7px;left:0;top:6px;background:var(--green)}.brand-name{font:900 25px/1 Arial,sans-serif;letter-spacing:-1px}.brand-sub{display:block;font:600 8px/1 Arial,sans-serif;letter-spacing:2.5px;margin-top:7px}.nav{display:flex;align-items:center;gap:30px;font-size:12px;font-weight:600}.nav a:not(.nav-cta):hover{color:var(--green);text-decoration:underline;text-underline-offset:6px}.nav .nav-cta{background:var(--ink);color:white;padding:13px 20px;border-radius:2px}.arrow{margin-left:22px}.menu{display:none;border:1px solid var(--line);background:none;padding:8px 12px}.tag{font-size:10px;font-weight:600;letter-spacing:.09em}.tag i{display:inline-block;width:6px;height:6px;background:#739b4d;border-radius:50%;margin-right:8px}.eyebrow{font-size:11px;letter-spacing:.15em;font-weight:700;text-transform:uppercase}.eyebrow .n{color:var(--green);margin-right:18px}.small{font-size:12px;color:var(--muted)}.btn{display:inline-flex;align-items:center;justify-content:space-between;gap:42px;background:var(--green);color:white;padding:17px 25px;font-weight:600;font-size:13px;border:1px solid var(--green);transition:background .2s,transform .2s}.btn:hover{background:#193e30;transform:translateY(-2px)}.btn.secondary{background:transparent;border-color:var(--line);color:var(--ink)}.btn.secondary:hover{background:#e5e8df}.textlink{display:inline-block;border-bottom:1px solid currentColor;padding-bottom:6px;font-size:13px;font-weight:600}.textlink span{margin-left:28px}.intro-strip{display:flex;justify-content:space-between;align-items:center;padding:16px 0;border-bottom:1px solid var(--line);font-size:10px;letter-spacing:.06em}.intro-strip a{text-decoration:underline;text-underline-offset:3px}.journey{position:relative;height:300vh}.scene{position:sticky;top:88px;min-height:620px;height:calc(100svh - 88px);max-height:980px;overflow:hidden;display:flex;flex-direction:column}.scene-main{position:relative;flex:1;display:grid;grid-template-columns:46% 54%;align-items:center;min-height:0}.scene-copy{position:relative;z-index:4;padding:22px 0 38px}.hero-h1{font-size:clamp(46px,4.8vw,74px);font-weight:800;margin-top:20px;line-height:1.4;letter-spacing:-.075em}.hero-h1 span{color:var(--green)}.hero-lead{max-width:380px;font-size:14px;line-height:2.1;margin:22px 0 25px;color:#4f5c56}.hero-links{display:flex;align-items:center;gap:22px}.scene-art{position:relative;height:100%;min-height:360px;isolation:isolate}.scene-art:before{content:'FORM / 01';position:absolute;top:14%;left:5%;font:700 clamp(45px,7vw,100px)/1 Arial,sans-serif;letter-spacing:-5px;color:#e1e4dc;z-index:-1;white-space:nowrap}.product-image{position:absolute;width:124%;max-width:none;left:-12%;top:50%;transform:translateY(-50%);mix-blend-mode:multiply;transition:opacity .65s,transform 1.2s;object-fit:contain}.product-image.closed{opacity:0}.journey[data-step='2'] .closed,.journey[data-step='3'] .closed{opacity:1}.journey[data-step='2'] .exploded,.journey[data-step='3'] .exploded{opacity:0}.journey[data-step='1'] .exploded{transform:translateY(-50%) scale(.93)}.art-label{position:absolute;right:0;bottom:8%;font:11px/1.6 monospace;color:var(--muted);padding-left:20px;border-left:1px solid var(--line)}.crosshair{position:absolute;left:5%;bottom:13%;font:28px/1 monospace;color:#84978c}.art-note{position:absolute;top:12%;right:0;font:10px monospace;color:var(--muted)}.check-point{position:absolute;z-index:2;left:47%;top:48%;opacity:0;transition:opacity .35s;pointer-events:none}.check-point:before{content:'';display:block;width:32px;height:32px;border:1px solid var(--green);border-radius:50%;box-shadow:0 0 0 10px #d5e8a455}.check-point span{position:absolute;left:45px;top:0;white-space:nowrap;background:var(--paper);font-size:11px;padding:2px 10px;border:1px solid var(--line)}.journey[data-step='2'] .check-point{opacity:1}.step-caption{display:flex;align-items:center;gap:16px;padding:12px 0;font-size:12px;color:var(--muted);border-top:1px solid var(--line)}.step-caption strong{color:var(--green);font-family:monospace}.stage-nav{display:grid;grid-template-columns:repeat(4,1fr);padding-bottom:25px;gap:15px}.stage-nav button{background:none;border:0;border-top:2px solid var(--line);text-align:left;padding:12px 0 0;display:flex;gap:12px;align-items:baseline;color:#788078;transition:border-color .3s,color .3s}.stage-nav button.active{border-color:var(--green);color:var(--ink)}.stage-nav b{font:12px monospace}.stage-nav span{font-size:13px;font-weight:600}.stage-nav small{font:9px Arial;letter-spacing:1px;margin-left:auto}.scroll-note{position:absolute;bottom:155px;left:0;font:9px Arial;letter-spacing:2px;color:var(--muted)}.section{padding:110px 0}.section-head{display:flex;justify-content:space-between;align-items:flex-end;gap:35px;margin-bottom:42px}.section-head h2{font-size:clamp(30px,3.2vw,48px);margin-top:15px;font-weight:700}.section-head>p{max-width:340px;font-size:13px;color:var(--muted)}.fields{background:white}.field-grid{display:grid;grid-template-columns:repeat(3,1fr);border-top:1px solid var(--line);border-left:1px solid var(--line)}.field-card{padding:35px 32px;border-right:1px solid var(--line);border-bottom:1px solid var(--line);position:relative;transition:background .2s}.field-card:hover{background:#f3f5ed}.field-index{font:11px monospace;color:var(--muted)}.field-card h3{font-size:23px;margin:30px 0 16px}.field-card p{font-size:13px;color:var(--muted);min-height:74px}.field-card .more{display:block;margin-top:30px;font-size:12px;font-weight:600}.field-card .more span{float:right}.principle{background:var(--ink);color:var(--paper);overflow:hidden}.principle .eyebrow{color:var(--lime)}.principle-layout{display:grid;grid-template-columns:1fr 1fr;gap:80px;align-items:center}.principle h2{font-size:clamp(34px,3.5vw,52px);margin:24px 0}.principle p{font-size:14px;color:#c0cec5}.macro-frame{position:relative;aspect-ratio:1.05;overflow:hidden;background:#dee1d9}.macro-frame img{width:100%;height:100%;object-fit:cover}.macro-frame figcaption{position:absolute;bottom:0;left:0;right:0;padding:14px 20px;background:#14281ed9;color:white;font-size:10px}.principle-list{margin-top:30px;border-top:1px solid #425449}.principle-list div{display:flex;gap:18px;padding:18px 0;border-bottom:1px solid #425449;font-size:13px}.principle-list b{color:var(--lime);font:12px monospace}.principle .textlink{margin-top:30px}.case{display:grid;grid-template-columns:1.25fr 1fr;border-top:1px solid var(--line);border-bottom:1px solid var(--line)}.case-image{position:relative;min-height:350px;background:#e8eae3}.case-image img{width:100%;height:100%;object-fit:cover;mix-blend-mode:multiply}.case-copy{padding:50px 46px;display:flex;flex-direction:column;justify-content:center}.case-copy h3{font-size:30px;margin:18px 0}.case-copy p{font-size:13px;color:var(--muted)}.pill{display:inline-block;padding:4px 10px;border:1px solid var(--line);font-size:10px;margin-right:5px}.case-copy .textlink{align-self:flex-start;margin-top:27px}.studio-teaser{background:#dee8d8;padding:65px 0}.studio-teaser .shell{display:flex;gap:40px;align-items:center;justify-content:space-between}.studio-teaser h2{font-size:30px;margin:12px 0}.studio-teaser p{font-size:13px;max-width:680px}.footer{padding:45px 0 25px;background:var(--paper)}.footer-top{display:flex;justify-content:space-between;gap:30px;align-items:center}.footer-links{display:flex;gap:25px;font-size:12px}.footer-note{font-size:10px;color:var(--muted);border-top:1px solid var(--line);margin-top:35px;padding-top:20px;display:flex;justify-content:space-between;gap:25px}.page-hero{padding:70px 0 60px}.breadcrumb{font-size:11px;color:var(--muted);margin-bottom:50px}.page-hero h1{font-size:clamp(36px,4.6vw,66px);margin:20px 0}.page-hero .lead{max-width:660px;color:var(--muted);font-size:15px}.wide-product{background:#e9ece5;display:grid;grid-template-columns:1fr 1fr;align-items:center;overflow:hidden}.wide-product img{width:100%;mix-blend-mode:multiply}.wide-product .spec{padding:30px 65px}.spec h2{font-size:34px;margin-bottom:20px}.spec dl{font-size:13px;display:grid;grid-template-columns:100px 1fr;margin:20px 0}.spec dt,.spec dd{margin:0;border-top:1px solid #cbd0c6;padding:13px 0}.spec dt{color:var(--muted)}.process-list{border-top:1px solid var(--line)}.process-row{display:grid;grid-template-columns:70px 1fr 1.3fr;gap:40px;border-bottom:1px solid var(--line);padding:35px 0;align-items:start}.process-row .num{font:32px Arial;color:var(--green)}.process-row h3{font-size:24px}.process-row p{font-size:14px;color:var(--muted)}.quality-note{padding:30px;background:#e6ebe0;margin-top:30px;font-size:13px}.studio-hero{background:var(--ink);color:white}.studio-hero .lead{color:#c7d3cb}.studio-hero h1{font-size:clamp(37px,4.5vw,64px)}.service-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:40px;margin-top:45px}.service-block{border-top:1px solid var(--line);padding-top:22px}.service-block h3{font-size:22px;margin:17px 0}.service-block p{font-size:13px;color:var(--muted)}.contact-panel{display:grid;grid-template-columns:1fr 1fr;gap:80px;background:white;padding:55px}.contact-panel h2{font-size:34px;margin:15px 0}.contact-panel p{font-size:13px;color:var(--muted)}.choice-label{display:block;font-size:13px;font-weight:700;margin-bottom:14px}.choices{display:flex;gap:8px;margin-bottom:25px}.choice{border:1px solid var(--line);padding:13px 18px;background:white;font-size:13px}.choice[aria-pressed='true']{background:var(--green);color:white;border-color:var(--green)}.contact-actions .btn{width:100%;margin-bottom:14px}.contact-actions .small{font-size:11px}.faq{border-top:1px solid var(--line);margin-top:40px}.faq details{border-bottom:1px solid var(--line);padding:20px 0}.faq summary{cursor:pointer;font-size:14px;font-weight:600}.faq p{font-size:13px;color:var(--muted);padding:15px 20px 0}.mobile-cta{display:none}.reveal{opacity:1}.js .reveal{opacity:0;transform:translateY(18px);transition:opacity .6s,transform .6s}.js .reveal.visible{opacity:1;transform:none}.no-motion .journey{height:auto}.no-motion .scene{position:relative;top:0}.no-motion .scroll-note{display:none}
.product-image{mask-image:linear-gradient(to right,transparent,#000 7%,#000 93%,transparent),linear-gradient(to bottom,transparent,#000 8%,#000 92%,transparent);mask-composite:intersect}.scene-art:before{z-index:2;top:5%;font-size:clamp(35px,4vw,60px);opacity:.55;pointer-events:none}.scroll-note{bottom:45px}
@media(min-width:1600px){.hero-h1{font-size:76px}.scene-main{grid-template-columns:44% 56%}}
@media(max-width:1000px){.shell{width:calc(100% - 64px)}.header{padding:0 32px}.nav{gap:18px}.scene-main{grid-template-columns:48% 52%}.hero-h1{font-size:47px}.hero-links{gap:15px}.hero-links .btn{gap:18px;padding:14px 18px}.hero-links .textlink{font-size:11px}.principle-layout{gap:40px}.case-copy{padding:30px}.stage-nav small{display:none}.contact-panel{gap:35px;padding:35px}.wide-product .spec{padding:30px}}
@media(max-width:700px){html{scroll-padding-top:74px}.shell{width:calc(100% - 40px)}.header{height:70px;padding:0 20px}.brand-name{font-size:22px}.brand-symbol{width:29px;height:29px;border-width:6px;border-right-width:0}.brand-symbol:after{top:5px;height:6px}.menu{display:block;font-size:11px}.nav{display:none;position:absolute;top:70px;left:0;right:0;padding:20px;background:var(--paper);border-bottom:1px solid var(--line);align-items:stretch}.nav.open{display:flex;flex-direction:column;gap:17px}.intro-strip{font-size:9px;padding:10px 0}.intro-strip .location{display:none}.journey{height:230svh}.scene{top:70px;height:calc(100svh - 70px);min-height:670px;max-height:none}.scene-main{display:block;flex:1}.scene-copy{padding:22px 0 0}.hero-h1{font-size:42px;line-height:1.28;margin-top:10px}.hero-lead{font-size:12px;margin:14px 0 16px;max-width:320px;line-height:1.85}.hero-links .btn{font-size:11px;padding:10px 15px}.hero-links .textlink{font-size:11px;padding:4px 0}.hero-links .textlink span{margin-left:10px}.scene-art{position:absolute;left:0;right:0;bottom:0;top:265px;min-height:0;height:auto;pointer-events:none}.product-image{width:100%;left:0;max-height:100%;object-fit:contain}.scene-art:before{font-size:48px;top:3%;left:0;letter-spacing:-2px}.art-note{top:10%;font-size:8px}.art-label{bottom:4%;font-size:8px;right:0}.crosshair{font-size:20px;bottom:9%;left:0}.step-caption{font-size:10px;gap:10px;padding:8px 0;line-height:1.6;min-height:42px}.stage-nav{gap:10px;padding-bottom:14px}.stage-nav button{gap:5px;padding-top:8px;display:block}.stage-nav b{font-size:10px;display:block;margin-bottom:3px}.stage-nav span{font-size:11px}.scroll-note{display:none}.section{padding:65px 0}.section-head{display:block;margin-bottom:28px}.section-head h2{font-size:31px;margin-top:13px}.section-head>p{margin-top:20px;font-size:12px}.field-grid{grid-template-columns:1fr}.field-card{padding:25px}.field-card h3{margin:12px 0;font-size:23px}.field-card p{min-height:0}.field-card .more{margin-top:15px}.principle-layout{grid-template-columns:1fr;gap:35px}.principle h2{font-size:35px;margin-top:17px}.macro-frame{margin:0;aspect-ratio:1.35}.case{grid-template-columns:1fr}.case-image{min-height:0}.case-copy{padding:28px 20px}.case-copy h3{font-size:26px}.studio-teaser{padding:45px 0}.studio-teaser .shell{display:block}.studio-teaser h2{font-size:27px}.studio-teaser .btn{margin-top:24px}.footer-top{align-items:flex-start;flex-direction:column}.footer-links{gap:16px;flex-wrap:wrap;font-size:11px}.footer-note{display:block;font-size:10px}.footer-note span{display:block;margin-top:12px}.page-hero{padding:35px 0}.breadcrumb{margin-bottom:30px}.page-hero h1{font-size:38px}.page-hero .lead{font-size:13px}.wide-product{grid-template-columns:1fr}.wide-product .spec{padding:25px}.spec h2{font-size:27px}.process-row{grid-template-columns:40px 1fr;gap:16px;padding:25px 0}.process-row p{grid-column:2;font-size:13px}.process-row h3{font-size:22px}.process-row .num{font-size:26px}.service-grid{grid-template-columns:1fr;gap:30px}.contact-panel{grid-template-columns:1fr;gap:30px;padding:28px 20px}.contact-panel h2{font-size:29px}.choices{flex-wrap:wrap}.choice{flex:1;font-size:12px;padding:12px 9px}.check-point{top:44%}.check-point span{font-size:9px;left:35px}.check-point:before{width:25px;height:25px}.no-motion .scene{min-height:680px}}
@media(max-width:700px){.intro-strip{display:block}.intro-strip .tag{font-size:8px}.intro-strip>a{display:block;text-align:right;margin-top:3px}.scene-art:before{display:none}}
@media(max-width:360px){.hero-h1{font-size:37px}.hero-links{gap:12px}.hero-links .textlink{font-size:10px}.scene-art{top:260px}.tag{font-size:9px}.stage-nav span{font-size:10px}.brand-name{font-size:18px}.brand-sub{font-size:6px;letter-spacing:2px}.brand{gap:9px}.header .menu{padding:7px 9px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{transition:none!important;animation:none!important}.js .reveal{opacity:1;transform:none}.journey{height:auto}.scene{position:relative;top:0}.scroll-note{display:none}}
@media(max-width:360px){.hero-h1{font-size:30px;line-height:1.4}.hero-lead{font-size:11px}.scene-art{top:245px}}
@media(max-width:700px) and (max-height:740px){.journey{height:auto}.scene{position:relative;top:0;height:auto;min-height:0}.scene-main{min-height:575px}.scene-art{top:255px}}
html:not(.js) .journey{height:auto}html:not(.js) .scene{position:relative;top:0}html:not(.js) .stage-nav,html:not(.js) .scroll-note,html:not(.js) .menu{display:none}html:not(.js) .nav{display:flex;position:static;flex-wrap:wrap;padding:0;border:0}html:not(.js) .header{height:auto;min-height:88px;gap:20px;padding-top:12px;padding-bottom:12px;flex-wrap:wrap}
@media print{.header{position:static}.journey{height:auto}.scene{position:relative;top:0;height:700px}.reveal{opacity:1!important;transform:none!important}.menu,.stage-nav{display:none}}
.choice[aria-checked='true']{background:var(--green);color:white;border-color:var(--green)}
@media(max-width:700px){body{padding-bottom:72px}.mobile-cta{display:block;position:fixed;z-index:40;right:16px;bottom:14px;left:16px;background:var(--ink);color:white;padding:14px 18px;text-align:center;font-size:13px;font-weight:700;box-shadow:0 8px 24px #172a2540}}
