:root { --charcoal:#101212; --accent:#a5906f; }
.floating-call{position:fixed;right:28px;bottom:28px;z-index:2000;display:flex;align-items:center;gap:16px;padding:17px 23px 17px 17px;border:1px solid #6c6559;border-radius:60px;background:#151817;color:#fff;box-shadow:0 8px 30px #0003;transition:transform .25s,background .25s,box-shadow .25s;}
.floating-call:hover{transform:translateY(-4px);background:#282d29;box-shadow:0 12px 35px #0004;}
.floating-call__icon{display:grid;place-items:center;width:42px;height:42px;border:1px solid #8e7d60;border-radius:50%;color:#d6c5a7;flex-shrink:0;}
.floating-call__icon svg{width:20px;height:20px;}
.floating-call__copy{display:flex;flex-direction:column;gap:5px;}
.floating-call__copy>span{font:10px var(--sans);letter-spacing:.13em;color:#d5d4cf;}
.floating-call__copy strong{font:500 21px/1.2 var(--serif);letter-spacing:.04em;white-space:nowrap;}
.floating-call__arrow{margin-left:8px;font-size:20px;color:#d6c5a7;}
body.menu-open .floating-call{visibility:hidden;pointer-events:none;}
.footer{padding-bottom:140px;}
.contact-phone{display:grid;grid-template-columns:1fr auto;gap:12px;padding:23px 0;border-top:1px solid #c6c0b6;border-bottom:1px solid #c6c0b6;}
.contact-phone>span:first-child{font:12px var(--sans);color:#69645e;}
.contact-phone strong{grid-column:1;font-size:clamp(25px,3vw,36px);font-weight:500;letter-spacing:.04em;white-space:nowrap;}
.contact-phone__arrow{grid-column:2;grid-row:1/3;align-self:center;font-size:25px;transition:transform .2s;}
.contact-phone:hover .contact-phone__arrow{transform:translate(3px,-3px);}
@media(max-width:760px){.floating-call{right:16px;bottom:calc(16px + env(safe-area-inset-bottom,0px));gap:11px;padding:12px 17px 12px 12px;}.floating-call__icon{width:36px;height:36px;}.floating-call__copy strong{font-size:19px;}.floating-call__copy>span{font-size:9px;}.floating-call__arrow{margin-left:2px;font-size:17px;}body .footer{padding-bottom:130px;}.hero__contact{bottom:115px;}}
html { scroll-padding-top:30px; }
body { overflow-wrap:break-word; }
:focus-visible { outline:2px solid #a5906f; outline-offset:7px; }
.skip-link { position:fixed; left:15px; top:-100px; z-index:10001; background:white; color:#111; padding:15px; }
.skip-link:focus { top:15px; }
.sample-label { position:absolute; left:52px; bottom:45px; z-index:3; font:10px var(--sans); letter-spacing:.18em; }
.hero__center { left:43%; gap:25px; }
.hero__center p { font-size:19px; letter-spacing:.22em; }
.hero__center h1 { display:flex; flex-direction:column; align-items:center; gap:10px; font-size:clamp(42px,5.7vw,84px); white-space:nowrap; }
.company-prefix { font-size:13px; letter-spacing:.4em; margin-bottom:2px; }
.hero__center .company-suffix { font-size:clamp(24px,2.6vw,38px); letter-spacing:.55em; text-indent:.55em; }
.hero__english { margin-top:12px; font:10px var(--sans); letter-spacing:.2em; }
.hero__shade { background:linear-gradient(90deg,rgba(0,0,0,.6),rgba(0,0,0,.08)),linear-gradient(0deg,rgba(0,0,0,.4),transparent 60%); }
.hero__contact { position:absolute; right:45px; bottom:50px; z-index:3; border-bottom:1px solid #aaa; padding:14px 0; font-size:14px; }
.hero__contact span { margin-left:42px; }
.image-caption { position:absolute; right:45px; bottom:24px; z-index:3; color:#ccc; font:10px var(--sans); }
.demo-note { padding:17px 6vw; background:#f2f0eb; color:#68635a; font:11px/1.8 var(--sans); text-align:center; }
.statement { min-height:760px; }
.statement__image,.global-menu::before { background-image:url('assets/tire-workshop.png'); background-position:right center; }
.statement__shade { background:rgba(0,0,0,.75); }
.statement__content { width:min(680px,80vw); }
.statement h2 { font-size:clamp(30px,3vw,42px); }
.statement p:last-child { text-align:center; }
.content-width { width:min(1080px,82%); margin-left:auto; margin-right:auto; }
.concept__photo { position:relative; }
.concept__photo img { object-position:50% center; }
.concept__photo figcaption { position:absolute; bottom:20px; right:20px; color:white; font:9px var(--sans); letter-spacing:.15em; }
.concept__brush { color:#f0efec; }
.small-note,.concept__copy .small-note,.menu-section__copy .small-note { font:12px/1.9 var(--sans); color:#777; }
.service-list { padding:50px 0 100px; }
.service-row { display:grid; grid-template-columns:45px 1fr 1.4fr 85px; gap:25px; align-items:start; border-top:1px solid #d9d9d5; padding:32px 0; }
.service-row:last-child { border-bottom:1px solid #d9d9d5; }
.item-no { color:#9a8566; font:16px/2 var(--serif); }
.service-row h3 { margin:0; font-size:20px; font-weight:500; line-height:1.7; }
.service-row p { margin:0; color:#626262; font:13px/2 var(--sans); }
.status-tag { font:10px/1.5 var(--sans); color:#777; border:1px solid #d7d7d2; padding:5px 8px; text-align:center; }
.menu-section { background:#f4f3ef; }
.menu-section__photo img { object-position:48% center; }
.menu-section__copy { padding:85px 7vw 85px 6vw; }
.price-list { margin:0 0 20px; }
.price-list div { display:flex; align-items:center; justify-content:space-between; gap:12px; padding:18px 0; border-bottom:1px solid #d0cfca; }
.price-list dt { font-size:16px; }
.price-list dt span { display:block; font:10px/1.6 var(--sans); color:#737373; margin-top:6px; }
.price-list dd { margin:0; white-space:nowrap; font:11px var(--sans); color:#777; }
.flow { padding-top:125px; padding-bottom:80px; }
.section-heading h2 { font-size:36px; font-weight:500; margin:0 0 22px; }
.section-heading .en-title { margin-bottom:25px; }
.section-heading>p:last-child:not(.en-title) { color:#737373; font-size:14px; }
.flow>.small-note { margin:24px 0 35px; }
.flow-list { list-style:none; padding:0; display:grid; grid-template-columns:repeat(3,1fr); gap:45px; }
.flow-list li { border-top:1px solid #bbb; padding-top:24px; }
.flow-list .item-no { font-size:27px; }
.flow-list h3 { font-size:23px; font-weight:500; margin:13px 0 18px; }
.flow-list p { color:#626262; font:13px/2.1 var(--sans); margin:0; }
.faq { padding:40px 0 125px; }
.faq details { border-bottom:1px solid #d7d7d2; }
.faq summary { list-style:none; display:flex; justify-content:space-between; gap:25px; padding:26px 0; cursor:pointer; font-size:17px; line-height:1.8; }
.faq summary::-webkit-details-marker { display:none; }
.faq summary span { transition:transform .2s; }
.faq details[open] summary span { transform:rotate(45deg); }
.faq details p { font:14px/2.1 var(--sans); color:#626262; max-width:780px; margin:0 0 28px; }
.contact-section { background:#eeeae3; padding:110px 0; }
.contact-inner { display:grid; grid-template-columns:1.1fr 1fr; gap:90px; }
.contact-copy h2 { font-weight:500; font-size:34px; line-height:1.8; margin:0 0 24px; }
.contact-copy>p:not(.en-title),.contact-copy ul { font:13px/2 var(--sans); }
.contact-copy ul { padding-left:20px; margin-bottom:30px; }
.contact-pending { border-top:1px solid #c6c0b6; padding-top:23px; font-size:17px; }
.contact-pending span { display:block; font:11px/1.8 var(--sans); color:#69645e; margin-top:12px; }
.shop-info { border-left:1px solid #ccc5bb; padding-left:55px; }
.shop-info h2 { font-size:25px; font-weight:500; margin:0 0 26px; }
.shop-info h2 small { display:block; font-size:12px; margin-bottom:12px; }
.shop-info dl { margin:0 0 24px; }
.shop-info dl div { display:grid; grid-template-columns:85px 1fr; gap:12px; padding:17px 0; border-bottom:1px solid #d5cec3; }
.shop-info dt { font:12px/1.8 var(--sans); color:#736e66; }
.shop-info dd { margin:0; font-size:14px; line-height:1.9; }
.shop-info .text-link { font-size:11px; gap:15px; }
.shop-info .text-link i { width:35px; }
.location-map { width:100%; margin:0; padding:0; background:#e8e8e8; }
.location-map iframe { display:block; width:100%; height:clamp(360px,45vw,560px); border:0; filter:grayscale(100%); }
.footer__mark strong { writing-mode:vertical-rl; font-size:26px; letter-spacing:.14em; }
.footer small { line-height:2; }
.menu-trigger { min-height:48px; min-width:48px; }
.global-menu__inner { overflow:auto; }
.global-menu ul { margin:25px 0; }
.global-menu a { padding-top:16px; padding-bottom:16px; font-size:clamp(22px,2.6vw,32px); }
.reveal,.reveal-image { opacity:1; transform:none; clip-path:none; }
.js-reveal .reveal { opacity:0; transform:translateY(24px); }
.js-reveal .reveal.is-visible { opacity:1; transform:none; }
@media(max-width:1000px){ .service-row{grid-template-columns:30px 1fr 1.2fr;gap:18px}.status-tag{grid-column:2;justify-self:start}.contact-inner{gap:40px}.shop-info{padding-left:30px}.hero__center{left:48%}.concept__intro{grid-template-columns:38% 62%;width:90%}.menu-section__copy{padding-left:5vw;padding-right:5vw} }
@media(max-width:760px){
 .hero{height:100svh;min-height:650px}.hero__center{left:50%;top:49%;gap:20px}.hero__center h1{font-size:clamp(35px,8.8vw,62px)}.hero__center p{font-size:17px}.hero__english{font-size:8px;white-space:nowrap}.hero__slide{background-position:67% center}.hero__shade{background:rgba(0,0,0,.42)}
 .sample-label{left:24px;bottom:28px;font-size:8px}.hero__contact{right:24px;bottom:73px;font-size:12px}.hero__contact span{margin-left:20px}.image-caption{right:24px;bottom:28px;font-size:8px}.scroll-cue{height:60px;bottom:0}.scroll-cue i{height:40px}.site-mark--hero{top:30px;left:24px}.site-mark strong{font-size:22px}.site-mark span{font-size:10px}
 .statement{min-height:650px;padding:85px 0}.statement h2{writing-mode:horizontal-tb;height:auto;text-align:left;margin:0 0 32px;font-size:30px}.statement__content{text-align:left;width:82vw}.statement p:last-child{text-align:left;font-size:13px;line-height:2.2}
 .concept__intro{width:100%}.concept__title h2{font-size:26px}.concept__copy{padding-top:175px}.concept__detail{padding-bottom:20px}.concept__brush{font-size:250px}.service-list{padding:35px 0 75px}.service-row{grid-template-columns:28px 1fr auto;gap:12px;padding:27px 0}.service-row h3{font-size:18px;grid-column:2 / 4}.service-row p{grid-column:2 / 4;font-size:12px}.service-row .status-tag{grid-column:2 / 4;margin-top:3px}
 .menu-section__photo{height:420px}.menu-section__photo img{height:100%;aspect-ratio:auto}.menu-section__copy{padding:65px 9vw}.menu-section__copy h2{font-size:29px}.content-width{width:82%}
 .flow{padding-top:80px;padding-bottom:35px}.section-heading h2{font-size:28px}.flow-list{grid-template-columns:1fr;gap:26px}.flow-list li{display:grid;grid-template-columns:40px 1fr;column-gap:16px}.flow-list h3{margin:6px 0 14px;font-size:22px}.flow-list p{grid-column:2}.faq{padding:40px 0 80px}.faq summary{font-size:15px;gap:18px}.faq details p{font-size:13px}
 .contact-section{padding:75px 0}.contact-inner{grid-template-columns:1fr;gap:60px}.contact-copy h2{font-size:29px}.shop-info{padding-left:0;border-left:0;border-top:1px solid #ccc5bb;padding-top:45px}.contact-pending{font-size:16px}.footer__mark{height:240px}.footer{gap:35px}.global-menu__inner{width:82%;padding:35px 0}.global-menu a{flex-direction:row;gap:15px;font-size:19px}.global-menu a span{min-width:75px;font-size:9px}.global-menu__note{font-size:9px}.demo-note{font-size:10px;text-align:left;padding:16px 9vw}
}
@media(prefers-reduced-motion:reduce){.js-reveal .reveal{opacity:1;transform:none}}
