:root{--color-bg:#fbfaf6;--color-surface:#f3f0ea;--color-text:#2b2825;--color-accent:#ef7f26;--color-accent-2:#5e9f2f;--color-accent-3:#3f94d6;--color-divider:#2b282524;--color-neutral-100:#f8f6f4;--color-neutral-200:#eeeae6;--color-neutral-300:#ded8d1;--color-neutral-400:#c5bcb2;--color-neutral-500:#a79d91;--color-neutral-600:#887e74;--color-neutral-700:#6a6259;--color-neutral-800:#4d4740;--color-neutral-900:#312d28;--color-accent-100:#fff2e4;--color-accent-200:#ffe1c7;--color-accent-300:#ffc69a;--color-accent-400:#ffa160;--color-accent-500:#ee7a1f;--color-accent-600:#c85d00;--color-accent-700:#a04400;--color-accent-800:#772f00;--color-accent-900:#4d1e00;--color-accent-2-100:#effce8;--color-accent-2-200:#dbf4cf;--color-accent-2-300:#bee8a8;--color-accent-2-400:#97d176;--color-accent-2-500:#70b445;--color-accent-2-600:#559329;--color-accent-2-700:#3e7313;--color-accent-2-800:#2a5407;--color-accent-2-900:#1b3606;--color-accent-3-100:#eaf9ff;--color-accent-3-200:#d3efff;--color-accent-3-300:#aedfff;--color-accent-3-400:#7ec5ff;--color-accent-3-500:#4fa6e9;--color-accent-3-600:#3486c5;--color-accent-3-700:#1e689e;--color-accent-3-800:#104b75;--color-accent-3-900:#0b304c;--font-heading:"Zen Maru Gothic", "Caprasimo", system-ui, sans-serif;--font-heading-weight:700;--font-display:"Caprasimo", "Zen Maru Gothic", system-ui, sans-serif;--font-body:"Figtree", "Zen Kaku Gothic New", system-ui, sans-serif;--space-1:4.4px;--space-2:8.8px;--space-3:13.2px;--space-4:17.6px;--space-6:26.4px;--space-8:35.2px;--radius-sm:8px;--radius-md:16px;--radius-lg:28px;--shadow-sm:0 1px 2px #312d281f;--shadow-md:0 3px 10px #312d2824;--shadow-lg:0 12px 32px #312d2833}body{background:var(--color-bg);color:var(--color-text);font-family:var(--font-body)}h1,h2,h3,h4{font-family:var(--font-heading);font-weight:var(--font-heading-weight)}.washed{filter:saturate(.6)contrast(.85)brightness(1.1)opacity(.94)}*,:before,:after{box-sizing:border-box}body{margin:0;font-size:15px;font-weight:400;line-height:1.7}h1,h2,h3,h4,h5,h6{font-family:var(--font-heading);font-weight:var(--font-heading-weight);letter-spacing:0;margin:0 0 var(--space-2);line-height:1.25}h1{font-size:42px}h2{font-size:32px}h3{font-size:25px}h4{font-size:20px}h5{font-size:16px}h6{letter-spacing:.08em;text-transform:uppercase;font-size:13px}p{margin:0 0 var(--space-3)}a{color:var(--color-accent);text-underline-offset:3px}img{max-width:100%;display:block}figure{margin:0}figcaption{margin-top:var(--space-1);color:color-mix(in srgb, var(--color-text) 55%, transparent);font-size:11px}.text-muted{color:color-mix(in srgb, var(--color-text) 55%, transparent)}:focus{outline:none}:focus-visible{outline:2px solid var(--color-accent);outline-offset:2px}::selection{background:color-mix(in srgb, var(--color-accent) 30%, transparent)}.hr{height:1px;margin:var(--space-4) 0;background:var(--color-divider);border:0}.btn{cursor:pointer;font-family:var(--font-heading);font-weight:var(--font-heading-weight);color:var(--color-text);padding:var(--space-2) calc(var(--space-3) * 1.2);border-radius:var(--radius-md);background:0 0;border:1px solid #0000;justify-content:center;align-items:center;gap:6px;font-size:14px;line-height:1.2;text-decoration:none;display:inline-flex}.btn svg{display:block}.btn:disabled{opacity:.45;cursor:not-allowed}.btn-primary{background:var(--color-accent);color:#fff}.btn-primary:hover{background:var(--color-accent-600)}.btn-primary:active{background:var(--color-accent-700)}.btn-secondary{border-color:var(--color-divider)}.btn-secondary:hover{background:color-mix(in srgb, var(--color-text) 7%, transparent)}.btn-secondary:active{background:color-mix(in srgb, var(--color-text) 14%, transparent)}.btn-ghost{color:var(--color-accent);padding-inline:var(--space-1)}.btn-ghost:hover{background:color-mix(in srgb, var(--color-accent) 10%, transparent)}.btn-ghost:active{background:color-mix(in srgb, var(--color-accent) 18%, transparent)}.btn-icon{width:36px;height:36px;padding:0}.btn-block{width:100%;margin-top:var(--space-2)}.field>label{color:color-mix(in srgb, var(--color-text) 70%, transparent);margin-bottom:5px;font-size:12px;display:block}.input{width:100%;min-height:36px;font:inherit;color:var(--color-text);caret-color:var(--color-accent);background:var(--color-surface);border:1px solid var(--color-divider);border-radius:var(--radius-md);padding:6px 10px;font-size:14px}.input:hover{border-color:color-mix(in srgb, var(--color-text) 45%, transparent)}.input:focus-visible{border-color:var(--color-accent);outline-offset:0}textarea.input{resize:vertical;border-radius:20px;min-height:90px;padding:12px 18px}.radio{cursor:pointer;align-items:center;gap:8px;font-size:14px;display:inline-flex}.radio input,.seg-opt input{opacity:0;pointer-events:none;width:0;height:0;position:absolute}.radio .dot{border:1.5px solid var(--color-divider);border-radius:50%;flex:none;width:16px;height:16px}.radio:hover .dot{border-color:var(--color-accent)}.radio input:checked+.dot{border-color:var(--color-accent);background:var(--color-accent);box-shadow:inset 0 0 0 4px var(--color-bg)}.radio input:focus-visible+.dot{outline:2px solid var(--color-accent);outline-offset:2px}.seg{border:1px solid var(--color-divider);border-radius:var(--radius-md);display:inline-flex;overflow:hidden}.seg-opt{cursor:pointer;align-items:center;gap:6px;padding:7px 12px;font-size:13px;display:inline-flex}.seg-opt+.seg-opt{border-left:1px solid var(--color-divider)}.seg-opt:has(input:checked){background:var(--color-accent);color:var(--color-bg)}.seg-opt:not(:has(input:checked)):hover{background:color-mix(in srgb, var(--color-text) 7%, transparent)}.seg-opt:has(input:focus-visible){outline:2px solid var(--color-accent);outline-offset:-2px}.card{gap:var(--space-2);padding:var(--space-3);border-radius:var(--radius-md);background:var(--color-surface);flex-direction:column;display:flex}.card-kicker{letter-spacing:.1em;text-transform:uppercase;color:var(--color-accent);font-size:10px}.card-title{font-family:var(--font-heading);font-weight:var(--font-heading-weight);font-size:17px;line-height:1.2}.card-body{opacity:.8;flex:1;margin:0;font-size:13px}.card-meta{color:color-mix(in srgb, var(--color-text) 50%, transparent);align-items:center;gap:6px;font-size:11px;display:flex}.elev-sm{box-shadow:var(--shadow-sm)}.elev-md{box-shadow:var(--shadow-md)}.elev-lg{box-shadow:var(--shadow-lg)}.tag{letter-spacing:.02em;border-radius:calc(var(--radius-md) * .75);align-items:center;padding:3px 10px;font-size:11px;display:inline-flex}.tag-accent{background:var(--color-accent-100);color:var(--color-accent-800)}.tag-accent-2{background:var(--color-accent-2-100);color:var(--color-accent-2-800)}.tag-neutral{background:var(--color-neutral-100);color:var(--color-neutral-800)}.tag-outline{border:1px solid var(--color-accent);color:var(--color-accent)}.nav{align-items:center;gap:var(--space-4);padding:var(--space-3) var(--space-4);border-bottom:none;display:flex}.nav-brand{font-family:var(--font-heading);font-weight:var(--font-heading-weight);margin-right:auto;font-size:18px}.nav a{color:inherit;font-size:14px;text-decoration:none}.nav a:hover,.nav a[aria-current=page]{color:var(--color-accent)}.table{border-collapse:collapse;width:100%;font-size:14px}.table th{text-align:left;letter-spacing:.08em;text-transform:uppercase;color:color-mix(in srgb, var(--color-text) 60%, transparent);padding:var(--space-2);border-bottom:1px solid var(--color-divider);font-size:11px}.table td{padding:var(--space-2);border-bottom:1px solid color-mix(in srgb, var(--color-text) 8%, transparent)}.table tbody tr:hover{background:color-mix(in srgb, var(--color-text) 4%, transparent)}.dialog-backdrop{padding:var(--space-4);background:color-mix(in srgb, var(--color-neutral-900) 50%, transparent);place-items:center;display:grid;position:fixed;inset:0}.dialog{gap:var(--space-3);width:min(440px,100%);padding:var(--space-4);border-radius:var(--radius-lg);background:var(--color-surface);box-shadow:var(--shadow-lg);flex-direction:column;display:flex}.dialog-title{font-family:var(--font-heading);font-weight:var(--font-heading-weight);font-size:20px}.dialog-body{opacity:.85;font-size:14px}.dialog-actions{justify-content:flex-end;gap:var(--space-2);margin-top:var(--space-2);display:flex}.card,.dialog{border-radius:calc(var(--radius-lg) * 1.15)}.btn,.tag,.seg,.input{border-radius:999px}.input{padding-inline:14px}a{color:var(--color-accent-700)}a:hover{color:var(--color-accent-800)}@keyframes sheetUp{0%{opacity:0;transform:translateY(24px)}to{opacity:1;transform:none}}.sr-only{clip:rect(0 0 0 0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.btn,.seg-opt,.result-card{-webkit-tap-highlight-color:transparent}.app-shell{flex-direction:column;min-height:100vh;display:flex}.app-main{flex-direction:column;flex:1;display:flex}.input-44{background:var(--color-bg);min-height:44px}.input-bg{background:var(--color-bg)}.btn-36{min-height:36px;font-size:12px}.btn-40{min-height:40px;font-size:13px}.btn-44{min-height:44px;font-size:13px}.btn-48{min-height:48px;padding:12px 28px;font-size:15px}.btn-bg{background:var(--color-bg)}.btn-surface{background:var(--color-neutral-100)}.note-12{color:var(--color-neutral-700);font-size:12px}.muted-13{color:var(--color-neutral-700);text-wrap:pretty;margin:0;font-size:13px}.text-13{font-size:13px}.kicker-11,.sub-11{color:var(--color-neutral-700);font-size:11px}.mono{font-family:ui-monospace,Menlo,monospace;font-size:12px}.panel{background:var(--color-neutral-100);padding:var(--space-4);gap:var(--space-2)}.panel-title{font-family:var(--font-heading);font-size:16px;font-weight:700}.panel-head{justify-content:space-between;align-items:center;gap:var(--space-2);flex-wrap:wrap;display:flex}.small-card{background:var(--color-neutral-100);padding:var(--space-3) var(--space-4);border-radius:var(--radius-md);gap:4px}.table-wrap{overflow-x:auto}.table-wide{min-width:900px}.page{padding:var(--space-3) var(--space-4) var(--space-8);width:100%;margin:0 auto}.page-narrow{gap:var(--space-3);flex-direction:column;max-width:560px;display:flex}.page-title{margin:0 0 4px;font-size:clamp(22px,3vw,30px)}.page-title-flat{margin:0}.sdot{border-radius:50%;flex:none;width:9px;height:9px;display:inline-block}.sdot--yes{background:var(--color-accent-2-600)}.sdot--user{background:var(--color-accent-2-300)}.sdot--no{background:var(--color-neutral-400)}.sdot--unk{border:1.5px dashed var(--color-neutral-600);background:0 0}.sdot--susp{background:var(--color-accent-500)}.legend{color:var(--color-neutral-700);flex-wrap:wrap;gap:12px;font-size:11px;display:flex}.legend-item{align-items:center;gap:5px;display:inline-flex}.fchips{flex-wrap:wrap;gap:6px;display:flex}.fchips-center{align-items:center}.fchip{background:var(--color-neutral-200);border-radius:999px;align-items:center;gap:6px;padding:3px 10px;font-size:12px;display:inline-flex}.fchip .sdot{width:8px;height:8px}.cat-badge{color:var(--color-neutral-100);font-family:var(--font-heading);flex:none;place-items:center;font-weight:700;display:grid}.cat-badge--md{border-radius:14px;width:44px;height:44px;font-size:18px}.cat-badge--lg{border-radius:18px;width:56px;height:56px;font-size:22px}.cat-square{border-radius:3px;flex:none;width:10px;height:10px}.pills{gap:var(--space-2);flex-wrap:wrap;align-items:center;display:flex}.pill{border:1.5px solid var(--color-divider);background:var(--color-bg);min-height:40px;color:var(--color-text);padding:6px 14px;font-size:13px}.pill--on{background:var(--color-accent-2-700);color:var(--color-bg);border-color:#0000}.pill--dashed{border:1.5px dashed var(--color-neutral-400);color:var(--color-neutral-800);background:0 0}.pill--dashed-on{background:var(--color-accent-100);color:var(--color-accent-800);border-color:var(--color-accent-500)}.pill-hint{color:var(--color-neutral-700);font-size:12px}.pill-left{justify-content:flex-start;text-decoration:none}.pick-grid{gap:var(--space-2) var(--space-3);color:var(--color-neutral-700);grid-template-columns:auto minmax(0,1fr);align-items:start;font-size:13px;display:grid}.pick-grid-center{align-items:center}.pick-label{padding-top:10px}.seg-scroll{overflow-x:auto}.seg-bg{background:var(--color-bg)}.seg-surface{background:var(--color-neutral-100)}.seg-40{white-space:nowrap;min-height:40px}.seg-pad{padding:7px 14px}.seg-pad-wide{padding:7px 16px}.q-box{flex:260px;position:relative}.q-box-limit{max-width:560px}.q-icon{color:var(--color-neutral-600);display:flex;position:absolute;top:50%;left:14px;transform:translateY(-50%)}.q-input{padding-left:40px}.site-nav{z-index:1200;gap:var(--space-4);position:relative}.brand{color:inherit;align-items:center;gap:10px;text-decoration:none;display:flex}.brand img{width:38px;height:38px;box-shadow:var(--shadow-sm);border-radius:11px}.site-links{gap:var(--space-4);align-items:center;display:flex}.menu-toggle{width:44px;height:44px;display:none}.site-menu{right:var(--space-4);background:var(--color-neutral-100);width:240px;padding:var(--space-2);gap:2px;position:absolute;top:calc(100% - 6px)}.site-menu a{min-height:44px;font-size:15px;font-family:var(--font-heading);align-items:center;padding:0 12px;font-weight:700;display:flex}.sample-banner{text-align:center;padding:4px var(--space-3);color:var(--color-accent-800);background:var(--color-accent-100);font-size:11px}.site-footer{padding:var(--space-6) var(--space-4) var(--space-8);background:var(--color-surface)}.footer-inner{gap:var(--space-3);flex-direction:column;max-width:1200px;margin:0 auto;display:flex}.footer-links{gap:var(--space-2) var(--space-4);flex-wrap:wrap;font-size:13px;display:flex}.footer-note{color:var(--color-neutral-700);text-wrap:pretty;margin:0;font-size:11px}.footer-brand{font-family:var(--font-heading);color:var(--color-neutral-700);align-items:center;gap:10px;font-size:14px;font-weight:700;display:flex}.footer-brand img{border-radius:8px;width:28px;height:28px}.footer-brand span{font-family:var(--font-body);font-size:11px;font-weight:400}.hero{padding:var(--space-6) var(--space-4) var(--space-3);position:relative;overflow:hidden}.hero-bg{z-index:0;background:var(--color-accent-3-100) url(/img/hero-bg.svg) center bottom / cover no-repeat;position:absolute;inset:0}.hero-fade{z-index:0;background:linear-gradient(180deg, transparent 0%, transparent 55%, var(--color-bg) 100%);position:absolute;inset:0}.hero-inner{z-index:1;gap:var(--space-8);flex-direction:column;max-width:1100px;margin:0 auto;display:flex;position:relative}.hero-grid{gap:var(--space-6);grid-template-columns:minmax(0,1.2fr) minmax(0,1fr) minmax(0,1fr);align-items:center;display:grid}.hero-copy{padding:var(--space-3) 0 var(--space-3) var(--space-3);position:relative}.hero-spark-a{color:var(--color-accent-2-500);position:absolute;top:-8px;left:-10px;transform:rotate(-20deg)}.hero-spark-b{color:var(--color-accent-400);position:absolute;bottom:30%;right:8%;transform:rotate(165deg)}.hero-title{margin:0 0 var(--space-3);letter-spacing:.01em;font-size:clamp(34px,4.8vw,54px);line-height:1.2}.hero-title span{display:block}.hero-lead{color:var(--color-neutral-800);text-wrap:pretty;margin:0;font-size:16px;line-height:1.8}.hero-figure{aspect-ratio:1/1.1;width:100%;max-width:380px;margin:0 auto 18px;position:relative}.hero-girl{object-fit:contain;object-position:center bottom;z-index:1;width:88%;height:auto;max-height:96%;filter:drop-shadow(0 10px 18px color-mix(in srgb, var(--color-neutral-900) 18%, transparent));position:absolute;bottom:0;left:38%;transform:translate(-50%)}.hero-bubble{z-index:2;box-shadow:var(--shadow-sm);color:var(--color-accent-3-700);font-family:var(--font-heading);white-space:nowrap;background:#fff;border-radius:999px;align-items:center;gap:8px;padding:6px 14px;font-size:15px;font-weight:700;display:flex;position:absolute;bottom:0;left:38%;transform:translate(-50%,50%)}.hero-bubble>span{color:var(--color-accent-500);display:flex}.hero-circle{aspect-ratio:1;box-shadow:var(--shadow-md);z-index:2;border:4px solid #fff;border-radius:50%;position:absolute}.hero-circle img{object-fit:cover;border-radius:50%;width:100%;height:100%}.hero-circle span{box-shadow:var(--shadow-sm);white-space:nowrap;pointer-events:none;background:#fff;border-radius:999px;padding:5px 12px;font-size:12px;font-weight:700;position:absolute;bottom:0;left:50%;transform:translate(-50%,45%)}.hero-circle-a{background:var(--color-accent-3-100);width:58%;top:0;left:0}.hero-circle-a img{object-position:60% 55%}.hero-circle-b{background:var(--color-accent-100);width:40%;top:46%;right:0}.hero-circle-b img{object-position:45% 40%}.hero-circle-c{background:var(--color-accent-100);width:34%;bottom:0;left:8%}.hero-circle-c img{object-position:60% 45%}.top-form{padding:var(--space-3) var(--space-4);gap:var(--space-2);background:#fff}.top-form-row{gap:var(--space-3);flex-wrap:wrap;align-items:flex-end;display:flex}.top-field{flex-direction:column;flex:150px;gap:6px;min-width:0;display:flex}.top-field-label{color:var(--color-neutral-700);align-items:center;gap:6px;font-size:12px;display:flex}.top-submit{flex:180px;gap:8px;min-height:48px;padding:12px 24px;font-size:15px}.top-more{justify-content:center;display:flex}.top-more .btn-ghost{color:var(--color-accent-700);gap:6px}.top-more-panel{gap:var(--space-3);padding-top:var(--space-3);border-top:1px solid var(--color-divider);flex-direction:column;display:flex}.home-lower{padding:var(--space-6) var(--space-4) var(--space-8);position:relative;overflow:hidden}.home-hill{border-radius:50%;position:absolute}.home-hill-a{background:var(--color-accent-2-100);width:75%;height:400px;bottom:-240px;left:-15%}.home-hill-b{background:var(--color-accent-2-200);width:85%;height:430px;bottom:-270px;right:-20%}.home-lower-inner{gap:var(--space-6);flex-direction:column;max-width:1100px;margin:0 auto;display:flex;position:relative}.cat-tiles{justify-content:center;gap:var(--space-3) var(--space-6);margin-top:calc(-1 * var(--space-3));flex-wrap:wrap;display:flex}.cat-tile{border-radius:var(--radius-lg);color:var(--color-text);flex-direction:column;gap:8px;padding:6px;font-size:14px;font-weight:700}.cat-tile>span{width:84px;height:84px;box-shadow:var(--shadow-sm);background:#fff;border-radius:50%;place-items:center;display:grid}.scenes{gap:var(--space-3);flex-direction:column;display:flex}.scenes-title{color:var(--color-neutral-900);justify-content:center;align-items:center;gap:10px;margin:0;font-size:18px;display:flex}.scene-spark{color:var(--color-accent-2-500)}.home-seo{gap:var(--space-3);flex-direction:column;display:flex}.home-about{max-width:760px;color:var(--color-neutral-800);text-wrap:pretty;margin:0 auto;font-size:14px;line-height:1.8}.scene-grid{gap:var(--space-2);grid-template-columns:repeat(auto-fit,minmax(170px,1fr));display:grid}.scene{box-shadow:var(--shadow-sm);text-align:left;white-space:normal;color:var(--color-text);background:#fff;border-radius:999px;justify-content:flex-start;gap:10px;min-height:56px;padding:8px 14px 8px 8px;font-size:12px;line-height:1.35}.scene-icon{border-radius:50%;flex:none;place-items:center;width:38px;height:38px;display:grid}.cond-bar{padding:var(--space-3) var(--space-4) 0}.cond-inner{gap:var(--space-2);flex-wrap:wrap;align-items:center;max-width:1200px;margin:0 auto;display:flex}.cond-chips{flex-wrap:wrap;flex:320px;align-items:center;gap:6px;display:flex}.cond-chip{cursor:pointer;background:var(--color-neutral-200);min-height:32px;color:var(--color-text);border:0;gap:4px;font-size:12px}.cond-chip--req{background:var(--color-accent-2-700);color:var(--color-bg)}.cond-chip--wish{background:var(--color-accent-100);color:var(--color-accent-800)}.cond-toggle{padding:6px 10px}.cond-tools{gap:var(--space-2);flex-wrap:wrap;align-items:center;display:flex}.cond-sort{width:auto;min-height:40px;font-size:13px}.filters{padding:var(--space-3) var(--space-4)}.filters-card{background:var(--color-neutral-100);max-width:1040px;padding:var(--space-4);gap:var(--space-3);margin:0 auto}.filters-row{gap:var(--space-2);flex-wrap:wrap;display:flex}.sel-pref{flex:0 130px}.sel-city{flex:0 170px}.filters-foot{justify-content:space-between;align-items:center;gap:var(--space-3);flex-wrap:wrap;display:flex}.filters-foot .note-12{flex:280px}.results{padding:var(--space-3) var(--space-4) var(--space-8)}.results-inner{gap:var(--space-3);flex-direction:column;max-width:1200px;margin:0 auto;display:flex}.results-head{justify-content:space-between;align-items:baseline;gap:var(--space-3);flex-wrap:wrap;display:flex}.results-count{color:var(--color-neutral-700);font-size:13px}.results-count strong{font-family:var(--font-display);color:var(--color-text);margin-right:4px;font-size:26px;font-weight:400}.empty-card{max-width:640px}.pref-prompt{max-width:900px}.pref-grid{gap:var(--space-2);grid-template-columns:repeat(auto-fill,minmax(96px,1fr));display:grid}.pref-map{gap:var(--space-3);flex-direction:column;display:flex}.pref-map-list{gap:var(--space-2);grid-template-columns:repeat(auto-fill,minmax(96px,1fr));display:grid}.pref-tile{min-width:0;display:flex}.pref-tile>*{flex:auto;min-width:0}@media (width>=820px){.pref-map{gap:var(--space-4) var(--space-6);grid-template-columns:minmax(0,1fr) 312px;align-items:start;width:100%;max-width:1000px;margin:0 auto;display:grid}.pref-map-list{grid-template-columns:repeat(3,minmax(0,1fr));gap:6px}.pref-map-list .btn{white-space:nowrap;min-height:32px;padding-inline:4px;font-size:12px}}.japan-map{gap:var(--space-2);flex-direction:column;display:flex;position:relative}.japan-map-svg{touch-action:manipulation;width:100%;height:auto;display:block}.japan-map-inset{fill:none;stroke:var(--color-neutral-400);stroke-width:1.5px;stroke-dasharray:6 4;vector-effect:non-scaling-stroke}.japan-map-pref{stroke:#fff;stroke-width:1.5px;stroke-linejoin:round;vector-effect:non-scaling-stroke;cursor:pointer;outline:none;transition:fill .12s}.japan-map-pref path{vector-effect:non-scaling-stroke}.japan-map-pref[data-region=hokkaido],.japan-map-pref[data-region=chubu],.japan-map-pref[data-region=kyushu]{fill:var(--color-accent-3-300)}.japan-map-pref[data-region=tohoku],.japan-map-pref[data-region=kinki],.japan-map-pref[data-region=okinawa]{fill:var(--color-accent-2-300)}.japan-map-pref[data-region=kanto],.japan-map-pref[data-region=chugoku-shikoku]{fill:var(--color-accent-300)}.japan-map-pref:hover,.japan-map-pref:focus-visible{fill:var(--color-accent-400)}.japan-map-pref:focus-visible{stroke:var(--color-accent-3-600);stroke-width:3px}.japan-map-pref.is-selected{fill:var(--color-accent-500)}.japan-map-label{font-family:var(--font-heading);fill:var(--color-neutral-900);paint-order:stroke;stroke:#fff;stroke-width:.25em;stroke-linejoin:round;text-anchor:middle;dominant-baseline:central;pointer-events:none;font-weight:700}.japan-map-bar{justify-content:space-between;align-items:center;gap:var(--space-2);min-height:40px;color:var(--color-neutral-700);font-size:13px;line-height:1.4;display:flex}.japan-map-bar strong{font-family:var(--font-heading);color:var(--color-text)}.japan-map-bar .btn{flex:none}.japan-map-caption{max-width:45%;color:var(--color-neutral-700);pointer-events:none;margin:0;font-size:13px;line-height:1.5;position:absolute;top:4%;left:2%}.japan-map-caption strong{font-family:var(--font-heading);color:var(--color-text);font-size:20px;display:block}.empty-card .panel-title{font-size:18px}.result-grid{gap:var(--space-3);grid-template-columns:repeat(auto-fill,minmax(300px,1fr));transition:opacity .15s;display:grid}.result-grid.is-stale{opacity:.55}.result-card{background:var(--color-neutral-100);padding:var(--space-3) var(--space-4);gap:var(--space-2);color:inherit;text-decoration:none}.result-card:hover{color:inherit;box-shadow:var(--shadow-md)}.result-head{gap:var(--space-3);align-items:flex-start;display:flex}.result-title-wrap{flex:1;min-width:0}.result-meta{color:var(--color-neutral-700);flex-wrap:wrap;align-items:center;gap:6px;font-size:11px;display:flex}.result-title{margin-top:4px;font-size:17px}.result-rating{text-align:right;flex:none}.rating-num{font-family:var(--font-display);color:var(--color-accent-700);font-size:20px;line-height:1}.rating-count{color:var(--color-neutral-700);font-size:11px}.rating-wanted{color:var(--color-accent-700);border:1.5px dashed var(--color-accent-400);white-space:nowrap;border-radius:999px;padding:4px 10px;font-size:11px}.result-quote{color:var(--color-neutral-800);margin:0;font-size:13px}.result-quote span{color:var(--color-neutral-700)}.result-noquote{color:var(--color-neutral-700);margin:0;font-size:13px}.more-row{justify-content:center;display:flex}.map-layout{gap:var(--space-3);grid-template-columns:360px minmax(0,1fr);display:grid}.map-side{gap:var(--space-2);flex-direction:column;max-height:min(72vh,680px);padding:2px 4px 2px 2px;display:flex;overflow:auto}.map-side-item{text-align:left;font:inherit;color:inherit;background:var(--color-neutral-100);padding:var(--space-2) var(--space-3);border-radius:var(--radius-md);cursor:pointer;border:0;outline:2px solid #0000;flex:none;gap:4px}.map-side-item.is-selected{outline-color:var(--color-accent)}.map-side-meta{color:var(--color-neutral-700);align-items:center;gap:6px;font-size:11px;display:flex}.map-side-rating{margin-left:auto}.map-side-name{font-family:var(--font-heading);font-size:14px;font-weight:700;line-height:1.3}.map-frame{border-radius:var(--radius-lg);background:var(--color-neutral-200);height:min(72vh,680px);min-height:440px;position:relative;overflow:hidden}.map-loading{color:var(--color-neutral-700);place-items:center;font-size:13px;display:grid}.map-canvas{position:absolute;inset:0}.map-legend{left:var(--space-3);top:var(--space-3);z-index:1000;background:color-mix(in srgb, var(--color-neutral-100) 92%, transparent);box-shadow:var(--shadow-sm);border-radius:999px;flex-wrap:wrap;gap:8px;padding:6px 10px;font-size:11px;display:flex;position:absolute}.map-legend>span{align-items:center;gap:4px;display:inline-flex}.map-legend>span>span{border-radius:3px;width:10px;height:10px}.map-refetch{left:50%;top:calc(var(--space-3) + 40px);z-index:1100;white-space:nowrap;min-height:40px;padding:8px 16px;font-size:13px;position:absolute;transform:translate(-50%)}.map-hint{left:50%;bottom:calc(var(--space-3) + 16px);z-index:1000;background:color-mix(in srgb, var(--color-neutral-900) 80%, transparent);width:max-content;max-width:86%;color:var(--color-neutral-100);text-align:center;border-radius:999px;padding:6px 14px;font-size:12px;line-height:1.4;position:absolute;transform:translate(-50%)}.map-two-finger{z-index:1200;padding:var(--space-4);background:color-mix(in srgb, var(--color-neutral-900) 45%, transparent);color:#fff;font-family:var(--font-heading);text-align:center;pointer-events:none;place-items:center;font-size:16px;font-weight:700;animation:.15s ease-out fadeIn;display:grid;position:absolute;inset:0}@keyframes fadeIn{0%{opacity:0}}.map-sheet{left:var(--space-3);right:var(--space-3);bottom:var(--space-3);z-index:1100;background:var(--color-neutral-100);max-width:420px;padding:var(--space-3) var(--space-4);gap:var(--space-2);border-radius:var(--radius-lg);animation:.25s ease-out sheetUp;position:absolute}.sheet-head{color:var(--color-neutral-700);justify-content:space-between;align-items:center;gap:8px;font-size:11px;display:flex}.sheet-meta{flex-wrap:wrap;align-items:center;gap:6px;display:flex}.sheet-close{flex:none;width:32px;height:32px}.sheet-title{font-family:var(--font-heading);font-size:18px;font-weight:700;line-height:1.3}.sheet-rating{color:var(--color-neutral-700);margin-left:auto;font-size:12px}.sheet-actions{gap:var(--space-2);flex-wrap:wrap;display:flex}.sheet-detail{flex:140px;min-height:44px;font-size:14px}.sheet-gmaps{gap:6px;min-height:44px;font-size:14px}.map-note{color:var(--color-neutral-700);margin:0;font-size:11px}.leaflet-container{font-family:var(--font-body);background:var(--color-neutral-200)}.leaflet-control-attribution{font-size:10px;background:color-mix(in srgb, var(--color-neutral-100) 85%, transparent)!important}.ad-slot{margin:var(--space-2) 0;flex-direction:column;gap:4px;display:flex}.ad-label{color:var(--color-neutral-600);font-size:10px}.booking{background:var(--color-accent-100);padding:var(--space-3) var(--space-4);gap:var(--space-2)}.booking .kicker-11{align-items:center;gap:8px;display:flex}.pr-badge{border:1px solid var(--color-neutral-500);color:var(--color-neutral-700);border-radius:4px;padding:1px 6px;font-size:10px;line-height:1.4;display:inline-block}.booking-links{gap:var(--space-2);flex-wrap:wrap;display:flex}.booking-link{gap:6px;font-size:13px}.breadcrumb ol{color:var(--color-neutral-700);flex-wrap:wrap;align-items:center;gap:2px 6px;margin:0;padding:0;font-size:12px;list-style:none;display:flex}.breadcrumb li+li:before{content:"›";color:var(--color-neutral-500);margin-right:6px}.breadcrumb a{color:var(--color-neutral-800)}.breadcrumb [aria-current=page]{color:var(--color-text);font-weight:700}.nearby{gap:var(--space-2);flex-direction:column;display:flex}.nearby-list{gap:var(--space-2);grid-template-columns:repeat(auto-fill,minmax(240px,1fr));display:grid}.nearby-item{background:var(--color-neutral-100);color:inherit;flex-direction:row;align-items:center;gap:8px;padding:10px 14px;font-size:13px;text-decoration:none}.nearby-item:hover{box-shadow:var(--shadow-md);color:inherit}.nearby-name{min-width:0;font-family:var(--font-heading);flex:1;font-weight:700}.nearby-distance{color:var(--color-neutral-700);flex:none;font-size:11px}.prerender{max-width:900px;padding:var(--space-4);margin:0 auto;font-size:14px;line-height:1.7}.prerender h1{margin:var(--space-3) 0;font-size:22px}.prerender h2{margin:var(--space-4) 0 var(--space-2);font-size:16px}.prerender ul{margin:0;padding-left:1.4em}.prerender-meta{color:var(--color-neutral-700);font-size:12px}.page-detail{max-width:calc(1040px + 2 * var(--space-4));gap:var(--space-4);flex-direction:column;display:flex}.detail-back{gap:4px;padding:6px 10px;text-decoration:none}.detail-head{gap:var(--space-3);flex-wrap:wrap;align-items:flex-start;display:flex}.detail-head-body{flex:320px;min-width:0}.detail-meta{color:var(--color-neutral-700);flex-wrap:wrap;align-items:center;gap:6px;font-size:12px;display:flex}.detail-title{margin:4px 0 6px;font-size:clamp(22px,3vw,30px)}.detail-sub{gap:var(--space-3);color:var(--color-neutral-700);flex-wrap:wrap;align-items:center;font-size:12px;display:flex}.detail-rating{font-family:var(--font-display);color:var(--color-accent-700);margin-right:6px;font-size:22px}.match-card{background:var(--color-neutral-100);padding:var(--space-3) var(--space-4);gap:var(--space-2)}.match-kicker{color:var(--color-neutral-700);font-size:12px}.match-row{gap:var(--space-4);flex-wrap:wrap;display:flex}.match-item{flex:200px;align-items:center;gap:10px;display:flex}.match-mark{width:56px;height:56px;font-family:var(--font-display);border-radius:50%;flex:none;place-items:center;font-size:18px;display:grid}.match-mark.is-good{background:var(--color-accent-2-700);color:var(--color-neutral-100)}.match-mark.is-partial{background:var(--color-accent-300);color:var(--color-neutral-900)}.match-mark.is-bad{background:var(--color-neutral-300);color:var(--color-neutral-900)}.match-text{font-size:13px;line-height:1.4}.match-text>span{color:var(--color-neutral-700)}.detail-cols{gap:var(--space-4);grid-template-columns:repeat(auto-fit,minmax(300px,1fr));align-items:start;display:grid}.detail-col{gap:var(--space-3);flex-direction:column;min-width:0;display:flex}.detail-h3{margin:0;font-size:18px}.detail-h3-gap{margin-top:var(--space-2)}.fgroup-title{align-items:center;gap:8px;margin-bottom:6px;font-size:12px;font-weight:700;display:flex}.fgroup-title .sdot{width:10px;height:10px}.fgroup-title>span:last-child{color:var(--color-neutral-700);font-weight:400}.fgroup-list{background:var(--color-neutral-100);border-radius:var(--radius-md);flex-direction:column;display:flex;overflow:hidden}.fgroup-row{justify-content:space-between;gap:2px var(--space-2);padding:9px var(--space-3);border-bottom:1px solid var(--color-divider);flex-wrap:wrap;font-size:13px;display:flex}.fgroup-note{color:var(--color-neutral-700)}.fgroup-meta{color:var(--color-neutral-700);text-align:right;margin-left:auto;font-size:11px}.wa-grid{gap:var(--space-2);grid-template-columns:1fr 1fr;display:grid}.wa-grid .small-card{padding:var(--space-3)}.wa-marks{flex-wrap:wrap;gap:10px;font-size:13px;font-weight:700;display:flex}.wa-age{font-size:13px;font-weight:700}.review-count{font-family:var(--font-display);color:var(--color-neutral-700);font-size:16px;font-weight:400}.summary-card{background:var(--color-accent-2-100);padding:var(--space-3) var(--space-4);border-radius:var(--radius-md);gap:6px}.summary-kicker{color:var(--color-accent-2-800);font-size:11px;font-weight:700}.summary-note{color:var(--color-accent-2-800);font-size:11px}.review-meta{color:var(--color-neutral-700);align-items:center;gap:8px;font-size:12px;display:flex}.review-stars{color:var(--color-accent-600);letter-spacing:.05em}.detail-actions{gap:var(--space-2);padding:var(--space-3) var(--space-4);background:var(--color-neutral-100);border-radius:var(--radius-lg);bottom:var(--space-3);z-index:10;flex-wrap:wrap;display:flex;position:sticky}.detail-gmaps{flex:170px;gap:6px;min-height:48px;font-size:15px}.detail-route{flex:none;gap:6px;min-height:48px;padding-inline:16px;font-size:15px}.detail-actions-note{color:var(--color-neutral-700);flex-basis:100%;font-size:11px}.attributions{flex-direction:column;gap:2px;display:flex}.legal{max-width:calc(1040px + 2 * var(--space-4));gap:var(--space-4);grid-template-columns:220px minmax(0,1fr);align-items:start;display:grid}.legal-nav{top:var(--space-3);flex-wrap:wrap;gap:6px;display:flex;position:sticky}.legal-nav .pill{width:100%}.legal-body{gap:var(--space-3);flex-direction:column;min-width:0;display:flex}.legal-card{background:var(--color-neutral-100);padding:var(--space-3) var(--space-4);border-radius:var(--radius-md);gap:4px}.legal-h{font-family:var(--font-heading);font-size:15px;font-weight:700}.legal-p{color:var(--color-neutral-800);text-wrap:pretty;margin:0;font-size:14px}.contact-form{background:var(--color-neutral-100);padding:var(--space-4);gap:var(--space-3)}.contact-row{gap:var(--space-3);grid-template-columns:repeat(auto-fit,minmax(220px,1fr));display:grid}.contact-done{background:var(--color-accent-2-100);color:var(--color-accent-2-900);padding:var(--space-4);font-size:14px}.contact-error{color:var(--color-accent-700);margin:0;font-size:13px}.turnstile{min-height:65px}.hp{width:1px;height:1px;position:absolute;left:-9999px;overflow:hidden}.report{gap:var(--space-3);flex-direction:column;display:flex}.report-panel{background:var(--color-neutral-100);padding:var(--space-4);gap:var(--space-3)}.report-rows{flex-direction:column;display:flex}.report-group-title{color:var(--color-neutral-800);margin-top:var(--space-2);font-size:12px;font-weight:700}.report-row{justify-content:space-between;align-items:center;gap:var(--space-3);border-bottom:1px solid var(--color-divider);padding:6px 0;font-size:14px;display:flex}.report-row .seg{flex:none}.report-open .detail-actions{position:static}.report-comments{flex-direction:column;gap:6px;display:flex}.report-comment{font-size:13px}.report-comment span{color:var(--color-neutral-700);margin-left:6px;font-size:11px}.page-admin{max-width:calc(1200px + 2 * var(--space-4));gap:var(--space-4);flex-direction:column;display:flex}.admin-head{gap:var(--space-3);flex-wrap:wrap;align-items:center;display:flex}.stat-grid{gap:var(--space-3);grid-template-columns:repeat(auto-fit,minmax(200px,1fr));display:grid}.stat{background:var(--color-neutral-100);padding:var(--space-3) var(--space-4);gap:2px}.stat-value{font-family:var(--font-display);font-size:30px;line-height:1.1}.admin-cols{gap:var(--space-3);grid-template-columns:repeat(auto-fit,minmax(320px,1fr));align-items:start;display:grid}.quota{flex-direction:column;gap:4px;display:flex}.quota-head{justify-content:space-between;font-size:12px;display:flex}.quota-bar{background:var(--color-neutral-200);border-radius:999px;height:8px}.quota-bar>div{border-radius:999px;height:100%}.alert-row{border-bottom:1px solid var(--color-divider);align-items:flex-start;gap:10px;padding:8px 0;font-size:13px;display:flex}.alert-dot{border-radius:50%;flex:none;width:10px;height:10px;margin-top:6px}.alert-dot--warn{background:var(--color-accent-500)}.alert-dot--info{background:var(--color-neutral-500)}.admin-msg{background:var(--color-accent-2-100);color:var(--color-accent-2-900);padding:var(--space-2) var(--space-3);border-radius:var(--radius-md);font-size:13px}.queue-row{gap:var(--space-3);padding:var(--space-3) 0;border-bottom:1px solid var(--color-divider);flex-wrap:wrap;align-items:flex-start;font-size:13px;display:flex}.queue-body{flex-direction:column;flex:320px;align-items:flex-start;gap:4px;min-width:0;display:flex}.contact-text{white-space:pre-wrap;overflow-wrap:anywhere}@media (width<=819.98px){.site-links{display:none}.menu-toggle{display:inline-flex}.hero-grid,.map-layout{grid-template-columns:minmax(0,1fr)}.map-hint{bottom:calc(var(--space-3) + 44px)}.legal{grid-template-columns:minmax(0,1fr)}.legal-nav{position:static}.legal-nav .pill{width:auto}.map-refetch{top:calc(var(--space-3) + 72px)}}@media (prefers-reduced-motion:reduce){.map-sheet{animation:none}}
