*{box-sizing:border-box}body{margin:0;background:#f7f9fa;color:#253b3c;font:15px/1.8 'Yu Gothic UI',Meiryo,sans-serif}button,select{font:inherit}button,a{touch-action:manipulation}button{cursor:pointer}button:focus-visible,a:focus-visible,select:focus-visible{outline:3px solid #df9f38;outline-offset:3px}[hidden]{display:none!important}header{height:88px;padding:16px 5vw;display:flex;justify-content:space-between;align-items:center;background:white;border-bottom:1px solid #dce5e4}.brand{color:#246f68;font-size:22px;font-weight:700;text-decoration:none}.brand span{display:block;font-size:11px;font-weight:400;letter-spacing:.08em}.sample{font-size:11px;color:#758785}main{max-width:1200px;margin:auto;padding:36px 28px 60px}.intro{padding:12px 0 30px}.intro>p:first-child,.eyebrow{color:#397a73;font-size:13px}h1{font-size:36px;line-height:1.5;margin:12px 0 16px;letter-spacing:.02em}h2{font-size:22px;margin:0}p{margin:0}h3{margin:0;font-size:21px}#search-form{display:grid;grid-template-columns:1fr 1fr 1fr auto;gap:20px;background:#e8f1ef;padding:24px;border-radius:8px;align-items:end}label{font-size:12px;color:#476360;font-weight:700}select{width:100%;display:block;margin-top:6px;padding:10px;border:1px solid #bed1cc;background:white;border-radius:4px;color:#253b3c}.primary{border:0;background:#28766c;color:white;padding:12px 24px;border-radius:5px;font-weight:700;min-height:48px}.results-heading{display:flex;justify-content:space-between;align-items:center;margin:30px 0 16px}.results-heading span{font-size:12px;color:#758785}#count{margin-left:12px}#results{display:grid;gap:20px}.facility-card{background:white;border:1px solid #dce5e4;border-radius:8px;display:grid;grid-template-columns:260px 1fr 190px;overflow:hidden}.facility-art{width:100%;height:100%;min-height:210px;background:#e4eeeb}.card-info{padding:22px 28px}.location{color:#69817d;font-size:12px;margin-bottom:6px}.tags{display:flex;gap:8px;flex-wrap:wrap;margin:12px 0}.tags span{font-size:11px;background:#edf4f1;color:#397367;padding:3px 10px;border-radius:4px}.card-info>p:last-child{font-size:13px;color:#667c78}.card-action{border-left:1px solid #edf1ef;padding:22px;display:flex;flex-direction:column;justify-content:center;gap:16px;font-size:12px;color:#6a807c}.secondary{background:white;border:1px solid #47877c;color:#28766c;border-radius:5px;padding:10px}.art-label{font-size:11px;fill:#66867f}.back{border:0;background:none;padding:0;margin:0 0 24px;color:#397a73}.detail-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:24px}.detail-header h1{margin:4px 0 8px}.detail-grid{display:grid;grid-template-columns:1fr 330px;gap:28px}.detail-visual{height:270px;overflow:hidden;border-radius:8px}.detail-visual .facility-art{height:270px}.detail-block{background:white;border:1px solid #dce5e4;border-radius:7px;padding:24px;margin-top:22px}.detail-block h2{font-size:18px;margin-bottom:14px}.detail-block p{font-size:14px;color:#5f7671}.day-flow{display:grid;grid-template-columns:repeat(4,1fr);gap:12px}.day-flow div{border-left:2px solid #98b8ad;padding-left:12px;font-size:13px}.day-flow time{display:block;color:#28766c;font-weight:700}.booking{align-self:start;background:white;border:1px solid #dce5e4;border-radius:8px;padding:26px}.booking h2{font-size:19px}.booking p{font-size:13px;color:#6a807c;margin:12px 0 22px}.booking .primary{width:100%}.booking small{display:block;font-size:11px;margin-top:14px;color:#81918c}dl{display:grid;grid-template-columns:90px 1fr;font-size:13px;margin:0}dt,dd{padding:12px 0;border-bottom:1px solid #e8efec}dt{color:#728b84}dd{margin:0}footer{padding:24px;text-align:center;color:#81918c;font-size:11px;border-top:1px solid #dce5e4}dialog{width:min(520px,90vw);border:0;border-radius:10px;padding:32px;color:#253b3c}dialog::backdrop{background:#203a3a77}dialog h2{margin:10px 0 18px}.demo-note{padding:18px;background:#edf4f1;margin:20px 0;font-size:13px}#empty{padding:40px;text-align:center;background:white}@media(max-width:800px){header{height:auto;padding:16px 20px;align-items:start;gap:10px}.brand{font-size:18px}.sample{max-width:120px;font-size:9px}main{padding:24px 20px}h1{font-size:27px}#search-form{grid-template-columns:1fr 1fr;padding:16px;gap:14px}.facility-card{grid-template-columns:140px 1fr}.card-info{padding:16px}.card-info h3{font-size:18px}.card-action{grid-column:1/-1;border-left:0;border-top:1px solid #edf1ef;flex-direction:row;align-items:center;justify-content:space-between;padding:14px 16px}.facility-art{min-height:180px}.results-heading{align-items:start;gap:10px}.results-heading>span{max-width:110px;font-size:10px}.detail-grid{grid-template-columns:1fr}.day-flow{grid-template-columns:1fr 1fr;gap:20px}.booking{grid-row:2}.detail-header{display:block}.detail-header h1{font-size:27px}}
