:root{font-family:'DM Sans','Noto Sans JP',sans-serif;color:#1b2d29;background:#f4f2eb;font-synthesis:none}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0}a{color:inherit}button{font:inherit}button:focus-visible,a:focus-visible,#viewer:focus-visible{outline:3px solid #c2875a;outline-offset:3px}[hidden]{display:none!important}
.topbar{height:70px;display:flex;align-items:center;justify-content:space-between;padding:0 max(4.3vw,22px);border-bottom:1px solid #d9dcd4;background:#f7f5ee}.wordmark{display:flex;align-items:center;gap:11px;font-weight:700;letter-spacing:.12em;font-size:17px}.wordmark small{display:block;font-weight:500;letter-spacing:.22em;font-size:9px;color:#71877b}.mark{width:38px;height:38px;border:1.5px solid #233d36;border-radius:50%;display:grid;place-items:center;font-family:Georgia,serif;font-size:27px;font-style:italic;letter-spacing:0}.toplink{text-decoration:none;font-size:12px;font-weight:700;border-bottom:1px solid #687a70;padding-bottom:4px}
.intro{padding:42px max(4.3vw,22px) 47px;display:flex;justify-content:space-between;gap:36px;align-items:end;max-width:1600px}.eyebrow,.section-index,.guide-kicker{font-size:10px;font-weight:700;letter-spacing:.22em;color:#54806a}.pulse{display:inline-block;width:7px;height:7px;border-radius:50%;background:#c18e68;margin-right:8px}.intro h1{font-size:clamp(38px,5vw,70px);letter-spacing:-.065em;line-height:1.18;margin:14px 0 14px;font-weight:600}.intro h1 em{font-family:Georgia,serif;color:#678d78;font-weight:400}.intro p{font-size:14px;line-height:1.85;max-width:750px;color:#50625c;margin:0}.intro-side{display:grid;gap:11px;text-align:right;flex-shrink:0;padding-bottom:4px}.intro-side b{font-size:14px;line-height:1.45;letter-spacing:.16em;color:#5f8672}.intro-side span{font-size:11px;color:#6d7c73}
.experience{background:#e6ebe5;padding:35px max(4.3vw,22px) 42px}.section-heading{display:flex;align-items:end;justify-content:space-between;gap:16px;margin-bottom:17px}.section-heading h2,.details h2,.download h2{font-size:clamp(25px,2.9vw,38px);letter-spacing:-.045em;margin:7px 0 0;font-weight:600}.viewer-hint{font-size:11px;color:#557064}.experience-grid{display:grid;grid-template-columns:minmax(245px,300px) minmax(0,1fr);gap:16px;max-width:1540px;margin:0 auto}.guide{background:#f8f9f4;border:1px solid #d7dfd7;border-radius:7px;padding:19px;min-width:0;box-shadow:0 8px 35px #374b3e0c}.guide-kicker{margin-bottom:12px}.scene-switch{display:grid;grid-template-columns:1fr 1fr;gap:5px;padding:4px;border-radius:6px;background:#e6ece4}.scene-switch button{border:0;border-radius:4px;padding:10px 6px;background:transparent;color:#61766a;font-size:13px;font-weight:700;cursor:pointer}.scene-switch button.selected{background:#244235;color:#fff;box-shadow:0 2px 8px #21492f35}.guide h3{font-size:17px;margin:19px 0 6px}.guide-copy{font-size:11px;line-height:1.75;color:#68776f;margin:0 0 14px}.place-list{display:grid;gap:5px}.place-list button{width:100%;display:flex;align-items:center;gap:11px;text-align:left;border:1px solid #e1e6de;border-radius:5px;background:#fff;padding:11px 10px;color:#304539;font-size:12px;font-weight:600;cursor:pointer;transition:background .15s,border-color .15s}.place-list button b{font-family:Georgia,serif;font-weight:400;color:#9eb4a4;font-size:18px;line-height:1}.place-list button span:last-child{margin-left:auto;color:#9aaa9b}.place-list button:hover,.place-list button.active{background:#eaf2e9;border-color:#7ba187}.place-list button.active b{color:#4e805f}.floor-switch{display:grid;grid-template-columns:repeat(4,1fr);gap:4px;margin:15px 0}.floor-switch button{padding:10px 3px;border:1px solid #d3ded4;background:white;border-radius:4px;cursor:pointer;color:#496354;font-weight:700;font-size:12px}.floor-switch button.active{background:#254332;color:white;border-color:#254332}.mini-map{border-top:1px solid #e0e7df;margin-top:18px;padding-top:14px}.mini-map>div{display:flex;justify-content:space-between;align-items:center;font-size:10px;letter-spacing:.13em;color:#61836a;font-weight:700}.mini-map small{font-size:10px;letter-spacing:0;color:#839084;font-weight:400}.mini-map svg{width:100%;height:143px;margin-top:7px;background:#f0f4ee;border-radius:4px}
.viewer-wrap{position:relative;overflow:hidden;border-radius:7px;background:linear-gradient(#e7eeea,#f4f4ef);height:min(62vw,660px);min-height:570px;box-shadow:0 20px 70px #455c4f1c}#viewer{position:absolute;inset:0}#viewer canvas{width:100%;height:100%;display:block}#labels{position:absolute;inset:0;pointer-events:none;overflow:hidden}.room-label{position:absolute;transform:translate(-50%,-50%);white-space:nowrap;border:1px solid #c8dac7;border-radius:20px;background:#f9fbf4ef;color:#355942;padding:5px 9px;font-size:10px;font-weight:700;box-shadow:0 3px 11px #29463220}.room-label b{background:#537b61;color:#fff;border-radius:50%;display:inline-grid;place-items:center;width:17px;height:17px;margin-right:5px}.loading,.fallback{position:absolute;inset:0;z-index:4;display:flex;align-items:center;justify-content:center;gap:12px;background:#e8eeeb;font-size:13px;color:#637a6d;transition:opacity .4s}.loading.hidden{opacity:0;pointer-events:none}.spinner{width:20px;height:20px;border:2px solid #adbbb2;border-top-color:#477b65;border-radius:50%;animation:spin 1s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}.fallback{flex-direction:column;text-align:center;padding:20px}.fallback button{border:0;border-radius:5px;padding:9px 17px;background:#234431;color:#fff;cursor:pointer}.viewer-top{position:absolute;left:23px;right:23px;top:20px;display:flex;justify-content:space-between;align-items:start;pointer-events:none}.viewer-stamp{font-size:10px;font-weight:700;letter-spacing:.18em;color:#527565}.viewer-top>div{text-align:right;display:grid;gap:3px;background:#f8faf3c9;padding:6px 9px;border-radius:4px}.viewer-top b{font-size:13px}.viewer-top small{font-size:10px;color:#64776a}.view-tabs{position:absolute;left:23px;top:64px;display:flex;gap:3px;padding:3px;background:#f6faf2df;border-radius:5px}.view-tabs button{border:0;border-radius:3px;background:transparent;color:#476051;padding:7px 12px;font-size:11px;font-weight:700;cursor:pointer}.view-tabs button.active{background:#264635;color:#fff}.viewer-bottom{position:absolute;left:18px;right:18px;bottom:17px;display:flex;justify-content:space-between;align-items:end;gap:12px;pointer-events:none}.viewer-bottom>span{background:#f8faf4d9;border-radius:3px;padding:7px 10px;font-size:11px;color:#45604f}.viewer-tools{display:flex;gap:5px;pointer-events:auto}.viewer-tools button{width:35px;height:35px;border:1px solid #d1dfd3;border-radius:5px;background:#f9fbf5eb;color:#31503c;font-size:18px;cursor:pointer}.viewer-tools button:hover{background:#264736;color:#fff}
.caption{max-width:1540px;margin:15px auto 0;color:#526b5e;font-size:12px;line-height:1.8}.under-view{max-width:1540px;margin:8px auto 0;display:flex;align-items:center;gap:13px;color:#687d6e;font-size:10px}.under-view span{margin-right:auto}.under-view button{background:none;border:0;color:#37664c;font-size:11px;font-weight:700;cursor:pointer;white-space:nowrap}#toast{position:fixed;right:24px;bottom:24px;background:#244536;color:white;padding:10px 15px;border-radius:5px;font-size:12px;opacity:0;transform:translateY(8px);transition:.2s;pointer-events:none;z-index:10}#toast.show{opacity:1;transform:translateY(0)}
.details{padding:82px max(4.3vw,22px) 88px}.steps{display:grid;grid-template-columns:repeat(3,1fr);gap:24px;margin-top:35px}.steps>div{border-top:1px solid #9aad9e;padding-top:17px}.steps b{font-family:Georgia,serif;font-size:34px;color:#9ab0a2;font-weight:400}.steps h3{font-size:16px;margin:9px 0}.steps p{font-size:12px;line-height:1.9;color:#617369;max-width:340px}.download{background:#1b302a;color:#f8f8ef;padding:60px max(4.3vw,22px);display:flex;gap:50px;justify-content:space-between;align-items:center}.download .section-index{color:#b9cbb7}.download p{font-size:12px;line-height:2;color:#b5c9bc;max-width:570px}.download-links{min-width:250px;display:grid;gap:8px}.download-links a{display:flex;justify-content:space-between;gap:24px;text-decoration:none;border-bottom:1px solid #648172;padding:12px 0;font-size:12px}.download-links a:hover{color:#b1e3c1}footer{padding:28px max(4.3vw,22px) 38px;background:#152921;color:#aec1b2;font-size:10px;line-height:1.9}footer a{text-underline-offset:3px}
@media(max-width:920px){.experience-grid{grid-template-columns:1fr}.guide{display:grid;grid-template-columns:200px 1fr;gap:0 18px}.guide-kicker,.scene-switch{grid-column:1}.guide h3{margin-top:4px}.guide #exterior-guide,.guide #interior-guide{grid-column:2;grid-row:1 / span 3}.place-list{grid-template-columns:repeat(3,1fr)}.place-list button{padding:8px}.mini-map{display:none}.viewer-wrap{height:590px;min-height:0}.intro-side{display:none}}
@media(max-width:640px){.topbar{height:62px}.toplink{font-size:10px}.intro{padding:30px 19px 34px}.intro h1{font-size:clamp(31px,9vw,44px);margin:12px 0}.intro p{font-size:12px}.experience{padding:25px 12px 38px}.section-heading{padding:0 7px}.viewer-hint{display:none}.guide{display:block;padding:12px}.guide h3{margin:15px 0 4px}.guide-copy{margin-bottom:9px}.place-list{grid-template-columns:repeat(2,1fr)}.place-list button{font-size:10px;gap:5px}.place-list button b{font-size:14px}.floor-switch{margin:8px 0}.viewer-wrap{height:510px}.viewer-top{left:12px;right:12px;top:11px}.viewer-stamp{font-size:8px}.view-tabs{left:10px;top:48px}.viewer-bottom{left:9px;right:9px;bottom:9px}.viewer-bottom>span{font-size:9px}.viewer-tools button{width:29px;height:29px;font-size:15px}.under-view{flex-wrap:wrap}.under-view span{flex-basis:100%}.steps{grid-template-columns:1fr;gap:13px}.details{padding:63px 20px}.download{display:block;padding:56px 20px}.download-links{margin-top:22px}}
