:root{--background:#fff;--surface:#fff;--foreground:#1f2937;--muted:#4b5563;--line:#d1d5db;--accent:#c2410c;--accent-strong:#9a3412;--floating-size:56px;--floating-width:56px;--floating-offset:16px;--floating-right:calc(16px + env(safe-area-inset-right,0px))}
*{box-sizing:border-box}html{width:100%;max-width:100%;overflow-x:hidden;scroll-behavior:smooth;background:var(--background)}body{margin:0;width:100%;max-width:100%;overflow-x:hidden;background:#fff;color:var(--foreground);font-family:Arial,"Noto Sans JP","Yu Gothic UI","Yu Gothic","Hiragino Kaku Gothic ProN",sans-serif}button,input,textarea,select{font:inherit}button,a,input,textarea,summary{outline-color:var(--accent)}a{color:inherit;text-decoration:none}button{cursor:pointer}::selection{background:var(--accent);color:white}
.wrap{width:100%;min-width:0;max-width:1120px;margin:auto;padding-inline:20px}.section{border-bottom:1px solid var(--line);scroll-margin-top:112px}.muted{color:var(--muted)}.accent{color:var(--accent)}.eyebrow{margin:0;font-size:11px;font-weight:900;letter-spacing:.08em;text-transform:uppercase}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
.header{position:sticky;top:0;z-index:50;max-width:100%;overflow-x:hidden;border-bottom:1px solid var(--line);background:rgba(255,255,255,.95);backdrop-filter:blur(12px)}.header-main{min-height:48px;display:flex;align-items:center;justify-content:space-between;gap:10px;padding-inline:14px}.brand{min-width:0;line-height:1}.brand-name{display:block;font-size:17px;font-weight:900;letter-spacing:.1em}.brand-sub{display:block;margin-top:2px;font-size:6px;font-weight:700;letter-spacing:.2em;white-space:nowrap}.desktop-nav{display:none;align-items:center;gap:28px;font-size:12px;font-weight:700}.desktop-nav a:first-child,.mobile-nav a:first-child{color:var(--accent)}.desktop-nav a:hover{color:var(--accent)}.language{display:flex;flex-shrink:0;border:1px solid var(--line);font-size:9px;font-weight:500}.language a{padding:6px 8px}.language a[aria-current=page]{background:var(--accent);color:#fff}.mobile-nav{border-top:1px solid var(--line)}.mobile-nav .wrap{display:flex;gap:16px;overflow-x:auto;padding:8px 14px;font-size:9px;font-weight:700;white-space:nowrap}
.hero{display:grid;gap:40px;padding-block:40px 48px}.hero-copy{min-width:0;display:flex;flex-direction:column;justify-content:center}.hero h1{margin:24px 0 0;max-width:620px;font-size:clamp(2.45rem,4.4vw,3.55rem);line-height:1.22;font-weight:900;letter-spacing:-.045em;overflow-wrap:break-word}.hero.en h1{font-size:36px}.hero-description{max-width:590px;margin:20px 0 0;font-size:16px;line-height:28px;color:var(--muted)}.hero-ctas{display:flex;flex-direction:column;gap:12px;margin-top:24px}.btn{display:inline-flex;max-width:100%;align-items:center;justify-content:center;gap:10px;min-height:40px;padding:10px 20px;border:0;background:var(--accent);color:#fff;text-align:center;font-size:11px;font-weight:900;transition:background .15s}.btn:hover{background:var(--accent-strong)}.btn-large{min-height:56px;border:2px solid var(--accent);padding:12px 32px;font-size:16px;box-shadow:0 4px 18px rgba(194,65,12,.10)}.phone-btn{min-height:44px;background:#06c755;color:#052e16;padding:12px 20px;font-size:12px;border:0;gap:10px}.phone-btn:hover{background:#05b34c}.line-icon{width:24px;height:24px;flex-shrink:0}.hero-panel{min-width:0;border-top:2px solid var(--accent);padding-top:24px}.panel-kicker{margin:0;color:var(--muted);font-size:11px;line-height:20px;letter-spacing:.08em}.hero-panel h2{margin:12px 0 0;font-size:24px;line-height:1.3;font-weight:900;letter-spacing:-.03em}.hero-steps{list-style:none;margin:24px 0 0;padding:0;border-block:1px solid var(--line)}.hero-steps li{display:grid;grid-template-columns:36px 1fr;gap:12px;align-items:center;padding-block:16px;border-bottom:1px solid var(--line);font-size:12px;line-height:20px;font-weight:700}.hero-steps li:last-child{border-bottom:0}.step-number{color:var(--accent);font-size:18px;font-weight:900;letter-spacing:-.05em}.panel-note{margin:20px 0 0;border-bottom:1px solid var(--line);padding-bottom:20px;color:var(--muted);font-size:10px;line-height:20px}
.vehicles{padding-block:48px}.vehicle-grid{display:grid;gap:16px}.vehicle-card{min-width:0;overflow:hidden;border:1px solid var(--line);background:#fff}.carousel-viewport{overflow:hidden;touch-action:pan-y}.carousel-track{display:flex;transition:transform 700ms ease-out}.photo-link{position:relative;display:block;aspect-ratio:4/3;width:100%;flex-shrink:0;background:#fff}.photo-link img{position:absolute;inset:0;display:block;width:100%;height:100%;object-fit:contain}.photo-tag{position:absolute;right:12px;bottom:12px;padding:8px 12px;background:rgba(31,41,55,.86);color:white;font-size:10px;font-weight:700}.carousel-controls{display:flex;min-height:48px;align-items:center;justify-content:space-between;gap:8px;border-block:1px solid var(--line);padding-inline:12px}.photo-counter{font-size:10px;font-weight:700;color:var(--muted)}.dots,.carousel-actions{display:flex;align-items:center}.dots button{width:32px;height:44px;background:transparent;border:0;display:grid;place-items:center}.dots i{display:block;width:6px;height:6px;border-radius:50%;background:#d1d5db}.dots button[aria-current=true] i{background:var(--accent)}.carousel-actions button{height:44px;width:44px;border:0;background:transparent;font-size:26px;color:var(--foreground)}.carousel-actions button:hover{color:var(--accent)}.carousel-actions button.play-control{font-size:12px}.vehicle-title{display:flex;min-height:72px;align-items:center;gap:16px;padding-inline:20px}.vehicle-code{font-size:18px;font-weight:900;letter-spacing:-.05em;color:var(--accent)}.vehicle-title h3{margin:0;min-width:0;font-size:15px;font-weight:900;letter-spacing:.01em}.vehicle-note{margin:16px 0 0;font-size:10px;line-height:20px;color:var(--muted)}.inventory-cta{margin-top:24px}.inventory-cta .btn{width:100%}.services{margin-top:32px;display:grid;border-block:1px solid var(--line);scroll-margin-top:112px}.service-card{min-width:0;border-bottom:1px solid var(--line);padding:20px 0}.service-card:last-child{border-bottom:0}.service-card .step-number{font-size:10px}.service-card h3{margin:8px 0 0;font-size:16px;line-height:24px;font-weight:900}.service-card p{margin:8px 0 0;color:var(--muted);font-size:11px;line-height:20px}.price-notice{margin-top:32px;padding:16px 20px;border-left:2px solid var(--accent);background:#fff;color:var(--muted);font-size:10px;line-height:20px}
.split{display:grid;gap:40px;padding-block:56px}.split h2{margin:20px 0 0;font-size:clamp(2rem,3.4vw,2.6rem);line-height:1.28;font-weight:900;letter-spacing:-.04em;overflow-wrap:break-word}.process-list{list-style:none;margin:0;padding:0;border-top:1px solid var(--line)}.process-list li{display:grid;grid-template-columns:42px 1fr;gap:16px;padding-block:20px;border-bottom:1px solid var(--line)}.process-list .step-number{padding-top:4px}.process-list h3{margin:0;font-size:15px;line-height:24px;font-weight:900}.process-list p{margin:6px 0 0;color:var(--muted);font-size:11px;line-height:20px}.faq-split{gap:32px}.faq-split h2{margin:0;font-size:clamp(2rem,3.3vw,2.55rem);line-height:1.2}.faq-list{border-top:1px solid var(--line)}details{border-bottom:1px solid var(--line)}summary{display:flex;cursor:pointer;list-style:none;align-items:center;justify-content:space-between;gap:20px;padding-block:20px;font-size:12px;line-height:20px;font-weight:700}summary::-webkit-details-marker{display:none}.faq-plus{flex-shrink:0;font-size:20px;font-weight:300;color:var(--accent);transition:transform .15s}details[open] .faq-plus{transform:rotate(45deg)}details p{max-width:640px;margin:0;padding-bottom:20px;color:var(--muted);font-size:11px;line-height:24px}
.office-layout{display:grid;gap:32px;padding-block:56px}.office-layout h2{margin:20px 0 0;font-size:clamp(2rem,3.4vw,2.6rem);line-height:1.28;font-weight:900;letter-spacing:-.04em}.office-intro{margin-top:20px;max-width:480px;font-size:12px;line-height:24px;color:var(--muted)}.office-details{border-top:1px solid var(--line);margin:0}.office-row{padding-block:16px;border-bottom:1px solid var(--line)}.office-row dt{font-size:10px;font-weight:900;color:var(--accent)}.office-row dd{margin:8px 0 0;font-size:12px;line-height:24px}.office-row a{text-decoration:underline;text-decoration-color:var(--accent);text-underline-offset:4px}.office-note{margin-top:16px;font-size:10px;line-height:20px;color:var(--muted)}
.contact-section{scroll-margin-top:112px;padding:56px 20px;--contact-gutter:20px;--contact-padding:20px;container-type:inline-size}.contact-card{display:grid;width:100%;min-width:0;max-width:1120px;margin:auto;gap:40px;border:1px solid var(--line);padding:20px;background:#fff}.contact-copy{min-width:0}.contact-copy h2{margin:20px 0 0;font-size:clamp(2.05rem,3.4vw,2.65rem);line-height:1.24;font-weight:900;letter-spacing:-.04em}.contact-copy p{max-width:430px;margin-top:20px;font-size:11px;line-height:24px;color:var(--muted)}.contact-line{border-top:1px solid var(--line);margin-top:24px;padding-top:20px}.contact-line p{font-size:12px;margin:0}.contact-line .btn{margin-top:12px}.email-link{display:inline-block;margin-top:16px;font-size:12px;font-weight:700;overflow-wrap:anywhere;text-decoration:underline;text-decoration-color:var(--accent);text-underline-offset:4px}.contact-form{min-width:0;overflow-wrap:anywhere;padding-right:max(0px,calc(var(--floating-width) + var(--floating-right) + 10px - var(--contact-gutter) - max(0px,(100cqw - 1120px)/2) - var(--contact-padding) - 1px))}.contact-form h3{margin:0 0 16px;font-size:14px;font-weight:900}.form-grid{display:grid;gap:20px}.field-row{display:grid;gap:20px}.field label{display:block;margin-bottom:8px;font-size:11px;font-weight:700}.required{color:var(--accent);margin-left:4px}.optional{font-size:10px;font-weight:400;color:var(--muted);margin-left:4px}.field input,.field textarea{display:block;width:100%;min-height:44px;border:1px solid var(--line);border-radius:0;background:#fff;color:var(--foreground);padding:10px 12px;font-size:16px;line-height:24px;transition:border-color .15s}.field input:focus,.field textarea:focus{border-color:var(--accent);outline:2px solid #c2410c33;outline-offset:1px}.field textarea{min-height:116px;resize:vertical}.form-helper{margin:0;font-size:10px;line-height:20px;color:var(--muted)}.submit-btn{width:100%;min-height:44px;font-size:12px}.form-result{border-left:2px solid var(--accent);padding:12px 16px;font-size:12px;line-height:22px;background:#fff7ed}.form-result[hidden]{display:none}
.footer{border-top:1px solid var(--line)}.footer .wrap{display:flex;flex-direction:column;gap:16px;padding-top:28px;padding-bottom:96px;font-size:10px;letter-spacing:.04em;color:var(--muted)}.footer-brand{font-weight:900;letter-spacing:.18em;color:var(--foreground)}.footer p{margin:0}.floating-contact{position:fixed;z-index:55;right:var(--floating-right);bottom:calc(16px + env(safe-area-inset-bottom,0px));width:var(--floating-width);height:56px;border-radius:0;padding:0;box-shadow:0 5px 20px #052e1630}.floating-label{display:none}.line-status{position:fixed;z-index:60;right:var(--floating-right);bottom:calc(84px + env(safe-area-inset-bottom,0px));max-width:min(320px,calc(100vw - 32px));border:1px solid var(--line);background:#fff;box-shadow:0 6px 22px #1f29371a;padding:14px 18px;color:var(--foreground);font-size:12px;line-height:22px}.line-status[hidden]{display:none}
@media(min-width:640px){.wrap{padding-inline:28px}.header-main{min-height:64px;gap:20px}.brand-name{font-size:22px;letter-spacing:.12em}.brand-sub{margin-top:4px;font-size:8px;letter-spacing:.32em}.language{font-size:11px}.language a{padding:8px 12px}.mobile-nav .wrap{gap:24px;padding:12px 28px;font-size:11px}.hero{gap:48px;padding-block:56px 64px}.hero.en h1{font-size:clamp(2.25rem,3.75vw,3.2rem)}.hero-description{margin-top:24px;font-size:14px}.hero-ctas{flex-direction:row;flex-wrap:wrap}.btn{min-height:44px;padding-inline:24px;font-size:12px}.btn-large{min-width:224px;min-height:56px;font-size:16px;padding:12px 32px}.hero-panel h2{font-size:31px;line-height:1.25}.vehicle-title{min-height:80px}.inventory-cta .btn{width:auto;min-width:256px}.price-notice{padding-inline:28px}.split,.office-layout{padding-block:64px}.process-list li{grid-template-columns:46px 1fr}.contact-section{padding:64px 28px;--contact-gutter:28px;--contact-padding:32px}.contact-card{padding:32px}.field-row{grid-template-columns:1fr 1fr}.field input,.field textarea{font-size:12px}.footer .wrap{flex-direction:row;align-items:center;justify-content:space-between;gap:20px;padding-top:32px}.footer-brand+span{margin-left:12px}}
@media(min-width:768px){.vehicle-grid,.office-layout{grid-template-columns:1fr 1fr}.services{grid-template-columns:repeat(3,1fr)}.service-card{border-bottom:0;border-right:1px solid var(--line);padding-inline:24px}.service-card:first-child{padding-left:0}.service-card:last-child{border-right:0;padding-right:0}}
@media(min-width:1024px){.wrap{padding-inline:32px}.desktop-nav{display:flex}.mobile-nav{display:none}.hero{grid-template-columns:1.16fr .84fr;gap:80px;padding-block:64px 56px}.hero-panel{align-self:center}.split{grid-template-columns:.78fr 1.22fr;gap:72px}.contact-section{padding-inline:32px;--contact-gutter:32px;--contact-padding:36px}.contact-card{grid-template-columns:.82fr 1.18fr;gap:56px;padding:36px}}
@media(min-width:1280px){:root{--floating-width:208px}.floating-contact{gap:10px;padding-inline:20px}.floating-label{display:inline;font-size:12px;font-weight:900}}
@media(max-width:359px){.contact-card{padding-left:12px}}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*::before,*::after{scroll-behavior:auto!important;transition-duration:.01ms!important}}
.office-container{padding-block:48px}.office-container>h2{margin:16px 0 0;font-size:30px;font-weight:900;letter-spacing:-.03em}.office-cards{display:grid;gap:20px;margin-top:28px}.office-card{min-width:0;border:1px solid var(--line);padding:20px;background:#fff}.office-card dl{display:grid;gap:24px;margin:0}.office-card dt,.office-label{margin:0;font-size:12px;font-weight:700;color:var(--muted)}.office-card dd{margin:8px 0 0}.office-address{font-size:15px;line-height:28px;font-weight:700}.map-link{display:inline-flex;min-height:44px;align-items:center;font-size:14px;font-weight:700;color:var(--accent);text-decoration:underline;text-underline-offset:4px}.office-phone{display:inline-flex;min-height:44px;align-items:center;font-size:24px;font-weight:900;color:var(--accent);text-decoration:underline;text-underline-offset:4px}.office-meta{font-size:14px;line-height:24px;color:var(--muted)}.office-card h3{margin:8px 0 0;font-size:24px;font-weight:900}.office-card dl.staff-details{margin-top:20px;gap:20px}.office-account{font-size:24px;line-height:1.5;font-weight:900;color:var(--accent)}.office-booking{margin-top:20px;border-left:2px solid var(--accent);padding:16px 20px;background:#fff}.office-booking p{margin:0;font-size:14px;line-height:28px;font-weight:700}.office-booking p+p{margin-top:4px;font-size:12px;line-height:24px;color:var(--muted);font-weight:400}.floating-contact{border-radius:9999px}.line-icon{width:20px;height:20px}.floating-contact .line-icon{width:28px;height:28px}.phone-btn{width:100%;padding:10px 20px;line-height:20px}.floating-contact{width:var(--floating-width);padding:0}.form-grid,.field-row{gap:16px}.field input{padding-inline:16px}.field textarea{padding:12px 16px;min-height:122px}.form-footer{display:flex;flex-direction:column;align-items:flex-start;gap:12px}.submit-btn{min-height:40px;font-size:11px}.field-error{display:block;color:#b91c1c;font-size:10px;line-height:16px;margin-top:8px}.field-error[hidden]{display:none}.field input[aria-invalid=true]{border-color:#b91c1c}
@media(min-width:640px){.office-container{padding-block:64px}.office-container>h2{font-size:36px}.office-card{padding:28px}.office-booking{padding-inline:28px}.phone-btn{width:auto}.floating-contact{width:var(--floating-width)}.field input,.field textarea{font-size:14px}.form-footer{flex-direction:row;align-items:center;justify-content:space-between}.submit-btn{width:auto;flex-shrink:0;min-height:44px;padding-inline:28px;font-size:12px}}
@media(min-width:768px){.office-cards{grid-template-columns:1fr 1fr}}
@media(min-width:1280px){.floating-contact{padding-inline:20px}}

.phone-btn{background:var(--accent);color:white}.phone-btn:hover{background:var(--accent-strong)}.office-account{font-size:clamp(14px,2vw,20px);overflow-wrap:anywhere}.email-draft{grid-column:1/-1;max-width:100%;min-width:0}.email-draft[hidden]{display:none}.email-draft p{font-size:13px;line-height:1.8}.email-draft label{display:block;font-size:13px;font-weight:700}.email-draft textarea{display:block;width:100%;padding:12px;border:1px solid var(--line);font:inherit;font-size:14px}.submit-btn:disabled{opacity:.5;cursor:not-allowed}
