*{box-sizing:border-box}
@font-face{font-family:LegalNoto;src:url('fonts/noto-sans-jp-legal-300.woff2') format('woff2');font-style:normal;font-weight:300;font-display:swap}
html{margin:0;background:#fff;scroll-behavior:auto}
body{margin:0;color:#222;font-family:Arial,"Noto Sans JP",sans-serif}
img{display:block;max-width:none}
button,summary{-webkit-tap-highlight-color:transparent}
.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap;border:0}
.layout{isolation:isolate;overflow:clip}
.layout--sp{display:none}
.zone{position:relative;background:#fff}
.plane{position:relative;z-index:1;width:min(100%,1200px);margin-inline:auto;aspect-ratio:var(--source-width)/var(--zone-height)}
.zone--legal .plane{container-type:inline-size}
.legal-copy{position:absolute;margin:0;left:8.25%;top:38.3%;width:83.5%;font-family:LegalNoto,"Noto Sans JP",sans-serif;font-weight:300;font-size:1.166667cqw;line-height:2.142857;color:#231815;letter-spacing:-.025em;overflow-wrap:anywhere}
.layout--sp .legal-copy{left:4.8%;top:47.0%;width:90%;font-size:3cqw;line-height:1.733333;letter-spacing:0}
.placed{position:absolute;display:block}
img.placed{pointer-events:none}
.section-background{position:absolute;inset:0;overflow:hidden;background:white}
.section-background img{position:absolute;left:50%;top:0;width:min(100%,1200px);height:100%;object-fit:fill}
.bg-center{transform:translateX(-50%)}
.bg-left{transform:translateX(-150%) scaleX(-1)}
.bg-right{transform:translateX(50%) scaleX(-1)}
.inventory{position:relative;background:white;overflow:clip}
.inventory-backdrop{position:absolute;left:50%;top:0;width:min(100%,1200px);height:100%;background:white var(--inventory-image) center top / 100% auto repeat-y;pointer-events:none}
.inventory-inner{position:relative;display:flow-root;width:min(100%,1200px);margin-inline:auto}
.category{margin:0}
.category:not([open]){margin-bottom:var(--closed-gap)}
.category summary{position:relative;display:block;list-style:none;cursor:pointer;outline-offset:-3px}
.category summary::-webkit-details-marker{display:none}
.category summary::marker{content:''}
.category summary:focus-visible{outline:3px solid #006947}
.category summary img{pointer-events:none}
.chevron{position:absolute;transform:translate(-50%,-50%);background:#fff;clip-path:polygon(0 0,50% 56%,100% 0,100% 40%,50% 100%,0 40%)}
.category[open] .chevron{transform:translate(-50%,-50%) rotate(180deg)}
.card-region{position:relative;width:100%}
.vehicle{margin:0}
.vehicle img{width:100%;height:100%;pointer-events:none}
.vehicle-cta{position:absolute;left:1%;right:4%;top:73%;height:22%;border:0;border-radius:0 0 16px 16px;background:transparent;cursor:pointer}
.vehicle-cta:hover{background:#ffffff12}
.artwork-button{padding:0;border:0;background:none;border-radius:999px;cursor:pointer}
.artwork-button img{width:100%;height:100%;pointer-events:none}
.artwork-button:hover{filter:brightness(1.03)}
.artwork-button:focus-visible,.vehicle-cta:focus-visible{outline:3px solid #004d87;outline-offset:3px;box-shadow:0 0 0 6px white}
dialog{width:min(440px,calc(100% - 40px));max-height:calc(100% - 40px);padding:30px 26px;border:0;border-radius:16px;box-shadow:0 12px 70px #0005}
dialog::backdrop{background:#0008}
dialog h2{margin:0 0 16px;font-size:20px;line-height:1.5}
dialog p{margin:0 0 24px;font-size:16px;line-height:1.8}
dialog button{display:block;margin-inline:auto;min-width:150px;padding:13px 24px;border:0;border-radius:999px;background:#006c51;color:white;font:700 16px/1.5 Arial,sans-serif;cursor:pointer}
dialog button:focus-visible{outline:3px solid #e89d00;outline-offset:4px}
@media(max-width:1200px){.section-background img{width:100%}}
@media(max-width:767px){
 .layout--pc{display:none}.layout--sp{display:block}
 .plane{width:100%}
 .inventory-inner{width:100%}
 .section-background img{width:100%}
 .inventory{background-size:100% auto}
 .vehicle-cta{border-radius:0 0 18px 18px}
}
@media print{.layout--pc{display:block}.layout--sp{display:none}.category .card-region{display:block}.category{break-inside:avoid}}

/* A picture wrapper adds responsive source selection without changing artwork geometry. */
.responsive-art{display:contents}
