:root{--color-ink:#0f1b33;--color-ink-sub:#2b3752;--color-mute:#5f6779;--color-canvas:#fff;--color-canvas-alt:#f8f6f0;--color-hairline:#e6e1d3;--color-accent:#d4aa4f;--color-accent-strong:#bf9436;--color-on-accent:#0f1b33;--color-accent-text:#8a6414;--color-accent-soft:#f5edd6;--color-accent-soft-text:#6f5010;--color-brand:#1b2f5b;--color-brand-strong:#12213f;--color-status:#9c7212;--color-neutral-soft:#eeebe3;--color-shadow:#0f1b3314;--font-sans:"Noto Sans JP", system-ui, sans-serif}*{box-sizing:border-box}body{font-family:var(--font-sans);color:var(--color-ink);background:var(--color-canvas);margin:0;font-size:15px;font-weight:400;line-height:1.85}h1,h2,h3{margin:0}h1:before{content:"";background:var(--color-accent);width:40px;height:3px;margin-bottom:16px;display:block}h1{letter-spacing:-.03em;font-size:32px;font-weight:300;line-height:1.35}h2{letter-spacing:-.02em;margin:64px 0 16px;font-size:22px;font-weight:300;line-height:1.4}h3{letter-spacing:-.01em;margin:24px 0 8px;font-size:18px;font-weight:500;line-height:1.4}p{margin:0 0 16px}.num{font-variant-numeric:tabular-nums;letter-spacing:-.03em;font-weight:300}.lead{color:var(--color-ink-sub);margin:16px 0 0}.note{color:var(--color-mute);font-size:12px;line-height:1.7}a{color:var(--color-brand);text-decoration:none}a:hover{color:var(--color-brand-strong)}.container{max-width:1280px;margin:0 auto;padding:0 24px}.page-head{padding:40px 0 48px}.breadcrumb{color:var(--color-mute);margin:0 0 16px;font-size:12px;line-height:1.7}.band{background:var(--color-canvas-alt);box-shadow:0 0 0 100vmax var(--color-canvas-alt);clip-path:inset(0 -100vmax);margin-top:64px;padding:32px 0}.page-head+.band,.band h2:first-child{margin-top:0}.top-band{background:var(--color-accent);height:4px}.site-header{border-bottom:1px solid var(--color-hairline);height:56px;position:relative}.site-header .container{flex-wrap:nowrap;justify-content:space-between;align-items:center;column-gap:16px;height:100%;display:flex}.site-logo{flex-shrink:0;align-items:center;min-height:48px;display:inline-flex}.site-logo img{width:auto;height:36px;display:block}.site-catch{color:var(--color-ink-sub);white-space:nowrap;margin:0;font-size:13px;line-height:1.4;display:none}.site-catch-bar{border-bottom:1px solid var(--color-hairline);color:var(--color-ink-sub);white-space:nowrap;margin:0;padding:6px 0;font-size:12px;line-height:1.5}.site-catch-bar .container{display:block}.menu-toggle{opacity:0;pointer-events:none;width:1px;height:1px;position:absolute}.menu-button{min-height:44px;color:var(--color-brand);cursor:pointer;white-space:nowrap;align-items:center;font-size:13px;display:inline-flex}.menu-toggle:focus-visible+.menu-button{outline:2px solid var(--color-brand);outline-offset:2px}.site-nav{z-index:10;border-bottom:1px solid var(--color-hairline);background:var(--color-canvas);box-shadow:0 1px 3px var(--color-shadow);white-space:nowrap;flex-direction:column;padding:0 16px 8px;font-size:14px;display:none;position:absolute;top:100%;left:0;right:0}.menu-toggle:checked~.site-nav{display:flex}.site-nav a{min-height:44px;color:var(--color-ink-sub);align-items:center;display:inline-flex}.site-nav a:hover{color:var(--color-brand)}.site-footer{background:var(--color-canvas-alt);margin-top:96px;padding:32px 0}.footer-nav{flex-wrap:wrap;column-gap:16px;margin-bottom:8px;display:flex}.footer-nav a{align-items:center;min-height:44px;font-size:13px;display:inline-flex}.site-footer p{color:var(--color-mute);margin:0;font-size:12px;line-height:1.7}.draft{border-left:1px solid var(--color-hairline);background:var(--color-canvas-alt);color:var(--color-mute);margin:0 0 16px;padding:12px 16px;font-size:13px;line-height:1.8}.form-section{margin:0 0 32px}.form-field{margin:0 0 24px}.form-field label,.form-field legend{color:var(--color-ink);margin:0 0 8px;font-size:14px;font-weight:500;display:block}.form-field .req{color:var(--color-accent-text);margin-left:4px;font-size:12px;font-weight:500}.form-field .optional{color:var(--color-mute);margin-left:4px;font-size:12px;font-weight:400}.form-field .help{color:var(--color-mute);margin:8px 0 0;font-size:13px;line-height:1.8}.form-field input[type=text],.form-field input[type=url],.form-field input[type=tel],.form-field input[type=email],.form-field textarea,.form-field select{border:1px solid var(--color-hairline);background:var(--color-canvas);width:100%;min-height:48px;color:var(--color-ink);font-family:var(--font-sans);border-radius:8px;padding:12px 16px;font-size:15px;line-height:1.6}.form-field textarea{resize:vertical;min-height:120px}.form-field input:disabled,.form-field textarea:disabled,.form-field select:disabled{background:var(--color-canvas-alt);color:var(--color-mute)}.form-check{align-items:flex-start;gap:12px;display:flex}.form-check input[type=checkbox]{flex:none;width:20px;height:20px;margin-top:2px}.form-check .form-check-text{color:var(--color-ink);font-size:14px;line-height:1.8}.form-upload{border:1px dashed var(--color-hairline);background:var(--color-canvas-alt);text-align:center;color:var(--color-mute);border-radius:8px;padding:24px;font-size:13px;line-height:1.8}.form-submit{border-top:1px solid var(--color-hairline);margin-top:40px;padding-top:32px}.btn[disabled],.btn-phone[disabled]{opacity:.5;cursor:not-allowed;pointer-events:none}.form-submit .draft{margin-top:16px;margin-bottom:0}.stats{text-align:center;grid-template-columns:repeat(3,1fr);gap:16px;display:grid}.stat .num{font-size:32px;line-height:1;display:block}.stat .label{color:var(--color-mute);margin-top:8px;font-size:12px;line-height:1.7;display:block}.table-scroll{overflow-x:auto}table{border-collapse:collapse;width:100%;font-size:13px;line-height:1.7}th,td{border:1px solid var(--color-hairline);text-align:left;vertical-align:top;padding:12px}th{background:var(--color-canvas-alt);font-weight:500}td{font-variant-numeric:tabular-nums}.card{border:1px solid var(--color-hairline);background:var(--color-canvas);box-shadow:0 1px 3px var(--color-shadow);border-radius:12px;padding:24px}.btn,.btn-phone{font-variant-numeric:tabular-nums;white-space:nowrap;border:1px solid #0000;border-radius:9999px;justify-content:center;align-items:center;height:48px;padding:0 24px;font-size:15px;font-weight:500;line-height:1;display:inline-flex}.btn-phone{background:var(--color-accent);border-color:var(--color-accent);color:var(--color-on-accent)}.btn-phone:hover,.btn-phone:active{background:var(--color-accent-strong);border-color:var(--color-accent-strong);color:var(--color-on-accent)}.btn{background:var(--color-canvas);border-color:var(--color-brand);color:var(--color-brand)}.btn:hover,.btn:active{border-color:var(--color-brand-strong);color:var(--color-brand-strong)}.btn-phone.large{height:56px;font-size:17px;display:flex}.badge{border:1px solid var(--color-hairline);color:var(--color-ink-sub);border-radius:9999px;padding:4px 10px;font-size:11px;font-weight:500;line-height:1.4;display:inline-block}.badge.emph{border-color:var(--color-accent-soft);background:var(--color-accent-soft);color:var(--color-accent-soft-text)}.badge.neutral{border-color:var(--color-neutral-soft);background:var(--color-neutral-soft)}.badges{flex-wrap:wrap;gap:8px;margin:0;display:flex}.info-list{grid-template-columns:96px 1fr;gap:4px 16px;margin:0;font-size:14px;line-height:1.7;display:grid}.info-list dt{color:var(--color-mute)}.info-list dd{color:var(--color-ink);overflow-wrap:anywhere;margin:0}.stars{color:var(--color-status);letter-spacing:2px;white-space:nowrap;line-height:1;display:inline-block;position:relative}.stars:before{content:"☆☆☆☆☆"}.stars:after{content:"★★★★★";width:var(--rate);position:absolute;top:0;left:0;overflow:hidden}.rating-total{align-items:center;gap:12px;display:flex}.rating-total .num{font-size:32px;line-height:1}.rating-total .stars{font-size:16px}.rating-items{margin:0;padding:0;font-size:13px;line-height:1.7;list-style:none}.rating-items li{color:var(--color-ink-sub);justify-content:space-between;align-items:center;gap:12px;padding:2px 0;display:flex}.rating-items .stars{font-size:13px}.photo{margin:0}.photo .frame{border:1px solid var(--color-hairline);background:var(--color-canvas-alt);color:var(--color-mute);justify-content:center;align-items:center;font-size:11px;display:flex;overflow:hidden}.photo .frame img{object-fit:cover;width:100%;height:100%;display:block}.photo.thumb .frame{border-radius:6px;width:96px;height:64px}.photo.hero .frame{height:210px;box-shadow:0 1px 3px var(--color-shadow);border-radius:12px;font-size:13px}.photo figcaption{color:var(--color-mute);overflow-wrap:anywhere;margin-top:8px;font-size:12px;line-height:1.7}.cards{gap:24px;margin:0;padding:0;list-style:none;display:grid}.company-card{grid-template-columns:96px 1fr;grid-template-areas:"image head""rating rating""badges badges""items items""info info""actions actions";gap:16px;display:grid}.rest-head{align-items:baseline;gap:8px;display:flex}.rest-count{color:var(--color-mute);font-size:14px;font-weight:400}.c-head .rank.rank-plain{color:var(--color-mute)}.rest-list{border:1px solid var(--color-hairline);background:var(--color-canvas);border-radius:12px;margin:0;padding:0;list-style:none;overflow:hidden}.rest-list li+li{border-top:1px solid var(--color-hairline)}.rest-list a{min-height:48px;color:var(--color-ink);background:var(--color-canvas);align-items:center;gap:12px;padding:8px 16px;display:flex}.rest-no{color:var(--color-mute);flex:none;font-size:12px}.rest-name{color:var(--color-ink);flex:1;font-weight:500}.rest-score{color:var(--color-ink);flex:none;font-size:14px}.rest-arrow{color:var(--color-brand);flex:none}.company-card.no-image{grid-template-columns:1fr;grid-template-areas:"head""rating""badges""items""info""actions"}.c-image{grid-area:image}.c-head{grid-area:head;min-width:0}.c-head .rank{letter-spacing:.12em;color:var(--color-accent-text);margin:0;font-size:11px;font-weight:500}.c-head h3{margin:0;font-size:18px}.c-head h3 a{color:var(--color-ink)}.c-rating{grid-area:rating}.c-badges{grid-area:badges}.c-items{grid-area:items}.c-info{grid-area:info}.c-actions{grid-area:actions;gap:12px;display:grid}.c-actions .btn,.c-actions .btn-phone{width:100%}.detail-rating{margin:24px 0}.detail-rating .rating-total .num{font-size:36px}.detail-rating .rating-total .stars{font-size:20px}.detail-rating .rating-items{max-width:360px;margin-top:12px}.review-cards{gap:24px;margin:0;padding:0;list-style:none;display:grid}.review-card h3{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:8px;margin:0 0 12px;display:flex}.review-card p{margin:0 0 16px;font-size:14px;line-height:1.8}.review-card .rating-total .num{font-size:24px}.review-card .rating-total .stars{font-size:14px}.badge.outline{border-color:var(--color-hairline);background:var(--color-canvas);color:var(--color-mute)}.result-heading{margin:16px 0 0;font-size:20px}.pillar-table th[scope=row]{width:40%}.quote-list{color:var(--color-ink-sub);margin:4px 0 0;padding-left:1.2em;font-size:13px}.price-whole-site,.price-extra-lead{color:var(--color-ink-sub);margin:8px 0 0;font-size:13px}.fact-list{gap:16px;margin:0;padding:0;list-style:none;display:grid}.fact-list .card p{margin:0;font-size:14px;line-height:1.8}.closing{color:var(--color-ink-sub);margin:48px 0 0;font-size:14px;line-height:1.8}.pref-grid{grid-template-columns:repeat(2,1fr);gap:0 24px;margin:0;padding:0;font-size:14px;list-style:none;display:grid}.pref-grid li{border-bottom:1px solid var(--color-hairline);justify-content:space-between;align-items:center;min-height:44px;display:flex}.pref-grid .pending{color:var(--color-mute)}.entry-list{gap:24px;margin:0;padding:0;list-style:none;display:grid}.entry-list .card h3{margin:0 0 8px}.entry-list .card p{margin:0 0 16px}.arrow-link{font-size:14px;font-weight:500}.reviewed-list{margin:0;padding:0;list-style:none}.reviewed-list li{border-bottom:1px solid var(--color-hairline);padding:12px 0}.reviewed-list .note{display:block}.wrap-anywhere{overflow-wrap:anywhere}.plain-list{margin:0 0 16px;padding-left:1.4em}@media (width>=768px){.site-header{height:72px}.site-header .container{column-gap:24px}.site-logo img{height:40px}.menu-button{display:none}.site-nav,.menu-toggle:checked~.site-nav{box-shadow:none;background:0 0;border-bottom:0;flex-direction:row;column-gap:24px;margin-left:auto;padding:0;display:flex;position:static}body{font-size:16px}h1{letter-spacing:-.04em;font-size:56px;line-height:1.25}h2{letter-spacing:-.03em;margin-top:96px;font-size:32px}h3{font-size:24px}.num{letter-spacing:-.04em}.container{padding:0 clamp(24px,50vw - 480px,160px)}.page-head{padding:72px 0 80px}.band{margin-top:96px;padding:48px 0}.stat .num{font-size:48px}.card{padding:32px}table{font-size:14px}.note,.photo figcaption{font-size:12px}.btn-phone.large{min-width:360px;display:inline-flex}.photo.hero .frame{height:360px}.review-cards{grid-template-columns:1fr 1fr}.review-card h3{font-size:20px}.pref-grid{grid-template-columns:repeat(3,1fr)}.entry-list{grid-template-columns:1fr 1fr}.company-card{grid-template-columns:144px 1fr 240px;grid-template-areas:"image head rating""image badges items""image info items""image info actions";align-items:start;column-gap:32px}.company-card.no-image{grid-template-columns:1fr 240px;grid-template-areas:"head rating""badges items""info items""info actions"}.photo.thumb .frame{width:144px;height:96px}.c-head h3{font-size:24px}.c-head .rank{font-size:12px}.c-actions{align-self:end}}@media (width>=1024px){.site-catch{display:block}.site-catch-bar{display:none}}.category-section{border-top:1px solid var(--color-hairline);margin-top:64px;padding-top:32px;scroll-margin-top:16px}.category-section:before{content:"";background:var(--color-accent);width:40px;height:3px;margin-bottom:16px;display:block}.section-eyebrow{color:var(--color-mute);margin:0 0 8px;font-size:12px}.category-section>h2{margin-top:0;margin-bottom:16px}.band-heading{margin-bottom:16px}.gyoshu-mokuji{margin-top:32px;scroll-margin-top:16px}.gyoshu-mokuji .rest-rating{color:var(--color-ink);flex:none;font-size:14px}.other-section-link{margin-top:16px}@media (width>=768px){.category-section{margin-top:96px}}.section-conclusion{margin:0 0 16px}.rating-items li.has-note{flex-wrap:wrap}.rating-items .specialty-note{text-align:right;color:var(--color-mute);flex-basis:100%;font-size:12px}@media (width>=768px){.rating-items li.has-note{flex-wrap:nowrap;position:relative}.rating-items .specialty-note{white-space:nowrap;position:absolute;top:50%;left:calc(100% + 12px);transform:translateY(-50%)}}.rest-list .rest-sub{color:var(--color-ink-sub);font-size:12px;font-weight:400;display:block}
