/* ====================================================
   MASUDA AUTO  -  page.css (下層ページ共通)
   ==================================================== */
.page-hero{
  background:linear-gradient(120deg,var(--blue-deep),var(--blue));
  color:#fff;padding:48px 22px 40px;text-align:center;position:relative;overflow:hidden;
}
.page-hero::after{
  content:"";position:absolute;right:-40px;bottom:-40px;width:160px;height:160px;
  border:18px solid rgba(255,255,255,.06);border-radius:50%;
}
.page-hero h1{font-size:30px;font-weight:900;letter-spacing:1px}
.page-hero p{font-size:13px;opacity:.85;margin-top:6px}
.breadcrumb{font-size:11px;color:var(--muted);padding:12px 18px;max-width:var(--maxw);margin-inline:auto}
.breadcrumb a{color:var(--blue)}

.wrap{max-width:var(--maxw);margin-inline:auto;padding:10px 18px 50px}

/* ---- stock list ---- */
.stock-filter{display:flex;gap:8px;flex-wrap:wrap;margin-bottom:22px}
.stock-filter button{
  border:1.5px solid var(--border);background:#fff;color:var(--text);
  border-radius:30px;padding:7px 16px;font-size:13px;font-weight:700;cursor:pointer;transition:.2s;
}
.stock-filter button.is-active{background:var(--blue);color:#fff;border-color:var(--blue)}
.stock-grid{display:grid;grid-template-columns:1fr;gap:16px}

/* ---- service detail ---- */
.svc-block{background:#fff;border:1px solid var(--border);border-radius:var(--radius);padding:24px 20px;margin-bottom:18px;box-shadow:var(--shadow-sm);scroll-margin-top:80px}
.svc-block h2{font-size:20px;color:var(--blue-deep);display:flex;align-items:center;gap:10px;margin-bottom:10px}
.svc-block .ic{font-size:26px;display:inline-flex;align-items:center}
.svc-block .ic img{width:32px;height:32px;object-fit:contain}
.svc-new{background:var(--yellow);color:var(--blue-deep);font-size:11px;font-weight:900;padding:3px 9px;border-radius:20px;margin-left:8px;vertical-align:middle;letter-spacing:.5px}
.svc-block p{font-size:14px;color:var(--text)}
.svc-block ul{margin:12px 0 0 0;list-style:none}
.svc-block li{font-size:13.5px;padding:7px 0 7px 26px;position:relative;border-bottom:1px dashed var(--border)}
.svc-block li::before{content:"✓";position:absolute;left:2px;color:var(--blue);font-weight:900}

/* ---- company ---- */
.info-table{width:100%;border-collapse:collapse;background:#fff;border-radius:var(--radius);overflow:hidden;box-shadow:var(--shadow-sm)}
.info-table th,.info-table td{padding:14px 16px;font-size:13.5px;text-align:left;border-bottom:1px solid var(--border);vertical-align:top}
.info-table th{background:var(--gray);color:var(--blue-deep);width:34%;font-weight:700;white-space:nowrap}
.map-embed{margin-top:20px;border-radius:var(--radius);overflow:hidden;box-shadow:var(--shadow-sm);line-height:0}
.map-embed iframe{width:100%;height:300px;border:0}

/* ---- contact ---- */
.contact-lead{text-align:center;font-size:14px;margin-bottom:24px}
.contact-cards{display:grid;gap:14px;margin-bottom:30px}
.contact-card{display:flex;align-items:center;gap:14px;border-radius:var(--radius);padding:18px 20px;color:#fff;box-shadow:var(--shadow)}
.contact-card--tel{background:var(--yellow);color:var(--blue-deep)}
.contact-card--line{background:var(--line)}
.contact-card__ic{font-size:30px;flex:none}
.contact-card b{display:block;font-size:20px;font-family:"Montserrat",sans-serif}
.contact-card small{display:block;font-size:12px;opacity:.9}
.form{background:#fff;border:1px solid var(--border);border-radius:var(--radius);padding:24px 20px;box-shadow:var(--shadow-sm)}
.form label{display:block;font-size:13px;font-weight:700;margin:14px 0 6px}
.form .req{color:#e0392b;font-size:11px;margin-left:4px}
.form input,.form textarea,.form select{
  width:100%;border:1.5px solid var(--border);border-radius:10px;padding:12px;font-size:15px;font-family:inherit;
}
.form input:focus,.form textarea:focus,.form select:focus{outline:none;border-color:var(--blue)}
.form textarea{min-height:120px;resize:vertical}
.form__submit{width:100%;margin-top:22px;background:var(--blue);color:#fff;border:none;border-radius:30px;padding:15px;font-size:16px;font-weight:700;cursor:pointer}
.form__note{font-size:11px;color:var(--muted);margin-top:12px;text-align:center}

@media(min-width:768px){
  .wrap{max-width:var(--maxw-pc)}
  .breadcrumb{max-width:var(--maxw-pc)}
  .page-hero h1{font-size:40px}
  .stock-grid{grid-template-columns:repeat(3,1fr)}
  .contact-cards{grid-template-columns:1fr 1fr}
}
