:root{--navy:#b90012;--navy2:#8f0010;--blue:#e60012;--accent:#b7d500;--ink:#20252d;--muted:#68717d;--line:#e5dfe0;--paper:#faf6f6;--white:#fff}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:84px}body{margin:0;color:var(--ink);font-family:'Noto Sans JP',sans-serif;line-height:1.8;letter-spacing:.015em}a{color:inherit;text-decoration:none}.wrap{width:min(1160px,calc(100% - 48px));margin:auto}.site-header{height:82px;padding:0 max(24px,calc((100vw - 1160px)/2));display:flex;align-items:center;justify-content:space-between;background:#fff;position:sticky;top:0;z-index:20;border-bottom:1px solid #e9edf1}.brand{display:flex;align-items:center;gap:16px}.brand-logo{display:block;width:190px;height:54px;object-fit:contain;object-position:left center}.main-nav{display:flex;align-items:center;gap:30px;font-size:18px;font-weight:600}.main-nav a{transition:color .2s}.main-nav a:hover,.text-link:hover{color:var(--blue)}.nav-contact{background:var(--navy);color:#fff!important;padding:16px 18px}.nav-contact span{margin-left:16px}.menu-toggle{display:none}.hero{height:650px;min-height:570px;position:relative;display:flex;align-items:center;background:var(--navy);overflow:hidden;color:#fff}.hero-photo{position:absolute;inset:0;background:url('assets/slide8_6.jpg') center 48%/cover no-repeat;opacity:.43;filter:saturate(.65)}.hero-shade{position:absolute;inset:0;background:linear-gradient(90deg,rgba(75,0,10,.96) 0%,rgba(105,0,14,.86) 48%,rgba(105,0,14,.22) 100%)}.hero-content{position:relative;padding-bottom:22px}.eyebrow{font-size:14px;font-weight:700;letter-spacing:.2em;color:var(--blue);margin:0 0 20px}.eyebrow.light{color:#f5aab1}.hero h1{font-size:clamp(34px,5vw,58px);line-height:1.55;letter-spacing:.025em;margin:0 0 20px;font-weight:700}.hero h1 em{font-style:normal;color:#ffb5bd}.hero-lead{font-size:18px;line-height:2.2;color:#f7e6e8;margin:0 0 32px}.button{display:inline-flex;align-items:center;gap:34px;padding:14px 20px;font-size:20px;font-weight:700}.button-light{background:#fff;color:var(--navy)}.hero-caption{position:absolute;bottom:26px;left:max(24px,calc((100vw - 1160px)/2));font-size:9px;letter-spacing:.22em;color:#c3d0dc}.hero-index{position:absolute;right:max(24px,calc((100vw - 1160px)/2));bottom:26px;font-size:14px;letter-spacing:.12em;color:#bdc9d5}.hero-index span{font-size:20px;color:#fff;margin-right:8px}.section{padding:114px 0}.intro-grid{display:grid;grid-template-columns:1fr 1fr;gap:10%;align-items:start}.intro h2,.section-heading h2,.quality h2{font-size:34px;line-height:1.55;margin:0;font-weight:700;letter-spacing:.03em}.intro h2 span{color:var(--blue)}.intro-copy{padding-top:8px;font-size:18px;color:#566273}.intro-copy p{margin:0 0 18px}.text-link{display:inline-block;color:var(--navy);font-size:20px;font-weight:700;margin-top:16px;border-bottom:1px solid #9aa8b7;padding-bottom:5px}.text-link span{margin-left:18px}.value-strip{display:grid;grid-template-columns:repeat(4,1fr);border-top:1px solid var(--line);border-bottom:1px solid var(--line);margin-top:76px;padding:26px 0}.value-strip div{padding-left:30px;border-right:1px solid var(--line)}.value-strip div:first-child{padding-left:0}.value-strip div:last-child{border:0}.value-strip strong{display:block;font-size:21px;letter-spacing:.04em;color:var(--navy)}.value-strip span{font-size:18px;color:var(--muted)}.services{background:var(--paper)}.section-heading{display:flex;justify-content:space-between;align-items:end;margin-bottom:48px}.section-heading .eyebrow{margin-bottom:16px}.section-heading>p{font-size:16px;color:var(--muted);margin:0 0 5px}.service-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:14px}.service-card{position:relative;background:#fff;padding:30px 25px 26px;min-height:250px;border:1px solid #e9edf1}.service-no{font-size:16px;color:#8b9aaa;letter-spacing:.1em}.service-icon{font-size:31px;color:var(--blue);margin:18px 0 5px}.service-card h3{font-size:17px;margin:0 0 14px}.service-card p{font-size:16px;color:var(--muted);line-height:2;margin:0}.service-en{position:absolute;bottom:18px;right:20px;font-size:8px;letter-spacing:.15em;color:#a4afba}.capability-detail{margin-top:24px;padding:25px 28px;background:#ffffff;display:grid;grid-template-columns:220px 1fr;gap:20px}.capability-detail h3{font-size:18px;margin:0 0 5px}.capability-detail p{font-size:16px;color:var(--muted);margin:0}.tag-list{display:flex;flex-wrap:wrap;gap:8px;align-content:center}.tag-list span{background:#faf6f6;padding:6px 14px;font-size:14px;color:#4b5b6b}.production-band{display:grid;grid-template-columns:1fr 1fr;background:var(--navy);color:#fff;min-height:420px}.production-image{background:url('assets/slide8_6.jpg') center/cover no-repeat;min-height:420px}.production-copy{padding:76px max(40px,calc((100vw - 1160px)/2)) 70px 70px;align-self:center}.production-copy h2{font-size:31px;line-height:1.6;margin:0 0 20px}.production-copy>p:last-child{font-size:18px;line-height:2.2;color:#f0dadd;max-width:490px;margin:0}.products{background:#fff}.gallery{display:grid;grid-template-columns:1.2fr 1fr 1fr;grid-template-rows:230px 230px;gap:16px}.gallery-item{margin:0;position:relative;background:#f4f6f8;overflow:hidden}.gallery-item img{width:100%;height:100%;object-fit:contain;padding:18px;transition:transform .4s}.gallery-item:hover img{transform:scale(1.04)}.gallery-large{grid-row:span 2}.gallery-large img{padding:34px}.gallery-item figcaption{position:absolute;left:0;right:0;bottom:0;padding:34px 18px 16px;background:linear-gradient(transparent,rgba(10,23,39,.78));color:#fff;display:flex;align-items:baseline;justify-content:space-between;gap:14px}.gallery-item figcaption strong{font-size:16px}.gallery-item figcaption span{font-size:8px;letter-spacing:.12em;color:#d8e2eb}.gallery-note{font-size:14px;color:#8a96a3;margin:15px 0 0}.quality{background:#faf4f4}.quality-grid{display:grid;grid-template-columns:.9fr 1.1fr;gap:8%;align-items:center}.quality h2{font-size:32px;margin-bottom:20px}.quality-copy>p:not(.eyebrow){font-size:18px;color:#596777;line-height:2.2}.quality-policy{margin-top:32px;padding:20px 22px;border-left:3px solid var(--blue);background:#fff}.quality-policy span{font-size:9px;letter-spacing:.16em;color:var(--blue);font-weight:700}.quality-policy p{font-size:16px;margin:8px 0 0;color:#596777}.quality-photos{display:grid;grid-template-columns:1fr 1fr;grid-template-rows:190px 150px;gap:16px}.quality-photos img{width:100%;height:100%;object-fit:cover}.quality-photos .quality-main{grid-column:span 2}.company{background:#fff}.company-layout{display:grid;grid-template-columns:1.4fr .8fr;gap:8%}.company-table dl{display:grid;grid-template-columns:130px 1fr;margin:0;border-top:1px solid var(--line)}.company-table dt,.company-table dd{margin:0;padding:15px 16px;border-bottom:1px solid var(--line);font-size:16px}.company-table dt{font-weight:700;color:#526173}.company-table dd{color:#283748}.company-table dd a:hover{color:var(--blue)}.company-message{background:var(--paper);padding:35px;align-self:start}.message-mark{font-size:25px;font-weight:800;color:var(--blue);letter-spacing:-.08em}.company-message h3{font-size:22px;line-height:1.7;margin:20px 0 16px}.company-message p{font-size:16px;color:var(--muted);line-height:2.2;margin:0}.contact{background:var(--navy);color:#fff;padding:75px 0}.contact-inner{display:flex;justify-content:space-between;align-items:center;gap:40px}.contact h2{font-size:27px;line-height:1.65;margin:0 0 16px}.contact-inner>div:first-child>p:last-child{font-size:16px;color:#c5d1dd;margin:0}.contact-actions{min-width:280px;display:flex;flex-direction:column;align-items:flex-start}.contact-mail{background:#fff;color:var(--navy);padding:15px 20px;font-size:16px;font-weight:700;width:100%;display:flex;justify-content:space-between}.contact-mail span{margin-left:20px}.contact-phone{font-size:23px;font-weight:700;letter-spacing:.04em;margin-top:16px}.contact-actions>span{font-size:9px;color:#aebdcb}.footer{background:#310008;color:#aab6c4;padding:25px 0}.footer-inner{display:flex;align-items:center;justify-content:space-between;gap:20px;font-size:9px}.brand-footer .brand-logo{width:165px;height:48px;filter:none;}.footer-inner>span:last-child{letter-spacing:.1em}
@media(max-width:850px){.main-nav{gap:16px;font-size:14px}.nav-contact{padding:14px 16px}.service-grid{grid-template-columns:repeat(2,1fr)}.production-copy{padding:50px 34px}.company-layout{gap:4%}.company-table dl{grid-template-columns:105px 1fr}}
@media(max-width:640px){.wrap{width:calc(100% - 40px)}.site-header{height:68px;padding:0 20px}.brand-mark{font-size:23px}.menu-toggle{display:flex;flex-direction:column;gap:6px;border:0;background:none;padding:14px}.menu-toggle span{display:block;width:23px;height:2px;background:var(--navy)}.main-nav{display:none;position:absolute;top:68px;left:0;right:0;background:#fff;padding:18px 22px 24px;box-shadow:0 14px 18px #5a00101c;flex-direction:column;align-items:stretch;gap:0}.main-nav.open{display:flex}.main-nav a{padding:13px 4px;border-bottom:1px solid #edf0f3;font-size:16px}.main-nav .nav-contact{margin-top:16px;padding:13px 15px}.hero{height:614px;min-height:0}.hero-photo{background-position:60% center}.hero-shade{background:linear-gradient(90deg,rgba(75,0,10,.94),rgba(105,0,14,.68))}.hero-content{padding-bottom:20px}.hero h1{font-size:34px}.hero-lead{font-size:16px}.hero-caption{font-size:7px;bottom:20px}.hero-index{bottom:17px}.section{padding:76px 0}.intro-grid,.quality-grid{grid-template-columns:1fr;gap:28px}.intro h2,.section-heading h2{font-size:28px}.intro-copy{font-size:16px}.value-strip{margin-top:45px;grid-template-columns:repeat(2,1fr);row-gap:20px}.value-strip div{padding-left:15px}.value-strip div:nth-child(odd){padding-left:0}.value-strip div:nth-child(2){border-right:0}.value-strip strong{font-size:17px}.section-heading{display:block;margin-bottom:30px}.section-heading>p{margin-top:15px}.service-grid{gap:9px}.service-card{padding:20px 16px;min-height:235px}.service-card h3{font-size:14px}.service-card p{font-size:14px}.service-icon{margin:16px 0 4px}.service-en{font-size:7px;right:16px}.capability-detail{grid-template-columns:1fr;padding:20px;gap:14px}.tag-list{gap:6px}.tag-list span{font-size:9px}.production-band{grid-template-columns:1fr}.production-image{min-height:240px}.production-copy{padding:45px 24px 50px}.production-copy h2{font-size:26px}.production-copy>p:last-child{font-size:16px}.gallery{grid-template-columns:1fr 1fr;grid-template-rows:180px 180px 180px;gap:9px}.gallery-large{grid-row:auto;grid-column:span 2}.gallery-item img{padding:16px}.gallery-large img{padding:18px}.gallery-item figcaption{padding:28px 14px 8px;display:block}.gallery-item figcaption strong{display:block;font-size:14px}.gallery-item figcaption span{font-size:7px}.quality h2{font-size:27px}.quality-photos{grid-template-rows:160px 120px}.company-layout{grid-template-columns:1fr;gap:28px}.company-table dl{grid-template-columns:95px 1fr}.company-table dt,.company-table dd{font-size:14px;padding:13px 8px}.company-message{padding:25px}.contact{padding:55px 0}.contact-inner{display:block}.contact h2{font-size:23px}.contact-actions{margin-top:28px;min-width:0}.footer-inner{align-items:flex-start;flex-direction:column;gap:13px}.footer-inner>span:last-child{align-self:flex-end}}
