/*! tailwindcss v4.2.1 | MIT License | https://tailwindcss.com */
@layer properties{@supports (((-webkit-hyphens:none)) and (not (margin-trim:inline))) or ((-moz-orient:inline) and (not (color:rgb(from red r g b)))){*,:before,:after{--tw-rotate-x:initial;--tw-rotate-y:initial;--tw-rotate-z:initial;--tw-skew-x:initial;--tw-skew-y:initial}::backdrop{--tw-rotate-x:initial;--tw-rotate-y:initial;--tw-rotate-z:initial;--tw-skew-x:initial;--tw-skew-y:initial}}}@layer theme{:root,:host{--font-sans:ui-sans-serif, system-ui, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji";--font-mono:ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace;--spacing:.25rem;--default-font-family:var(--font-sans);--default-mono-font-family:var(--font-mono)}}@layer base{*,:after,:before{box-sizing:border-box;border:0 solid;margin:0;padding:0}::backdrop{box-sizing:border-box;border:0 solid;margin:0;padding:0}::file-selector-button{box-sizing:border-box;border:0 solid;margin:0;padding:0}html,:host{-webkit-text-size-adjust:100%;tab-size:4;line-height:1.5;font-family:var(--default-font-family,ui-sans-serif, system-ui, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji");font-feature-settings:var(--default-font-feature-settings,normal);font-variation-settings:var(--default-font-variation-settings,normal);-webkit-tap-highlight-color:transparent}hr{height:0;color:inherit;border-top-width:1px}abbr:where([title]){-webkit-text-decoration:underline dotted;text-decoration:underline dotted}h1,h2,h3,h4,h5,h6{font-size:inherit;font-weight:inherit}a{color:inherit;-webkit-text-decoration:inherit;-webkit-text-decoration:inherit;-webkit-text-decoration:inherit;-webkit-text-decoration:inherit;text-decoration:inherit}b,strong{font-weight:bolder}code,kbd,samp,pre{font-family:var(--default-mono-font-family,ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace);font-feature-settings:var(--default-mono-font-feature-settings,normal);font-variation-settings:var(--default-mono-font-variation-settings,normal);font-size:1em}small{font-size:80%}sub,sup{vertical-align:baseline;font-size:75%;line-height:0;position:relative}sub{bottom:-.25em}sup{top:-.5em}table{text-indent:0;border-color:inherit;border-collapse:collapse}:-moz-focusring{outline:auto}progress{vertical-align:baseline}summary{display:list-item}ol,ul,menu{list-style:none}img,svg,video,canvas,audio,iframe,embed,object{vertical-align:middle;display:block}img,video{max-width:100%;height:auto}button,input,select,optgroup,textarea{font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;color:inherit;opacity:1;background-color:#0000;border-radius:0}::file-selector-button{font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;color:inherit;opacity:1;background-color:#0000;border-radius:0}:where(select:is([multiple],[size])) optgroup{font-weight:bolder}:where(select:is([multiple],[size])) optgroup option{padding-inline-start:20px}::file-selector-button{margin-inline-end:4px}::placeholder{opacity:1}@supports (not ((-webkit-appearance:-apple-pay-button))) or (contain-intrinsic-size:1px){::placeholder{color:currentColor}@supports (color:color-mix(in lab, red, red)){::placeholder{color:color-mix(in oklab, currentcolor 50%, transparent)}}}textarea{resize:vertical}::-webkit-search-decoration{-webkit-appearance:none}::-webkit-date-and-time-value{min-height:1lh;text-align:inherit}::-webkit-datetime-edit{display:inline-flex}::-webkit-datetime-edit-fields-wrapper{padding:0}::-webkit-datetime-edit{padding-block:0}::-webkit-datetime-edit-year-field{padding-block:0}::-webkit-datetime-edit-month-field{padding-block:0}::-webkit-datetime-edit-day-field{padding-block:0}::-webkit-datetime-edit-hour-field{padding-block:0}::-webkit-datetime-edit-minute-field{padding-block:0}::-webkit-datetime-edit-second-field{padding-block:0}::-webkit-datetime-edit-millisecond-field{padding-block:0}::-webkit-datetime-edit-meridiem-field{padding-block:0}::-webkit-calendar-picker-indicator{line-height:1}:-moz-ui-invalid{box-shadow:none}button,input:where([type=button],[type=reset],[type=submit]){-webkit-appearance:button;appearance:button}::file-selector-button{-webkit-appearance:button;appearance:button}::-webkit-inner-spin-button{height:auto}::-webkit-outer-spin-button{height:auto}[hidden]:where(:not([hidden=until-found])){display:none!important}}@layer components;@layer utilities{.visible{visibility:visible}.relative{position:relative}.start{inset-inline-start:var(--spacing)}.block{display:block}.table{display:table}.transform{transform:var(--tw-rotate-x,) var(--tw-rotate-y,) var(--tw-rotate-z,) var(--tw-skew-x,) var(--tw-skew-y,)}}:root{--ink:#18352f;--green:#17634f;--deep:#103f35;--blue:#dbeaf1;--cream:#fbfaf6;--paper:#f3f2ec;--white:#fff;--orange:#f26a4f;--yellow:#f3cc58;--line:#cbd4cf;--muted:#61746d}*{box-sizing:border-box}html{scroll-behavior:smooth}body{background:var(--cream);color:var(--ink);font-family:var(--font-geist-sans), "Hiragino Sans", "Yu Gothic", sans-serif;-webkit-font-smoothing:antialiased;margin:0}a{color:inherit;text-decoration:none}button,input,select{font:inherit}button,a,select,input{-webkit-tap-highlight-color:transparent}.site-header{border-bottom:1px solid var(--line);z-index:30;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);background:#fbfaf6f2;grid-template-columns:1fr auto 1fr;align-items:center;height:4.75rem;padding:0 5vw;display:grid;position:sticky;top:0}.brand{letter-spacing:-.07em;align-items:center;gap:.7rem;width:max-content;font-size:1.35rem;font-weight:850;display:inline-flex}.brand-mark{width:1.9rem;height:1.9rem;color:var(--orange);border:2px solid var(--ink);border-radius:55% 55% 48% 48%;place-items:center;font-size:.6rem;display:grid;position:relative}.brand-mark:before,.brand-mark:after{content:"";border:2px solid var(--ink);background:var(--cream);border-radius:50%;width:.45rem;height:.58rem;position:absolute;top:-.48rem}.brand-mark:before{left:.18rem;transform:rotate(-23deg)}.brand-mark:after{right:.18rem;transform:rotate(23deg)}.site-header nav{align-items:center;gap:2rem;font-size:.875rem;font-weight:700;display:flex}.site-header nav a:hover{color:var(--orange)}.menu-button{border:1px solid var(--ink);background:var(--white);color:var(--ink);border-radius:99px;justify-self:end;padding:.55rem .8rem;font-size:.8rem;font-weight:700;display:none}.directory-hero{grid-template-columns:minmax(0,.92fr) minmax(30rem,1.08fr);align-items:center;gap:4vw;max-width:90rem;min-height:38rem;margin:0 auto;padding:3.2rem 5vw 3rem;display:grid}.eyebrow{color:var(--orange);letter-spacing:.12em;margin:0 0 1rem;font-size:.8rem;font-weight:800}.directory-hero h1{letter-spacing:-.075em;margin:0;font-size:clamp(2.5rem,5vw,4.8rem);line-height:1.05}.hero-lead{max-width:35rem;color:var(--muted);margin:1.4rem 0 0;font-size:1rem;line-height:1.8}.hero-guide-column{gap:.7rem;display:grid}.dog-pair-stage{isolation:isolate;min-height:24rem;position:relative}.hero-dog{filter:drop-shadow(0 1rem 1rem #103f3524);position:absolute}.hero-dog img{object-fit:contain}.hero-shiratama{width:15.5rem;height:16.5rem;animation:4.2s ease-in-out infinite dog-bob;bottom:0;left:7%}.hero-omochi{width:12.2rem;height:13rem;animation:4.2s ease-in-out .8s infinite dog-bob;bottom:.2rem;right:2%}.hero-dog>span{z-index:2;border:1px solid var(--ink);background:var(--white);text-align:center;white-space:nowrap;border-radius:99px;min-width:8.8rem;padding:.38rem .7rem;font-size:.75rem;font-weight:850;position:absolute;bottom:-.2rem;left:50%;transform:translate(-50%)}.hero-dog>span small{color:var(--muted);margin-left:.35rem;font-size:.68rem;font-weight:650}.hero-dog-speech{z-index:3;border:1px solid var(--ink);background:var(--white);width:15rem;box-shadow:.35rem .35rem 0 var(--yellow);border-radius:1rem;padding:1rem 1.1rem;animation:.7s cubic-bezier(.2,.8,.2,1) both speech-pop;position:absolute;top:.2rem;left:41%}.hero-dog-speech:after{content:"";background:var(--white);border-right:1px solid var(--ink);border-bottom:1px solid var(--ink);width:1.2rem;height:1.2rem;position:absolute;bottom:-1rem;left:2.2rem;transform:rotate(45deg)}.hero-dog-speech span,.hero-dog-speech strong{display:block}.hero-dog-speech span{color:var(--orange);letter-spacing:.05em;margin-bottom:.25rem;font-size:.72rem;font-weight:850}.hero-dog-speech strong{font-size:1.08rem;line-height:1.45}.travel-path{z-index:-1;border:2px dashed #c5d8d1;border-radius:52% 45% 50% 44%;position:absolute;inset:6rem 2rem 1.5rem;transform:rotate(-5deg)}.travel-path:before,.travel-path:after{content:"";background:var(--orange);border-radius:50% 50% 50% 0;width:.72rem;height:.72rem;position:absolute;transform:rotate(-45deg)}.travel-path:before{top:1.6rem;right:2rem}.travel-path:after{bottom:2.2rem;left:1.4rem}.site-search{background:var(--white);border:1px solid var(--ink);box-shadow:.45rem .45rem 0 var(--ink);border-radius:1rem;padding:1rem}.site-search>label{color:var(--muted);margin:0 0 .55rem .2rem;font-size:.8rem;font-weight:750;display:block}.site-search>div{grid-template-columns:1fr auto;gap:.6rem;display:grid}.site-search input{border:1px solid var(--line);min-width:0;height:3rem;color:var(--ink);background:var(--paper);border-radius:.7rem;outline:none;padding:0 1rem;font-size:1rem}.site-search input:focus{border-color:var(--green);box-shadow:0 0 0 3px #17634f24}.site-search button{background:var(--orange);color:var(--white);cursor:pointer;border:0;border-radius:.7rem;padding:0 1.4rem;font-weight:800}.map-section{background:var(--blue);border-top:1px solid var(--ink);border-bottom:1px solid var(--ink);padding:2.3rem 5vw 5.5rem}.map-heading,.list-heading{justify-content:space-between;align-items:end;gap:2rem;max-width:80rem;margin:0 auto 1.5rem;display:flex}.map-heading>div,.panel-head{align-items:center;gap:.9rem;display:flex}.map-heading h2,.panel-head h2,.list-heading h2{letter-spacing:-.045em;margin:0;font-size:1.7rem}.map-heading>p{color:var(--muted);margin:0;font-size:.9rem}.step-label{border:1px solid var(--ink);background:var(--yellow);font-family:var(--font-geist-mono), monospace;border-radius:99px;padding:.42rem .65rem;font-size:.72rem;font-weight:800;display:inline-flex}.map-layout{background:var(--white);border:1px solid var(--ink);max-width:80rem;box-shadow:.65rem .65rem 0 var(--ink);border-radius:1.2rem;grid-template-columns:minmax(33rem,1.12fr) minmax(22rem,.88fr);margin:0 auto;display:grid;overflow:hidden}.japan-map{border-right:1px solid var(--ink);background:linear-gradient(145deg,#f8fcfd,#d9eef3);min-height:34rem;position:relative;overflow:hidden}.japan-map:before{content:"";border:1px dashed #abc8cf;border-radius:52% 35% 55% 32%;position:absolute;inset:3rem;transform:rotate(-16deg)}.region-shape{border:1px solid var(--ink);min-width:7.4rem;min-height:4.3rem;color:var(--ink);cursor:pointer;background:#94c8ae;border-radius:48% 45% 51% 42%;place-content:center;gap:.15rem;transition:transform .16s,background .16s;display:grid;position:absolute;box-shadow:.25rem .25rem #18352ff2}:is(.region-shape:hover,.region-shape:focus-visible){background:var(--yellow);outline:none;transform:translate(-2px,-2px)}.region-shape.active{background:var(--orange);color:var(--white);box-shadow:.45rem .45rem 0 var(--ink);z-index:3;transform:translate(-3px,-3px)}.region-shape span{font-size:.9rem;font-weight:850}.region-shape small{opacity:.72;font-size:.75rem}.region-hokkaido{top:2.2rem;right:3.2rem;transform:rotate(7deg)}.region-hokkaido.active{transform:rotate(7deg)translate(-3px,-3px)}.region-tohoku{top:8.1rem;right:8rem;transform:rotate(-10deg)}.region-tohoku.active{transform:rotate(-10deg)translate(-3px,-3px)}.region-kanto{top:15rem;right:8.7rem;transform:rotate(8deg)}.region-kanto.active{transform:rotate(8deg)translate(-3px,-3px)}.region-chubu{min-width:8rem;top:15.6rem;right:17.6rem;transform:rotate(-7deg)}.region-chubu.active{transform:rotate(-7deg)translate(-3px,-3px)}.region-kinki{top:21.5rem;right:23.2rem;transform:rotate(6deg)}.region-kinki.active{transform:rotate(6deg)translate(-3px,-3px)}.region-chugoku{min-width:8.4rem;top:21.1rem;left:7.4rem;transform:rotate(-5deg)}.region-chugoku.active{transform:rotate(-5deg)translate(-3px,-3px)}.region-shikoku{min-width:7rem;min-height:3.6rem;top:27rem;left:16rem;transform:rotate(7deg)}.region-shikoku.active{transform:rotate(7deg)translate(-3px,-3px)}.region-kyushu{min-width:8.7rem;bottom:2.2rem;left:2.3rem;transform:rotate(-7deg)}.region-kyushu.active{transform:rotate(-7deg)translate(-3px,-3px)}.map-sea-label{color:#bdd4da;font-family:var(--font-geist-mono), monospace;letter-spacing:.12em;writing-mode:vertical-rl;font-size:3.4rem;font-weight:900;position:absolute;top:2rem;left:2rem}.prefecture-panel{background:var(--cream);padding:2rem}.panel-head{border-bottom:1px solid var(--line);padding-bottom:1.3rem}.prefecture-links{gap:.6rem;margin-top:1.2rem;display:grid}.prefecture-links a{border:1px solid var(--line);background:var(--white);border-radius:.75rem;grid-template-columns:4rem 1fr auto;align-items:center;gap:.7rem;min-height:3.9rem;padding:.7rem .8rem .7rem 1rem;display:grid}:is(.prefecture-links a:hover,.prefecture-links a:focus-visible){border-color:var(--green);outline:none;box-shadow:0 0 0 2px #17634f1a}.prefecture-links a span{font-size:1rem;font-weight:850}.prefecture-links a b{color:var(--muted);font-size:.82rem;font-weight:600}.prefecture-links a i{background:var(--paper);border-radius:50%;place-items:center;width:2rem;height:2rem;font-style:normal;display:grid}.profile-reference{background:var(--deep);color:var(--white);border-radius:.8rem;align-items:center;gap:.9rem;margin-top:1.2rem;padding:1rem;display:flex}.mini-dogs{display:flex}.mini-dogs span{border:2px solid var(--deep);background:var(--paper);border-radius:50%;place-items:center;width:2.7rem;height:2.7rem;display:grid;position:relative;overflow:hidden}.mini-dogs img{object-fit:contain;padding:.2rem}.mini-dogs span+span{margin-left:-.6rem}.profile-reference p{color:#cbdad5;margin:0;font-size:.78rem;line-height:1.55}.profile-reference strong{color:var(--white);font-size:.85rem}.hotels-section{max-width:80rem;margin:0 auto;padding:5.5rem 0}.list-heading{max-width:none}.list-heading .eyebrow{margin-bottom:.45rem}.sort-control{align-items:center;gap:.7rem;display:flex}.sort-control span{color:var(--muted);font-size:.82rem;font-weight:700}.sort-control select{border:1px solid var(--ink);background:var(--white);min-height:2.9rem;color:var(--ink);border-radius:.7rem;padding:0 2.3rem 0 .9rem;font-size:.9rem;font-weight:700}.hotel-list{border-top:1px solid var(--ink)}.hotel-card{border-bottom:1px solid var(--line);grid-template-columns:16rem 1fr 14rem;align-items:stretch;gap:1.7rem;padding:1.5rem 0;display:grid}.hotel-photo{border:1px solid var(--ink);background:var(--blue);border-radius:.85rem;place-items:center;min-height:12rem;display:grid;position:relative;overflow:hidden}.hotel-photo img{object-fit:cover;width:100%;height:100%}.hotel-photo>span{background:var(--white);border:1px solid var(--ink);border-radius:99px;padding:.3rem .55rem;font-size:.75rem;font-weight:800;position:absolute;top:.6rem;left:.6rem}.hotel-photo>b{color:#17634f75;text-align:center;font-size:3.6rem;line-height:1;transform:rotate(-9deg)}.hotel-photo>em{color:#536b64;text-align:center;font-size:.72rem;font-style:normal;font-weight:750;position:absolute;inset:auto 0 .85rem}.photo-1{background:var(--blue)}.photo-2{background:#dbe7d7}.photo-3{background:#f2dfb2}.hotel-copy{padding:.2rem 0}.hotel-location{align-items:center;gap:.65rem;display:flex}.hotel-location span{background:var(--green);color:var(--white);border-radius:99px;padding:.3rem .55rem;font-size:.72rem;font-weight:800}.hotel-location small{color:var(--muted);font-size:.78rem}.hotel-copy h3{letter-spacing:-.04em;margin:.8rem 0 .7rem;font-size:1.35rem}.hotel-copy h3 a:hover{color:var(--orange)}.rating-line{align-items:center;gap:.6rem;display:flex}.stars{color:#d2d7d4;letter-spacing:.08em;font-size:1rem;display:inline-block;position:relative}.stars:before{content:"★★★★★";width:var(--rating-width);color:var(--orange);white-space:nowrap;position:absolute;inset:0 auto 0 0;overflow:hidden}.rating-line strong{font-size:1.15rem}.rating-line small{color:var(--muted);font-size:.78rem}.no-review{align-items:center;gap:.7rem;display:flex}.no-review strong{border:1px solid var(--orange);color:var(--orange);border-radius:.35rem;padding:.35rem .55rem;font-size:.76rem}.no-review span{color:var(--muted);font-size:.8rem}.rakuten-review-count{color:#806328;margin-top:.6rem;font-size:.74rem;font-weight:750}.hotel-copy>p{color:var(--muted);margin:.9rem 0;font-size:.9rem;line-height:1.7}.tag-row{flex-wrap:wrap;gap:.4rem;display:flex}.tag-row span{background:var(--paper);color:#4d625b;border-radius:.3rem;padding:.34rem .55rem;font-size:.72rem}.hotel-actions{flex-direction:column;justify-content:end;gap:.6rem;display:flex}.hotel-actions a,.hotel-actions button{border-radius:.65rem;justify-content:space-between;align-items:center;min-height:3.1rem;padding:0 .9rem;font-size:.82rem;font-weight:800;display:flex}.detail-link{border:1px solid var(--ink);background:var(--white)}.hotel-actions .rakuten-link{background:var(--orange);color:var(--white);border:0}.hotel-actions button{background:var(--orange);color:var(--white);opacity:1;border:0}.hotel-actions button small{background:#fff3;border-radius:.2rem;padding:.14rem .3rem;font-size:.62rem}.hotel-actions>p{color:var(--muted);text-align:center;margin:0;font-size:.75rem}.demo-note{color:var(--muted);margin:1.2rem 0 0;font-size:.75rem}.search-empty{border-bottom:1px solid var(--line);text-align:center;place-items:center;gap:.6rem;padding:3rem 1rem;display:grid}.search-empty span{color:var(--muted);font-size:.85rem}.search-empty button{border:1px solid var(--ink);background:var(--white);color:var(--ink);cursor:pointer;border-radius:.5rem;margin-top:.4rem;padding:.65rem .9rem;font-weight:750}.load-more-wrap{place-items:center;gap:.7rem;padding:1.6rem 0 .4rem;display:grid}.load-more-wrap p{color:var(--muted);margin:0;font-size:.78rem;font-weight:700}.load-more{border:1px solid var(--ink);background:var(--white);min-width:min(22rem,100%);min-height:3.4rem;color:var(--ink);box-shadow:.25rem .25rem 0 var(--ink);cursor:pointer;border-radius:.7rem;padding:0 1.2rem;font-weight:850;transition:transform .16s,box-shadow .16s}:is(.load-more:hover,.load-more:focus-visible){box-shadow:.4rem .4rem 0 var(--ink);outline:none;transform:translate(-2px,-2px)}.floating-dog-guide{z-index:50;filter:drop-shadow(0 .7rem 1.2rem #103f352e);grid-template-columns:1fr 7.7rem;align-items:end;width:min(24rem,100vw - 2rem);display:grid;position:fixed;bottom:1.1rem;right:1.2rem}.guide-speech{z-index:2;border:1px solid var(--ink);background:var(--white);border-radius:1rem 1rem .2rem;padding:1rem 1rem .9rem;position:relative}.guide-speech:after{content:"";border-top:1px solid var(--ink);border-right:1px solid var(--ink);background:var(--white);width:1.2rem;height:1.2rem;position:absolute;bottom:2rem;right:-.7rem;transform:rotate(45deg)}.guide-speech>span{color:var(--orange);letter-spacing:.06em;margin-bottom:.22rem;font-size:.7rem;font-weight:850;display:block}.guide-speech>strong{font-size:.95rem;display:block}.guide-speech>p{color:var(--muted);margin:.4rem 0 .75rem;font-size:.77rem;line-height:1.55}.guide-controls{justify-content:space-between;align-items:center;gap:.8rem;display:flex}.guide-controls>div{gap:.35rem;display:flex}.guide-controls>div button{background:var(--line);cursor:pointer;border:0;border-radius:50%;width:.48rem;height:.48rem;padding:0}.guide-controls>div button.active{background:var(--orange);transform:scale(1.25)}.guide-controls>button{background:var(--deep);color:var(--white);cursor:pointer;border:0;border-radius:.4rem;align-items:center;gap:.35rem;padding:.35rem .55rem;font-size:.72rem;font-weight:800;display:inline-flex}.guide-close{z-index:4;border:1px solid var(--ink);background:var(--white);width:1.8rem;height:1.8rem;color:var(--ink);cursor:pointer;border-radius:50%;place-items:center;font-size:1rem;display:grid;position:absolute;top:-.7rem;left:-.7rem}.floating-dog{z-index:1;transform-origin:50% 100%;width:8.2rem;height:8.8rem;margin-left:-.5rem;animation:3.5s ease-in-out infinite guide-breathe;position:relative}.floating-dog img{object-fit:contain}.floating-dog.hop{animation:.65s cubic-bezier(.24,.8,.35,1) guide-hop}.guide-reopen{z-index:50;border:1px solid var(--ink);background:var(--yellow);width:5.2rem;height:5.2rem;box-shadow:.25rem .25rem 0 var(--ink);cursor:pointer;border-radius:50%;padding:0;position:fixed;bottom:1rem;right:1.1rem}.guide-reopen img{object-fit:contain;padding:.35rem .45rem .6rem}.guide-reopen span{border:1px solid var(--ink);background:var(--white);white-space:nowrap;border-radius:99px;min-width:6rem;padding:.38rem .55rem;font-size:.7rem;font-weight:850;position:absolute;top:-.75rem;right:3.2rem}@keyframes dog-bob{0%,to{transform:translateY(0)rotate(-1deg)}50%{transform:translateY(-.55rem)rotate(1deg)}}@keyframes speech-pop{0%{opacity:0;transform:translateY(.8rem)scale(.92)}to{opacity:1;transform:translateY(0)scale(1)}}@keyframes guide-breathe{0%,to{transform:translateY(0)rotate(0)}50%{transform:translateY(-.28rem)rotate(1.2deg)}}@keyframes guide-hop{0%,to{transform:translateY(0)scale(1)}45%{transform:translateY(-1.15rem)scale(1.04,.96)}70%{transform:translateY(.1rem)scale(.97,1.03)}}.review-rule{background:var(--deep);color:var(--white);grid-template-columns:.9fr 1.1fr;align-items:center;gap:8vw;padding:5rem max(5vw,50vw - 40rem);display:grid}.step-label.inverse{background:var(--yellow);color:var(--ink)}.review-rule h2{letter-spacing:-.065em;margin:1.2rem 0;font-size:clamp(2.3rem,4vw,4rem);line-height:1.08}.review-rule>div:first-child>p{color:#c8d9d3;max-width:33rem;margin:0;font-size:1rem;line-height:1.85}.review-form-preview{background:var(--white);color:var(--ink);box-shadow:.6rem .6rem 0 var(--orange);border:1px solid #b6cfc7;border-radius:1rem;padding:1.8rem}.rating-preview{grid-template-columns:1fr auto;align-items:center;gap:.3rem 1rem;display:grid}.rating-preview span{font-size:.85rem;font-weight:800}.rating-preview b{letter-spacing:-.06em;grid-area:1/2/3;font-size:3rem}.rating-preview strong{color:var(--orange);letter-spacing:.13em}.range-track{background:var(--line);border-radius:1rem;height:.45rem;margin:1.2rem 0 1.6rem}.range-track i{border-radius:inherit;background:var(--orange);width:68%;height:100%;display:block}.upload-preview{grid-template-columns:repeat(3,1fr);gap:.65rem;display:grid}.upload-preview span{aspect-ratio:1.45;background:var(--paper);color:var(--muted);border:1px dashed #8ba099;border-radius:.55rem;place-items:center;font-size:.8rem;display:grid}.review-form-preview button{background:var(--green);width:100%;min-height:3rem;color:var(--white);opacity:1;border:0;border-radius:.6rem;margin-top:1.2rem;font-weight:800}footer{border-top:1px solid var(--ink);background:var(--paper);grid-template-columns:1fr 1fr auto;align-items:center;gap:2rem;padding:3rem 5vw;display:grid}.footer-brand{font-size:1.15rem}footer>p{color:var(--muted);text-align:center;margin:0;font-size:.82rem}footer>div{color:var(--muted);align-items:center;gap:1.3rem;font-size:.75rem;display:flex}.page-shell{width:min(80rem,100% - 2rem);margin:0 auto;padding:1.4rem 0 5rem}.breadcrumbs{min-height:2.5rem;color:var(--muted);flex-wrap:wrap;align-items:center;gap:.55rem;font-size:.78rem;display:flex}.breadcrumbs a{text-underline-offset:.18rem;text-decoration:underline}.listing-hero{border-bottom:1px solid var(--ink);grid-template-columns:1fr .7fr;align-items:end;column-gap:5vw;padding:4.5rem 0 3.5rem;display:grid}.listing-hero .eyebrow{grid-column:1/3}.listing-hero h1{letter-spacing:-.075em;margin:0;font-size:clamp(2.8rem,6vw,5.4rem);line-height:1.02}.listing-hero>p:last-child{max-width:32rem;color:var(--muted);margin:0 0 .5rem;font-size:1rem;line-height:1.8}.listing-toolbar{border-bottom:1px solid var(--line);justify-content:space-between;align-items:center;gap:1.5rem;min-height:6rem;display:flex}.listing-toolbar>p{margin:0;font-size:.85rem}.listing-toolbar>p strong{margin-right:.25rem;font-size:1.45rem}.listing-toolbar>p span{color:var(--muted);margin-left:.6rem}.sort-tabs{gap:.4rem;display:flex}.sort-tabs a{border:1px solid var(--line);background:var(--white);color:var(--muted);border-radius:.5rem;padding:.65rem .9rem;font-size:.78rem;font-weight:750}.sort-tabs a.active{border-color:var(--green);background:var(--green);color:var(--white)}.directory-grid{grid-template-columns:repeat(3,1fr);gap:1.2rem;padding:2rem 0;display:grid}.directory-card{border:1px solid var(--ink);background:var(--white);min-width:0;box-shadow:.35rem .35rem 0 var(--ink);border-radius:1rem;overflow:hidden}.directory-card-image{border-bottom:1px solid var(--ink);height:13rem;position:relative;overflow:hidden}.directory-card-image img{object-fit:cover;width:100%;height:100%}.directory-card-image span{border:1px solid var(--ink);background:var(--white);border-radius:99px;padding:.3rem .55rem;font-size:.75rem;font-weight:800;position:absolute;top:.7rem;left:.7rem}.directory-card-image b{color:#17634f75;place-items:center;height:100%;font-size:4.2rem;display:grid;transform:rotate(-9deg)}.directory-card-image em{color:#536b64;text-align:center;font-size:.72rem;font-style:normal;font-weight:750;position:absolute;inset:auto 0 .9rem}.directory-card-body{padding:1.2rem}.directory-card-body>p{color:var(--muted);margin:0;font-size:.78rem}.directory-card h2{letter-spacing:-.035em;min-height:3.4rem;margin:.5rem 0 .75rem;font-size:1.25rem;line-height:1.4}.score-row{align-items:center;gap:.5rem;display:flex}.score-row b{font-size:1.5rem}.score-row>span{color:var(--orange);letter-spacing:.04em}.score-row small{color:var(--muted);font-size:.75rem}.directory-card .tag-row{align-content:start;min-height:3.3rem;margin:1rem 0}.wide-link{background:var(--deep);min-height:3rem;color:var(--white);border-radius:.6rem;justify-content:space-between;align-items:center;padding:0 .9rem;font-size:.82rem;font-weight:800;display:flex}.card-links{grid-template-columns:1fr 1fr;gap:.5rem;display:grid}.rakuten-card-link{background:var(--orange);min-height:3rem;color:var(--white);border-radius:.6rem;justify-content:space-between;align-items:center;padding:0 .75rem;font-size:.8rem;font-weight:800;display:flex}.empty-state{text-align:center;border:1px solid var(--ink);background:var(--white);max-width:43rem;box-shadow:.45rem .45rem 0 var(--ink);border-radius:1rem;margin:3rem auto;padding:4rem 2rem}.empty-state>span{font-size:2.4rem}.empty-state h2{margin:1rem 0 .7rem;font-size:1.7rem}.empty-state p{max-width:33rem;color:var(--muted);margin:0 auto 1.5rem;line-height:1.75}.empty-state a{background:var(--green);color:var(--white);border-radius:.6rem;padding:.75rem 1rem;font-weight:800;display:inline-flex}.detail-shell{padding-bottom:6rem}.demo-banner{color:#6e501c;background:#fff1c7;border:1px solid #d49932;border-radius:.55rem;margin:.5rem 0 1rem;padding:.7rem 1rem;font-size:.78rem;font-weight:750}.hotel-detail-head{grid-template-columns:1fr 17rem;align-items:end;gap:4rem;padding:2.5rem 0 2rem;display:grid}.hotel-area{color:var(--green);margin:0 0 .7rem;font-size:.82rem;font-weight:800}.hotel-detail-head h1{letter-spacing:-.065em;margin:0 0 .8rem;font-size:clamp(2.3rem,4.8vw,4.3rem);line-height:1.08}.hotel-detail-head>div:first-child>p:last-child{max-width:48rem;color:var(--muted);margin:0;line-height:1.75}.detail-score{border-left:1px solid var(--line);padding:1.2rem}.detail-score small{color:var(--muted);font-weight:800}.detail-score b{letter-spacing:-.08em;font-size:3.7rem;line-height:1;display:block}.detail-score>span{color:var(--orange);letter-spacing:.12em}.detail-score p{color:var(--muted);margin:.5rem 0 0;font-size:.78rem}.detail-score>strong{color:var(--orange);font-size:1.2rem;display:block}.detail-gallery{border-radius:1rem;grid-template-rows:1fr 1fr;grid-template-columns:2fr 1fr;gap:.6rem;height:min(32rem,42vw);min-height:20rem;display:grid;position:relative;overflow:hidden}.detail-gallery>div{background:var(--blue);position:relative;overflow:hidden}.detail-gallery>div:first-child{grid-row:1/3}.detail-gallery img{object-fit:cover;width:100%;height:100%}.detail-gallery>div:nth-child(2) img{object-position:left center;transform:scale(1.3)}.detail-gallery>div:nth-child(3) img{object-position:right center;transform:scale(1.25)}.detail-guide-image{border-radius:1rem 0 0 1rem}.detail-gallery>.detail-guide-tile{background:var(--paper);flex-direction:column;justify-content:center;padding:1.4rem;display:flex}.detail-gallery>.detail-guide-tile:nth-child(3){background:#dbe7d7}.detail-guide-tile b{font-size:1.05rem}.detail-guide-tile p{color:var(--muted);margin:.55rem 0 0;font-size:.78rem;line-height:1.65}.detail-gallery>span{background:#ffffffeb;border-radius:.4rem;padding:.45rem .65rem;font-size:.75rem;font-weight:800;position:absolute;bottom:1rem;right:1rem}.detail-columns{grid-template-columns:minmax(0,1fr) 19rem;align-items:start;gap:3rem;margin-top:3rem;display:grid}.detail-section{padding:1rem 0 4rem}.section-title{margin-bottom:1.5rem}.section-title .eyebrow{margin-bottom:.45rem}.section-title h2{letter-spacing:-.05em;margin:0;font-size:2rem}.row-title{justify-content:space-between;align-items:end;gap:1rem;display:flex}.row-title>a{border:1px solid var(--ink);background:var(--white);border-radius:.55rem;padding:.7rem .9rem;font-size:.8rem;font-weight:800}.facts-list{border-top:1px solid var(--ink);margin:0}.facts-list div{border-bottom:1px solid var(--line);grid-template-columns:9rem 1fr;align-items:center;min-height:4rem;padding:.9rem 0;display:grid}.facts-list dt{color:var(--muted);font-size:.82rem;font-weight:750}.facts-list dd{margin:0;font-size:.9rem;font-weight:700}.source-note{color:var(--muted);margin:.8rem 0 0;font-size:.72rem}.verify-note{background:var(--paper);color:var(--muted);margin:1rem 0 0;padding:1rem;font-size:.78rem;line-height:1.7}.booking-box{border:1px solid var(--ink);background:var(--white);box-shadow:.4rem .4rem 0 var(--ink);border-radius:.8rem;padding:1.3rem;position:sticky;top:6rem}.booking-box h2{margin:0 0 .7rem;font-size:1.25rem}.booking-box p{color:var(--muted);margin:0 0 1rem;font-size:.8rem;line-height:1.6}.booking-box a,.booking-box button{background:var(--orange);width:100%;min-height:3.3rem;color:var(--white);border:0;border-radius:.6rem;justify-content:space-between;align-items:center;padding:0 .9rem;font-weight:800;display:flex}.booking-box button{background:#9ba8a3;justify-content:center}.booking-box>small{color:var(--muted);text-align:center;margin-top:.65rem;font-size:.75rem;display:block}.reviews-empty{background:var(--white);text-align:center;border:1px dashed #8fa29b;border-radius:.8rem;padding:3.2rem 2rem}.reviews-empty>span{font-size:2rem}.reviews-empty h3{margin:.8rem 0 .5rem}.reviews-empty p{max-width:35rem;color:var(--muted);margin:0 auto 1.2rem;line-height:1.7}.reviews-empty a{background:var(--green);color:var(--white);border-radius:.55rem;padding:.75rem 1rem;font-weight:800;display:inline-flex}.review-card{border:1px solid var(--ink);background:var(--white);border-radius:.8rem;padding:1.5rem}.review-meta{grid-template-columns:auto 1fr auto;align-items:center;gap:.75rem;display:grid}.dog-avatar{background:var(--blue);border-radius:50%;place-items:center;width:2.7rem;height:2.7rem;display:grid}.review-meta p,.review-meta time{margin:0}.review-meta span,.review-meta time{color:var(--muted);font-size:.75rem}.review-score{align-items:center;gap:.7rem;margin:1.3rem 0 .7rem;display:flex}.review-score b{font-size:2rem}.review-score span{color:var(--orange);letter-spacing:.1em}.review-card h3{margin:0 0 .6rem;font-size:1.1rem}.review-card>p{color:var(--muted);font-size:.9rem;line-height:1.75}.review-photos{grid-template-columns:repeat(3,1fr);gap:.6rem;margin-top:1.2rem;display:grid}.review-photos div{aspect-ratio:1.35;background:var(--paper);color:var(--muted);border-radius:.55rem;place-items:center;font-size:.78rem;display:grid}.review-page{padding-bottom:6rem}.form-header{border-bottom:1px solid var(--ink);padding:3.5rem 0 2.7rem}.form-header h1{letter-spacing:-.075em;margin:0;font-size:clamp(2.8rem,5.5vw,5rem)}.form-header>p:last-child{color:var(--muted);margin:.8rem 0 0}.review-form-layout{grid-template-columns:minmax(0,1fr) 19rem;align-items:start;gap:3rem;padding-top:2.5rem;display:grid}.review-form{gap:1.3rem;display:grid}.form-section{border:1px solid var(--line);background:var(--white);border-radius:.85rem;padding:1.5rem}.form-section h2{align-items:center;gap:.65rem;margin:0 0 1.4rem;font-size:1.2rem;display:flex}.form-section h2>span{background:var(--deep);width:2.2rem;height:2.2rem;color:var(--white);font-family:var(--font-geist-mono), monospace;border-radius:50%;place-items:center;font-size:.75rem;display:grid}.form-grid{gap:1rem;display:grid}.form-grid.two-columns{grid-template-columns:repeat(2,1fr)}.form-grid label{color:var(--ink);gap:.45rem;font-size:.8rem;font-weight:750;display:grid}.form-grid label b{color:var(--orange);margin-left:.25rem;font-size:.75rem}.form-grid input,.form-grid textarea{border:1px solid var(--line);background:var(--cream);width:100%;color:var(--ink);border-radius:.55rem;outline:none;padding:.85rem;font-size:.95rem;font-weight:500}.form-grid input:focus,.form-grid textarea:focus{border-color:var(--green);box-shadow:0 0 0 3px #17634f1f}.form-grid textarea{resize:vertical;line-height:1.65}.form-help{color:var(--muted);margin:-.7rem 0 1.2rem;font-size:.8rem}.score-fields{grid-template-columns:repeat(2,1fr);gap:1rem 1.5rem;display:grid}.score-field{background:var(--paper);border-radius:.6rem;grid-template-columns:1fr auto;gap:.45rem;padding:.9rem;font-size:.8rem;font-weight:750;display:grid}.score-field output{color:var(--orange);font-size:1.25rem;font-weight:900}.score-field input{width:100%;accent-color:var(--orange);grid-column:1/3}.score-field>small{color:var(--muted);grid-column:1/3;justify-content:space-between;font-size:.75rem;display:flex}.photo-picker{border:1px dashed var(--green);text-align:center;cursor:pointer;background:#eff7f3;border-radius:.7rem;place-content:center;gap:.35rem;min-height:7rem;display:grid}.photo-picker input{opacity:0;width:1px;height:1px;position:absolute;overflow:hidden}.photo-picker>span{font-weight:850}.photo-picker>small{color:var(--muted);font-size:.75rem}.selected-files{gap:.35rem;margin:1rem 0 0;padding:0;list-style:none;display:grid}.selected-files li{background:var(--paper);border-radius:.4rem;justify-content:space-between;gap:1rem;padding:.55rem .7rem;font-size:.78rem;display:flex}.selected-files span{color:var(--muted)}.consent-line{color:var(--muted);align-items:flex-start;gap:.7rem;font-size:.8rem;line-height:1.6;display:flex}.consent-line input{accent-color:var(--green);margin-top:.25rem}.form-error{color:#9c3127;background:#fff0ed;border:1px solid #b74337;border-radius:.5rem;margin:0;padding:.8rem 1rem;font-size:.85rem}.submit-review{background:var(--orange);min-height:3.8rem;color:var(--white);cursor:pointer;border:0;border-radius:.65rem;font-size:1rem;font-weight:850}.submit-review:disabled{cursor:wait;opacity:.7}.moderation-note{color:var(--muted);text-align:center;margin:-.6rem 0 0;font-size:.75rem}.review-guidelines{border:1px solid var(--ink);background:var(--yellow);border-radius:.8rem;padding:1.4rem;position:sticky;top:6rem}.review-guidelines h2{margin:0 0 1rem;font-size:1.2rem}.review-guidelines ol{counter-reset:guide;gap:1rem;margin:0;padding:0;list-style:none;display:grid}.review-guidelines li{counter-increment:guide;border-top:1px solid #18352f47;padding-top:1rem}.review-guidelines li strong,.review-guidelines li span{display:block}.review-guidelines li strong{margin-bottom:.25rem;font-size:.85rem}.review-guidelines li span,.review-guidelines>p{font-size:.77rem;line-height:1.6}.review-guidelines>p{border-top:1px solid #18352f47;margin:1.2rem 0 0;padding-top:1rem}.submission-complete{border:1px solid var(--ink);background:var(--white);text-align:center;box-shadow:.45rem .45rem 0 var(--ink);border-radius:1rem;padding:5rem 2rem}.submission-complete>span{background:var(--green);width:3.5rem;height:3.5rem;color:var(--white);border-radius:50%;place-items:center;margin:0 auto;font-size:1.5rem;display:grid}.submission-complete h2{margin:1.2rem 0 .6rem}.submission-complete p{color:var(--muted)}.submission-complete a{background:var(--deep);color:var(--white);border-radius:.55rem;margin-top:.8rem;padding:.8rem 1rem;font-weight:800;display:inline-flex}.policy-page{width:min(48rem,100% - 2rem);margin:0 auto;padding:1.4rem 0 6rem}.policy-header{border-bottom:1px solid var(--ink);padding:4rem 0 2.5rem}.policy-header h1{letter-spacing:-.06em;margin:0;font-size:clamp(2.4rem,6vw,4.2rem);line-height:1.08}.policy-section{border-bottom:1px solid var(--line);padding:2.2rem 0}.policy-section h2{margin:0 0 .8rem;font-size:1.25rem}.policy-section p{color:var(--muted);margin:0;font-size:1rem;line-height:1.9}@media (max-width:70rem){.site-header{grid-template-columns:1fr auto}.site-header nav{display:none}.menu-button{display:block}.directory-hero{grid-template-columns:1fr;align-items:start;min-height:0}.hero-copy{max-width:48rem}.hero-guide-column{grid-template-columns:minmax(24rem,1fr) minmax(22rem,.8fr);align-items:end}.site-search{max-width:40rem}.map-layout{grid-template-columns:1fr}.japan-map{border-right:0;border-bottom:1px solid var(--ink)}.prefecture-links{grid-template-columns:repeat(2,1fr)}.hotel-card{grid-template-columns:14rem 1fr}.hotel-actions{grid-column:2;grid-template-columns:1fr 1fr;display:grid}.hotel-actions>p{grid-column:1/3}.hotels-section{padding-left:5vw;padding-right:5vw}.directory-grid{grid-template-columns:repeat(2,1fr)}.detail-columns,.review-form-layout{grid-template-columns:minmax(0,1fr) 16rem;gap:1.8rem}}@media (max-width:44rem){.site-header{height:4.1rem;padding:0 1rem}.directory-hero{padding:2.4rem 1rem 1.8rem}.directory-hero h1{font-size:2.55rem}.hero-guide-column{grid-template-columns:1fr}.dog-pair-stage{min-height:19.5rem}.hero-shiratama{width:12rem;height:12.8rem;left:0}.hero-omochi{width:9.5rem;height:10.2rem;right:0}.hero-dog-speech{width:13rem;padding:.8rem .9rem;left:29%}.hero-dog-speech strong{font-size:.94rem}.hero-dog>span{min-width:7.3rem;font-size:.69rem}.hero-dog>span small{display:none}.travel-path{inset:5rem 1rem 1rem}.site-search>div{grid-template-columns:1fr}.site-search button{min-height:2.8rem}.map-section{padding:1.8rem 1rem 4rem}.map-heading,.list-heading{flex-direction:column;align-items:start;gap:.8rem}.japan-map{grid-template-columns:repeat(2,1fr);gap:.7rem;min-height:auto;padding:1rem;display:grid}.japan-map:before,.map-sea-label{display:none}.region-shape,.region-shape.active,.region-hokkaido,.region-hokkaido.active,.region-tohoku,.region-tohoku.active,.region-kanto,.region-kanto.active,.region-chubu,.region-chubu.active,.region-kinki,.region-kinki.active,.region-chugoku,.region-chugoku.active,.region-shikoku,.region-shikoku.active,.region-kyushu,.region-kyushu.active{border-radius:.8rem;min-width:0;min-height:4rem;position:static;transform:none}.prefecture-panel{padding:1.1rem}.panel-head{flex-direction:column;align-items:flex-start}.prefecture-links{grid-template-columns:1fr}.hotels-section{padding:4rem 1rem}.sort-control{justify-content:space-between;width:100%}.hotel-card{grid-template-columns:1fr;gap:1rem;padding:1.3rem 0 2rem}.hotel-photo{min-height:13rem}.hotel-actions{grid-column:auto;grid-template-columns:1fr}.hotel-actions>p{grid-column:auto}.review-rule{grid-template-columns:1fr;gap:3rem;padding:4.5rem 1rem}.upload-preview{gap:.35rem}.upload-preview span{font-size:.68rem}footer{grid-template-columns:1fr;padding:2.5rem 1rem}footer>p{text-align:left}footer>div{flex-wrap:wrap}.listing-hero{grid-template-columns:1fr;gap:1.3rem;padding:3rem 0 2.5rem}.listing-hero .eyebrow{grid-column:auto}.listing-toolbar{flex-direction:column;align-items:stretch;padding:1rem 0}.sort-tabs{overflow-x:auto}.sort-tabs a{white-space:nowrap}.directory-grid{grid-template-columns:1fr}.hotel-detail-head{grid-template-columns:1fr;gap:1.5rem}.detail-score{border-left:0;border-top:1px solid var(--line)}.detail-gallery{grid-template-rows:2fr 1fr;grid-template-columns:1fr 1fr;height:95vw;min-height:21rem}.detail-gallery>div:first-child{grid-area:auto/1/auto/3}.detail-columns,.review-form-layout{grid-template-columns:1fr}.booking-box,.review-guidelines{position:static}.row-title{flex-direction:column;align-items:start}.review-meta{grid-template-columns:auto 1fr}.review-meta time{grid-column:2}.form-grid.two-columns,.score-fields{grid-template-columns:1fr}.floating-dog-guide{grid-template-columns:1fr 6rem;width:min(21.5rem,100vw - 1.1rem);bottom:.55rem;right:.55rem}.guide-speech{padding:.8rem}.guide-speech>p{margin-bottom:.55rem;font-size:.72rem}.floating-dog{width:6.4rem;height:7rem}.guide-reopen{width:4.5rem;height:4.5rem;bottom:.65rem;right:.65rem}}@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}*{transition:none!important}.hero-dog,.floating-dog,.hero-dog-speech{animation:none!important}}@property --tw-rotate-x{syntax:"*";inherits:false}@property --tw-rotate-y{syntax:"*";inherits:false}@property --tw-rotate-z{syntax:"*";inherits:false}@property --tw-skew-x{syntax:"*";inherits:false}@property --tw-skew-y{syntax:"*";inherits:false}
