:root{--navy: #1e3a5f;--navy-dark: #16293f;--camel: #bc8a3c;--white: #ffffff;--bg-light: #f6f7f9;--text: #2a3138;--text-sub: #5a6672;--border: #dde3e9;--radius-btn: 8px;--radius-card: 16px;--shadow-card: 0 2px 12px rgba(30, 58, 95, .08);--shadow-card-hover: 0 16px 32px rgba(30, 58, 95, .16);--content-width: 1080px;--ease: cubic-bezier(.4, 0, .2, 1);--font-serif: "Shippori Mincho", serif}*{margin:0;padding:0;box-sizing:border-box}body{font-family:Hiragino Kaku Gothic ProN,Hiragino Sans,Yu Gothic Medium,Noto Sans JP,sans-serif;color:var(--text);background:var(--white);font-size:17px;line-height:1.9;-webkit-font-smoothing:antialiased}img{max-width:100%;display:block}a{color:var(--navy)}.container{max-width:var(--content-width);margin:0 auto;padding:0 24px}.site-header{background:#ffffffd9;backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);border-bottom:1px solid var(--border);position:sticky;top:0;z-index:100}.site-header .container{display:flex;align-items:center;justify-content:space-between;height:72px}.site-logo{display:inline-block;text-align:center;font-family:var(--font-serif);font-size:21px;font-weight:700;color:var(--navy);text-decoration:none;letter-spacing:.04em}.site-logo small{display:block;font-size:10px;font-weight:400;color:var(--text-sub);letter-spacing:.18em}.global-nav ul{display:flex;gap:8px;list-style:none}.global-nav a{display:block;padding:8px 14px;text-decoration:none;color:var(--text);font-size:15px;border-radius:var(--radius-btn);transition:background .2s var(--ease),color .2s var(--ease)}.global-nav a:hover{background:var(--bg-light)}.global-nav a.is-current{color:var(--navy);font-weight:700;border-bottom:2px solid var(--camel);border-radius:0}.global-nav a.nav-contact{background:var(--navy);color:var(--white);font-weight:600}.global-nav a.nav-contact:hover{background:var(--navy-dark)}.divider{padding:8px 0}.divider .line-navy{height:3px;background:var(--navy);border:none}.divider .line-camel{height:3px;background:var(--camel);border:none;margin-top:6px}.divider--left .line-navy{width:62%;margin-right:auto}.divider--left .line-camel{width:38%;margin-right:auto}.divider--right .line-navy{width:62%;margin-left:auto}.divider--right .line-camel{width:38%;margin-left:auto}.section{padding:88px 0}.section--alt{background:var(--bg-light)}.section-title{font-family:var(--font-serif);font-size:36px;color:var(--navy);line-height:1.4;letter-spacing:.04em;margin-bottom:12px}.section-title-en{display:block;font-size:13px;color:var(--camel);letter-spacing:.22em;text-transform:uppercase;margin-bottom:8px;font-weight:600}.section-lead{color:var(--text-sub);margin-bottom:40px;max-width:760px}.hero{position:relative;overflow:hidden;background:var(--navy-dark);color:var(--white);padding:140px 0 160px}.hero>.container{position:relative;z-index:2}.hero-slides{position:absolute;inset:0;z-index:0}.hero-slides:after{content:"";position:absolute;inset:0;background:#16293f9e}.hero-slide{position:absolute;inset:0;background-size:cover;background-position:center;opacity:0;animation:hero-fade 18s infinite}.hero-slide:first-child{opacity:1}.hero-slide:nth-child(2){animation-delay:6s}.hero-slide:nth-child(3){animation-delay:12s}@keyframes hero-fade{0%{opacity:0}6%{opacity:1}33%{opacity:1}40%{opacity:0}to{opacity:0}}.hero-slide:first-child{animation-name:hero-fade-first}@keyframes hero-fade-first{0%{opacity:1}33%{opacity:1}40%{opacity:0}94%{opacity:0}to{opacity:1}}@media(prefers-reduced-motion:reduce){.hero-slide{animation:none}}.hero .hero-kicker{display:inline-flex;align-items:center;gap:10px;border:1px solid rgba(255,255,255,.4);border-radius:999px;padding:7px 18px;font-size:12px;letter-spacing:.2em;color:var(--white);margin-bottom:28px}.hero .hero-kicker:before{content:"";width:7px;height:7px;border-radius:50%;background:var(--camel)}.hero h1{font-family:var(--font-serif);font-size:52px;letter-spacing:.04em;line-height:1.45;margin-bottom:24px;font-weight:700}.hero p{max-width:680px;font-size:17px;opacity:.95}.hero .photo-placeholder-note{position:absolute;right:20px;bottom:16px;font-size:12px;opacity:.6}.btn{display:inline-block;background:var(--navy);color:var(--white);text-decoration:none;padding:14px 40px;border-radius:var(--radius-btn);font-size:16px;font-weight:600;letter-spacing:.05em;border:1px solid var(--navy);transition:transform .25s var(--ease),box-shadow .25s var(--ease),background .25s var(--ease)}.btn:hover{background:var(--navy-dark);transform:translateY(-3px);box-shadow:0 12px 24px #1e3a5f47}.btn--camel{background:var(--camel);border-color:var(--camel)}.btn--camel:hover{background:#a1762f;box-shadow:0 12px 24px #bc8a3c59}.btn--ghost{background:transparent;color:var(--white);border:1px solid var(--white)}.btn--ghost:hover{background:#ffffff1f;box-shadow:none}.card{background:var(--white);border-radius:var(--radius-card);box-shadow:var(--shadow-card);overflow:hidden}.card-body{padding:24px 28px 28px}.photo-placeholder{background:repeating-linear-gradient(45deg,#e3e8ee,#e3e8ee 14px,#eceff3 14px 28px);color:var(--text-sub);display:flex;align-items:center;justify-content:center;font-size:14px;letter-spacing:.08em;min-height:220px;text-align:center}.photo-placeholder--tall{min-height:360px}.map-embed{display:block;width:100%;height:380px;border:0;border-radius:var(--radius-card);box-shadow:var(--shadow-card)}.btn:disabled{opacity:.45;pointer-events:none}.form-notice{background:var(--bg-light);border-left:4px solid var(--camel);border-radius:var(--radius-btn);padding:14px 18px;font-size:15px;margin-bottom:24px}.photo-placeholder--wide{min-height:420px}.photo{width:100%;object-fit:cover;border-radius:var(--radius-card);box-shadow:var(--shadow-card)}.photo--tall{height:460px}.photo--wide{height:340px}.photo-row{display:grid;grid-template-columns:1fr 1fr;gap:28px;margin-top:48px}.photo-row .photo{height:300px}.machine-units{display:inline-block;margin-left:10px;padding:1px 10px;border-radius:999px;background:#bc8a3c24;color:#8a6320;font-size:13px;font-weight:700;vertical-align:middle}.steps{display:grid;grid-template-columns:repeat(3,1fr);gap:28px}.steps{counter-reset:stepnum}.step{background:var(--white);border-radius:var(--radius-card);box-shadow:var(--shadow-card);padding:36px 28px;text-align:center;transition:transform .3s var(--ease),box-shadow .3s var(--ease);position:relative;overflow:hidden;counter-increment:stepnum}.step:before{content:counter(stepnum,decimal-leading-zero);position:absolute;top:-18px;right:4px;font-family:var(--font-serif);font-size:96px;font-weight:700;color:#1e3a5f12;line-height:1;z-index:0}.step:hover{transform:translateY(-6px);box-shadow:var(--shadow-card-hover)}.step-img,.step-body{position:relative;z-index:1}.step-img{display:block;width:100%;height:180px;object-fit:cover;border-radius:12px;margin-bottom:20px}.step-head{display:flex;flex-direction:column;align-items:center}.step .step-num{display:inline-flex;align-items:center;justify-content:center;width:52px;height:52px;border-radius:50%;background:linear-gradient(135deg,var(--navy),var(--navy-dark));color:var(--white);font-size:22px;font-weight:700;margin-bottom:18px;box-shadow:0 6px 14px #1e3a5f4d}.step h3{color:var(--navy);font-size:21px;margin-bottom:10px}.step p{font-size:15px;color:var(--text-sub);text-align:left}.fabric-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:28px}.fabric-card{display:block;text-decoration:none;color:inherit;position:relative;transition:transform .3s var(--ease)}.fabric-card:hover{transform:translateY(-6px)}.fabric-card-inner{position:relative;background:var(--white);border-radius:var(--radius-card);box-shadow:var(--shadow-card);overflow:hidden;transition:box-shadow .3s var(--ease)}.fabric-card:hover .fabric-card-inner{box-shadow:var(--shadow-card-hover)}.fabric-card .photo-placeholder{min-height:240px}.fabric-card img{width:100%;height:240px;object-fit:cover;border-radius:0;box-shadow:none;transition:transform .5s var(--ease)}.fabric-card:hover img{transform:scale(1.08)}.fabric-card h3{padding:18px 22px;font-size:18px;color:var(--navy);letter-spacing:.06em;position:relative}.fabric-card h3:before{content:"";position:absolute;left:22px;top:0;width:32px;height:3px;background:var(--camel);transition:width .35s var(--ease)}.fabric-card:hover h3:before{width:calc(100% - 44px)}.fabric-card h3:after{content:"→";position:absolute;right:22px;opacity:0;transform:translate(-6px);transition:opacity .25s var(--ease),transform .25s var(--ease);color:var(--camel)}.fabric-card:hover h3:after{opacity:1;transform:translate(0)}.info-table{width:100%;border-collapse:collapse}.info-table th,.info-table td{padding:16px 20px;border-bottom:1px solid var(--border);text-align:left;vertical-align:top;font-size:16px}.info-table th{width:200px;color:var(--navy);font-weight:600;background:var(--bg-light);white-space:nowrap}.machine-group{margin-bottom:48px}.machine-group>h3{color:var(--navy);font-size:22px;margin-bottom:6px;padding-left:14px;border-left:4px solid var(--camel)}.machine-group>.machine-count{color:var(--text-sub);font-size:14px;margin-bottom:20px;padding-left:18px}.machine-list{display:grid;grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:18px}.machine{background:var(--white);border-radius:var(--radius-card);box-shadow:var(--shadow-card);padding:20px 24px;transition:transform .3s var(--ease),box-shadow .3s var(--ease)}.machine:hover{transform:translateY(-4px);box-shadow:var(--shadow-card-hover)}.machine .machine-model{font-size:18px;font-weight:700;color:var(--navy);margin-bottom:4px}.machine .machine-func{font-size:14px;color:var(--camel);font-weight:600;margin-bottom:12px}.machine dl{display:grid;grid-template-columns:auto 1fr;gap:4px 16px;font-size:14px}.machine dt{color:var(--text-sub)}.machine dd{text-align:right}.testing-list{display:grid;grid-template-columns:repeat(auto-fill,minmax(240px,1fr));gap:14px;list-style:none}.testing-list li{background:var(--white);border:1px solid var(--border);border-left:4px solid var(--navy);border-radius:var(--radius-btn);padding:14px 18px;font-size:15px}.form-grid{display:grid;gap:22px;max-width:720px}.form-field label{display:block;font-weight:600;color:var(--navy);font-size:15px;margin-bottom:6px}.required-badge{display:inline-block;background:var(--camel);color:var(--white);font-size:11px;font-weight:700;border-radius:3px;padding:1px 8px;margin-left:8px;vertical-align:middle}.form-field input,.form-field textarea{width:100%;padding:12px 14px;border:1px solid var(--border);border-radius:var(--radius-btn);font-size:16px;font-family:inherit;background:var(--white)}.form-field input:focus,.form-field textarea:focus{outline:2px solid var(--navy);outline-offset:-1px}.form-field textarea{min-height:160px;resize:vertical}.fabric-detail{display:grid;grid-template-columns:1fr 1fr;gap:48px;align-items:start}.fabric-spec th{width:140px}.fabric-catch{list-style:none;margin-bottom:28px}.fabric-catch li{padding:10px 0 10px 30px;position:relative;font-size:17px}.fabric-catch li:before{content:"";position:absolute;left:4px;top:20px;width:14px;height:3px;background:var(--camel)}.pull-quote{margin:48px auto 0;padding:32px 24px 28px;text-align:center;border-top:1px solid var(--border);border-bottom:1px solid var(--border)}.pull-quote-text{display:inline-block;word-break:keep-all;position:relative;font-family:var(--font-serif);font-size:34px;color:var(--navy);line-height:1.5;padding:0 .9em}.pull-quote-text:before,.pull-quote-text:after{position:absolute;font-size:1.8em;line-height:1;color:var(--camel)}.pull-quote-text:before{content:"“";left:-.1em;top:-.25em}.pull-quote-text:after{content:"”";right:-.1em;bottom:-.55em}.pull-quote-caption{display:block;margin-top:18px;font-size:15px;color:var(--text-sub);letter-spacing:.08em}.pull-quote-caption:before{content:"── ";color:var(--camel)}.cta{background:var(--navy);color:var(--white);text-align:center;padding:80px 0}.cta h2{font-size:28px;letter-spacing:.08em;margin-bottom:14px}.cta p{opacity:.9;margin-bottom:32px}.site-footer{background:var(--navy-dark);color:var(--white);padding:56px 0 32px;font-size:14px}.site-footer .footer-name{font-size:18px;font-weight:700;margin-bottom:14px;letter-spacing:.06em}.site-footer address{font-style:normal;opacity:.85;line-height:2}.site-footer .footer-nav{margin:28px 0;display:flex;flex-wrap:wrap;gap:20px}.site-footer .footer-nav a{color:var(--white);text-decoration:none;opacity:.85}.site-footer .footer-nav a:hover{opacity:1;text-decoration:underline}.site-footer .copyright{opacity:.55;border-top:1px solid rgba(255,255,255,.15);padding-top:20px;margin-top:8px}.page-title-band{background:linear-gradient(#16293fb8,#16293fb8),var(--navy);color:var(--white);padding:72px 0 96px;clip-path:polygon(0 0,100% 0,100% calc(100% - 44px),0 100%)}.diagonal-overlap{margin-top:-44px;position:relative}.page-title-band--photo{background-size:cover;background-position:center}.page-title-band .en{display:block;color:var(--camel);font-size:14px;letter-spacing:.22em;text-transform:uppercase;font-weight:600;margin-bottom:8px}.page-title-band h1{font-family:var(--font-serif);font-size:38px;letter-spacing:.06em}.split{display:grid;grid-template-columns:1fr 1fr;gap:56px;align-items:center}.company-profile{align-items:stretch}.company-side{display:flex;flex-direction:column;gap:20px}.company-side>.photo{height:240px}.company-chart{margin:0;background:var(--white);border-radius:var(--radius-card);box-shadow:var(--shadow-card);padding:18px 20px 12px}.company-chart figcaption{font-family:var(--font-serif);font-size:17px;font-weight:700;color:var(--navy);margin-bottom:4px}.company-chart img{width:100%}.proto-note{background:#fff8ec;border:1px dashed var(--camel);border-radius:var(--radius-btn);color:#8a6320;font-size:13px;padding:10px 16px;margin:20px 0}@media(max-width:900px){.steps,.fabric-grid{grid-template-columns:1fr}.split,.fabric-detail{grid-template-columns:1fr;gap:32px}.hero h1{font-size:32px}.section{padding:56px 0}.section-title{font-size:27px}.site-header{position:static}.site-header .container{height:auto;flex-direction:column;padding:12px 16px;gap:8px}.global-nav ul{flex-wrap:wrap;justify-content:center;gap:2px}.info-table th{width:120px}.info-table td{overflow-wrap:anywhere}.photo-row{grid-template-columns:1fr}.photo--tall{height:320px}.step{display:grid;grid-template-columns:minmax(110px,38%) 1fr;gap:18px;align-items:center;padding:16px;text-align:left}.step:before{font-size:64px;top:-10px}.step-img{height:100%;min-height:130px;margin-bottom:0}.step-head{flex-direction:row;gap:10px;margin-bottom:6px}.step .step-num{width:34px;height:34px;font-size:16px;margin-bottom:0;flex-shrink:0}.step h3{font-size:18px;margin-bottom:0}.step p{font-size:14px}.pull-quote-text{font-size:26px}}
