
    :root{
      --blue:#0050a4;
      --blue2:#0b67bd;
      --navy:#12326f;
      --cyan:#eaf6ff;
      --light:#f5f8fc;
      --yellow:#ffe04f;
      --red:#e84655;
      --green:#00a889;
      --text:#22314a;
      --muted:#667085;
      --white:#fff;
      --shadow:0 18px 45px rgba(11,43,85,.12);
      --radius:22px;
    }
    *{box-sizing:border-box}
    body{margin:0;font-family:-apple-system,BlinkMacSystemFont,"Hiragino Sans","Hiragino Kaku Gothic ProN",Meiryo,"Noto Sans JP",sans-serif;color:var(--text);line-height:1.75;background:#fff}
    a{color:inherit;text-decoration:none}
    img{max-width:100%;display:block}
    .container{width:min(1120px,calc(100% - 36px));margin:auto}
    .btn{display:inline-flex;align-items:center;justify-content:center;gap:.45em;padding:16px 28px;border-radius:999px;font-weight:800;box-shadow:0 12px 28px rgba(232,70,85,.22);transition:.2s;background:var(--red);color:white;border:0;cursor:pointer;font-size:1rem}
    .btn:hover{transform:translateY(-2px);box-shadow:0 18px 35px rgba(232,70,85,.28);background:color-mix(in srgb,var(--red) 90%,white)}
    .btn.secondary:hover{background:white}
    .btn.secondary{background:white;color:var(--blue);box-shadow:inset 0 0 0 2px var(--blue),0 10px 25px rgba(0,80,164,.12)}
    .tag{display:inline-flex;align-items:center;border-radius:999px;background:#fff;color:var(--blue);font-weight:800;padding:6px 14px;border:1px solid #c9e5ff;font-size:.92rem}
    .section{padding:82px 0}
    .section.light{background:var(--light)}
    .section-title{text-align:center;margin:0 0 34px}
    .section-title .eyebrow{display:block;color:var(--blue2);font-weight:900;letter-spacing:.08em;font-size:.88rem;margin-bottom:6px}
    .section-title h2{font-size:clamp(1.75rem,3.2vw,2.55rem);line-height:1.35;margin:0;color:var(--navy)}
    .section-title p{max-width:760px;margin:14px auto 0;color:var(--muted)}
    header{position:sticky;top:0;z-index:20;background:rgba(255,255,255,.92);backdrop-filter:blur(10px);border-bottom:1px solid #e6eef7}
    .header-inner{height:72px;display:flex;justify-content:space-between;align-items:center;gap:18px}
    .logo{font-weight:900;color:var(--blue);line-height:1.25}
    .logo small{display:block;color:var(--muted);font-weight:700;font-size:.72rem}
    nav{display:flex;gap:18px;align-items:center;font-weight:800;font-size:.9rem;color:#40506a}
    nav a:not(.btn):hover{color:var(--blue)}
    .header-cta{padding:10px 18px;font-size:.88rem}
    .hero{background:linear-gradient(135deg,#e9f5ff 0%,#fff 55%,#f6fbff 100%);padding:52px 0 70px;overflow:hidden}
    .hero-grid{display:grid;grid-template-columns:1.05fr .95fr;gap:42px;align-items:center}
    .hero h1{font-size:clamp(2.1rem,4.6vw,4.2rem);line-height:1.15;margin:18px 0 14px;color:var(--navy);letter-spacing:-.03em}
    .hero h1 em{font-style:normal;color:var(--blue)}
    .hero h1 .yellow{color:#f3c900;text-shadow:0 1px 0 rgba(0,0,0,.08)}
    .hero-lead{font-size:clamp(1.12rem,2vw,1.5rem);font-weight:800;margin:0 0 18px;color:#1b2f58}
    .hero-copy{color:#4a5b74;margin:0 0 26px;font-size:1.02rem}
    .hero-actions{display:flex;flex-wrap:wrap;gap:14px;margin:28px 0}
    .hero-badges{display:flex;flex-wrap:wrap;gap:10px;margin-top:18px}
    .visual-card{position:relative;background:white;border-radius:30px;padding:28px;box-shadow:var(--shadow);border:1px solid #d8ebff}
    .hero-photo-card{padding:0;overflow:hidden}
    .hero-img{width:100%;height:100%;object-fit:cover;display:block;border-radius:30px}
    .rack{background:#f4efe8;border:10px solid #faf8f6;border-radius:10px;box-shadow:inset 0 0 0 1px #d8d2cb,0 18px 30px rgba(18,50,111,.12);padding:22px 20px 18px;position:relative}
    .shelf{display:grid;grid-template-columns:repeat(4,1fr);gap:18px 16px;padding:10px 0 16px;border-bottom:12px solid #202833;margin-bottom:16px;position:relative}
    .slot{height:72px;border:2px dashed #95a2b2;border-radius:999px;display:flex;align-items:center;justify-content:center;background:rgba(255,255,255,.35);font-weight:900;color:#34445b;font-size:.75rem;position:relative}
    .slot:before{content:"◇";font-size:1rem;color:#0b67bd}
    .slot span{position:absolute;bottom:-19px;background:#202833;color:white;border-radius:3px;padding:0 5px;font-size:.64rem}
    .phone{position:absolute;right:25px;bottom:28px;width:52px;height:96px;background:#101827;border-radius:10px;border:4px solid #101827;box-shadow:-8px 12px 20px rgba(0,0,0,.2)}
    .phone:after{content:"";position:absolute;inset:7px;background:#111827;border-radius:6px}
    .outlet{position:absolute;right:-34px;bottom:68px;background:#fff;border:1px solid #d7dbe2;border-radius:8px;width:52px;height:70px;box-shadow:0 10px 20px rgba(0,0,0,.1)}
    .outlet:before,.outlet:after{content:"";position:absolute;background:#667085;border-radius:6px;width:6px;height:18px;top:22px}.outlet:before{left:17px}.outlet:after{right:17px}
    .cord{position:absolute;right:7px;bottom:96px;width:92px;height:45px;border-bottom:7px solid #111827;border-right:7px solid #111827;border-radius:0 0 35px 0}
    .speech{position:absolute;right:8px;top:8px;background:#fff;border:3px solid var(--blue);color:var(--navy);font-weight:900;border-radius:22px;padding:15px 18px;max-width:180px;text-align:center;line-height:1.45;box-shadow:0 10px 20px rgba(0,80,164,.12)}
    .problem-grid{display:grid;grid-template-columns:repeat(5,1fr);gap:16px}
    .problem{background:#fff;border-radius:18px;padding:22px 16px;text-align:center;box-shadow:0 10px 28px rgba(11,43,85,.08);border:1px solid #e5edf7;font-weight:850;color:#23395d}
    .problem .icon{font-size:2rem;display:block;margin-bottom:8px}
    .solution-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}
    .solution{background:white;border-radius:20px;padding:24px;border:1px solid #d9ebff;box-shadow:0 12px 28px rgba(11,43,85,.08)}
    .solution strong{display:block;color:var(--blue);font-size:1.18rem;margin-bottom:4px}
    .compare{display:grid;grid-template-columns:1fr 1fr;gap:22px;align-items:stretch}
    .compare-card{background:#fff;border-radius:22px;padding:26px;box-shadow:var(--shadow);border:1px solid #e3edf8}
    .compare-card h3{margin:0 0 18px;font-size:1.45rem;color:var(--navy)}
    .compare-card.after{background:#effbff;border-color:#b9e5f5}
    .list{list-style:none;margin:0;padding:0;display:grid;gap:13px}
    .list li{display:flex;gap:10px;align-items:flex-start;font-weight:800}.x{color:#6b7280}.o{color:var(--green)}
    .scene-grid{display:grid;grid-template-columns:1fr 1fr;gap:24px}.scene{border-radius:26px;padding:30px;background:#fff;box-shadow:var(--shadow);border:1px solid #e3edf8}.scene.emergency{background:linear-gradient(160deg,#fff 0%,#fff4f5 100%);border-color:#ffd4d9}.scene h3{margin:0 0 16px;font-size:1.6rem;color:var(--navy)}.scene .label{display:inline-block;border-radius:10px;padding:4px 12px;color:#fff;background:var(--blue);font-weight:900;margin-bottom:14px}.scene.emergency .label{background:var(--red)}
    .spec-wrap{display:grid;grid-template-columns:1fr 1fr;gap:26px;align-items:start}.spec-table{width:100%;border-collapse:collapse;background:#fff;border-radius:18px;overflow:hidden;box-shadow:var(--shadow)}.spec-table th,.spec-table td{padding:14px 16px;border-bottom:1px solid #e6eef7;text-align:left}.spec-table th{width:35%;background:#f1f7ff;color:var(--blue);font-weight:900}.note-box{background:#fff9db;border:2px solid #ffe08a;border-radius:22px;padding:26px;box-shadow:0 12px 28px rgba(167,122,0,.08)}.note-box h3{margin:0 0 10px;color:#7a5400;font-size:1.45rem}
    .contact{background:linear-gradient(135deg,var(--blue) 0%,#07245a 100%);color:#fff}.contact .section-title h2,.contact .section-title p,.contact .section-title .eyebrow{color:#fff}.contact-box{background:#fff;color:var(--text);border-radius:28px;padding:34px;box-shadow:0 24px 55px rgba(0,0,0,.25);display:grid;grid-template-columns:.9fr 1.1fr;gap:30px}.contact-menu{display:grid;gap:12px}.contact-menu div{background:#f2f8ff;border:1px solid #d9ebff;border-radius:16px;padding:16px;font-weight:850}.form{display:grid;gap:14px}.form label{font-weight:800;font-size:.92rem}.form input,.form textarea,.form select{width:100%;margin-top:6px;padding:13px 14px;border-radius:12px;border:1px solid #cdd8e6;font:inherit}.form textarea{min-height:110px;resize:vertical}.privacy{font-size:.78rem;color:#667085;margin:0}
    footer{padding:36px 0;background:#152033;color:#d8e1ef;font-size:.9rem}.footer-grid{display:flex;justify-content:space-between;gap:20px;flex-wrap:wrap}.footer-grid strong{color:#fff;font-size:1.1rem}
    @media(max-width:900px){nav{display:none}.hero-grid,.compare,.scene-grid,.spec-wrap,.contact-box{grid-template-columns:1fr}.problem-grid,.solution-grid{grid-template-columns:repeat(2,1fr)}.visual-card{padding:18px}.speech{position:static;margin-bottom:16px;max-width:none}.outlet,.cord{display:none}}
    @media(max-width:560px){.header-inner{height:64px}.hero{padding-top:34px}.section{padding:58px 0}.problem-grid,.solution-grid{grid-template-columns:1fr}.hero-actions .btn{width:100%}.slot{height:56px}.shelf{gap:12px 9px}.contact-box{padding:22px}.btn{padding:14px 20px}}
  

.japan-made { background: #f7fbff; }
.trust-grid, .visual-grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(220px, 1fr));
  gap: 20px;
  margin-top: 28px;
}
.trust-card, .visual-box {
  background: #fff;
  border: 1px solid #d9e8f7;
  border-radius: 16px;
  padding: 24px;
  box-shadow: 0 8px 24px rgba(0, 91, 172, 0.08);
}
.trust-icon {
  font-size: 32px;
  margin-bottom: 10px;
}
.trust-card h3, .visual-box h3 {
  margin: 0 0 10px;
  color: #005bac;
}
.image-placeholder {
  min-height: 180px;
  border: 2px dashed #b8d4ee;
  background: #f4f9ff;
  border-radius: 14px;
  display: grid;
  place-items: center;
  color: #005bac;
  font-weight: 700;
  margin-bottom: 16px;
}


html { scroll-behavior: smooth; }
.section, .feature-box, .scene-card, .trust-card, .visual-box, .problem-list, table, .spec-list, .line-card {
  animation: softFadeUp .7s ease both;
}
@keyframes softFadeUp {
  from { opacity: 0; transform: translateY(16px); }
  to { opacity: 1; transform: translateY(0); }
}
.line-official {
  background: linear-gradient(135deg, #f3fbf6 0%, #ffffff 100%);
}
.line-card {
  display: grid;
  grid-template-columns: 1.4fr .8fr;
  gap: 28px;
  align-items: center;
  background: #fff;
  border: 2px solid #20b15a;
  border-radius: 20px;
  padding: 34px;
  box-shadow: 0 10px 30px rgba(0, 120, 60, .10);
}
.line-card h2 {
  color: #005bac;
  margin-top: 8px;
}
.line-list {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(180px, 1fr));
  gap: 8px 18px;
  padding-left: 1.2em;
}
.line-qr-area {
  text-align: center;
}
.qr-placeholder {
  width: 220px;
  height: 220px;
  margin: 0 auto 14px;
  border: 3px dashed #20b15a;
  border-radius: 16px;
  display: grid;
  place-items: center;
  background: #f7fff9;
  color: #15803d;
  font-weight: 700;
  line-height: 1.5;
}
.qr-note {
  font-size: .92rem;
  color: #555;
}
.line-button {
  display: inline-block;
  margin-top: 8px;
  background: #06c755;
  color: #fff;
  text-decoration: none;
  padding: 14px 24px;
  border-radius: 999px;
  font-weight: 700;
}
@media (max-width: 768px) {
  .line-card {
    grid-template-columns: 1fr;
    padding: 24px;
  }
  .qr-placeholder {
    width: 190px;
    height: 190px;
  }
}
