.fleet-hero{padding:92px 6vw 78px;text-align:center;background:linear-gradient(130deg,#eef7fd,#f7f2e8)}
.fleet-hero>p,.fleet-contact>p{font:700 11px "DM Sans";letter-spacing:.18em;color:#b58c32}
.fleet-hero h1{font-size:54px;margin:15px 0 13px}
.fleet-hero span{display:block;color:#687a86}
.fleet-hero>a{display:inline-block;margin-top:28px;color:#275d8a;font-size:13px;font-weight:700}
.fleet-all{padding:65px 6vw 105px;background:#f5f8fb}
.fleet-filter{display:flex;justify-content:center;gap:10px;margin-bottom:35px}
.fleet-filter button{border:1px solid #cbd8df;background:#fff;color:#17334b;border-radius:999px;padding:10px 21px;font-weight:700;cursor:pointer}
.fleet-filter button.active{background:#092f50;color:#fff;border-color:#092f50}
.vehicle-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:22px;max-width:1180px;margin:auto}
.vehicle-grid article{background:#fff;border-radius:12px;overflow:hidden;box-shadow:0 8px 25px rgba(23,51,75,.08)}
.vehicle-grid article[hidden]{display:none}
.vehicle-grid img{width:100%;height:250px;object-fit:cover}
.vehicle-grid article>div{padding:24px}
.vehicle-grid small{font:700 10px "DM Sans";letter-spacing:.16em;color:#b58c32}
.vehicle-grid h2{font:700 19px "DM Sans";min-height:48px;margin:12px 0 8px}
.vehicle-grid p{min-height:55px;color:#71808a;font-size:13px;line-height:1.8}
.vehicle-grid strong{display:block;margin:18px 0;font-size:18px}
.vehicle-grid em{font-style:normal;font-size:10px;color:#77858e}
.vehicle-grid a{color:#275d8a;font-size:12px;font-weight:700}
.vehicle-detail{display:none;padding:95px 6vw;background:#fff;scroll-margin-top:70px}
.detail-only .fleet-hero,.detail-only .fleet-all,.detail-only .fleet-contact{display:none}
.detail-only .vehicle-detail.selected-detail{display:block}
.vehicle-detail.tone{background:#f2f7f8}
.detail-heading{max-width:1180px;margin:0 auto 32px;display:flex;justify-content:space-between;align-items:flex-end;gap:40px}
.detail-heading small{font:700 11px "DM Sans";letter-spacing:.16em;color:#b58c32}
.detail-heading h2{font:600 42px "Noto Serif JP";margin:12px 0 10px;color:#17334b}
.detail-heading p{max-width:700px;color:#697a85;line-height:1.9}
.detail-heading>strong{white-space:nowrap;font-size:24px;color:#17334b}
.detail-heading em{display:block;text-align:right;font-style:normal;font-size:11px;color:#7b8991;margin-top:5px}
.detail-gallery{max-width:1180px;margin:auto;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}
.detail-gallery img{width:100%;height:auto;aspect-ratio:16/10;object-fit:cover;border-radius:10px}
.detail-body{max-width:1180px;margin:38px auto 0;display:grid;grid-template-columns:1fr 1fr;gap:70px;align-items:start}
.detail-copy h3{font-size:27px;color:#17334b;margin:0 0 14px}
.detail-copy p{color:#697a85;line-height:2}
.detail-copy a{display:inline-block;margin-top:22px;padding:15px 22px;background:#49b95c;color:#fff;font-weight:700}
.detail-body dl{margin:0;border-top:1px solid #dce5e9}
.detail-body dl div{display:grid;grid-template-columns:115px 1fr;padding:13px 0;border-bottom:1px solid #dce5e9;font-size:13px}
.detail-body dt{font-weight:700;color:#17334b}.detail-body dd{margin:0;color:#667985}
.detail-back{display:block;max-width:1180px;margin:34px auto 0;text-align:right;color:#275d8a;font-size:13px;font-weight:700}
.fleet-contact{text-align:center;padding:85px 20px;background:linear-gradient(115deg,#0b3150,#2b655d);color:#fff}
.fleet-contact h2{font-size:42px;margin:15px 0}
.fleet-contact span{display:block;color:#dbe7e7}
.fleet-contact a{display:inline-block;margin-top:28px;padding:15px 28px;background:#49b95c;color:#fff;font-weight:700}
@media(max-width:820px){
  .fleet-hero{padding:60px 22px 52px}
  .fleet-hero h1{font-size:38px;line-height:1.45}
  .fleet-all{padding:38px 18px 70px}
  .fleet-filter{justify-content:flex-start;overflow-x:auto;padding-bottom:5px}
  .fleet-filter button{white-space:nowrap}
  .vehicle-grid{grid-template-columns:1fr}
  .vehicle-grid img{height:auto;aspect-ratio:16/10}
  .vehicle-grid h2,.vehicle-grid p{min-height:0}
  .vehicle-detail{padding:65px 18px}
  .detail-heading{display:block;margin-bottom:24px}
  .detail-heading h2{font-size:31px;line-height:1.35}
  .detail-heading>strong{display:block;margin-top:20px;font-size:22px}
  .detail-heading em{text-align:left}
  .detail-gallery{grid-template-columns:1fr 1fr;gap:8px}
  .detail-gallery img{height:auto;aspect-ratio:16/10}
  .detail-gallery img:first-child{grid-column:1/-1}
  .detail-body{grid-template-columns:1fr;gap:38px;margin-top:28px}
  .detail-copy h3{font-size:23px}
  .detail-copy a{display:block;text-align:center}
  .detail-body dl div{grid-template-columns:95px 1fr}
  .fleet-contact h2{font-size:33px}
}
