@import url('https://fonts.googleapis.com/css2?family=Noto+Serif+JP:wght@400;700&family=Noto+Sans+JP:wght@300;400;500;700&display=swap');
:root{--red:#C0272D;--red-dark:#8B1A1E;--red-light:#E8474C;--gray-dark:#1a1a1a;--gray-mid:#555;--gray-light:#888;--gray-bg:#f5f5f3;--white:#fff;--border:#ddd;}
*{margin:0;padding:0;box-sizing:border-box;}
body{font-family:'Noto Sans JP',sans-serif;color:var(--gray-dark);background:var(--white);line-height:1.7;font-size:14px;}

/* NAV */
.site-nav{background:var(--gray-dark);position:sticky;top:0;z-index:100;box-shadow:0 2px 8px rgba(0,0,0,0.3);}
.nav-inner{max-width:1100px;margin:0 auto;display:flex;align-items:center;justify-content:space-between;padding:0 24px;height:52px;}
.nav-brand{font-size:11px;color:#aaa;letter-spacing:0.06em;text-decoration:none;}
.nav-brand:hover{color:white;}
.nav-links{display:flex;gap:0;}
.nav-link{color:#aaa;text-decoration:none;font-size:11px;padding:0 14px;height:52px;display:flex;align-items:center;letter-spacing:0.04em;border-bottom:2px solid transparent;transition:all 0.2s;}
.nav-link:hover,.nav-link.active{color:white;border-bottom-color:var(--red);}
.nav-mobile-btn{display:none;background:none;border:none;color:white;font-size:20px;cursor:pointer;padding:0 8px;}

/* HERO */
.hero{background:linear-gradient(135deg,#1a1a1a 0%,#2d1a1a 40%,#3d1010 100%);color:white;padding:48px 24px 40px;position:relative;overflow:hidden;}
.hero::before{content:'';position:absolute;top:-50%;right:-10%;width:500px;height:500px;background:radial-gradient(circle,rgba(192,39,45,0.15) 0%,transparent 70%);pointer-events:none;}
.hero-inner{max-width:1100px;margin:0 auto;}
.hero-top{display:grid;grid-template-columns:1fr 1fr;gap:40px;align-items:start;margin-bottom:28px;}
.hero-badge{display:inline-block;background:var(--red);font-size:10px;letter-spacing:0.12em;padding:3px 12px;margin-bottom:14px;}
.hero h1{font-family:'Noto Serif JP',serif;font-size:28px;font-weight:700;line-height:1.35;margin-bottom:8px;}
.hero h1 span{color:#e88;}
.hero-sub{font-size:15px;opacity:0.55;margin-bottom:20px;font-weight:300;}
.hero-stats{display:grid;grid-template-columns:repeat(3,1fr);gap:12px;}
.hero-stat{border-left:2px solid var(--red);padding-left:12px;}
.hero-stat .num{font-size:22px;font-weight:700;line-height:1.1;}
.hero-stat .unit{font-size:11px;color:#aaa;}
.hero-stat .label{font-size:10px;color:#888;margin-top:2px;}
.hero-features{display:flex;flex-direction:column;gap:10px;}
.hero-feature{background:rgba(255,255,255,0.06);border:1px solid rgba(255,255,255,0.1);padding:13px 16px;display:flex;align-items:flex-start;gap:11px;}
.hero-feature .icon{width:28px;height:28px;background:var(--red);display:flex;align-items:center;justify-content:center;flex-shrink:0;font-size:13px;}
.hero-feature .ftitle{font-size:12px;font-weight:700;margin-bottom:2px;}
.hero-feature .fdesc{font-size:10px;color:#aaa;line-height:1.5;}
.hero-strip{display:grid;grid-template-columns:repeat(4,1fr);border-top:1px solid rgba(255,255,255,0.08);padding-top:18px;}
.hero-strip-item{padding:10px 14px;}
.hero-strip-item .sl{font-size:10px;color:#888;margin-bottom:3px;}
.hero-strip-item .sv{font-size:14px;font-weight:700;}
.hero-strip-item .su{font-size:10px;color:#aaa;}

/* SECTIONS */
.section{padding:44px 24px;max-width:1100px;margin:0 auto;}
.bg-sec{background:var(--gray-bg);padding:44px 24px;}
.bg-sec .section{padding:0;}
.dark-sec{background:var(--gray-dark);color:white;padding:44px 24px;}
.dark-sec .section{padding:0;}
hr.div{border:none;border-top:1px solid var(--border);margin:0;}
.sh{display:flex;align-items:center;gap:12px;margin-bottom:24px;}
.sh .bar{width:4px;height:24px;background:var(--red);flex-shrink:0;}
.sh h2{font-family:'Noto Serif JP',serif;font-size:19px;font-weight:700;}
.sh h2 .en{display:block;font-size:11px;font-weight:400;color:var(--gray-light);margin-top:1px;}
.sh-w h2{color:white;}
.sh-w h2 .en{color:#777;}

/* MEDIA */
.news-block{background:#1a1a1a;color:white;padding:22px 26px;margin-bottom:20px;}
.news-inner{display:flex;align-items:flex-start;gap:24px;}
.news-img{flex-shrink:0;width:200px;}
.news-img img{width:100%;display:block;border:2px solid var(--red);}
.nbadge{display:inline-block;background:var(--red);font-size:10px;padding:2px 10px;margin-bottom:10px;}
.news-content h3{font-family:'Noto Serif JP',serif;font-size:17px;font-weight:700;line-height:1.4;margin-bottom:8px;}
.news-content h3 span{font-size:11px;color:#aaa;font-weight:400;display:block;margin-top:3px;}
.ndesc{font-size:11px;color:#ccc;line-height:1.8;margin-bottom:10px;}
.ndesc-zh{font-size:10px;color:#777;line-height:1.7;margin-bottom:12px;}
.news-tags{display:flex;gap:8px;flex-wrap:wrap;}
.news-tag{background:rgba(255,255,255,0.08);border:1px solid rgba(255,255,255,0.14);padding:6px 12px;font-size:10px;}
.photo-grid{display:grid;grid-template-columns:1fr 1fr 1fr;gap:16px;}
.photo-card{background:white;overflow:hidden;box-shadow:0 2px 8px rgba(0,0,0,0.08);}
.photo-card img{width:100%;height:190px;object-fit:cover;display:block;}
.photo-card .pcap{padding:12px 14px;border-top:3px solid var(--red);}
.photo-card .ptitle{font-size:12px;font-weight:700;margin-bottom:3px;}
.photo-card .pdesc{font-size:10px;color:#888;line-height:1.6;}

/* EFFECTS */
.effect-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:12px;margin-bottom:18px;}
.effect-card{background:var(--gray-bg);padding:16px;border-top:3px solid var(--red);}
.effect-card .icon{font-size:18px;margin-bottom:7px;}
.effect-card .etja{font-weight:700;font-size:12px;margin-bottom:2px;}
.effect-card .etzh{font-size:10px;color:var(--gray-light);margin-bottom:7px;}
.effect-card .edesc{font-size:10px;line-height:1.6;color:var(--gray-mid);}
.effect-card .etag{display:inline-block;background:var(--red);color:white;font-size:9px;padding:1px 6px;margin-top:7px;}
.mech-box{background:#1a1a1a;color:white;padding:18px 22px;margin-top:12px;}
.mech-box h4{font-size:10px;letter-spacing:0.1em;color:var(--red-light);margin-bottom:10px;}
.mech-flow{display:flex;align-items:center;flex-wrap:wrap;}
.mf-step{background:rgba(255,255,255,0.08);border:1px solid rgba(255,255,255,0.14);padding:8px 12px;font-size:10px;text-align:center;flex:1;min-width:90px;}
.mf-step .ja{font-weight:700;font-size:11px;margin-bottom:1px;}
.mf-step .zh{color:#888;font-size:9px;}
.mf-arrow{color:var(--red-light);font-size:14px;padding:0 2px;flex-shrink:0;}

/* MARKET PROOF */
.market-proof{background:linear-gradient(135deg,#1a1a1a 0%,#2d1a0a 100%);color:white;padding:26px;margin:18px 0;}
.mp-badge{display:inline-block;background:var(--red);font-size:10px;padding:2px 10px;margin-bottom:14px;}
.market-proof h3{font-family:'Noto Serif JP',serif;font-size:17px;font-weight:700;margin-bottom:6px;}
.market-proof .mp-sub{font-size:11px;color:#bbb;margin-bottom:18px;}
.mp-grid{display:grid;grid-template-columns:1fr 1fr;gap:18px;margin-bottom:18px;}
.mp-img img{width:100%;display:block;border:2px solid rgba(192,39,45,0.5);}
.mp-img .mcap{background:rgba(255,255,255,0.05);padding:9px 11px;font-size:10px;color:#aaa;line-height:1.5;}
.mp-note{background:rgba(255,255,255,0.05);border:1px solid rgba(255,255,255,0.1);border-left:3px solid var(--red-light);padding:16px 20px;font-size:11px;color:#ccc;line-height:1.9;}
.mp-note .zh{color:#777;font-size:10px;margin-top:6px;line-height:1.7;}
.mp-tags{display:flex;gap:8px;flex-wrap:wrap;margin-top:14px;}
.mp-tag{background:rgba(255,255,255,0.07);border:1px solid rgba(255,255,255,0.12);padding:7px 12px;font-size:10px;}

/* DAIRY */
.dairy-grid{display:grid;grid-template-columns:1fr 1fr;gap:20px;}
.dairy-card{border:1px solid var(--border);padding:20px;position:relative;}
.dairy-card::before{content:'';position:absolute;top:0;left:0;width:100%;height:3px;background:var(--red);}
.dairy-card h4{font-size:12px;font-weight:700;margin-bottom:12px;}
.stat-row{display:flex;justify-content:space-between;align-items:center;padding:6px 0;border-bottom:1px solid #eee;font-size:11px;}
.stat-row:last-child{border-bottom:none;}
.stat-val{font-weight:700;color:var(--red);font-size:12px;}
.rtag{background:var(--gray-bg);border-left:3px solid var(--red);padding:9px 13px;font-size:10px;color:var(--gray-mid);margin-top:12px;line-height:1.6;}

/* PROCESS */
.process-layout{display:grid;grid-template-columns:1fr 1fr;gap:24px;align-items:center;}
.process-img-wrap{overflow:hidden;background:white;border:1px solid var(--border);padding:12px;}
.process-img-wrap img{width:100%;display:block;}
.process-steps-v{display:flex;flex-direction:column;gap:8px;}
.ps-v{display:flex;gap:12px;align-items:flex-start;padding:10px 14px;background:var(--gray-bg);}
.ps-v .pnum{background:var(--red);color:white;font-size:10px;font-weight:700;width:22px;height:22px;border-radius:50%;display:flex;align-items:center;justify-content:center;flex-shrink:0;margin-top:1px;}
.ps-v .ptext .pja{font-size:12px;font-weight:700;}
.ps-v .ptext .pzh{font-size:10px;color:#888;margin-top:1px;}
.ps-v .ptext .pdesc{font-size:10px;color:var(--gray-mid);margin-top:3px;line-height:1.5;}

/* COMPARISON */
.comp-wrap{overflow-x:auto;}
table.comp{width:100%;border-collapse:collapse;font-size:11px;}
table.comp thead tr{background:var(--gray-dark);color:white;}
table.comp thead th{padding:11px 13px;text-align:left;font-weight:500;font-size:10px;}
table.comp thead th.hl{background:var(--red);}
table.comp tbody tr:nth-child(even){background:var(--gray-bg);}
table.comp tbody td{padding:9px 13px;border-bottom:1px solid #e8e8e8;color:var(--gray-mid);}
table.comp tbody td.lc{font-weight:500;color:var(--gray-dark);}
table.comp tbody td.ac{font-weight:700;color:var(--gray-dark);}
table.comp tbody td.win{color:var(--red);font-weight:700;}
.wb{display:inline-block;background:var(--red);color:white;font-size:8px;padding:1px 4px;margin-left:3px;vertical-align:middle;}

/* COST */
.cost-grid{display:grid;grid-template-columns:1fr 1fr 1fr;gap:16px;margin-bottom:24px;}
.cost-card{background:rgba(255,255,255,0.06);border:1px solid rgba(255,255,255,0.12);padding:20px;}
.cost-card.hl{background:var(--red);border-color:var(--red);}
.cost-card .pname{font-size:10px;color:#aaa;margin-bottom:7px;}
.cost-card.hl .pname{color:rgba(255,255,255,0.8);}
.cost-card .price{font-size:26px;font-weight:700;line-height:1;margin-bottom:3px;}
.cost-card .pu{font-size:11px;color:#aaa;}
.cost-card.hl .pu{color:rgba(255,255,255,0.7);}
.cost-card .pdesc{font-size:10px;color:#777;margin-top:7px;line-height:1.5;}
.cost-card.hl .pdesc{color:rgba(255,255,255,0.7);}
.save-tag{display:inline-block;background:#2a9d2a;color:white;font-size:9px;padding:2px 7px;margin-top:7px;}
.scenario{background:rgba(255,255,255,0.04);border:1px solid rgba(255,255,255,0.1);padding:20px;}
.scenario h4{font-size:12px;font-weight:700;margin-bottom:14px;color:#ddd;}
.sc-row{display:grid;grid-template-columns:1fr 1fr 1fr 1fr;border-bottom:1px solid rgba(255,255,255,0.07);}
.sc-row.hdr{background:rgba(255,255,255,0.05);}
.sc-cell{padding:8px 11px;font-size:10px;border-right:1px solid rgba(255,255,255,0.07);}
.sc-cell:last-child{border-right:none;}
.sc-row.hdr .sc-cell{color:#aaa;font-size:9px;}
.sc-cell.red{color:#E8474C;font-weight:700;}
.sc-cell.green{color:#6fcf6f;font-weight:700;}
.cnote{font-size:10px;color:#555;margin-top:12px;line-height:1.6;}
.supply-icons{display:grid;grid-template-columns:1fr 1fr 1fr;gap:12px;margin-top:18px;}
.si{background:rgba(255,255,255,0.05);border:1px solid rgba(255,255,255,0.1);padding:16px;}
.si .sicon{font-size:16px;margin-bottom:7px;}
.si .stitle{font-size:11px;font-weight:700;margin-bottom:4px;}
.si .sdesc{font-size:10px;color:#888;line-height:1.5;}

/* CTA */
.cta-btn{display:inline-block;background:var(--red);color:white;padding:12px 24px;font-size:13px;font-weight:700;text-decoration:none;letter-spacing:0.06em;transition:background 0.2s;cursor:pointer;border:none;}
.cta-btn:hover{background:var(--red-dark);}
.cta-link{color:var(--red-light);text-decoration:underline;cursor:pointer;font-size:12px;}

/* GUIDE */
.guide-table{width:100%;border-collapse:collapse;}
.guide-table thead tr{background:var(--red);color:white;}
.guide-table th{padding:10px 13px;font-size:10px;font-weight:500;text-align:left;}
.guide-table tbody tr{border-bottom:1px solid var(--border);}
.guide-table tbody tr:hover{background:#fdf5f5;}
.guide-table td{padding:11px 13px;font-size:11px;vertical-align:top;}
.guide-table td .ja{font-weight:600;}
.guide-table td .zh{font-size:9px;color:var(--gray-light);margin-top:2px;}
.dose-tag{display:inline-block;background:var(--red);color:white;font-size:10px;font-weight:700;padding:2px 9px;}
.rep-tag{display:inline-block;background:var(--gray-bg);color:var(--gray-dark);font-size:9px;padding:2px 7px;border:1px solid var(--border);margin-top:3px;}

/* SPEC */
.spec-grid{display:grid;grid-template-columns:1fr 1fr;gap:24px;}
.spec-table{width:100%;border-collapse:collapse;}
.spec-table .cat td{background:var(--gray-dark);color:white;font-size:10px;letter-spacing:0.08em;padding:6px 11px;font-weight:500;}
.spec-table tbody tr{border-bottom:1px solid #eee;}
.spec-table td{padding:8px 11px;font-size:11px;}
.spec-table .item{color:var(--gray-mid);}
.spec-table .val{font-weight:700;color:var(--gray-dark);text-align:right;}
.spec-table .unit{color:var(--gray-light);font-size:9px;text-align:right;}

/* SAFETY - 2x2 on mobile enforced */
.safety-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:12px;margin-bottom:20px;}
.safety-card{background:var(--gray-bg);padding:16px;text-align:center;border-bottom:3px solid #4caf50;}
.safety-card.pend{border-color:#ff9800;}
.safety-card .ck{font-size:18px;margin-bottom:6px;}
.safety-card .sitem{font-size:10px;font-weight:700;margin-bottom:2px;}
.safety-card .sres{font-size:9px;color:#4caf50;}
.safety-card.pend .sres{color:#e67e00;}
.safety-card .sstd{font-size:9px;color:var(--gray-light);margin-top:2px;}
.cert-imgs{display:grid;grid-template-columns:1fr 1fr;gap:18px;margin-top:18px;}
.cert-img{border:1px solid var(--border);overflow:hidden;}
.cert-img img{width:100%;display:block;}
.cert-img .ccap{padding:9px 13px;background:var(--gray-bg);font-size:10px;color:var(--gray-mid);border-top:2px solid var(--red);line-height:1.6;}

/* COMPANY */
.company-block{display:grid;grid-template-columns:1fr 1fr;gap:28px;align-items:start;margin-bottom:28px;}
.company-intro{font-size:12px;line-height:1.9;color:var(--gray-mid);}
.company-intro .hl{color:var(--red);font-weight:700;}
.company-intro .zh{font-size:10px;color:#aaa;margin-top:6px;line-height:1.7;border-left:3px solid var(--border);padding-left:12px;}
.pm-grid{display:grid;grid-template-columns:1fr 1fr;gap:11px;}
.pm-card{background:var(--gray-bg);padding:14px;border-left:3px solid var(--red);}
.pm-card .pmnum{font-size:9px;color:var(--red);font-weight:700;margin-bottom:5px;}
.pm-card .pmtitle{font-size:12px;font-weight:700;margin-bottom:3px;}
.pm-card .pmzh{font-size:10px;color:#888;margin-bottom:5px;}
.pm-card .pmdesc{font-size:10px;color:var(--gray-mid);line-height:1.6;}
.future-sec{margin-top:18px;background:#f0f0ee;padding:18px 22px;border-left:4px solid #888;}
.future-sec h4{font-size:12px;font-weight:700;margin-bottom:8px;}
.future-sec p{font-size:11px;color:var(--gray-mid);line-height:1.8;}

/* CONTACT FORM */
.contact-section{background:var(--gray-bg);padding:44px 24px;}
.contact-inner{max-width:700px;margin:0 auto;}
.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:16px;}
.form-group{margin-bottom:16px;}
.form-group label{display:block;font-size:11px;font-weight:700;color:var(--gray-dark);margin-bottom:5px;}
.form-group label .req{color:var(--red);margin-left:3px;}
.form-group input,.form-group select,.form-group textarea{width:100%;padding:10px 14px;border:1px solid var(--border);font-size:13px;font-family:inherit;background:white;color:var(--gray-dark);outline:none;transition:border-color 0.2s;border-radius:0;}
.form-group input:focus,.form-group select:focus,.form-group textarea:focus{border-color:var(--red);}
.form-group textarea{resize:vertical;min-height:100px;}
.form-submit{width:100%;padding:14px;background:var(--red);color:white;border:none;font-size:14px;font-weight:700;cursor:pointer;letter-spacing:0.08em;transition:background 0.2s;font-family:inherit;}
.form-submit:hover{background:var(--red-dark);}
.form-success{background:#e8f5e9;border:1px solid #4caf50;padding:16px 20px;color:#2e7d32;font-size:13px;text-align:center;display:none;margin-top:12px;}

/* FOOTER */
.page-footer{background:#111;color:#666;padding:32px 24px;}
.footer-inner{max-width:1100px;margin:0 auto;display:grid;grid-template-columns:1fr 1fr;gap:32px;}
.footer-brand{font-size:13px;font-weight:500;color:#aaa;margin-bottom:8px;}
.footer-contact .contact-row{display:flex;align-items:center;gap:10px;margin-bottom:6px;font-size:11px;}
.footer-contact a{color:#E8474C;text-decoration:none;}
.footer-note{font-size:9px;color:#444;line-height:1.8;margin-top:12px;}

/* BACK TO TOP */
.back-top{position:fixed;bottom:24px;right:24px;width:44px;height:44px;background:var(--red);color:white;border:none;border-radius:50%;font-size:18px;cursor:pointer;display:none;align-items:center;justify-content:center;box-shadow:0 4px 12px rgba(0,0,0,0.3);transition:all 0.2s;z-index:200;}
.back-top:hover{background:var(--red-dark);transform:translateY(-2px);}
.back-top.visible{display:flex;}

/* FADE IN ANIMATION */
.fade-in{opacity:0;transform:translateY(18px);transition:opacity 0.55s ease,transform 0.55s ease;}
.fade-in.visible{opacity:1;transform:translateY(0);}

/* RESPONSIVE */
@media(max-width:900px){
  .nav-links{display:none;position:absolute;top:52px;left:0;right:0;background:#111;flex-direction:column;padding:8px 0;}
  .nav-links.open{display:flex;}
  .nav-link{height:44px;padding:0 20px;border-bottom:none;border-left:2px solid transparent;}
  .nav-link.active,.nav-link:hover{border-left-color:var(--red);border-bottom:none;}
  .nav-mobile-btn{display:block;}
  .hero-top{grid-template-columns:1fr;gap:20px;}
  .hero-strip{grid-template-columns:1fr 1fr;}
  .news-inner{flex-direction:column;}
  .news-img{width:100%;}
  .photo-grid,.effect-grid,.dairy-grid,.cost-grid,.supply-icons,.spec-grid,.cert-imgs,.company-block,.mp-grid,.pm-grid{grid-template-columns:1fr;}
  .process-layout{grid-template-columns:1fr;}
  .mech-flow{flex-direction:column;}
  .sc-row{grid-template-columns:1fr 1fr;}
  .footer-inner{grid-template-columns:1fr;}
  .safety-grid{grid-template-columns:1fr 1fr;}
  .form-grid{grid-template-columns:1fr;}
}
@media(max-width:480px){
  .hero-stats{grid-template-columns:repeat(3,1fr);gap:8px;}
  .hero-stat .num{font-size:18px;}
}
/* --- 会社介绍图片自适应样式 --- */
.company-photo-wrapper {
  margin-top: 25px;      /* 与上方文字保持间距 */
  width: 100%;           /* 宽度占满父容器 */
  display: block;
}

.company-photo-wrapper img {
  width: 100%;           /* 图片随容器宽度缩放 */
  height: auto;          /* 保持比例不变形 */
  display: block;
  border-radius: 4px;    /* 轻微圆角 */
  box-shadow: 0 4px 12px rgba(0,0,0,0.1); /* 淡淡的阴影，增加质感 */
}

/* 手机端适配：当屏幕小于768px时执行 */
@media (max-width: 768px) {
  .company-photo-wrapper {
    margin-top: 15px;    
    margin-bottom: 20px; /* 在手机上给下方产品留出空隙 */
  }
}