*{box-sizing:border-box;margin:0;padding:0}
html{scroll-behavior:smooth}
body{font-family:"Noto Sans JP",-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;font-weight:400;color:#16324f;background:#f4f6f9;line-height:1.75;font-size:16px}
h1,h2,h3,h4,h5,h6{font-family:"Noto Sans JP",sans-serif;font-weight:700;color:#16324f;letter-spacing:.01em}
h1{font-size:2.2rem;line-height:1.35}
h2{font-size:1.55rem;line-height:1.4;margin:2rem 0 1rem}
h3{font-size:1.2rem;margin:1.2rem 0 .6rem}
p{margin-bottom:1rem;color:#3a4654}
a{color:#16324f;text-decoration:underline;text-decoration-color:#8fa3b8;text-underline-offset:3px}
a:hover{color:#3a4654}
img{max-width:100%;display:block;height:auto}
ul,ol{margin:0 0 1rem 1.2rem;color:#3a4654}
li{margin-bottom:.35rem}
.container{width:100%;max-width:1140px;margin:0 auto;padding:0 1.25rem}
.cookie-strip{position:fixed;top:0;left:0;right:0;z-index:9999;background:#16324f;color:#f4f6f9;padding:.85rem 1.25rem;box-shadow:0 2px 6px rgba(0,0,0,.15);display:none}
.cookie-strip.active{display:block}
.cookie-strip-inner{max-width:1140px;margin:0 auto;display:flex;flex-wrap:wrap;align-items:center;gap:1rem;justify-content:space-between}
.cookie-strip-text{flex:1;min-width:260px;font-size:.92rem;line-height:1.55}
.cookie-strip-text a{color:#c2d1df}
.cookie-strip-actions{display:flex;gap:.6rem;flex-wrap:wrap}
.btn{display:inline-block;padding:.7rem 1.4rem;font-weight:500;font-size:.95rem;border-radius:2px;border:1px solid transparent;cursor:pointer;text-decoration:none;transition:background .2s,color .2s,border-color .2s;font-family:inherit}
.btn-primary{background:#16324f;color:#f4f6f9;border-color:#16324f}
.btn-primary:hover{background:#3a4654;border-color:#3a4654;color:#f4f6f9}
.btn-secondary{background:transparent;color:#16324f;border-color:#16324f}
.btn-secondary:hover{background:#16324f;color:#f4f6f9}
.btn-outline-light{background:transparent;color:#f4f6f9;border-color:#f4f6f9}
.btn-outline-light:hover{background:#f4f6f9;color:#16324f}
.btn-accept{background:#c2d1df;color:#16324f;border-color:#c2d1df}
.btn-accept:hover{background:#f4f6f9;border-color:#f4f6f9}
.btn-reject{background:transparent;color:#f4f6f9;border-color:#8fa3b8}
.btn-reject:hover{background:#3a4654}
.navbar{background:#ffffff;border-bottom:1px solid #c2d1df;position:sticky;top:0;z-index:900}
.navbar.with-cookie{top:64px}
.nav-inner{max-width:1140px;margin:0 auto;padding:.9rem 1.25rem;display:grid;grid-template-columns:1fr auto 1fr;align-items:center;gap:1rem}
.nav-left{display:flex;align-items:center;gap:1.4rem;justify-content:flex-end}
.nav-right{display:flex;align-items:center;justify-content:flex-end}
.brand{display:flex;flex-direction:column;align-items:center;text-align:center;text-decoration:none;color:#16324f;line-height:1.15}
.brand-name{font-weight:700;font-size:1.05rem;letter-spacing:.02em}
.brand-sub{font-size:.7rem;color:#8fa3b8;margin-top:.15rem}
.nav-link{color:#16324f;text-decoration:none;font-size:.93rem;font-weight:500;padding:.4rem .1rem;position:relative}
.nav-link:hover{color:#3a4654}
.nav-item{position:relative}
.nav-dropdown{position:absolute;top:calc(100% + .2rem);left:0;background:#ffffff;border:1px solid #c2d1df;min-width:320px;padding:.6rem 0;box-shadow:0 6px 18px rgba(22,50,79,.1);display:none;z-index:950}
.nav-item:hover .nav-dropdown{display:block}
.nav-dropdown a{display:block;padding:.55rem 1rem;font-size:.88rem;color:#3a4654;text-decoration:none;line-height:1.45}
.nav-dropdown a:hover{background:#f4f6f9;color:#16324f}
.btn-nav-cta{padding:.55rem 1.1rem;font-size:.88rem}
.hero{background:linear-gradient(rgba(22,50,79,.82),rgba(22,50,79,.82)),url("../assets/img/home-hero-precision-plant.jpg") center/cover no-repeat;color:#f4f6f9;padding:5rem 1.25rem 4.5rem;text-align:center}
.hero h1{color:#f4f6f9;font-size:2.4rem;margin-bottom:.8rem}
.hero .subtitle{font-size:1.1rem;color:#c2d1df;margin-bottom:1.8rem;font-weight:500}
.hero-toc{max-width:720px;margin:0 auto 2rem;background:rgba(255,255,255,.06);border-left:3px solid #c2d1df;padding:1rem 1.4rem;text-align:left}
.hero-toc-label{font-size:.8rem;text-transform:uppercase;letter-spacing:.12em;color:#8fa3b8;margin-bottom:.4rem}
.hero-toc ul{list-style:none;margin:0;padding:0;display:flex;flex-wrap:wrap;gap:.4rem 1.2rem}
.hero-toc li{margin:0;color:#f4f6f9;font-size:.95rem}
.hero-toc a{color:#f4f6f9;text-decoration-color:#8fa3b8}
.hero-toc a:hover{color:#c2d1df}
.hero-cta{display:flex;gap:.8rem;justify-content:center;flex-wrap:wrap}
section{padding:4rem 0}
.section-head{max-width:780px;margin:0 auto 2.4rem;text-align:center}
.section-kicker{display:block;font-size:.8rem;letter-spacing:.15em;text-transform:uppercase;color:#8fa3b8;margin-bottom:.6rem}
.section-head h2{color:#16324f;font-size:1.8rem;margin:0 0 .6rem}
.section-head p{color:#3a4654;font-size:1rem}
.mission-block{display:grid;grid-template-columns:1.1fr 1fr;gap:3rem;align-items:center}
.mission-img img{border:1px solid #c2d1df}
.mission-principles{margin-top:1.4rem;display:flex;flex-direction:column;gap:1rem}
.principle{display:grid;grid-template-columns:auto 1fr;gap:1rem;align-items:flex-start;padding-top:1rem;border-top:1px solid #c2d1df}
.principle-num{font-size:1.15rem;font-weight:700;color:#8fa3b8;letter-spacing:.05em}
.principle h3{margin:0 0 .3rem;font-size:1.05rem}
.principle p{margin:0;font-size:.93rem}
.about-section{background:#ffffff;border-top:1px solid #c2d1df;border-bottom:1px solid #c2d1df}
.about-block{display:grid;grid-template-columns:1fr 1.2fr;gap:3rem;align-items:center}
.about-img img{border:1px solid #c2d1df}
.about-icon-list{list-style:none;margin:1.2rem 0 0;padding:0;display:flex;flex-direction:column;gap:.9rem}
.about-icon-list li{display:grid;grid-template-columns:auto 1fr;gap:.9rem;align-items:flex-start;font-size:.95rem;color:#3a4654}
.about-icon-list i{color:#16324f;font-size:1.2rem;margin-top:.15rem}
.grid-articles{display:grid;grid-template-columns:repeat(3,1fr);gap:1.8rem}
.article-card{background:#ffffff;border:1px solid #c2d1df;display:flex;flex-direction:column;transition:transform .2s,box-shadow .2s}
.article-card:hover{transform:translateY(-3px);box-shadow:0 8px 22px rgba(22,50,79,.08)}
.article-card-img{aspect-ratio:16/10;overflow:hidden;border-bottom:1px solid #c2d1df}
.article-card-img img{width:100%;height:100%;object-fit:cover}
.article-card-body{padding:1.2rem 1.25rem 1.4rem;display:flex;flex-direction:column;flex:1}
.card-num{font-size:.78rem;letter-spacing:.15em;color:#8fa3b8;text-transform:uppercase;margin-bottom:.5rem}
.article-card h3{margin:0 0 .6rem;font-size:1.05rem;line-height:1.45}
.article-card h3 a{text-decoration:none;color:#16324f}
.article-card h3 a:hover{color:#3a4654}
.article-card p{font-size:.9rem;color:#3a4654;margin-bottom:1rem;flex:1}
.article-card-meta{font-size:.78rem;color:#8fa3b8;padding-top:.6rem;border-top:1px solid #c2d1df}
.glossary-section{background:#ffffff;border-top:1px solid #c2d1df}
.glossary-grid{display:grid;grid-template-columns:1fr 1fr;gap:3rem;align-items:start}
.glossary-list{list-style:none;margin:0;padding:0}
.glossary-list li{padding:1rem 0;border-bottom:1px solid #c2d1df;display:grid;grid-template-columns:140px 1fr;gap:1rem}
.glossary-list li:first-child{border-top:1px solid #c2d1df}
.glossary-term{font-weight:700;color:#16324f;font-size:.98rem}
.glossary-def{font-size:.9rem;color:#3a4654;margin:0}
.glossary-cta{margin-top:1.4rem}
.glossary-banner img{border:1px solid #c2d1df}
.advantages-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:1.6rem}
.adv-card{background:#ffffff;border-left:3px solid #16324f;padding:1.6rem 1.5rem;position:relative}
.adv-num{font-size:.9rem;font-weight:700;letter-spacing:.18em;color:#8fa3b8;display:block;margin-bottom:.55rem}
.adv-card h3{margin:0 0 .55rem;font-size:1.08rem}
.adv-card p{font-size:.92rem;color:#3a4654;margin:0}
.closing-cta{background:#16324f;color:#f4f6f9;text-align:center}
.closing-cta .section-head h2{color:#f4f6f9}
.closing-cta p{color:#c2d1df}
.closing-cta .hero-cta{margin-top:1.8rem}
.page-head{background:#16324f;color:#f4f6f9;padding:4rem 1.25rem 3rem;text-align:center}
.page-head h1{color:#f4f6f9;margin-bottom:.6rem}
.page-head p{color:#c2d1df;max-width:720px;margin:0 auto}
.breadcrumb{font-size:.85rem;color:#8fa3b8;margin-bottom:.8rem}
.breadcrumb a{color:#c2d1df;text-decoration:none}
.breadcrumb a:hover{text-decoration:underline}
.article-body{max-width:800px;margin:0 auto;padding:3rem 1.25rem}
.article-body .meta-line{font-size:.85rem;color:#8fa3b8;margin-bottom:1.2rem;border-bottom:1px solid #c2d1df;padding-bottom:1rem}
.article-body h1{font-size:1.9rem;margin-bottom:1rem;line-height:1.4}
.article-body h2{border-left:3px solid #16324f;padding-left:.9rem;margin-top:2.4rem}
.article-body img{margin:1.6rem 0;border:1px solid #c2d1df}
.article-body p{margin-bottom:1.2rem}
.prev-next{display:grid;grid-template-columns:1fr 1fr;gap:1.2rem;margin-top:3rem;padding-top:2rem;border-top:1px solid #c2d1df}
.prev-next a{display:block;padding:1rem 1.2rem;border:1px solid #c2d1df;text-decoration:none;background:#ffffff}
.prev-next a:hover{border-color:#16324f;background:#f4f6f9}
.prev-next .pn-label{font-size:.75rem;color:#8fa3b8;text-transform:uppercase;letter-spacing:.12em;display:block;margin-bottom:.3rem}
.prev-next .pn-title{font-size:.95rem;color:#16324f;font-weight:500}
.prev-next .pn-next{text-align:right}
.list-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:1.8rem}
.contact-info-strip{background:#ffffff;padding:2.4rem 0;border-bottom:1px solid #c2d1df}
.contact-info-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:1.5rem}
.contact-info-item{display:grid;grid-template-columns:auto 1fr;gap:1rem;align-items:flex-start}
.contact-info-item i{font-size:1.4rem;color:#16324f;margin-top:.25rem}
.contact-info-item .label{font-size:.78rem;color:#8fa3b8;letter-spacing:.12em;text-transform:uppercase;margin-bottom:.2rem}
.contact-info-item .value{font-size:.95rem;color:#16324f;font-weight:500;line-height:1.5}
.contact-body{display:grid;grid-template-columns:1fr 1fr;gap:3rem;margin-top:3rem}
.contact-text p{margin-bottom:1rem}
.contact-form-card{background:#ffffff;border:1px solid #c2d1df;padding:2rem}
.contact-form-card h2{margin-top:0;font-size:1.25rem}
.form-group{margin-bottom:1.1rem}
.form-group label{display:block;font-size:.88rem;font-weight:500;color:#16324f;margin-bottom:.4rem}
.form-group input,.form-group textarea{width:100%;padding:.65rem .8rem;border:1px solid #c2d1df;background:#f4f6f9;font-family:inherit;font-size:.95rem;color:#16324f;border-radius:2px}
.form-group input:focus,.form-group textarea:focus{outline:none;border-color:#16324f;background:#ffffff}
.form-group textarea{min-height:140px;resize:vertical}
.map-wrap{margin-top:3rem}
.map-wrap iframe{width:100%;height:380px;border:1px solid #c2d1df}
.map-wrap .map-link{margin-top:.8rem;display:inline-block;font-size:.9rem}
.modal-overlay{position:fixed;inset:0;background:rgba(22,50,79,.55);display:none;align-items:center;justify-content:center;z-index:9500;padding:1rem}
.modal-overlay.active{display:flex}
.modal-card{background:#ffffff;max-width:420px;width:100%;padding:2rem;border-top:3px solid #16324f}
.modal-card h3{margin-top:0;font-size:1.15rem}
.modal-card p{font-size:.93rem;margin-bottom:1.4rem}
.footer{background:#16324f;color:#c2d1df;padding:3rem 0 1.4rem;margin-top:0}
.footer-grid{display:grid;grid-template-columns:1.4fr 1fr;gap:3rem;margin-bottom:2rem}
.footer h4{color:#f4f6f9;font-size:.9rem;letter-spacing:.15em;text-transform:uppercase;margin-bottom:1.1rem}
.footer-info{display:flex;flex-direction:column;gap:.8rem}
.footer-info-item{display:grid;grid-template-columns:auto 1fr;gap:.8rem;align-items:flex-start;font-size:.9rem;line-height:1.6}
.footer-info-item i{color:#8fa3b8;font-size:1rem;margin-top:.2rem}
.footer-links{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:.6rem}
.footer-links a{color:#c2d1df;text-decoration:none;font-size:.92rem}
.footer-links a:hover{color:#f4f6f9;text-decoration:underline}
.footer-btn{background:none;border:none;color:#c2d1df;font:inherit;padding:0;cursor:pointer;text-align:left;font-size:.92rem}
.footer-btn:hover{color:#f4f6f9;text-decoration:underline}
.footer-bottom{border-top:1px solid #3a4654;padding-top:1.2rem;text-align:center;font-size:.82rem;color:#8fa3b8}
.policy-body{max-width:860px;margin:0 auto;padding:3rem 1.25rem}
.policy-body h2{font-size:1.3rem;margin-top:2.2rem;border-left:3px solid #16324f;padding-left:.9rem}
.policy-body h3{font-size:1.05rem;margin-top:1.4rem}
.policy-body ul{margin-left:1.4rem}
.policy-body .meta-updated{font-size:.85rem;color:#8fa3b8;margin-top:2.4rem;border-top:1px solid #c2d1df;padding-top:1rem}
@media(max-width:960px){
.nav-inner{grid-template-columns:1fr;gap:.6rem}
.nav-left,.nav-right{justify-content:center;flex-wrap:wrap}
.mission-block,.about-block,.glossary-grid,.contact-body{grid-template-columns:1fr;gap:2rem}
.grid-articles{grid-template-columns:repeat(2,1fr)}
.advantages-grid{grid-template-columns:1fr}
.contact-info-grid{grid-template-columns:1fr}
.footer-grid{grid-template-columns:1fr;gap:2rem}
.list-grid{grid-template-columns:1fr}
.hero h1{font-size:1.9rem}
h1{font-size:1.7rem}
}
@media(max-width:620px){
.grid-articles{grid-template-columns:1fr}
.prev-next{grid-template-columns:1fr}
.glossary-list li{grid-template-columns:1fr;gap:.3rem}
}
