.facility-hero{margin:0 0 32px;border-radius:var(--radius);overflow:hidden;background:var(--brand-50);aspect-ratio:16 / 9}.facility-hero img{width:100%;height:100%;object-fit:cover;display:block}.media-post__facility-info{margin:36px 0 0}.media-post__facility-info h2{font-size:22px;font-weight:900;color:var(--ink);margin:0 0 16px;padding:10px 0 10px 14px;border-left:4px solid var(--brand);line-height:1.4}.media-post__facility-info table{width:100%;border-collapse:collapse;font-size:15px;line-height:1.7}.media-post__facility-info th,.media-post__facility-info td{text-align:left;vertical-align:top;padding:12px 16px;border-bottom:1px solid var(--border)}.media-post__facility-info th{width:8em;color:var(--ink);font-weight:800;background:var(--brand-50);white-space:nowrap}.media-post__facility-info td a{color:var(--brand-600);word-break:break-all}.media-post__facility-info td a:hover{text-decoration:underline}.facility-map{margin:48px 0 0}.facility-map h2{font-size:22px;font-weight:900;color:var(--ink);margin:0 0 16px;padding:10px 0 10px 14px;border-left:4px solid var(--brand);line-height:1.4}.facility-map__frame{border-radius:var(--radius);overflow:hidden;border:1px solid var(--border);aspect-ratio:16 / 9;background:var(--brand-50)}.facility-map__frame iframe{width:100%;height:100%;border:0;display:block}.facility-map__link{margin:12px 0 0;font-size:14px;font-weight:700;text-align:right}.facility-map__link a{color:var(--brand-600)}.facility-map__link a:hover{text-decoration:underline}.facility-meta{margin-top:14px;display:flex;flex-wrap:wrap;align-items:center;gap:12px}.facility-badge{display:inline-block;font-size:12px;font-weight:800;letter-spacing:.04em;padding:4px 10px;border-radius:999px;border:1px solid transparent}.facility-badge--ok{color:#15803d;background:#dcfce7;border-color:#bbf7d0}.facility-badge--warn{color:#b45309;background:#fef3c7;border-color:#fcd34d}.facility-badge--bad{color:#b91c1c;background:#fee2e2;border-color:#fca5a5}.facility-rating{display:inline-flex;align-items:center;gap:4px;font-size:13px;font-weight:700;color:var(--ink)}.facility-rating__star{color:#f59e0b;font-size:16px;line-height:1}.facility-rating strong{font-size:15px;font-weight:900}.facility-rating__count{font-size:12px;color:var(--ink-mute);font-weight:600}.facility-rating__src{font-size:10px;color:var(--ink-mute);background:var(--brand-50);padding:2px 6px;border-radius:4px;font-weight:700;margin-left:4px}.facility-reservations{margin:48px 0 0}.facility-reservations h2{font-size:22px;font-weight:900;color:var(--ink);margin:0 0 16px;padding:10px 0 10px 14px;border-left:4px solid var(--brand);line-height:1.4}.facility-reservations__list{list-style:none;margin:0;padding:0;display:grid;gap:12px;grid-template-columns:repeat(auto-fill,minmax(280px,1fr))}.facility-reservation{display:grid;grid-template-columns:1fr auto;align-items:center;gap:8px 16px;padding:16px 20px;background:var(--surface, #fff);border:2px solid var(--border);border-radius:var(--radius);color:var(--ink);text-decoration:none;font-weight:800;transition:transform .15s ease,box-shadow .15s ease,border-color .15s ease}.facility-reservation:hover{transform:translateY(-2px);box-shadow:0 6px 18px #00000014;border-color:var(--brand)}.facility-reservation__label{font-size:16px;grid-column:1;grid-row:1}.facility-reservation__sub{font-size:12px;color:var(--ink-mute);font-weight:600;grid-column:1;grid-row:2}.facility-reservation__cta{font-size:13px;color:var(--brand-600);font-weight:800;grid-column:2;grid-row:1 / span 2}.facility-reservation--ikyu{border-left-color:#b91c1c}.facility-reservation--jalan{border-left-color:#ef4444}.facility-reservation--rakuten{border-left-color:#bf0000}.facility-reservation--ozmall{border-left-color:#a855f7}.facility-reservations__note{margin:12px 0 0;font-size:12px;color:var(--ink-mute)}.media-post__related-articles{margin:56px 0 0}.media-post__related-articles h2{font-size:22px;font-weight:900;color:var(--ink);margin:0 0 20px;padding:10px 0 10px 14px;border-left:4px solid var(--brand);line-height:1.4}@media(max-width:720px){.facility-hero{margin:0 0 24px}.media-post__facility-info table{font-size:14px}.media-post__facility-info th{width:6em;padding:10px 12px}.media-post__facility-info td{padding:10px 12px}}
