
#family-store-detail {padding:24px 12px 32px;color-scheme:light dark}
#family-store-detail .ks-phone {--ks-paper:light-dark(#faf7f0,#211f1b);--ks-surface:light-dark(#fffefa,#2b2924);--ks-ink:light-dark(#362c24,#f2e8db);--ks-sub:light-dark(#766d63,#c0b5a7);--ks-line:light-dark(#e6dfd2,#4b4238);--ks-teal:light-dark(#306d63,#9fd0bc);--ks-soft:light-dark(#eaf2eb,#2d3c33);--ks-rust:light-dark(#a34c2e,#efb799);--ks-meal:light-dark(#f4e7d9,#3c2c23);--ks-shadow:light-dark(#44301c12,#00000020);max-width:440px;margin:0 auto;border:1px solid var(--ks-line);border-radius:22px;background:var(--ks-paper);color:var(--ks-ink);font:14px/1.75 -apple-system,BlinkMacSystemFont,"Hiragino Kaku Gothic ProN","Noto Sans JP",sans-serif;overflow:hidden;box-shadow:0 14px 42px var(--ks-shadow)}
#family-store-detail .ks-phone * {box-sizing:border-box}
#family-store-detail button {font:inherit;color:inherit}
#family-store-detail svg {width:17px;height:17px;flex-shrink:0;vertical-align:middle}
#family-store-detail .ks-header {display:flex;align-items:center;justify-content:space-between;background:var(--ks-surface);border-bottom:1px solid var(--ks-line);padding:17px 23px}
#family-store-detail .ks-brand {font-size:20px;font-weight:800;letter-spacing:-.8px}
#family-store-detail .ks-brand small {display:block;color:var(--ks-teal);font-size:10px;letter-spacing:1px;font-weight:600;margin-top:1px}
#family-store-detail .ks-brandlogo {display:block;width:158px;max-width:100%;height:auto;background:light-dark(#fffefa,#f2e8db);border-radius:3px}
#family-store-detail .ks-local {color:var(--ks-teal);font-size:12px}
#family-store-detail .ks-breadcrumb {font-size:11px;color:var(--ks-sub);padding:17px 24px 0}
#family-store-detail .ks-breadcrumb span {padding:0 7px;color:var(--ks-line)}
#family-store-detail .ks-title {padding:20px 24px 22px}
#family-store-detail .ks-titleline {display:flex;align-items:center;justify-content:space-between;gap:12px}
#family-store-detail .ks-eyebrow {font-size:10px;color:var(--ks-teal);font-weight:650;letter-spacing:1.6px;margin:0 0 5px}
#family-store-detail h2 {font-size:30px;line-height:1.4;font-weight:750;letter-spacing:-.7px;margin:0;color:var(--ks-ink)}
#family-store-detail .ks-save {display:grid;place-items:center;flex-shrink:0;width:44px;height:44px;border:1px solid var(--ks-line);border-radius:50%;background:var(--ks-surface);color:var(--ks-teal)}
#family-store-detail .ks-save[aria-pressed=true] {background:var(--ks-soft);border-color:var(--ks-teal)}
#family-store-detail .ks-location {display:flex;align-items:center;gap:5px;font-size:12px;color:var(--ks-sub);margin:12px 0 15px}
#family-store-detail .ks-welcome {display:flex;align-items:center;flex-wrap:wrap;gap:6px;font-size:11px;color:var(--ks-teal)}
#family-store-detail .ks-welcome strong {font-size:12px;font-weight:650;background:var(--ks-soft);border-radius:5px;padding:3px 7px}
#family-store-detail .ks-story {padding:25px 24px;background:var(--ks-meal)}
#family-store-detail .ks-storylabel {display:flex;align-items:center;gap:6px;color:var(--ks-rust);font-size:11px;letter-spacing:1px;font-weight:650}
#family-store-detail .ks-story h3 {font-size:23px;line-height:1.65;font-weight:650;letter-spacing:-.5px;color:var(--ks-ink);margin:12px 0}
#family-store-detail .ks-story>p {font-size:12px;color:var(--ks-sub);margin:0 0 23px}
#family-store-detail .ks-pair {border-top:1px solid var(--ks-line);padding-top:18px}
#family-store-detail .ks-pair p {font-size:18px;margin:8px 0 2px;font-weight:650}
#family-store-detail .ks-pair p strong {white-space:nowrap;font-size:17px;margin-left:6px}
#family-store-detail .ks-pair>span:last-child {font-size:11px;color:var(--ks-sub)}
#family-store-detail .ks-ataglance {display:grid;grid-template-columns:1fr 1fr;gap:17px 16px;padding:22px 24px;background:var(--ks-surface);border-bottom:1px solid var(--ks-line)}
#family-store-detail .ks-ataglance small {display:block;font-size:11px;color:var(--ks-sub);margin-bottom:3px}
#family-store-detail .ks-ataglance strong {font-size:12px;font-weight:650}
#family-store-detail .ks-section {padding:27px 24px;border-bottom:1px solid var(--ks-line)}
#family-store-detail .ks-sectionlabel {font-size:10px;letter-spacing:1.6px;color:var(--ks-teal);font-weight:650}
#family-store-detail .ks-section h3,#family-store-detail .ks-photos h3 {font-size:20px;line-height:1.5;letter-spacing:-.5px;font-weight:700;margin:6px 0 18px;color:var(--ks-ink)}
#family-store-detail .ks-menu {display:flex;justify-content:space-between;gap:12px;padding:13px 0;border-bottom:1px solid var(--ks-line);align-items:center}
#family-store-detail .ks-menu strong {font-size:14px;font-weight:650;display:block}
#family-store-detail .ks-menu div>span {display:block;font-size:11px;color:var(--ks-sub);margin-top:3px}
#family-store-detail .ks-menu b {font-size:22px;font-weight:650;white-space:nowrap}
#family-store-detail .ks-menu b span {font-size:11px;margin-left:3px;font-weight:400}
#family-store-detail .ks-note {font-size:11px;color:var(--ks-sub);margin:11px 0 0}
#family-store-detail .ks-checks {display:flex;flex-direction:column;gap:9px;padding:17px 0 14px;font-size:12px}
#family-store-detail .ks-checks>span {display:flex;gap:7px;align-items:center}
#family-store-detail .ks-checks svg {width:15px;height:15px;color:var(--ks-teal)}
#family-store-detail details {font-size:11px;color:var(--ks-sub)}
#family-store-detail summary {padding:9px 0;min-height:36px}
#family-store-detail details p {margin:4px 0 8px}
#family-store-detail .ks-evidence {display:flex;gap:10px;background:var(--ks-soft);color:var(--ks-teal);padding:15px;border-radius:11px}
#family-store-detail .ks-evidence>svg {margin-top:3px}
#family-store-detail .ks-evidence strong {font-weight:650;font-size:12px}
#family-store-detail .ks-evidence p {font-size:12px;line-height:1.8;color:var(--ks-ink);margin:6px 0}
#family-store-detail .ks-evidence span {font-size:10px;color:var(--ks-sub)}
#family-store-detail .ks-equipment {margin:16px 0 0;font-size:12px}
#family-store-detail .ks-equipment>div {display:grid;grid-template-columns:100px 1fr;gap:12px;border-bottom:1px solid var(--ks-line);padding:12px 0}
#family-store-detail .ks-equipment>div:last-child {border-bottom:0}
#family-store-detail dt {color:var(--ks-sub)}
#family-store-detail dd {margin:0}
#family-store-detail dd strong {font-weight:600}
#family-store-detail dd span {display:block;font-size:11px;color:var(--ks-sub);margin-top:2px}
#family-store-detail .ks-unknown {color:var(--ks-sub)}
#family-store-detail .ks-photos {padding:28px 24px;background:var(--ks-surface);border-bottom:1px solid var(--ks-line)}
#family-store-detail .ks-photos h3 {font-size:23px;margin-bottom:8px}
#family-store-detail .ks-sub {font-size:12px;color:var(--ks-sub);margin:0 0 18px}
#family-store-detail .ks-review {width:100%;display:flex;align-items:center;justify-content:space-between;gap:10px;background:var(--ks-paper);border:1px solid var(--ks-line);padding:15px 13px;border-radius:11px;margin-top:10px;text-align:left;min-height:80px}
#family-store-detail .ks-service {font-size:15px;font-weight:650;flex:1}
#family-store-detail .ks-service small {display:block;font-size:10px;color:var(--ks-teal);font-weight:400;margin-top:5px}
#family-store-detail .ks-score {font-size:25px;font-weight:650;line-height:1.25;text-align:right}
#family-store-detail .ks-score small {display:block;font-size:10px;font-weight:400;color:var(--ks-sub);margin-top:7px;white-space:nowrap}
#family-store-detail .ks-review>svg {width:15px;color:var(--ks-teal)}
#family-store-detail .ks-notice {font-size:11px;color:var(--ks-teal);background:var(--ks-soft);border-radius:8px;padding:12px;margin-top:13px}
#family-store-detail .ks-more {border-top:1px solid var(--ks-line);margin-top:10px;padding-top:5px}
#family-store-detail .ks-basics {border-bottom:0}
#family-store-detail .ks-footer {padding:19px 24px 23px;background:var(--ks-surface);border-top:1px solid var(--ks-line);text-align:center}
#family-store-detail .ks-savewide {display:flex;align-items:center;justify-content:center;gap:8px;width:100%;border:1px solid var(--ks-teal);background:var(--ks-teal);color:var(--ks-surface);border-radius:10px;padding:13px 10px;font-size:14px;font-weight:650;min-height:48px}
#family-store-detail .ks-savednote {font-size:10px;color:var(--ks-sub);display:block;margin-top:8px}
#family-store-detail .ks-ratinggrid {display:grid;grid-template-columns:1fr 1fr;gap:10px}
#family-store-detail .ks-ratinggrid .ks-review {display:flex;flex-direction:column;align-items:flex-start;justify-content:flex-start;gap:0;margin:0;padding:16px 13px;min-width:0}
#family-store-detail .ks-ratinggrid .ks-service {font-size:14px;flex:none}
#family-store-detail .ks-bigscore {font-size:44px;line-height:1.15;font-weight:750;letter-spacing:-1.5px;margin:10px 0 3px;font-variant-numeric:tabular-nums}
#family-store-detail .ks-reviewcount {font-size:11px;color:var(--ks-sub)}
#family-store-detail .ks-photolink {display:flex;align-items:center;gap:3px;font-size:10px;font-weight:600;color:var(--ks-teal);border-top:1px solid var(--ks-line);padding-top:12px;margin-top:13px;width:100%;flex-wrap:wrap;text-align:left}
#family-store-detail .ks-photolink svg {width:13px;height:13px}
#family-store-detail .ks-count {font-size:12px;font-weight:400;color:var(--ks-sub);white-space:nowrap}
#family-store-detail .ks-record {background:var(--ks-surface);border:1px solid var(--ks-line);border-radius:12px;padding:17px;margin-top:12px}
#family-store-detail .ks-recordmeta {display:flex;justify-content:space-between;gap:8px;align-items:center}
#family-store-detail .ks-recordmeta strong {font-size:12px;font-weight:600;color:var(--ks-teal)}
#family-store-detail .ks-recordmeta>span {font-size:10px;color:var(--ks-sub)}
#family-store-detail .ks-record h4 {font-size:14px;line-height:1.6;margin:12px 0 7px;font-weight:650;color:var(--ks-ink)}
#family-store-detail .ks-record p,#family-store-detail .ks-recordempty {font-size:12px;margin:0 0 13px;line-height:1.9}
#family-store-detail .ks-recordtags {display:flex;flex-wrap:wrap;gap:5px}
#family-store-detail .ks-recordtags span {background:var(--ks-soft);color:var(--ks-teal);border-radius:4px;padding:3px 6px;font-size:10px}
#family-store-detail .ks-record small {display:block;margin-top:12px;color:var(--ks-sub);font-size:10px}
#family-store-detail .ks-route {display:flex;align-items:center;gap:9px;text-align:left;width:100%;padding:14px;border:1px solid var(--ks-teal);border-radius:10px;color:var(--ks-teal);background:var(--ks-soft);margin-top:17px;font-size:13px;font-weight:600}
#family-store-detail .ks-route>span {flex:1}
#family-store-detail .ks-route small {display:block;font-size:10px;font-weight:400;margin-top:4px}
#family-store-detail .ks-links {display:flex;flex-wrap:wrap;gap:7px;margin:15px 0 8px}
#family-store-detail .ks-links button {display:flex;align-items:center;gap:5px;font-size:11px;padding:9px 10px;border:1px solid var(--ks-line);border-radius:7px;background:var(--ks-surface);color:var(--ks-teal);min-height:40px}
#family-store-detail .ks-links svg {width:13px;height:13px}
#family-store-detail .ks-recommendations {background:var(--ks-paper);padding-bottom:34px}
#family-store-detail .ks-rec {border-top:1px solid var(--ks-line);color:var(--ks-ink)}
#family-store-detail .ks-rec summary {display:block;position:relative;padding:17px 23px 17px 0;list-style:none}
#family-store-detail .ks-rec summary::-webkit-details-marker {display:none}
#family-store-detail .ks-rec summary:after {content:'＋';position:absolute;right:0;top:24px;font-size:16px;color:var(--ks-teal)}
#family-store-detail .ks-rec[open] summary:after {content:'−'}
#family-store-detail .ks-rec summary>span,#family-store-detail .ks-rec summary>strong {display:block}
#family-store-detail .ks-recgenre {color:var(--ks-teal);font-size:10px;margin-bottom:2px}
#family-store-detail .ks-rec strong {font-size:17px;font-weight:650}
#family-store-detail .ks-recmeal {font-size:13px;margin:7px 0 3px;font-weight:600}
#family-store-detail .ks-reckids {font-size:11px;color:var(--ks-rust)}
#family-store-detail .ks-recaccess {font-size:10px;color:var(--ks-sub);margin-top:7px}
#family-store-detail .ks-rec>p {font-size:12px;background:var(--ks-surface);border-radius:8px;padding:12px;margin:0 0 15px}
#family-store-detail .ks-reclink {width:100%;text-align:left;border:0;background:transparent;color:var(--ks-ink);padding:17px 24px 17px 0;position:relative}
#family-store-detail .ks-reclink:after {content:'→';position:absolute;right:0;top:25px;font-size:18px;color:var(--ks-teal)}
#family-store-detail .ks-reclink>span,#family-store-detail .ks-reclink>strong {display:block}
#family-store-detail .ks-reclink .ks-reclabel {color:var(--ks-teal);font-size:11px;margin-top:10px}
#family-store-detail .ks-backlink {min-height:44px;border:0;background:transparent;color:var(--ks-teal);padding:7px 0;font-size:12px;text-align:left}
#family-store-detail .ks-visitphotos {padding:0 24px 22px}
#family-store-detail .ks-visitphotohead {display:flex;align-items:center;justify-content:space-between;gap:8px;margin-bottom:8px}
#family-store-detail .ks-visitphotohead strong {font-size:12px;font-weight:600}
#family-store-detail .ks-visitphotohead strong span {font-size:10px;color:var(--ks-sub);font-weight:400;margin-left:4px}
#family-store-detail .ks-recordjump {font-size:11px;color:var(--ks-teal);background:transparent;border:0;padding:8px 0;min-height:36px;white-space:nowrap}
#family-store-detail .ks-thumbgrid {display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:7px}
#family-store-detail .ks-thumb {border:1px solid var(--ks-line);background:var(--ks-meal);color:var(--ks-rust);border-radius:9px;padding:14px 4px 0;display:flex;align-items:center;flex-direction:column;overflow:hidden;min-width:0;min-height:104px}
#family-store-detail .ks-thumb:nth-child(2) {background:var(--ks-soft);color:var(--ks-teal)}
#family-store-detail .ks-thumb:nth-child(3) {background:var(--ks-surface);color:var(--ks-sub)}
#family-store-detail .ks-thumb>svg {width:22px;height:22px;margin:1px 0 8px}
#family-store-detail .ks-thumb small {font-size:9px;color:var(--ks-sub);margin-bottom:11px}
#family-store-detail .ks-thumb>span {background:var(--ks-surface);color:var(--ks-ink);width:calc(100% + 8px);padding:5px 2px;font-size:10px;margin-top:auto;border-top:1px solid var(--ks-line)}
#family-store-detail .ks-photopeek {background:var(--ks-surface);border:1px solid var(--ks-line);border-radius:12px;padding:14px;margin-top:12px}
#family-store-detail .ks-peekclose {display:block;margin-left:auto;border:0;background:transparent;color:var(--ks-teal);font-size:11px;padding:6px 0 10px;min-height:36px}
#family-store-detail .ks-photoenlarged {background:var(--ks-meal);aspect-ratio:4/3;display:flex;align-items:center;justify-content:center;gap:9px;color:var(--ks-rust);border-radius:7px;margin-bottom:13px;font-size:12px}
#family-store-detail .ks-peektitle {display:block;font-size:13px;font-weight:600}
#family-store-detail .ks-peekbody {font-size:12px;margin:8px 0}
#family-store-detail .ks-photopeek>small {font-size:10px;color:var(--ks-sub)}
#family-store-detail .ks-mapblock {margin-top:22px}
#family-store-detail .ks-mapheading {display:flex;align-items:center;justify-content:space-between;gap:8px;margin-bottom:10px}
#family-store-detail .ks-mapheading strong {font-size:13px;font-weight:600}
#family-store-detail .ks-mapheading>span {color:var(--ks-sub);font-size:11px}
#family-store-detail .ks-mapcanvas {position:relative;border:1px solid var(--ks-line);border-radius:11px;background:var(--ks-soft);overflow:hidden;aspect-ratio:400/230}
#family-store-detail .ks-mapcanvas>svg {display:block;width:100%;height:100%}
#family-store-detail .ks-mapcanvas path {fill:none;stroke-linecap:round;stroke-linejoin:round}
#family-store-detail .ks-map-building {stroke:var(--ks-line);stroke-width:.7;fill:var(--ks-paper)!important}
#family-store-detail .ks-map-road {stroke:var(--ks-surface);stroke-width:4}
#family-store-detail .ks-map-rail {stroke:var(--ks-sub);stroke-width:2;stroke-dasharray:3 3}
#family-store-detail .ks-mapstation {position:absolute;left:39%;top:55%;font-size:13px;font-weight:650;padding:2px 6px;border-radius:4px;background:var(--ks-surface);color:var(--ks-ink)}
#family-store-detail .ks-mappin {position:absolute;left:65%;top:28%;display:flex;align-items:center;flex-direction:column;color:var(--ks-rust)}
#family-store-detail .ks-mappin>svg {width:30px;height:30px;fill:var(--ks-meal)}
#family-store-detail .ks-mappin>span {font-size:10px;font-weight:600;background:var(--ks-surface);border:1px solid var(--ks-line);padding:3px 7px;border-radius:5px;margin-top:3px;white-space:nowrap}
#family-store-detail .ks-mapbadge {position:absolute;left:9px;top:8px;background:var(--ks-surface);padding:3px 7px;border-radius:4px;font-size:10px;color:var(--ks-sub)}
#family-store-detail .ks-mapcredit {font-size:9px;color:var(--ks-sub);text-align:right;margin-top:5px}
#family-store-detail .ks-mapcredit a {color:inherit}
#family-store-detail .ks-mapblock .ks-route {margin-top:11px}
#family-store-detail .ks-thumbgrid {grid-template-columns:minmax(0,1.7fr) minmax(0,1fr);grid-template-rows:100px 100px}
#family-store-detail .ks-thumb:first-child {grid-row:1/3;justify-content:center}
#family-store-detail .ks-thumb:first-child>svg {width:38px;height:38px;margin-top:auto}
#family-store-detail .ks-thumb:first-child>small {font-size:11px;margin-bottom:22px}
#family-store-detail .ks-thumb:first-child>span {font-size:12px;padding:8px 3px}
#family-store-detail .ks-familymeal {margin:0 0 12px;padding:10px 12px;background:var(--ks-paper);border-radius:8px;font-size:12px}
#family-store-detail .ks-familymeal>div {display:grid;grid-template-columns:45px 1fr;gap:6px;padding:3px 0}
#family-store-detail .ks-familymeal dt {color:var(--ks-teal);font-size:11px}
#family-store-detail .ks-bookingchoices>.ks-hotpepper {background:var(--ks-rust);color:var(--ks-surface);border-color:var(--ks-rust);font-weight:650;padding:13px 10px}
#family-store-detail .ks-adnote {display:block;font-size:10px;color:var(--ks-sub);margin-top:9px}
#family-store-detail .ks-phone {overflow:clip}
#family-store-detail .ks-sitemenu {padding:25px 24px 30px;background:var(--ks-surface);border-top:1px solid var(--ks-line)}
#family-store-detail .ks-menubrand {font-size:13px;color:var(--ks-teal);font-weight:600;margin-bottom:15px}
#family-store-detail .ks-sitemenu nav {display:grid;grid-template-columns:1fr 1fr;gap:1px 14px}
#family-store-detail .ks-sitemenu nav button {font-size:11px;line-height:1.6;min-height:40px;padding:8px 0;text-align:left;background:transparent;border:0;color:var(--ks-sub)}
#family-store-detail .ks-sitemenu>small {display:block;font-size:10px;color:var(--ks-sub);margin-top:20px}
#family-store-detail .ks-menunotice {font-size:11px;color:var(--ks-teal)}
#family-store-detail .ks-persistent {position:sticky;bottom:0;z-index:5;padding:12px 16px 10px;background:var(--ks-surface);border-top:1px solid var(--ks-line);box-shadow:0 -5px 18px var(--ks-shadow);text-align:center}
#family-store-detail .ks-actionrow {display:grid;grid-template-columns:1fr 1.3fr;gap:9px}
#family-store-detail .ks-actionrow .ks-savewide {font-size:12px;gap:5px;padding:12px 6px;background:var(--ks-surface);color:var(--ks-teal);border-color:var(--ks-line)}
#family-store-detail .ks-actionrow .ks-savewide[aria-pressed=true] {background:var(--ks-soft);border-color:var(--ks-teal)}
#family-store-detail .ks-booking {display:flex;align-items:center;justify-content:center;gap:8px;border:0;background:var(--ks-rust);color:var(--ks-surface);border-radius:10px;padding:12px 6px;font-weight:650;font-size:14px;min-height:48px}
#family-store-detail .ks-bookingchoices {text-align:left;border-bottom:1px solid var(--ks-line);padding:3px 0 13px;margin-bottom:12px}
#family-store-detail .ks-bookingchoices>strong {display:block;font-size:13px;margin-bottom:5px}
#family-store-detail .ks-bookingchoices>button {display:block;width:100%;background:var(--ks-paper);border:1px solid var(--ks-line);border-radius:7px;padding:10px;margin-top:6px;text-align:left;color:var(--ks-teal);font-size:12px}
#family-store-detail .ks-bookingnotice {font-size:11px;color:var(--ks-teal);margin:10px 0 0}
@media(max-width:380px){#family-store-detail .ks-visitphotos{padding-left:18px;padding-right:18px}#family-store-detail .ks-thumbgrid{gap:5px}#family-store-detail .ks-visitphotohead{gap:5px}#family-store-detail .ks-visitphotohead strong{font-size:11px}}
@media(max-width:380px){#family-store-detail .ks-ratinggrid{gap:7px}#family-store-detail .ks-ratinggrid .ks-review{padding:14px 10px}#family-store-detail .ks-bigscore{font-size:39px}#family-store-detail .ks-ratinggrid .ks-service{font-size:13px}#family-store-detail .ks-record{padding:14px}}
@media(max-width:380px){#family-store-detail{padding:12px 0 20px}#family-store-detail .ks-phone{border-radius:16px}#family-store-detail .ks-header{padding:16px 18px}#family-store-detail .ks-title,#family-store-detail .ks-story,#family-store-detail .ks-ataglance,#family-store-detail .ks-section,#family-store-detail .ks-photos{padding-left:18px;padding-right:18px}#family-store-detail .ks-story h3{font-size:20px}#family-store-detail .ks-pair p{font-size:16px}#family-store-detail .ks-equipment>div{grid-template-columns:88px 1fr;gap:8px}#family-store-detail .ks-review{gap:7px;padding:13px 10px}#family-store-detail .ks-score{font-size:22px}#family-store-detail .ks-service{font-size:14px}#family-store-detail .ks-ataglance{column-gap:10px}}
