:root{--blue:#1267b0;--dark:#173b5e;--pale:#f1f8fd;--line:#dce9f2}
*{box-sizing:border-box}html{scroll-behavior:smooth}
body{margin:0;background:#fff;color:#173b5e;font-family:"Helvetica Neue","Yu Gothic","Hiragino Sans","Noto Sans JP","Noto Sans CJK JP",sans-serif}
a{color:inherit;text-decoration:none}
header{height:80px;display:flex;align-items:center;padding:0 4.5vw;gap:30px;border-bottom:1px solid var(--line);background:#fff}
.brand{font-weight:800;font-size:19px;letter-spacing:.06em}.brand small{display:block;font-size:8px;letter-spacing:.14em;color:#6c8aa3}
nav{margin-left:auto;display:flex;gap:24px;font-size:12px}.contact{background:var(--blue);color:#fff;padding:14px 24px;clip-path:polygon(10% 0,100% 0,90% 100%,0 100%)}
.hero{display:grid;grid-template-columns:1.05fr 1fr;min-height:680px;overflow:hidden}.hero-copy{padding:110px 3vw 60px 7vw;display:flex;flex-direction:column;justify-content:center}
.mini{font-size:10px;letter-spacing:.2em;color:#6f96b5}.hero h1{font-size:clamp(37px,4.7vw,78px);line-height:1.22;margin:14px 0 26px;letter-spacing:-.04em}.hero h1 span{color:var(--blue);font-family:"Yu Mincho","Hiragino Mincho ProN","Noto Serif JP","Noto Serif CJK JP",serif;font-weight:500}
.hero-copy>p{line-height:2;max-width:520px}.outline-btn{display:inline-block;width:max-content;margin-top:24px;border:1px solid #91b5cf;padding:13px 18px;font-size:12px}
.hero-shape{position:relative;background:linear-gradient(135deg,#edf7fd,#ddecf7);clip-path:polygon(18% 0,100% 0,100% 100%,0 100%,10% 50%);padding:38px 0 38px 70px}
.hero-photo{height:100%;background:url("../assets/family_service.jpg") center/cover}
.pickup{padding:80px 5vw}.section-title h2{font-size:42px;margin:6px 0 28px}.pickup-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:16px}
.pickup-grid article{border-top:3px solid var(--blue);padding-top:10px}.pimg{height:210px;background-size:cover;background-position:center}.p1{background-image:url("../assets/family_service.jpg")}.p2{background-image:url("../assets/engine_service.jpg")}.p3{background-image:url("../assets/body_repair.jpg")}.p4{background-image:url("../assets/polishing.jpg")}
.pickup-grid h3{margin-bottom:8px}.pickup-grid p{font-size:13px;line-height:1.7;color:#66829a}
.about{display:grid;grid-template-columns:1fr 1fr;background:var(--pale)}.about-photo{min-height:580px;background:url("../assets/garage_exterior.jpg") center/cover;clip-path:polygon(0 0,92% 0,100% 50%,92% 100%,0 100%)}
.about-copy{padding:90px 7vw}.about h2,.works h2,footer h2{font-size:clamp(38px,4.5vw,62px);line-height:1.28;margin:14px 0 24px}.about-copy>p{line-height:2;color:#5e7b93}.stats{display:grid;grid-template-columns:repeat(3,1fr);gap:18px;margin-top:40px}.stats div{border-top:1px solid #9bbbd1;padding-top:12px}.stats strong{display:block;font-size:32px}.stats span{font-size:9px;letter-spacing:.16em;color:#7d9ab0}
.works{display:grid;grid-template-columns:.8fr 1.2fr;padding:100px 5vw;gap:40px}.works-copy{padding:40px 2vw}.works-copy a{display:inline-block;margin-top:20px;color:var(--blue);font-size:13px}.works-cards{display:grid;grid-template-columns:1fr 1fr;gap:18px}.works-cards article{min-height:460px;background-size:cover;background-position:center;position:relative}.works-cards span{position:absolute;left:16px;bottom:16px;background:#fff;padding:10px 14px}.wc1{background-image:url("../assets/body_repair.jpg")}.wc2{background-image:url("../assets/engine_service.jpg")}
.sky-banner{min-height:310px;background:linear-gradient(rgba(24,105,171,.2),rgba(24,105,171,.12)),url("../assets/coastline.jpg") center/cover;display:grid;place-items:center;text-align:center;color:#fff}.sky-banner h2{font-size:54px;letter-spacing:.12em;margin:10px 0}
footer{padding:70px 5vw;display:flex;justify-content:space-between;align-items:center;background:#fff}footer a{background:var(--blue);color:#fff;padding:16px 24px}
@media(max-width:900px){nav{display:none}.hero{grid-template-columns:1fr}.hero-shape{min-height:420px;clip-path:none;padding:0}.pickup-grid{grid-template-columns:1fr 1fr}.about{grid-template-columns:1fr}.about-photo{clip-path:none;min-height:380px}.works{grid-template-columns:1fr}.works-cards article{min-height:340px}footer{flex-direction:column;align-items:flex-start;gap:24px}}
@media(max-width:560px){.pickup-grid,.works-cards{grid-template-columns:1fr}.stats{grid-template-columns:1fr 1fr 1fr}.sky-banner h2{font-size:36px}}

/* High-resolution image rendering */
.hero,.hero-car,.hero-photo,.about-photo,.promise-photo,.service-photo,.work-img,.thumb,.pimg,.works-grid article,.works-cards article,.sky-banner{background-repeat:no-repeat;}
img{max-width:100%;height:auto;}

/* Additional sections (price / voice / company) */
.price{padding:0 5vw 90px}
.price h2,.voice h2,.company h2{font-size:42px;margin:6px 0 28px}
.price-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}
.price-grid article{border-top:3px solid var(--blue);padding:18px 22px 22px;background:var(--pale)}
.price-grid h3{margin:0 0 6px;font-size:20px}
.price-note{margin:0 0 14px;font-size:11px;letter-spacing:.08em;color:#7d9ab0}
.price-grid ul{list-style:none;margin:0;padding:0}
.price-grid li{display:flex;justify-content:space-between;align-items:baseline;gap:12px;padding:13px 0;border-bottom:1px solid var(--line)}
.price-grid li:last-child{border-bottom:0}
.price-grid span{font-size:13.5px;color:#5e7b93}
.price-grid b{font-size:17px;letter-spacing:-.01em}
.price-caution{margin:20px 0 0;font-size:12px;line-height:1.9;color:#7d9ab0}
.voice{padding:80px 5vw;background:var(--pale)}
.voice-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}
.voice-grid article{background:#fff;padding:30px 28px;display:flex;flex-direction:column;justify-content:space-between;gap:18px}
.voice-grid p{margin:0;font-size:14px;line-height:2;color:#3f5f7a}
.voice-grid small{font-size:11px;letter-spacing:.1em;color:#7d9ab0}
.company{padding:80px 5vw 90px}
.company dl{margin:0;border-top:1px solid var(--line)}
.company dl>div{display:grid;grid-template-columns:180px 1fr;gap:20px;padding:18px 4px;border-bottom:1px solid var(--line)}
.company dt{font-size:12px;letter-spacing:.1em;color:#6f96b5;padding-top:3px}
.company dd{margin:0;font-size:14px;line-height:1.9}
@media(max-width:900px){
  .price-grid,.voice-grid{grid-template-columns:1fr}
  .company dl>div{grid-template-columns:110px 1fr;gap:14px}
}
