<!-- ===== styles.css ===== -->
/* Modern clean corporate design */
:root{
  --accent:#0088cc;
  --accent-dark:#006a9e;
  --bg:#f5f7fa;
  --text:#222;
  --muted:#666;
  --radius:14px;
  --shadow:0 8px 24px rgba(0,0,0,.08);
}
*{box-sizing:border-box;margin:0;padding:0}
body{font-family:"Noto Sans JP",sans-serif;background:var(--bg);color:var(--text);line-height:1.7}
.container{max-width:1200px;margin:0 auto;padding:28px}

/* Fixed elegant header */
.site-header{position:fixed;top:0;width:100%;z-index:1000;backdrop-filter:blur(12px);background:rgba(255,255,255,.85);border-bottom:1px solid #eee;transition:background .3s}
.site-header .container{display:flex;align-items:center;gap:16px;min-height:70px;padding:10px 28px}

.brand-block{
  display:flex;
  align-items:center;
  gap:16px;
}

.company-names{
  display:flex;
  flex-direction:column;
  line-height:1.2;
}

.jp-name{
  font-size:18px;
  font-weight:700;
}

.en-name{
  font-size:13px;
  color:#666;
}

.logo{font-size:22px;font-weight:700;color:var(--accent);text-decoration:none}
.main-nav{margin-left:auto;display:flex;gap:20px}
.main-nav a{text-decoration:none;color:#333;font-weight:500}
.nav-toggle{display:none;background:none;border:0;font-size:22px}

/* Hero with vivid plastic-material texture */
.hero{
  padding:160px 0 120px;
  position:relative;
  background:url('img/plastic-colorful.jpg') center/cover no-repeat;
  color:#fff;
  text-shadow:0 2px 6px rgba(0,0,0,.5);
}
.hero::after{content:"";position:absolute;inset:0;background:rgba(0,0,0,.35)}
.hero .container{position:relative;z-index:2}
.hero h1{font-size:40px;font-weight:700;margin-bottom:16px}
.hero p{font-size:18px;margin-bottom:24px}

/* Buttons */
.btn{
  padding:14px 28px;
  border-radius:var(--radius);
  text-decoration:none;
  display:inline-block;
  box-shadow:var(--shadow);
  transition:.2s;
  border:none;
  cursor:pointer;
  font-size:16px;
}
.btn.primary{
  background:var(--accent);
  color:#fff;
}
.btn.primary:hover{background:var(--accent-dark)}
.btn:hover{transform:translateY(-2px)}

/* Cards */
.services .grid{margin-top:28px;display:grid;grid-template-columns:repeat(auto-fit,minmax(300px,1fr));gap:28px}
.card{background:#fff;border-radius:var(--radius);padding:26px;box-shadow:var(--shadow);transition:.3s}
.card:hover{transform:translateY(-6px);box-shadow:0 14px 32px rgba(0,0,0,.15)}
.card h3{margin-bottom:10px;font-size:22px}
.lead{color:var(--muted)}

/* Material detail layout */
.material-detail{
  margin-top:32px;
  display:flex;
  flex-direction:column;
  gap:40px;
}

.material-item{
  display:block;
}

.material-item img{
  width:100%;
  max-width:420px;
  height:auto;
  display:block;
  margin:16px 0;
  border-radius:12px;
  box-shadow:0 6px 18px rgba(0,0,0,.12);
}

.material-text h3{
  font-size:22px;
  margin-bottom:8px;
}

.material-text p{
  color:#444;
}

/* Company table */
.company-table{width:100%;border-collapse:collapse;margin:26px 0;background:#fff;border-radius:var(--radius);overflow:hidden;box-shadow:var(--shadow)}
.company-table th{background:#eef3f7;padding:14px;width:180px}
.company-table td{padding:14px;border-bottom:1px solid #f1f1f1}
.company-table tr:last-child td{border-bottom:none}

/* Contact form */
.contact-form{
  background:#ffffff;
  padding:28px;
  border-radius:14px;
  box-shadow:0 8px 24px rgba(0,0,0,.08);
}

.contact-form .form-actions{
  margin-top:24px;
  display:flex;
  gap:16px;
}

.contact-form .btn.primary{
  background:#0088cc;
  color:#ffffff;
  border:none;
}

.contact-form .btn.primary:hover{
  background:#006a9e;
}

/* Footer */
.site-footer{margin-top:60px;padding:32px 0;text-align:center;background:#fff;color:#555;border-top:1px solid #eee}

/* Responsive */
@media(max-width:800px){
  .main-nav{display:none}
  .nav-toggle{display:block;margin-left:auto;color:#333}
  .hero{padding:120px 0}
  .hero h1{font-size:30px}
}
