/* KANBAN TOWN 2.0 — civic editorial / warm paper / evergreen / vermilion.
   Presentation only: all existing content, query parameters and data hooks remain. */
:root {
  --paper:#f6f4ed; --ink:#203c34; --navy:#183e36; --navy-deep:#12332c;
  --accent:#b94528; --accent-soft:#e9815b; --mist:#eaece3; --line:#d9ded3;
  --sans:"Hiragino Kaku Gothic ProN","Yu Gothic",Meiryo,system-ui,sans-serif;
  --serif:var(--sans); --num:Arial,Helvetica,sans-serif;
}
html {scroll-padding-top:105px}
body {font-feature-settings:"palt";letter-spacing:.025em}
::selection {background:#eec3ac;color:var(--ink)}
:focus-visible {outline:3px solid #b94528;outline-offset:5px}
main:focus {outline:none}
.wrap {max-width:1360px;padding-inline:48px}
header.site {background:rgba(246,244,237,.97);backdrop-filter:blur(12px);border-color:var(--line)}
.site-inner {height:88px;gap:32px}
.brand {position:relative;padding-left:52px;flex-shrink:0;font-size:23px;letter-spacing:.07em;line-height:1.5;font-weight:800}
.brand::before {content:"";position:absolute;left:-4px;top:-1px;width:44px;height:48px;background:url("./brand-mark.svg") center/contain no-repeat}
.brand small {font-size:8px;letter-spacing:.32em;color:var(--navy);margin:3px 0 0 2px;font-weight:600}
footer.site .brand::before {filter:brightness(0) invert(1)}
.nav {gap:19px;font-size:12px;font-weight:600;color:var(--ink)}
.nav>a {white-space:nowrap;position:relative}
.nav>a::after {content:"";position:absolute;bottom:-6px;left:0;width:0;height:2px;background:var(--accent);transition:width .2s}
.nav>a:hover::after {width:100%}
.nav-search {border-radius:4px;background:transparent;padding:5px 5px 5px 12px}
.nav-search input {width:125px;font-size:11px}
.nav-search input:focus {width:125px}
.nav-search input::placeholder {color:#637267}
.nav-search button {border-radius:3px}
.btn {border-radius:5px;padding:16px 24px;min-height:54px;font-size:13px;box-shadow:none;justify-content:center;line-height:1.6}
.btn-primary {background:var(--navy);border-color:var(--navy);color:#fff}
.btn-primary:hover {background:#2c5145;border-color:#2c5145;box-shadow:0 8px 20px #183e3618}
.btn-primary span {margin-left:18px;font-size:20px;font-weight:400}
.btn-gold {background:var(--accent);border-color:var(--accent)}
.btn-gold:hover {background:#9e3921;border-color:#9e3921}
.town-hero {overflow:hidden;border-bottom:1px solid var(--line)}
.town-hero__grid {display:grid;grid-template-columns:1fr 1.12fr;align-items:center;gap:22px;padding-top:54px;padding-bottom:40px}
.town-kicker {display:flex;align-items:center;gap:10px;font-size:11px;font-weight:700;margin:0 0 26px;letter-spacing:.11em}
.town-kicker>span:first-child {height:7px;width:7px;border-radius:50%;background:var(--accent)}
.town-kicker__en {font-size:9px;letter-spacing:.08em;color:#64756b;margin-left:12px}
.town-hero__display {font-weight:900;font-size:clamp(39px,4.35vw,64px);line-height:1.42;letter-spacing:-.055em;margin:0 0 23px}
.town-hero__display>span {color:var(--accent);white-space:nowrap}
.town-hero h1 {font-size:15px;margin:0 0 13px;letter-spacing:.02em;line-height:1.8}
.town-hero__lead {font-size:12px;line-height:2.1;max-width:35em;color:#536459;margin:0 0 26px}
.town-hero .cta-row {align-items:center;gap:23px}
.town-text-link {font-size:12px;font-weight:700;border-bottom:1px solid #b3beb0;padding:10px 0}
.town-text-link span {margin-left:10px}
.town-hero__visual {position:relative;align-self:stretch;display:flex;flex-direction:column;justify-content:center;margin:0;min-width:0}
.town-hero__visual picture {display:block;margin-inline:-30px}
.town-hero__visual img {width:100%;mix-blend-mode:multiply}
.town-hero__visual-top {display:flex;justify-content:space-between;border-top:1px solid #c6cfc0;padding-top:12px;font-size:9px;font-weight:700;letter-spacing:.15em;margin:10px 4px 0}
.town-hero__visual figcaption {display:flex;justify-content:space-between;margin:0 4px;font-size:11px;font-weight:600}
.town-hero__image-note {font-size:9px;color:#6b786b;font-weight:400}
.town-hero__seal {position:absolute;right:6%;top:13%;width:106px;height:106px;border-radius:50%;background:var(--accent);color:#fff;transform:rotate(12deg);display:flex;flex-direction:column;justify-content:center;align-items:center;box-shadow:0 0 0 5px var(--paper),0 0 0 6px var(--accent)}
.town-hero__seal span {font-size:8px;font-weight:600;letter-spacing:.1em}
.town-hero__seal strong {font-size:26px;line-height:1.8;letter-spacing:.06em}
.town-hero__bottom {display:flex;align-items:center;justify-content:space-between;padding-top:18px;padding-bottom:20px;font-size:9px;letter-spacing:.17em;border-top:1px solid var(--line)}
.town-hero__bottom a {font-size:12px;letter-spacing:.05em;font-weight:600}
.town-hero__bottom a span {margin-left:22px}
.renewal-stats .stat-band {margin:0;display:grid;grid-template-columns:repeat(3,1fr);gap:0;border-bottom:1px solid var(--line);padding:24px 0}
.renewal-stats .s {display:flex;align-items:center;justify-content:center;gap:18px;border-right:1px solid var(--line)}
.renewal-stats .s:last-child {border:0}
.stat-band .s .v {font-size:42px;letter-spacing:-.05em;line-height:1.3}
.stat-band .s .k {font-size:11px;color:#5c6b5f}
.renewal-sections {display:flex;flex-direction:column}
.renewal-sections>section {width:100%;padding:72px 0!important}
.renewal-sections>.steps-block {order:3;border-top:1px solid var(--line)}
.renewal-sections>#guide {order:0}
.renewal-sections>section:has(>.cta-band) {order:1;padding:0 0 70px!important}
.renewal-sections>#area {order:2;border-top:1px solid var(--line)}
.renewal-sections>section:has(>.col-grid) {order:4;border-top:1px solid var(--line)}
.renewal-sections>.features-block {order:5;border-top:1px solid var(--line)}
.renewal-sections>section:has(>.owner) {order:6;padding-top:0!important}
.sec-head {gap:18px;margin-bottom:32px}
.sec-head .no {font-size:11px;width:30px;height:30px;display:grid;place-items:center;border:1px solid var(--line);border-radius:50%}
.sec-head h2 {font-size:clamp(20px,2.2vw,30px);font-weight:800;letter-spacing:-.035em}
.sec-head .rule {margin-left:16px;background:var(--line)}
.steps-help {color:#5b6c60;font-size:13px}
.arts-grid {grid-template-columns:repeat(4,minmax(0,1fr));gap:16px}
.art-card {position:relative;min-height:176px;text-align:left;border:1px solid var(--line);background:transparent;border-radius:8px;padding:24px;overflow:hidden}
.art-card .en {font-size:11px;letter-spacing:.05em;text-transform:uppercase;color:#607466}
.art-card .jp {font-size:20px;position:relative;z-index:1;margin:39px 0 0}
.art-card::after {content:"↗";position:absolute;right:23px;bottom:22px;font-size:22px;font-weight:400}
.art-card::before {content:"";position:absolute;right:23px;top:24px;width:34px;height:27px;border:2px solid #879b88;border-radius:2px;transform:rotate(-8deg)}
.art-card:nth-child(2)::before {border-radius:50%;width:30px;height:30px;box-shadow:5px 3px 0 -1px var(--paper),6px 4px 0 0 #879b88}
.art-card:nth-child(3)::before {border-radius:0 0 14px 14px;transform:none}
.art-card:nth-child(4)::before {border-radius:50% 50% 50% 0;width:26px;height:26px;transform:rotate(-45deg)}
.art-card:hover {background:#eaece2;border-color:#8aa18c;transform:translateY(-4px)}
.cta-band {background:var(--navy);border-radius:10px;padding:42px 48px;text-align:left;display:grid;grid-template-columns:1fr auto;gap:12px 40px;align-items:center}
.cta-band h2 {font-size:26px;letter-spacing:-.025em;margin:0}
.cta-band p {grid-column:1;color:#d4dfd1;max-width:43em;margin:0;font-size:12px}
.cta-band .btn {grid-column:2;grid-row:1/3;background:#f6f4ed;color:var(--navy);border-color:#f6f4ed;position:relative;z-index:1}
.cta-band::after,.cta-band::before,.owner::after {display:none}
.area-finder {grid-template-columns:.88fr 1.12fr;gap:44px}
.area-map-card {background:#ebeee4;border:0;box-shadow:none;border-radius:8px;padding:26px;top:110px}
.area-cap {font-size:14px;margin-bottom:26px}
.area-cap::before {width:5px;height:5px;border-radius:50%}
.area-cap__en {color:#627461;font-size:9px}
.area-map {gap:6px}
.area-tile {border-radius:4px;border:1px solid #b6c7ae;min-height:63px;box-shadow:none}
.area-tile.lv0 {background:#eff0e9;color:#405840}
.area-tile.lv1 {background:#dfe7d4;color:#203c34}
.area-tile.lv2 {background:#c4d4b5;color:#203c34}
.area-tile.lv3 {background:#77966b;color:#fff}
.area-tile.lv4 {background:#294d3e;color:#fff}
.area-tile__jp {font-size:11px}
.area-tile__ct {font-size:15px;color:inherit}
.area-tile:hover {border-color:var(--navy);transform:translateY(-2px)}
.area-map-note {font-size:10px;color:#54664f}
.area-group {border-bottom:1px solid var(--line);gap:16px;padding:18px 0}
.area-group__label,.area-group__label.lv1,.area-group__label.lv2,.area-group__label.lv3,.area-group__label.lv4 {background:transparent;padding:6px 0;align-items:flex-start}
.area-group__label .jp {font-size:14px;line-height:1.8;color:var(--ink)}
.area-group__label .en {font-size:8px;letter-spacing:.02em;color:#67785f!important}
.area-group__label .ct {font-size:14px;color:var(--navy)!important}
.pref-grid {gap:7px}
.pref-btn {border-radius:4px;padding:10px 11px;background:transparent;min-height:44px}
.pref-btn .nm {font-size:12px;white-space:nowrap}
.pref-btn .ct {font-size:12px}
.pref-btn:hover {background:#eaece2;border-color:#879b88}
.steps,.features {gap:0}
.step,.feature {background:transparent;box-shadow:none;border:0;border-radius:0;padding:22px 30px;text-align:left;border-left:1px solid var(--line)}
.step:first-child,.feature:first-child {border-left:0;padding-left:0}
.step-no {position:static;transform:none;box-shadow:none;font-family:var(--num);background:transparent;color:var(--accent);border:0;font-size:34px;width:auto;height:auto;display:block;margin:0 0 12px;line-height:1.5;font-weight:400}
.step h3,.feature h3 {font-size:18px;margin:0 0 12px}
.step p,.feature p {font-size:13px;color:#5b6c60}
.feature .fi svg {width:30px;height:30px;fill:none;stroke:var(--accent);stroke-width:1.5;stroke-linecap:round;stroke-linejoin:round}
.col-grid {grid-template-columns:repeat(4,minmax(0,1fr));gap:24px}
.col-card {border:0;padding:0;background:transparent;border-radius:0}
.col-thumb {margin:0 0 18px;aspect-ratio:4/3;border-radius:6px}
.col-thumb img {transition:transform .35s}
.col-card:hover {transform:none}
.col-card:hover img {transform:scale(1.035)}
.col-card .cat {font-size:10px}
.col-card h4 {font-size:15px;line-height:1.85;margin-top:8px}
.owner {border-radius:8px;background:#e8ecdf;color:var(--ink);padding:40px 42px;gap:24px}
.owner h3 {color:var(--ink);font-size:20px}
.owner p {color:#596b58;max-width:54em;font-size:12px}
.owner .btn {background:var(--navy);border-color:var(--navy)}
footer.site {background:var(--navy-deep);border-top:0;padding:58px 0 24px}
footer.site .brand,footer.site .brand small,.foot-links h4 {color:#f6f4ed}
.foot-note,.foot-links a,.foot-copy {color:#c0cec2}
.foot-links a {padding:6px 0;font-size:12px}
.foot-links a:hover {color:#fff;text-decoration:underline;text-underline-offset:4px}
.foot-links h4 {font-size:12px}
.foot-copy {border-color:#3d5747;margin-top:42px;font-size:10px}
.page-head {padding:38px 0 24px}
.page-head h1,.article h1,.price-hero h1 {letter-spacing:-.025em;line-height:1.55}
.page-head .eyebrow {font-size:10px;letter-spacing:.16em}
.filterbar,.card,.plan,.sd-card,.notice,.post-area {box-shadow:none;border-radius:8px}
.filterbar {padding:22px}
.chip,.sortbtn {min-height:40px}
.results {gap:24px}
.card:hover {box-shadow:0 12px 32px #183e3612}
.card-body {padding:22px}
.kanban-card {--c1:#54745a!important;--c2:#183e36!important;--kc-line:#d1dccb;aspect-ratio:16/9;border-radius:6px}
.kanban-card .kc-fr {border-color:#d1dccb50}
.shot .mat {background:#e4e9db;box-shadow:none;border-radius:10px}
.article {max-width:800px;padding-top:48px}
.article h1 {font-size:clamp(25px,3.3vw,38px)}
.article p,.article li {font-size:16px;line-height:2.05;color:#35473c}
.article .meta {color:#617360}
.article h2 {font-size:25px;margin-top:48px;border-left:0;border-bottom:1px solid var(--line);padding:0 0 14px}
.article h3 {font-size:20px;margin-top:32px}
.article-hero {margin-inline:0;overflow:hidden;border-radius:8px}
.article .cta-inline {background:var(--navy);box-shadow:none}
.article .cta-inline a {background:var(--accent);box-shadow:none;border-radius:5px}
.article .lead,.article .lede {background:#e9ecdf}
.article .meta a,.article-body a {text-underline-offset:4px}
.sd-card {padding:42px;background:#fffefa}
.sd-opt {font-family:var(--sans);color:var(--ink);min-height:56px;border-radius:5px}
.sd-q {font-size:24px}
.plan.feat {box-shadow:none}
.layout>* {min-width:0}
.crumb {color:#5b6b60}
@media (min-width:801px) {
 .town-hero__copy {animation:town-enter .65s ease-out both}
 .town-hero__visual {animation:town-enter .8s .08s ease-out both}
}
@keyframes town-enter {from {opacity:0;transform:translateY(12px)} to {opacity:1;transform:translateY(0)}}
@media(max-width:1200px) {
 .wrap {padding-inline:32px}
 .site-inner {gap:20px}
 .nav {gap:12px;font-size:11px}
 .nav-search input,.nav-search input:focus {width:115px}
 .brand {font-size:21px;padding-left:44px}
 .town-hero__grid {gap:12px}
 .town-hero .cta-row {gap:15px}
 .town-hero .btn {padding-inline:18px}
 .town-text-link {font-size:11px}
}
@media(max-width:1080px) {
 .site-inner {height:76px}
 .nav-burger {display:flex;width:26px;height:20px;margin-left:auto}
 .nav-toggle {display:block;appearance:none;position:absolute;right:23px;top:13px;width:46px;height:46px;margin:0;opacity:0;z-index:2;cursor:pointer}
 .nav-toggle:focus-visible+.nav-burger {outline:3px solid var(--accent);outline-offset:8px}
 .nav {display:none;position:absolute;top:76px;left:0;right:0;max-height:calc(100dvh - 76px);overflow-y:auto;flex-direction:column;align-items:stretch;gap:0;background:var(--paper);border-bottom:1px solid var(--line);padding:14px 24px 22px;box-shadow:0 18px 24px #183e3610}
 .nav-toggle:checked~.nav {display:flex}
 .nav>a {font-size:14px;padding:13px 8px;border-bottom:1px solid var(--line)}
 .nav>a::after {display:none}
 .nav-search {margin:15px 0 0;border:1px solid var(--line);padding:5px 5px 5px 14px}
 .nav-search input,.nav-search input:focus {font-size:16px;width:100%;min-width:0}
 .nav-search button {width:40px;height:40px}
 .area-finder {gap:26px}
 .town-hero__display {font-size:clamp(36px,4.6vw,49px)}
 .town-hero__seal {width:85px;height:85px;right:7%;top:15%}
 .town-hero__seal strong {font-size:21px}
 .town-hero__seal span {font-size:6px}
}
@media(max-width:800px) {
 .wrap {padding-inline:24px}
 .town-hero__grid {grid-template-columns:1fr;padding-top:36px;padding-bottom:20px;gap:24px}
 .town-hero__copy {max-width:600px}
 .town-kicker {margin-bottom:22px;font-size:10px}
 .town-hero__display {font-size:clamp(36px,7.5vw,57px);line-height:1.4;margin-bottom:22px}
 .town-hero h1 {font-size:14px}
 .town-hero__lead {font-size:12px;max-width:42em}
 .town-hero__visual {max-width:600px;width:100%;justify-self:center}
 .town-hero__visual picture {margin:-20px -15px -12px}
 .town-hero__visual-top {margin:0;position:relative;z-index:1}
 .town-hero__visual figcaption {font-size:10px}
 .town-hero__seal {width:80px;height:80px;top:13%;right:3%}
 .town-hero__bottom {font-size:7px;gap:12px}
 .town-hero__bottom a {font-size:10px}
 .town-hero__bottom a span {margin-left:8px}
 .renewal-stats .stat-band {padding:23px 0}
 .renewal-stats .s {flex-direction:column;gap:3px}
 .stat-band .s .v {font-size:32px}
 .stat-band .s .k {font-size:9px}
 .renewal-sections>section {padding:44px 0!important}
 .renewal-sections>section:has(>.cta-band) {padding-bottom:44px!important}
 .sec-head {gap:10px;margin-bottom:24px}
 .sec-head .no {width:26px;height:26px;flex-shrink:0;font-size:10px}
 .sec-head h2 {font-size:21px;line-height:1.6}
 .sec-head .rule {margin-left:4px}
 .arts-grid {grid-template-columns:1fr;gap:10px}
 .art-card {min-height:96px;padding:19px 24px}
 .art-card .jp {margin:3px 0 0;font-size:19px}
 .art-card::before {right:68px;top:32px}
 .art-card::after {right:24px;bottom:26px}
 .art-card .en {font-size:9px}
 .cta-band {display:flex;flex-direction:column;align-items:flex-start;padding:28px 24px;gap:16px}
 .cta-band h2 {font-size:22px;line-height:1.65;text-wrap:balance}
 .cta-band p {font-size:12px}
 .cta-band .btn {width:100%;font-size:13px}
 .area-finder {grid-template-columns:1fr;gap:30px}
 .area-map-card {position:static;max-width:none;padding:22px 18px}
 .area-group {grid-template-columns:1fr}
 .area-group__label {flex-direction:row;align-items:center;gap:10px}
 .area-group__label .jp br {display:none}
 .area-group__label .en {display:none}
 .area-group__label .ct {margin-left:auto}
 .area-map {grid-template-columns:1fr 1fr;grid-template-areas:none}
 .area-tile {grid-area:auto!important;min-height:53px;display:flex;flex-direction:row;align-items:center;justify-content:space-between;padding:10px 14px}
 .area-tile__jp br {display:none}
 .area-tile__ct {margin:0}
 .pref-grid {grid-template-columns:repeat(2,minmax(0,1fr))}
 .pref-btn {padding:12px}
 .steps,.features {grid-template-columns:1fr;gap:0}
 .step,.feature,.step:first-child,.feature:first-child {padding:24px 0;border-left:0;border-bottom:1px solid var(--line)}
 .step-no {font-size:28px;margin-bottom:8px}
 .col-grid {grid-template-columns:1fr;gap:26px}
 .col-card h4 {font-size:16px}
 .col-thumb {aspect-ratio:16/9}
 .owner {padding:26px;display:flex;flex-direction:column;align-items:stretch}
 .owner h3 {font-size:18px}
 .owner p {font-size:12px}
 .foot-grid {grid-template-columns:1fr;gap:32px}
 .foot-links a {padding:9px 0;font-size:13px}
 .foot-note {max-width:28em}
 .article {padding-top:30px}
 .article p,.article li {font-size:15px;line-height:2}
 .article h2 {font-size:22px}
 .article h3 {font-size:18px}
 .sd-card {padding:26px 20px}
 .sd-q {font-size:20px}
 .sd-opt {font-size:14px}
 .filterbar {padding:18px}
 .page-head {padding-top:26px}
}
@media(max-width:380px) {
 .wrap {padding-inline:18px}
 .town-hero__display {font-size:34px}
 .town-kicker__en {margin-left:2px;font-size:8px}
 .town-hero .cta-row {align-items:stretch;flex-direction:column;gap:8px}
 .town-text-link {align-self:flex-start}
 .town-hero__bottom>span {font-size:6px;letter-spacing:.05em}
 .sec-head h2 {font-size:18px}
 .sec-head .rule {display:none}
}
@media(prefers-reduced-motion:reduce) {
 html {scroll-behavior:auto}
 *,*::before,*::after {animation:none!important;transition:none!important;scroll-behavior:auto!important}
}

/* Readability pass: editorial details stay quiet through color/spacing, not tiny type.
   Japanese body 16px; controls 14–16px; supporting information at least 13px. */
body {font-size:16px}
.nav {font-size:14px;gap:16px}
.nav-search input,.nav-search input:focus {font-size:13px;width:138px}
.btn {font-size:15px;min-height:56px}
.town-kicker {font-size:13px}
.town-kicker__en {font-size:11px}
.town-hero h1 {font-size:18px;line-height:1.85}
.town-hero__lead {font-size:16px;line-height:1.95;max-width:34em}
.town-text-link {font-size:14px}
.town-hero .cta-row {gap:16px 22px}
.town-hero__visual-top {font-size:11px}
.town-hero__visual figcaption {font-size:14px}
.town-hero__image-note {font-size:12px}
.town-hero__bottom {font-size:11px;letter-spacing:.08em}
.town-hero__bottom a {font-size:14px}
.stat-band .s .k {font-size:14px}
.steps-help {font-size:15px;line-height:1.95}
.art-card .en {font-size:13px}
.art-card .jp {font-size:22px}
.cta-band p {font-size:15px;line-height:1.95}
.area-cap {font-size:16px}
.area-cap__en {font-size:11px}
.area-tile__jp {font-size:13px}
.area-tile__ct {font-size:17px}
.area-tile__ct small,.pref-btn .ct small {font-size:12px}
.area-map-note {font-size:13px}
.area-group__label .jp {font-size:16px}
.area-group__label .en {font-size:10px}
.area-group__label .ct {font-size:15px}
.pref-btn .nm {font-size:14px}
.pref-btn .ct {font-size:14px}
.step h3,.feature h3 {font-size:20px}
.step p,.feature p {font-size:16px;line-height:1.95}
.col-card .cat {font-size:13px}
.col-card h4 {font-size:17px;line-height:1.8}
.owner p {font-size:15px;line-height:1.95}
.owner h3 {font-size:22px}
.foot-note,.foot-links a {font-size:14px;line-height:1.9}
.foot-links h4 {font-size:15px}
.foot-copy {font-size:13px;line-height:1.9}
.crumb {font-size:13px;line-height:1.9}
.page-head .eyebrow {font-size:13px;letter-spacing:.1em}
.page-head .count,.tax-intro {font-size:16px}
.fb-label {font-size:13px}
.chip,.sortbtn,.filter-active,.card-meta,.card-loc,.card-arts span,.card-go {font-size:14px}
.card-meta .rev,.card-meta .src-mini {font-size:13px}
.card-name {font-size:19px;line-height:1.7}
.notice {font-size:14px;line-height:1.9}
.lede,.dl dd,.article p,.article li {font-size:16px}
.dl dt,.rating .rev,.rating .src,.arts-none,.art {font-size:14px}
.article .meta,.article .note,.article .dim {font-size:13px;line-height:1.9}
.article .guide-links,.article table {font-size:15px}
.article th {font-size:14px}
.post-area__lead,.post-area__all,.post-rel__title,.shop-guide__lead,.shop-guide__title {font-size:15px}
.post-area__addr,.post-area__rev,.shop-guide__go {font-size:13px}
.sd-opt {font-size:16px;line-height:1.8}
.sd-hint,.sd-again,.plan .note,.plan .badge,.pr-sub,.pr-cta {font-size:14px}
.plan li,.faq .a {font-size:16px}
.pr-lead,.faq .q {font-size:17px}
@media(max-width:1200px) {
 .nav {gap:12px}
 .brand {padding-left:48px}
 .nav-search input,.nav-search input:focus {width:132px}
}
@media(max-width:1080px) {
 .nav>a {font-size:16px}
 .nav-search input,.nav-search input:focus {font-size:16px;width:100%}
 .town-hero__grid {grid-template-columns:1fr 1fr;gap:28px}
 .town-hero h1 {font-size:17px}
 .area-finder {grid-template-columns:1fr}
 .area-map-card {position:static;max-width:650px;width:100%;margin-inline:auto}
}
@media(max-width:800px) {
 .town-hero__grid {grid-template-columns:1fr;gap:32px}
 .town-kicker {font-size:12px;gap:8px}
 .town-kicker__en {font-size:10px}
 .town-hero h1 {font-size:16px;line-height:1.8}
 .town-hero__lead {font-size:16px}
 .town-hero .btn {font-size:15px}
 .town-text-link {font-size:14px}
 .town-hero__visual-top {font-size:10px}
 .town-hero__visual figcaption {font-size:13px}
 .town-hero__image-note {font-size:12px}
 .town-hero__bottom {flex-wrap:wrap;gap:12px;font-size:10px}
 .town-hero__bottom a {font-size:14px}
 .stat-band .s .v {font-size:34px}
 .stat-band .s .k {font-size:13px}
 .sec-head h2 {font-size:22px}
 .sec-head .rule {display:none}
 .art-card .jp {font-size:21px}
 .art-card .en {font-size:12px}
 .cta-band p {font-size:15px}
 .cta-band .btn {font-size:15px}
 .col-card h4 {font-size:17px}
 .owner h3 {font-size:20px}
 .owner p {font-size:15px}
 .foot-links a {font-size:15px}
 .article p,.article li {font-size:16px}
 .article .lead,.article .lede {font-size:16px;padding:18px}
 .sd-opt {font-size:16px}
 .area-cap__en {font-size:10px;letter-spacing:.08em}
 .pref-btn {padding:12px 10px}
}
@media(max-width:380px) {
 .town-kicker__en {font-size:10px}
 .town-hero__bottom>span {font-size:10px}
 .sec-head h2 {font-size:20px}
}

/* Four hand-drawn vector guides: the same visual grammar, a distinct subject each. */
.art-card {min-height:220px;display:flex;flex-direction:column}
.art-card::before {display:none}
.art-card .jp {margin:auto 30px 0 0;line-height:1.6}
.art-card .guide-icon {position:absolute;right:22px;top:46px;width:112px;height:88px;transition:transform .25s}
.art-card:hover .guide-icon {transform:translateY(-4px) rotate(-2deg)}
.art-card::after {bottom:26px}
.town-kicker__en,.area-cap__en {color:#53654f}
.area-tile.lv3 {color:#10271c}
.area-tile.lv4 .area-tile__jp,.area-tile.lv4 .area-tile__ct {color:#fff}
.area-tile.lv3 .area-tile__jp,.area-tile.lv3 .area-tile__ct {color:#10271c}
.fb-label,.card-meta,.card-meta .rev,.card-meta .src-mini,.post-area__rev,.post-area__addr,.plan .note,.rating .src,.dl dt,.pr-sub {color:#596b60}
.article [style*="#9a93a8"],.article [style*="#9aa6b4"] {color:#596b60!important}
.article p[style*="font-size:12px"],.article p[style*="font-size: 12px"] {font-size:13px!important;line-height:1.9}
@media(max-width:800px) {
 .art-card {min-height:118px;justify-content:center;padding:20px}
 .art-card .jp {margin:3px 100px 0 0;font-size:20px}
 .art-card .guide-icon {width:80px;height:63px;right:44px;top:27px}
 .art-card::after {right:16px;bottom:41px;font-size:20px}
}
@media(max-width:380px) {
 .art-card .jp {font-size:18px;margin-right:91px}
 .art-card .guide-icon {width:68px;height:54px;right:37px;top:32px}
}

/* Bespoke tactile still lifes, using a single cached contact sheet. */
.arts-grid {gap:18px}
.art-card {min-height:330px;padding:22px;background:#eeeee4;border-color:transparent;border-radius:10px;transition:background .25s,transform .25s,box-shadow .25s}
.art-card:nth-child(2) {background:#f0ebe2}
.art-card:nth-child(3) {background:#e9ede3}
.art-card:nth-child(4) {background:#edece2}
.art-card .en {letter-spacing:.08em;color:#53664f;font-size:13px;text-transform:none}
.art-card .jp {font-size:21px;margin:auto 35px 0 0;line-height:1.6;position:relative}
.guide-illustration {display:block;position:relative;overflow:hidden;width:calc(100% + 8px);aspect-ratio:1.08;margin:-5px -4px 12px;mix-blend-mode:multiply;transition:transform .3s;mask-image:linear-gradient(to right,transparent,#000 6%,#000 94%,transparent),linear-gradient(to bottom,transparent,#000 6%,#000 94%,transparent);mask-composite:intersect}
.guide-illustration img {position:absolute;left:0;top:0;width:200%;height:auto;max-width:none}
.guide-illustration--cost img {left:-100%}
.guide-illustration--law img {transform:translateY(-46%)}
.guide-illustration--area img {left:-100%;transform:translateY(-46%)}
.art-card::after {right:20px;bottom:24px;display:grid;place-items:center;width:32px;height:32px;border:1px solid #abb8a4;border-radius:50%;font-size:20px;transition:background .25s,color .25s}
.art-card:hover {background:#e3e8d9;box-shadow:0 12px 28px #183e3610;transform:translateY(-4px)}
.art-card:hover .guide-illustration {transform:translateY(-3px)}
.art-card:hover::after {background:var(--navy);border-color:var(--navy);color:#fff}
@media(max-width:1080px) and (min-width:801px) {
 .arts-grid {grid-template-columns:repeat(2,minmax(0,1fr))}
 .guide-illustration {max-width:230px;align-self:center}
}
@media(max-width:800px) {
 .arts-grid {gap:12px}
 .art-card {min-height:182px;padding:22px;justify-content:flex-start}
 .art-card .en {font-size:13px;margin-top:10px}
 .art-card .jp {font-size:21px;margin:7px 140px 0 0}
 .guide-illustration {position:absolute;width:168px;height:156px;margin:0;right:-6px;top:13px}
 .art-card::after {left:22px;right:auto;bottom:19px;width:28px;height:28px;font-size:18px}
}
@media(max-width:380px) {
 .art-card {padding:20px;min-height:168px}
 .art-card .jp {font-size:19px;margin-right:112px}
 .guide-illustration {width:132px;height:122px;right:-5px;top:23px}
 .art-card::after {left:20px;bottom:17px}
}
.plans .annual{margin:-2px 0 18px;padding:11px 12px;border:1px solid rgba(185,69,40,.22);border-radius:10px;background:rgba(185,69,40,.055);color:#183e36;font-size:14px;line-height:1.55}.plans .annual b{display:block;font-size:15px}.plans .annual span{color:#b94528;font-size:13px;font-weight:700}
