*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:#fffcf6;color:#4c453c;font-family:-apple-system,BlinkMacSystemFont,'Yu Gothic',Meiryo,sans-serif;line-height:1.85}a{color:inherit}header{background:#fff;border-bottom:1px solid #eee3d3}.bar{max-width:1100px;margin:auto;padding:15px 25px;display:flex;align-items:center;justify-content:space-between;gap:25px}.brand img{width:160px;display:block}nav{display:flex;gap:23px;flex-wrap:wrap}nav a{font-size:13px;font-weight:800;text-decoration:none;color:#775c40}nav a[aria-current]{color:#d67826;border-bottom:2px solid #e9a35f}.wrap{max-width:1060px;padding:0 25px;margin:auto}.crumb{font-size:11px;color:#9a8874;margin:22px 0}.hero{display:grid;grid-template-columns:1fr 230px;gap:20px;align-items:center;padding:35px 45px;background:#fff0d6;border-radius:27px;position:relative;overflow:hidden;border:2px solid #fff}.hero:after{content:'';position:absolute;width:230px;height:230px;right:-110px;top:-120px;border:30px solid #fff5e5;border-radius:50%}.kicker{font-size:11px;letter-spacing:.19em;color:#bb824b;font-weight:800}h1{font-size:clamp(29px,4vw,42px);line-height:1.5;color:#86562f;margin:9px 0 15px}h2{font-size:26px;color:#795433;line-height:1.6;margin:0 0 12px}h3{font-size:20px;line-height:1.6;color:#775535;margin:10px 0}p{margin:0 0 14px;font-size:14px}.hero p{margin:0}.hero img{width:100%;height:250px;object-fit:contain}.intro{display:flex;justify-content:space-between;align-items:end;gap:20px;margin:45px 0 23px}.intro p{max-width:550px;color:#857768;font-size:13px}.status{display:inline-block;background:#f0f4e9;color:#6c8056;border:1px solid #dfe8d2;font-size:11px;padding:5px 12px;border-radius:30px}.grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:20px}.card{background:#fff;border:1px solid #e8dece;border-radius:19px;overflow:hidden;box-shadow:0 7px 20px #7c5c3007}.visual{height:190px;background:linear-gradient(135deg,#f8f1e6,#eee8dc);display:flex;flex-direction:column;align-items:center;justify-content:center;gap:8px;color:#a7967c;border-bottom:1px solid #e9dfcf}.visual svg,.photo-slot svg{width:46px;height:46px;stroke:#b7a68a;fill:none;stroke-width:1.4}.visual span,.photo-slot small{font-size:11px}.copy{padding:23px}.tag{font-size:10px;font-weight:800;color:#ba7b3a;letter-spacing:.06em}.copy p{color:#84796c;font-size:12px}.link{display:inline-block;text-decoration:none;font-size:12px;font-weight:800;color:#b87535;border-bottom:1px solid #eac8a2;padding-bottom:3px}.note{margin:18px 0;font-size:11px;color:#8c8173}.panel{background:white;border:1px solid #e9dfce;border-radius:22px;padding:30px;margin:25px 0}.pair{display:grid;grid-template-columns:1fr 1fr;gap:18px;margin-top:22px}.photo-slot{min-height:220px;border:1px dashed #d7cab5;border-radius:14px;background:#faf7f0;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:8px}.photo-label{display:inline-block;font-size:11px;letter-spacing:.14em;font-weight:800;padding:5px 13px;border-radius:20px;background:#e8e2d8;color:#776c5c;margin-bottom:8px}.after .photo-label{background:#e8f0df;color:#68804c}.after .photo-slot{background:#f5f8ef;border-color:#cedabd}.case-head{display:flex;justify-content:space-between;align-items:center;gap:20px}.info{display:grid;grid-template-columns:repeat(3,1fr);gap:13px;margin-top:20px}.info>div{background:#fcf8f0;border-radius:11px;padding:13px;font-size:12px}.info strong{display:block;font-size:11px;color:#a88457;margin-bottom:5px}.cta{margin:45px 0 35px;background:#fff0d6;border:2px solid #fff;border-radius:23px;padding:35px;text-align:center}.cta h2{font-size:25px}.actions{display:flex;justify-content:center;gap:12px;flex-wrap:wrap;margin-top:18px}.btn{padding:12px 22px;border-radius:12px;background:#ec8a30;color:white;text-decoration:none;font-weight:800;font-size:13px}.btn.green{background:#e0efd7;color:#477445}.related{display:flex;justify-content:center;gap:23px;flex-wrap:wrap;padding:20px 0 30px;font-size:12px;color:#977a58}.foot{text-align:center;font-size:11px;padding:25px;border-top:1px solid #eaddcb;color:#8b7c68}.foot a{margin:0 8px}a:focus-visible{outline:3px solid #eeb074;outline-offset:5px}@media(max-width:800px){.bar{flex-direction:column;gap:12px;padding:12px 20px}nav{gap:15px;justify-content:center}nav a{font-size:11px}.grid{grid-template-columns:1fr}.card{display:grid;grid-template-columns:.8fr 1.2fr}.visual{height:auto;min-height:170px;border-bottom:0;border-right:1px solid #e9dfcf}.hero{grid-template-columns:1fr 150px;padding:27px}.hero img{height:180px}.intro{align-items:start;flex-direction:column;gap:8px}.info{grid-template-columns:1fr}.case-head{align-items:start;flex-direction:column;gap:7px}}@media(max-width:500px){.wrap{padding:0 15px}.hero{grid-template-columns:1fr 90px;padding:24px 20px;gap:8px;border-radius:21px}.hero img{height:135px}h1{font-size:28px}.hero p{font-size:12px}h2{font-size:23px}.card{display:block}.visual{height:155px;min-height:0;border-right:0}.copy{padding:21px}.panel{padding:23px 17px}.pair{gap:10px}.photo-slot{min-height:150px}.photo-slot svg{width:33px;height:33px}.photo-slot small{font-size:9px}.photo-label{font-size:9px}.cta{padding:27px 18px}.cta h2{font-size:22px}}

.hero>div,.hero>img{position:relative;z-index:1}

.case-photo-link{display:block;margin-top:22px}.case-full-photo{display:block;width:100%;height:auto;max-height:570px;object-fit:contain;background:#f6f0e6;border-radius:15px}.case-description{margin:22px 0 18px;color:#796b5b;font-size:14px}.real-pair figure{min-width:0;margin:0}.real-pair img{display:block;width:100%;height:auto;border-radius:13px;border:1px solid #e7dfd1}.real-pair figcaption{font-size:12px;color:#83735e;margin-top:10px;line-height:1.8}#bat-eaves{scroll-margin-top:180px}@media(max-width:600px){.real-pair{grid-template-columns:1fr;gap:22px}.case-description{font-size:13px}.real-pair figcaption{font-size:11px}}

#rat-vent{scroll-margin-top:180px}

.additional-case-photo{max-width:650px;margin:26px auto 0;min-width:0}.additional-case-photo>a{display:block}.additional-case-photo img{display:block;width:100%;height:auto;border:1px solid #d6e4ef;border-radius:13px}.additional-case-photo figcaption{font-size:12px;line-height:1.8;margin-top:10px;color:#617d94}@media(max-width:800px){.panel .additional-case-photo{max-width:100%;margin:24px 0 0}.additional-case-photo img{border-radius:10px}.additional-case-photo figcaption{font-size:12px;line-height:1.8}}

.phrase-heading>span{display:inline-block}.case-summary{margin-top:8px}.work-item{display:inline-block}.work-item+.work-item:before{content:"・"}
