*{box-sizing:border-box}
body{margin:0;font-family:"Noto Sans JP",system-ui,sans-serif;color:#16283d;background:#fff;-webkit-font-smoothing:antialiased}
a{color:#2f86d6;text-decoration:none}
a:hover{color:#1f8a4c}
img{max-width:100%}
::selection{background:#1f8a4c;color:#fff}
input,select,textarea{font-family:inherit}
input:focus,select:focus,textarea:focus{outline:none;border-color:#2f86d6!important;box-shadow:0 0 0 3px rgba(47,134,214,.15)}

/* ハンバーガー */
.nav-toggle-cb{display:none}
.nav-toggle-label{display:none;flex-direction:column;justify-content:center;gap:5px;width:44px;height:44px;cursor:pointer;align-items:center}
.nav-toggle-label span{display:block;width:24px;height:2px;background:#16283d;border-radius:2px;transition:.2s}
.nav-toggle-cb:checked + .nav-toggle-label span:nth-child(1){transform:translateY(7px) rotate(45deg)}
.nav-toggle-cb:checked + .nav-toggle-label span:nth-child(2){opacity:0}
.nav-toggle-cb:checked + .nav-toggle-label span:nth-child(3){transform:translateY(-7px) rotate(-45deg)}

/* アコーディオン（Q&A） */
.qa summary{list-style:none;cursor:pointer}
.qa summary::-webkit-details-marker{display:none}
.qa .plus{transition:transform .2s}
.qa[open] .plus{transform:rotate(45deg)}

/* お問い合わせ帯：モバイルは縦1列、601px以上で横3列 */
.info-strip{display:grid;grid-template-columns:1fr;gap:20px}
@media (min-width:601px){ .info-strip{grid-template-columns:repeat(3,1fr)} }

@media (max-width:960px){
  .hd-inner{flex-wrap:wrap!important;height:auto!important;padding-top:12px!important;padding-bottom:12px!important;gap:12px!important}
  .nav-toggle-label{display:flex!important;order:2;margin-left:auto}
  .hd-cta{order:3}
  .hd-nav{order:4;display:none!important;width:100%;flex-direction:column;gap:0!important;margin-left:0!important;margin-top:10px;border-top:1px solid #e3e7ec}
  .hd-nav a{padding:13px 4px;border-bottom:1px solid #f0f2f5;font-size:15px}
  .nav-toggle-cb:checked ~ .hd-nav{display:flex!important}
  .hero-grid{grid-template-columns:1fr!important;gap:0!important;min-height:0!important;padding-left:0!important;padding-right:0!important}
  .hero-media{min-height:360px!important;order:-1}
  .hero-media > div{position:relative!important;inset:auto!important;height:360px!important;margin:0!important;border-radius:0!important;box-shadow:none!important}
  .hero-inner{padding-left:24px!important;padding-right:24px!important}
  .blog-grid{grid-template-columns:repeat(3,1fr)!important}
  .ft-grid{grid-template-columns:1fr 1fr!important;gap:26px!important}
  .two-col,.split,.contact-cards,.form-row{grid-template-columns:1fr!important}
  .two-col{grid-template-columns:1fr 1fr!important}
  .access-map{aspect-ratio:16/7}
}
@media (max-width:600px){
  .hero-inner{padding:32px 20px!important}
  .hero-title{font-size:30px!important}
  .hero-media{min-height:0!important}
  .hero-media > div{height:auto!important;aspect-ratio:16/11}
  .hero-p br{display:none!important}
  .hero-chip{white-space:nowrap!important}
  .cat-grid{grid-template-columns:1fr 1fr!important;gap:12px!important}
  .blog-grid{grid-template-columns:repeat(2,1fr)!important}
  .ig-grid{grid-template-columns:repeat(3,1fr)!important}
  .hd-nav{font-size:15px!important}
  .page-title{font-size:26px!important}
  .sec-title{font-size:24px!important}
  .sale-title{white-space:nowrap!important;font-size:clamp(15px,5.6vw,24px)!important}
  .two-col{grid-template-columns:1fr!important}
  .ft-grid{grid-template-columns:1fr!important}
  .cta-actions{flex-direction:column;align-items:center}
  .cta-btn{width:280px!important;max-width:100%}
  .access-map{aspect-ratio:auto!important;height:420px!important}
  .item-grid{grid-template-columns:1fr 1fr!important}
  .info-strip > a{width:100%}
  .info-num{font-size:21px!important}
  .info-table{table-layout:fixed!important}
  .info-table th{width:30%!important}
  .info-table td{width:70%!important;word-break:break-all}
}
@media (max-width:400px){
  .cat-grid{grid-template-columns:1fr 1fr!important}
}
@media (max-width:820px){
  .prod-grid{grid-template-columns:1fr!important}
  .prod-grid > div:first-child{border-right:none!important;border-bottom:1px solid #eef1f4}
  .compare-grid{grid-template-columns:1fr!important}
}
