:root{--ink: #1f2430;--muted: #5b6472;--line: #dde2e6;--bg: #f7f9f8;--bg-alt: #eef3f1;--bg-card: #ffffff;--brand: #2f5d50;--brand-dark: #1e3d34;--brand-soft: #e7f0ec;--sponsor: #b6762c;--sponsor-bg: #fdf1de;--sponsor-line: #e8c98f;--sponsor-ink: #7a4a10;--band-soft: #b9d4c8;--max: 880px;--max-wide: 1080px;--radius: 10px;--radius-lg: 14px;--radius-xl: 24px;--shadow-soft: 0 4px 20px rgba(16, 45, 37, .07);--shadow-hover: 0 8px 28px rgba(16, 45, 37, .12);--focus: #1f6feb}:focus-visible{outline:3px solid var(--focus);outline-offset:2px;border-radius:4px}*{box-sizing:border-box}html{-webkit-text-size-adjust:100%}body{margin:0;color:var(--ink);background:var(--bg);font-family:-apple-system,BlinkMacSystemFont,Hiragino Sans,Noto Sans JP,system-ui,sans-serif;line-height:1.8;font-size:16px;overflow-x:hidden;min-height:100vh;display:flex;flex-direction:column}main{flex:1 0 auto;width:100%;max-width:var(--max);margin:0 auto;padding:1.5rem 1.25rem 4rem}img{max-width:100%;height:auto}h1{font-size:1.6rem;font-weight:500;letter-spacing:.04em;line-height:1.5;color:var(--brand-dark);margin:0 0 1rem}h2{font-size:1.3rem;font-weight:500;letter-spacing:.04em;line-height:1.5;color:var(--brand-dark);padding-bottom:.5rem;border-bottom:1px solid var(--line);margin:2.6rem 0 1.1rem}h3{font-size:1.05rem;color:var(--ink);margin:1.5rem 0 .75rem}p{margin:0 0 1rem}a{color:var(--brand-dark);overflow-wrap:anywhere}a:hover{color:var(--brand)}ul,ol{padding-left:1.4em}.site-header{background:#fff;color:var(--ink);box-shadow:0 1px 0 var(--line),0 2px 12px #102d250a;position:relative;z-index:1}.site-header__inner{max-width:var(--max-wide);margin:0 auto;padding:.9rem 1.25rem;display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:.5rem}.site-header__brand{display:flex;flex-direction:row;align-items:center;gap:.6rem;text-decoration:none;color:var(--brand-dark)}.site-header__logo-badge{display:inline-flex;flex-shrink:0;background:#fff;border-radius:8px;padding:4px;line-height:0}.site-header__logo{display:block;height:38px;width:auto}.site-header__brand-text{display:flex;flex-direction:column}.site-header__name{font-weight:700;font-size:1.15rem;letter-spacing:.04em}.site-header__tag{font-size:.75rem;color:var(--muted);letter-spacing:.04em}.site-header__nav{display:flex;gap:.5rem;font-size:.88rem}@media(max-width:720px){.site-header__nav{flex-basis:100%;justify-content:flex-end}}.site-header__nav a{color:var(--brand-dark);text-decoration:none;padding:.3rem .9rem;border:1px solid var(--line);border-radius:6px;letter-spacing:.04em}.site-header__nav a:hover{border-color:var(--brand);background:var(--bg-alt)}.footer{background:var(--brand-dark);padding:3.5rem 1.25rem 2.5rem;font-size:.85rem;color:var(--band-soft)}.footer a{color:#fff;text-decoration:none}.footer a:hover{color:#fff;text-decoration:underline;text-underline-offset:3px}.footer__notice a{text-decoration:underline;text-underline-offset:3px}.footer__notice,.footer__related{max-width:var(--max-wide);margin:0 auto 1.5rem}.footer__nav{max-width:var(--max-wide);margin:0 auto 1rem;display:flex;flex-wrap:wrap;gap:.4rem 1.5rem}.footer__nav-label{font-weight:700;color:var(--band-soft)}.footer__nav--articles{padding-top:1rem;border-top:1px solid rgba(185,212,200,.3)}.footer__copy{max-width:var(--max-wide);margin:2rem auto 0;font-size:.78rem}.breadcrumb{font-size:.8rem;color:var(--muted);margin-bottom:1rem}.breadcrumb a{color:var(--muted)}.breadcrumb__sep{margin:0 .35em}.link-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(140px,1fr));gap:.5rem;margin:0 0 1.5rem;padding:0;list-style:none}.link-grid a{display:block;background:var(--bg-card);border:1px solid transparent;border-radius:var(--radius);box-shadow:var(--shadow-soft);padding:.7rem .9rem;text-decoration:none;color:var(--ink);font-size:.92rem;transition:box-shadow .2s ease,border-color .2s ease}.link-grid a:hover{border-color:var(--brand);box-shadow:var(--shadow-hover);color:var(--brand-dark)}.link-grid .count{color:var(--muted);font-size:.78rem;margin-left:.3em}.link-grid__label-group{display:inline-flex;flex:1 1 auto;min-width:0;flex-wrap:wrap;align-items:baseline;column-gap:.3em;row-gap:0}.link-grid__label-group .link-grid__label,.link-grid__label-group .count{white-space:nowrap}.link-grid__label-group .count{margin-left:0}.work-icon{flex-shrink:0;height:auto}.link-grid a.link-grid__work,.page-heading-icon{display:flex;align-items:center;gap:.6rem}.biz-list{list-style:none;padding:0;margin:0 0 2rem;display:flex;flex-direction:column;gap:.9rem}.biz-card{background:var(--bg-card);border-radius:var(--radius-lg);box-shadow:var(--shadow-soft);padding:1.3rem 1.5rem}.biz-card__name{font-size:1.12rem;font-weight:600;letter-spacing:.03em;margin:0 0 .5rem;padding-bottom:.5rem;border-bottom:1px solid var(--line)}.biz-card--with-photo{display:grid;grid-template-columns:minmax(0,1fr) 260px;gap:1.25rem;align-items:start}.biz-card__info{min-width:0}.biz-card--with-photo .biz-card__info{grid-column:1;grid-row:1}.biz-card__photo{grid-column:2;grid-row:1;margin:0;min-width:0}.biz-card__photo img{display:block;width:100%;height:auto;aspect-ratio:4 / 3;object-fit:cover;border-radius:var(--radius)}.biz-card__photo figcaption{margin-top:.35rem;font-size:.7rem;text-align:right}.biz-card__photo figcaption a{color:var(--muted)}@media(max-width:640px){.biz-card--with-photo{grid-template-columns:minmax(0,1fr);gap:.8rem}.biz-card__photo{grid-column:1;grid-row:1}.biz-card--with-photo .biz-card__info{grid-row:2}.biz-card__photo img{aspect-ratio:16 / 9}}.biz-card__name a{text-decoration:none;color:var(--brand-dark)}.biz-card dl.spec{margin:.4rem 0 0}.biz-card .spec dt{display:flex;align-items:flex-start;gap:.4rem}.biz-card__links{display:flex;flex-wrap:wrap;gap:.25rem 1.25rem;margin:.4rem 0 0;font-weight:500}.maps-review-link{font-size:.875rem}.maps-review-link:after{content:"↗";margin-left:.2em;font-size:.8em}.maps-review-note{display:block;margin-top:.2rem;font-size:.8rem;color:var(--muted)}.info-icon{display:inline-flex;flex-shrink:0;color:var(--brand);margin-top:.28em}.info-icon svg{width:16px;height:16px}dl.spec{display:grid;grid-template-columns:auto 1fr;gap:.25rem .75rem;margin:0 0 1rem;font-size:.92rem}dl.spec dt{color:var(--muted);white-space:nowrap}dl.spec dd{margin:0;overflow-wrap:anywhere}.badge{display:inline-block;font-size:.72rem;border-radius:999px;padding:.15em .7em;background:var(--brand-soft);color:var(--brand-dark);margin-left:.4em}.badge--sponsor{background:var(--sponsor-bg);color:var(--sponsor);border:1px solid var(--sponsor-line);font-weight:700}.sponsor-section{background:var(--sponsor-bg);border:1px solid var(--sponsor-line);border-radius:var(--radius);padding:1rem 1.1rem;margin:0 0 2rem}.sponsor-section__label{color:var(--sponsor);font-weight:700;font-size:.8rem;letter-spacing:.05em}.ad-slots{margin:0 0 1.8rem;display:flex;flex-direction:column;gap:.9rem}.ad-card{position:relative;background:var(--sponsor-bg);border:1px solid var(--sponsor-line);border-radius:var(--radius);padding:1rem 1.1rem}.ad-card--sponsor{border-width:2px;padding:1.4rem 1.3rem 1.2rem}.ad-card__label{display:inline-block;margin:0 0 .4rem;padding:.1em .7em;border:1px solid var(--sponsor-ink);border-radius:4px;color:var(--sponsor-ink);background:#fff;font-size:.75rem;font-weight:700;letter-spacing:.08em}.ad-card--sponsor .ad-card__label{position:absolute;top:.7rem;right:.8rem;margin:0}.ad-card__name{margin:0 0 .3rem;font-weight:700;color:var(--ink);font-size:1rem}.ad-card--sponsor .ad-card__name{font-size:1.3rem;padding-right:4rem}.ad-card__tagline{margin:0 0 .5rem}.ad-card--pr .ad-card__tagline{font-size:.9rem}.ad-card__meta{margin:0 0 .3rem;font-size:.85rem;color:var(--muted)}.ad-card__links{margin:0;display:flex;flex-wrap:wrap;gap:.2rem 1rem;font-size:.88rem}.ad-card .spec{margin:0}.ad-pr{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(auto-fit,minmax(230px,1fr));gap:.8rem}.ad-invite{margin:0;padding:.5rem .8rem;border:1px dashed var(--sponsor-line);border-radius:var(--radius);font-size:.82rem;color:var(--muted)}.table-wrap{overflow-x:auto;margin:0 0 1.5rem;border:1px solid var(--line);border-radius:var(--radius);-webkit-overflow-scrolling:touch}table.plain{border-collapse:collapse;width:100%;min-width:480px;font-size:.88rem}table.plain th,table.plain td{border-bottom:1px solid var(--line);padding:.55em .7em;text-align:left;white-space:nowrap}table.plain th{background:var(--brand-soft);color:var(--brand-dark);position:sticky;top:0}.form-field{display:flex;flex-direction:column;gap:.3rem;margin:0 0 1rem}.form-field input,.form-field textarea,.form-field select{border:1px solid var(--line);border-radius:6px;padding:.6em .7em;font-size:1rem;font-family:inherit}.form-field label{font-size:.85rem;color:var(--muted)}.form-error{border:2px solid #b3261e;background:#fdecea;color:#8c1d18;border-radius:var(--radius);padding:.8rem 1rem;margin:0 0 1.2rem;font-size:.95rem}.form-error[hidden]{display:none}.form-error ul{margin:0;padding-left:1.2rem}.sakujo-form{margin:0 0 1.5rem}.form-consent{display:flex;gap:.5rem;align-items:flex-start;margin:0 0 1.2rem;font-size:.9rem}.form-consent input{margin-top:.3rem;flex-shrink:0}.hp{position:absolute;left:-9999px;width:1px;height:1px;overflow:hidden}.notice-box{background:var(--bg-alt);border-radius:var(--radius-lg);padding:1.2rem 1.4rem;margin:0 0 1.5rem;font-size:.92rem}@media(max-width:480px){dl.spec{grid-template-columns:auto 1fr;font-size:.88rem}}.article-meta{font-size:.85rem;color:var(--muted);margin-top:-.5rem}.conclusion{margin:0;padding-left:1.2em}.conclusion li+li{margin-top:.5rem}.table-hint{font-size:.8rem;color:var(--muted);margin-top:-1rem}.visually-hidden{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}.source-list{margin:0 0 .25rem;padding-left:1.1em}.faq__item{border-bottom:1px solid var(--line);padding:.25rem 0 .75rem}.faq__q{margin:1rem 0 .5rem}.faq__a{margin:0}.article-note{font-size:.85rem;color:var(--muted);margin-top:1.5rem}.diagram{margin:1.5rem 0}.diagram img{display:block;width:100%;height:auto;border:1px solid var(--line);border-radius:var(--radius)}main.main--wide{max-width:none;padding:0}.band{padding:4.5rem 1.25rem}.band--alt{background:var(--bg-alt)}.band--tight-top{padding-top:2rem}.band__inner{max-width:var(--max-wide);margin:0 auto}.band__inner--narrow{max-width:var(--max)}@media(max-width:640px){.band{padding:3rem 1rem}.band--tight-top{padding-top:1.5rem}}.sec-label{display:block;margin:0 0 .5rem;font-size:.78rem;font-weight:500;letter-spacing:.14em;text-transform:uppercase;color:var(--brand);line-height:1.4}.sec-head{text-align:center;margin:0 auto 2.5rem;max-width:46rem}.sec-head h2,.sec-head h1{text-wrap:balance;word-break:auto-phrase;font-size:clamp(1.6rem,1.2rem + 1.6vw,2.5rem);font-weight:400;letter-spacing:.06em;line-height:1.45;border:0;padding:0;margin:0 0 1rem;color:var(--ink)}.sec-head__lead{margin:0;color:var(--muted);font-size:.98rem;line-height:1.9}.sec-head__lead+.sec-head__lead{margin-top:.25rem}@media(max-width:640px){.sec-head{margin-bottom:1.8rem}.sec-head__lead{text-align:left}}.wide-photo{margin:0 auto 2.5rem;max-width:1240px}.wide-photo img{display:block;width:100%;height:auto;aspect-ratio:16 / 5;object-fit:cover;border-radius:var(--radius-xl);box-shadow:var(--shadow-soft)}.wide-photo figcaption{margin-top:.5rem;font-size:.72rem;color:var(--muted);text-align:right}.wide-photo figcaption a{color:var(--muted)}@media(max-width:640px){.wide-photo img{aspect-ratio:16 / 9;border-radius:var(--radius-lg)}}.hero{background:var(--brand-dark);color:#fff;padding:4rem 1.25rem 4.25rem;text-align:center}.hero .sec-label{color:var(--band-soft)}.hero h1{color:#fff;text-wrap:balance;word-break:auto-phrase;font-size:clamp(1.75rem,1.2rem + 2.2vw,2.75rem);font-weight:400;letter-spacing:.08em;margin:0 0 1.25rem}.hero__lead{max-width:44rem;margin:0 auto 2.5rem;font-size:.95rem;line-height:1.95;color:#e6efea;text-align:left}.hero__lead a,.hero__lead strong{color:#fff}.stats{display:flex;flex-wrap:wrap;justify-content:center;align-items:baseline;gap:.5rem 0;margin:0;padding:0;list-style:none}.stats__item{display:flex;align-items:baseline;gap:.4rem;padding:0 1.6rem;white-space:nowrap}.stats__item+.stats__item{position:relative}.stats__item+.stats__item:before{content:"";position:absolute;left:0;top:50%;width:1px;height:2.6rem;background:var(--band-soft);opacity:.7;transform:translateY(-50%) rotate(28deg)}.stats__label{font-size:1rem;color:var(--band-soft);letter-spacing:.04em}.stats__num{font-size:clamp(2.2rem,1.6rem + 2vw,3rem);font-weight:300;line-height:1.1;color:#fff;font-variant-numeric:tabular-nums;letter-spacing:.02em}.stats__unit{font-size:1rem;color:var(--band-soft)}.stats__note{margin:.9rem 0 0;font-size:.8rem;color:var(--band-soft)}@media(max-width:640px){.stats{flex-direction:column;align-items:center}.stats__item+.stats__item:before{display:none}}.entry{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1.25rem;max-width:var(--max-wide);margin:2.5rem auto 0;padding:0;list-style:none}.entry a{display:flex;align-items:center;justify-content:center;gap:1rem;position:relative;padding:1rem 3.2rem;background:#fffffff5;border-radius:var(--radius-lg);box-shadow:var(--shadow-soft);color:var(--brand-dark);font-size:1.25rem;font-weight:400;letter-spacing:.06em;text-decoration:none;transition:background-color .2s ease,transform .2s ease}.entry a:hover{background:#fff;color:var(--brand-dark);transform:translateY(-1px)}.hero a:focus-visible,.footer a:focus-visible{outline-color:#fff;outline-offset:3px}.entry__chevron{position:absolute;right:1.4rem;top:50%;width:18px;height:18px;transform:translateY(-50%)}@media(max-width:640px){.hero{padding:3rem 1rem 3.25rem}.entry{grid-template-columns:minmax(0,1fr);gap:.8rem}.entry a{font-size:1.05rem;padding:.85rem 3rem}}.page-hero{background:var(--bg-alt);padding:1.25rem 1.25rem 3.5rem}.page-hero .breadcrumb{max-width:var(--max-wide);margin:0 auto 2.25rem}.page-hero .sec-head{margin-bottom:0}.page-hero .sec-head h1{font-size:clamp(1.5rem,1.1rem + 1.4vw,2.1rem);text-wrap:balance;word-break:auto-phrase}.band .link-grid{grid-template-columns:repeat(auto-fill,minmax(min(180px,calc(50% - .4rem)),1fr));gap:.75rem}.page-hero__lead{margin:0;color:var(--muted);font-size:.95rem;line-height:1.9}@media(max-width:640px){.page-hero{padding:1rem 1rem 2.5rem}.page-hero .breadcrumb{margin-bottom:1.5rem}}.name-search{max-width:44rem;margin:2.5rem auto 0;padding:1.5rem 1.5rem 1.25rem;background:#fffffff7;border-radius:var(--radius-lg);box-shadow:var(--shadow-soft);color:var(--ink);text-align:left}.name-search[hidden]{display:none}.name-search .name-search__title{margin:0 0 .4rem;padding:0;border:0;color:var(--brand-dark);font-size:1.2rem;letter-spacing:.06em}.name-search__lead{margin:0 0 1rem;font-size:.9rem;line-height:1.8;color:var(--muted)}.name-search__label{display:block;margin:0 0 .3rem;font-size:.85rem;color:var(--ink)}.name-search__row{display:flex;gap:.6rem}.name-search__input{flex:1 1 auto;min-width:0;min-height:48px;padding:.5rem .9rem;border:1px solid #8a949c;border-radius:var(--radius);background:#fff;color:var(--ink);font:inherit;font-size:1rem}.name-search__input::placeholder{color:#6b7480}.name-search__button{flex:0 0 auto;min-height:48px;padding:0 1.5rem;border:0;border-radius:var(--radius);background:var(--brand-dark);color:#fff;font:inherit;font-size:1rem;letter-spacing:.1em;cursor:pointer}.name-search__button:hover{background:var(--brand)}.name-search__status{margin:.8rem 0 0;font-size:.92rem;color:var(--ink)}.name-search__status:empty{display:none}.name-search__sub{display:inline-block;margin-top:.2rem}.name-search__list{margin:.6rem 0 0;padding:0;list-style:none}.name-search__list:empty{display:none}.name-search__list li{border-top:1px solid var(--line)}.name-search__list a{display:flex;flex-wrap:wrap;align-items:baseline;justify-content:space-between;gap:.2rem 1rem;padding:.75rem .3rem;text-decoration:none;color:var(--brand-dark)}.name-search__list a:hover .name-search__name{text-decoration:underline}.name-search__name{font-size:1rem;overflow-wrap:anywhere}.name-search__muni{flex:0 0 auto;font-size:.85rem;color:var(--muted)}.name-search__list li.name-search__more{padding:.75rem .3rem 0;font-size:.88rem;color:var(--muted)}.name-search__noscript{max-width:44rem;margin:2rem auto 0;font-size:.9rem;color:#e6efea}.name-search__noscript a{color:#fff}.name-search__back{margin-top:2rem}.name-search__input:focus-visible,.name-search__button:focus-visible,.name-search__list a:focus-visible{outline:3px solid var(--focus);outline-offset:2px}@media(max-width:640px){.name-search{margin-top:2rem;padding:1.25rem 1rem 1rem}.name-search__button{padding:0 1.1rem}}@media(prefers-reduced-motion:reduce){*,*:before,*:after{transition:none!important;animation:none!important;scroll-behavior:auto!important}.entry a:hover{transform:none}}
