/* 「犬、猫、赤ちゃんOK？」の見た目。build.py が site\ にコピーする。色は青と黒、書体は丸ゴシック（口座主の指示） */
:root{--or:#1A6FE8;--or-d:#0E4FB3;--or-l:#8DBBFF;--bk:#111;--bg:#fff;--paper:#F2F7FF;--ink:#111;--sub:#555;--line:#D5DEEA;
--yes:#1F7A46;--yes-bg:#DDF3E5;--no:#C0341F;--no-bg:#FBE1DC;--unk:#6B6B6B;--unk-bg:#EEE}
*{box-sizing:border-box}[hidden]{display:none!important}
html{scroll-behavior:smooth;scroll-padding-top:64px}
body{margin:0;background:var(--bg);color:var(--ink);font-family:"M PLUS Rounded 1c","Hiragino Maru Gothic ProN","Hiragino Sans","Yu Gothic",sans-serif;font-size:16px;line-height:1.75}
a{color:var(--or-d)}
.wrap{max-width:860px;margin:0 auto;padding:0 16px}
main.wrap{padding-bottom:72px}
h1{font-size:clamp(24px,5vw,34px);font-weight:900;line-height:1.35;margin:28px 0 8px}
h2{font-size:20px;font-weight:900;margin:0 0 10px}
h3{font-size:17px;font-weight:900;margin:0}
.lead{color:var(--sub);max-width:40em;margin:0 0 16px}
.meta{font-size:13px;color:var(--sub)}
.empty{color:var(--sub);font-size:14px;margin:0}
:focus-visible{outline:3px solid var(--or);outline-offset:2px}

/* 上の帯 */
.top{position:sticky;top:0;z-index:20;display:flex;flex-wrap:wrap;gap:6px 16px;align-items:center;justify-content:space-between;padding:8px 16px;background:var(--bk)}
.logo{font-weight:900;font-size:18px;text-decoration:none;color:#fff}
nav{display:flex;flex-wrap:wrap;align-items:center;gap:4px 14px;font-size:14px;font-weight:700}
nav a{color:#fff;text-decoration:none}nav a:hover{color:var(--or-l)}
nav a.go{background:var(--or);border-radius:999px;padding:3px 14px}nav a.go:hover{color:#fff;background:var(--or-d)}

/* 看板 */
.banner{position:relative;isolation:isolate;overflow:hidden;background:var(--or);border-radius:16px;margin:16px 0;padding:20px 22px 24px}
.banner::before{content:"";position:absolute;z-index:-1;inset:12px -14px 16px -14px;background:#fff;transform:rotate(-2deg);
clip-path:polygon(0 9%,4% 3%,9% 8%,15% 1%,22% 6%,31% 0,44% 5%,58% 1%,71% 6%,84% 2%,93% 8%,100% 4%,98% 30%,100% 52%,97% 74%,100% 93%,92% 97%,80% 93%,66% 99%,52% 94%,38% 100%,24% 95%,12% 99%,3% 94%,0 72%,2% 48%,0 28%)}
.strip{display:inline-block;background:var(--bk);color:#fff;font-weight:900;line-height:1.4;padding:4px 14px;transform:rotate(-3deg);font-size:clamp(13px,3.2vw,19px);max-width:68%}
.tape{position:absolute;right:20px;top:20px;background:#F5EFE3;color:var(--or-d);font-weight:900;font-size:clamp(13px,3vw,18px);padding:14px 14px 8px;transform:rotate(4deg);box-shadow:0 2px 6px rgba(0,0,0,.25)}
.tape::before{content:"";position:absolute;left:50%;top:-9px;width:52px;height:18px;background:#C7A76B;opacity:.9;transform:translateX(-50%) rotate(-4deg)}
.banner h1{margin:12px 0 6px;line-height:1.08;letter-spacing:-.02em}
.banner .k{display:block;color:var(--bk);font-size:clamp(28px,7.6vw,56px)}
.banner .o{display:block;color:var(--or);font-size:clamp(46px,13vw,96px);line-height:1}
.banner.big .k{font-size:clamp(32px,9vw,72px)}.banner.big .o{font-size:clamp(56px,16vw,128px)}
.banner.small{padding:16px 20px 18px}.banner.small .k{font-size:clamp(21px,5.2vw,34px);line-height:1.25;letter-spacing:0}.banner.small .o{font-size:clamp(34px,9vw,60px)}
.band{display:inline-block;background:var(--bk);color:#fff;font-weight:900;letter-spacing:.18em;padding:4px 20px;transform:rotate(-3deg);font-size:clamp(12px,3.2vw,18px)}
.band b{color:var(--or-l);margin-left:.4em}

/* 箱 */
.box{background:#fff;border:2px solid var(--bk);border-radius:14px;padding:16px 18px;margin:16px 0}
.box.soft{background:var(--paper)}
.tag{display:inline-block;font-size:12px;font-weight:900;background:var(--bk);color:#fff;padding:1px 10px;margin-bottom:8px;transform:rotate(-2deg)}
.tag.alt{background:var(--or-d)}
.warn{background:#FFF1C9;color:#5E4500;border-radius:8px;padding:8px 12px;font-size:14px;font-weight:700}
.how ul{margin:0;padding-left:1.2em}

/* 入力 */
input,select,textarea,button{font:inherit;color:inherit}
input,select,textarea{background:#fff;border:2px solid var(--bk);border-radius:10px;padding:10px 12px;width:100%}
textarea{resize:vertical;min-height:96px}
.f{display:flex;flex-direction:column;gap:4px;margin:12px 0}
.f>label,.flabel{font-size:13px;font-weight:700;color:var(--sub)}
.btn,.submit{display:inline-block;font-weight:900;background:var(--or);color:#fff;border:2px solid var(--bk);border-radius:10px;padding:10px 22px;cursor:pointer;text-decoration:none;box-shadow:3px 3px 0 var(--bk)}
.btn.ghost{background:#fff;color:var(--ink)}
.submit{width:100%;font-size:17px;padding:13px}.submit[disabled]{opacity:.5;cursor:default}
.msg{font-size:14px;min-height:1.6em;margin:8px 0 0;font-weight:700}.msg.err{color:var(--no)}
.hp{position:absolute;left:-9999px;width:1px;height:1px;overflow:hidden}

/* チップ（えらぶボタン） */
.chips{display:flex;flex-wrap:wrap;gap:6px;margin:6px 0 10px}
.chips button,.chips label span{display:inline-block;font-size:14px;font-weight:700;border:2px solid var(--bk);background:#fff;border-radius:999px;padding:4px 14px;cursor:pointer}
.chips button.on,.chips label input:checked+span{background:var(--bk);color:#fff}
.chips.yes button.on{background:var(--yes);border-color:var(--yes)}
.chips label input{position:absolute;opacity:0;width:1px;height:1px;padding:0;border:0}
.chips label:has(input:focus-visible) span{outline:3px solid var(--or);outline-offset:2px}

/* 検索 */
.search .row2{display:flex;gap:8px}.search .row2 input{flex:1;min-width:0}.search .row2 .btn{white-space:nowrap}
.result{display:flex;align-items:baseline;justify-content:space-between;margin:14px 0 8px}
.result b{font-size:22px}

/* 入口 */
.doors{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:12px;margin:16px 0}
.door{display:flex;flex-direction:column;align-items:flex-start;gap:2px;background:var(--paper);border:3px solid var(--bk);border-radius:14px;padding:14px 16px;text-decoration:none;color:var(--ink);box-shadow:5px 5px 0 var(--or)}
.door b{font-size:32px;font-weight:900;line-height:1.2}.door b i{font-style:normal;color:var(--or);margin-left:.1em}
.door .cnt{font-weight:900}.door small{color:var(--sub)}
.door:hover,.door:focus-visible{box-shadow:2px 2px 0 var(--or);transform:translate(3px,3px)}

/* 施設のカード */
.list{display:flex;flex-direction:column;gap:12px}
.place{display:block;background:#fff;border:2px solid var(--bk);border-radius:14px;padding:14px 16px;box-shadow:4px 4px 0 var(--or)}
.phead{display:flex;flex-wrap:wrap;align-items:center;gap:6px;font-size:12px;font-weight:700;color:var(--sub)}
.area{background:var(--or);color:#fff;padding:0 9px;border-radius:999px}
.vc{margin-left:auto;color:var(--or-d)}
.place h3{margin:4px 0 2px;font-size:19px;line-height:1.4}.place h3 a{color:var(--ink);text-decoration:none}.place h3 a:hover{text-decoration:underline}
.pills{display:flex;flex-wrap:wrap;gap:5px;margin:8px 0 4px}
.pill{font-size:12px;font-weight:700;border-radius:999px;padding:2px 10px}
.pill.yes{background:var(--yes-bg);color:var(--yes)}.pill.no{background:var(--no-bg);color:var(--no)}.pill.unk{background:var(--unk-bg);color:var(--unk)}
.note{margin:6px 0 0;font-size:15px}

/* 施設のページ */
.crumb{font-size:13px;color:var(--sub);margin:14px 0 0}
.actions{display:flex;flex-wrap:wrap;gap:10px;margin:12px 0}
.tabs{position:sticky;top:44px;z-index:10;display:flex;gap:2px;background:#fff;border-bottom:3px solid var(--bk);margin:16px -16px 0;padding:0 16px;overflow-x:auto}
.tabs a{flex:0 0 auto;padding:9px 14px;font-weight:900;font-size:14px;color:var(--ink);text-decoration:none;border-radius:10px 10px 0 0}
.tabs a:hover{background:var(--paper)}.tabs a b{color:var(--or-d)}
.spec{width:100%;border-collapse:collapse;margin:6px 0 10px}
.spec th,.spec td{padding:9px 6px;border-bottom:1px solid var(--line);text-align:left;font-size:15px}
.spec th{font-weight:700}.spec td{width:9.5em;text-align:right;font-weight:900;white-space:nowrap}
.spec .yes{color:var(--yes)}.spec .no{color:var(--no)}.spec .unk{color:var(--unk);font-weight:700}
.mark{display:inline-block;width:1.7em;height:1.7em;line-height:1.7em;text-align:center;border-radius:50%;margin-left:6px}
.yes .mark{background:var(--yes-bg)}.no .mark{background:var(--no-bg)}.unk .mark{background:var(--unk-bg)}
blockquote{margin:10px 0;padding:6px 12px;border-left:4px solid var(--or);font-size:14px;color:var(--sub)}
cite{font-style:normal;margin-left:6px}

/* 口コミ */
.vlist{display:flex;flex-direction:column;gap:12px;margin:12px 0}
.voice{border:2px solid var(--line);border-radius:12px;padding:12px 14px;background:#fff}
.vhead{display:flex;flex-wrap:wrap;align-items:center;gap:6px;font-size:12px;font-weight:700;color:var(--sub)}
.vwho{background:var(--bk);color:#fff;border-radius:999px;padding:0 9px}
.vplace{display:block;font-weight:900;font-size:16px;color:var(--ink);margin-top:4px;text-decoration:none}.vplace:hover{text-decoration:underline}
.vnote{margin:6px 0;font-size:15px;white-space:pre-wrap;overflow-wrap:anywhere}
.photos{display:flex;flex-wrap:wrap;gap:8px;margin-top:8px}
.photos img{width:112px;height:112px;object-fit:cover;border:2px solid var(--bk);border-radius:10px;display:block}
.gallery img{width:calc(33.3% - 6px);height:auto;aspect-ratio:1}
.sum{display:grid;grid-template-columns:repeat(auto-fill,minmax(180px,1fr));gap:6px;margin:8px 0}
.sum div{display:flex;justify-content:space-between;gap:8px;border-radius:8px;padding:5px 10px;font-size:13px;font-weight:700}
.sum .yes{background:var(--yes-bg);color:var(--yes)}.sum .no{background:var(--no-bg);color:var(--no)}.sum .unk{background:var(--unk-bg);color:var(--unk)}

/* 口コミを書く */
.write .step{display:flex;align-items:center;gap:8px;font-weight:900;margin:18px 0 6px}
.write .step i{font-style:normal;display:inline-block;width:1.7em;height:1.7em;line-height:1.7em;text-align:center;border-radius:50%;background:var(--or);color:#fff;font-size:14px}
.row{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:8px 0;border-bottom:1px solid var(--line)}
.rl{font-weight:700;font-size:15px}
.seg{display:flex;gap:4px;flex:0 0 auto}
.seg label{position:relative;cursor:pointer}
.seg label span{display:block;min-width:46px;text-align:center;border:2px solid var(--bk);border-radius:10px;padding:6px 8px;font-weight:900;background:#fff}
.seg label.skip span{font-size:12px;font-weight:700;padding:9px 8px;border-color:var(--line);color:var(--sub)}
.seg input{position:absolute;opacity:0;width:1px;height:1px;padding:0;border:0}
.seg input[value=yes]:checked+span{background:var(--yes);border-color:var(--yes);color:#fff}
.seg input[value=no]:checked+span{background:var(--no);border-color:var(--no);color:#fff}
.seg label.skip input:checked+span{background:var(--unk-bg);border-color:var(--unk);color:var(--ink)}
.seg label:has(input:focus-visible) span{outline:3px solid var(--or);outline-offset:2px}
.counter{align-self:flex-end;font-size:12px;color:var(--sub)}
.addphoto{display:inline-flex;align-items:center;justify-content:center;width:112px;height:112px;border:2px dashed var(--bk);border-radius:10px;font-weight:900;cursor:pointer;background:var(--paper);text-align:center;font-size:14px}
.addphoto input{position:absolute;opacity:0;width:1px;height:1px}
.addphoto:has(input:focus-visible){outline:3px solid var(--or);outline-offset:2px}
.shot{position:relative}
.shot button{position:absolute;right:-6px;top:-6px;width:26px;height:26px;border-radius:50%;border:2px solid var(--bk);background:#fff;font-weight:900;line-height:1;cursor:pointer;padding:0}

/* 下に出る「口コミを書く」 */
.fab{position:fixed;right:16px;bottom:calc(16px + env(safe-area-inset-bottom,0px));z-index:30;background:var(--or);color:#fff;font-weight:900;text-decoration:none;border:2px solid var(--bk);border-radius:999px;padding:10px 18px;box-shadow:3px 3px 0 var(--bk)}
.foot{font-size:13px;color:var(--sub);border-top:3px solid var(--bk);margin-top:40px;padding-top:16px;padding-bottom:90px}
@media (max-width:520px){.spec td{width:7.5em}.rl{font-size:14px}.seg label span{min-width:40px}}
@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}}
@media (prefers-reduced-motion:no-preference){.door{transition:transform .1s,box-shadow .1s}}
section.how{background:var(--paper);border:2px solid var(--bk);border-radius:14px;padding:16px 18px;margin:16px 0}
form#contact{max-width:560px;background:var(--paper);border:2px solid var(--bk);border-radius:14px;padding:16px 18px}
@media (max-width:520px){.top{position:static}.tabs{top:0}html{scroll-padding-top:52px}}
.plist{display:flex;flex-direction:column;gap:6px;max-height:320px;overflow-y:auto;border:2px solid var(--bk);border-radius:12px;padding:8px;background:#fff;margin-top:8px}
.plist button{display:flex;flex-wrap:wrap;align-items:center;gap:4px 8px;text-align:left;background:#fff;border:2px solid var(--line);border-radius:10px;padding:8px 10px;cursor:pointer}
.plist button:hover,.plist button:focus-visible{border-color:var(--or);background:var(--paper)}
.plist button b{flex:1 1 60%;font-size:15px}.plist button small{color:var(--sub);font-size:12px}
.picked{display:flex;align-items:center;justify-content:space-between;gap:10px;background:#fff;border:2px solid var(--or);border-radius:12px;padding:10px 12px}
.picked span{display:flex;flex-direction:column}.picked small{color:var(--sub);font-size:12px;font-weight:700}.picked b{font-size:17px}
.picked .btn{padding:6px 14px;box-shadow:none}
.byvoice{background:var(--unk-bg);color:var(--ink);padding:0 9px;border-radius:999px}
.newplace{background:#fff;border:2px solid var(--or);border-radius:12px;padding:6px 14px 10px}
.linkbtn{background:none;border:0;padding:0;color:var(--or-d);text-decoration:underline;cursor:pointer;font-size:13px}
.ad ul{margin:0;padding-left:1.2em}
.pr{margin:12px 0 0;font-size:13px;font-weight:700;background:var(--unk-bg);border-radius:8px;padding:4px 10px;display:inline-block}
.share{display:flex;flex-wrap:wrap;align-items:center;gap:8px;margin:16px 0;font-size:14px;font-weight:700}
.share a{display:inline-block;border:2px solid var(--bk);border-radius:999px;padding:3px 16px;text-decoration:none;color:var(--ink);background:#fff}
.share a:hover{background:var(--bk);color:#fff}

/* 地域：地方 → 都道府県の2段（2026-10-02） */
.prefs[hidden],.prefs [hidden]{display:none!important}
.prefs{padding-left:10px;border-left:4px solid var(--or)}
/* 2026-10-03 答えを最初の画面に・公式の詳しい条件 */
.answer{list-style:none;margin:10px 0 12px;padding:12px 14px;background:var(--paper);border-left:6px solid var(--or);border-radius:10px;font-size:15px;line-height:1.6}
.answer li+li{margin-top:6px}.answer b{margin-right:2px}
.spec.detail th{white-space:normal;width:32%;text-align:left;vertical-align:top}.spec.detail td{width:auto;white-space:normal;text-align:left;font-weight:400;overflow-wrap:anywhere}
@media (max-width:520px){.spec.detail tr{display:block;border-bottom:1px solid var(--line);padding:6px 0}.spec.detail th,.spec.detail td{display:block;width:auto;border:0;padding:2px 4px}.spec.detail th{font-size:13px;color:var(--sub)}}
.box h3{font-size:15px;margin:14px 0 6px}
/* 2026-10-03 楽天トラベルの施設画像 */
.rkphoto{margin:0 0 10px}.rkphoto img{display:block;width:100%;max-height:300px;object-fit:cover;border-radius:12px;border:2px solid var(--bk)}
.rkphoto figcaption{font-size:12px;color:var(--sub);margin-top:4px}
.pthumb img{display:block;width:100%;height:140px;object-fit:cover;border-radius:10px;margin:4px 0 6px}
.gmap{display:block;width:100%;height:280px;border:2px solid var(--bk);border-radius:12px;margin:0 0 8px}

/* 2026-10-12 スマホ：答えの下の案内リンク（同じ種類の一覧・近くで犬と行ける施設）を、指で押しやすい大きさにする */
.meta.more{font-size:15px;margin:10px 0}
.meta.more a{display:block;margin-top:4px;padding:12px 14px;border:2px solid currentColor;border-radius:10px;font-weight:700;text-decoration:none;line-height:1.5}

/* 2026-10-12 宿のページの一番上の予約ボタン（広告と書く） */
.btn.book{flex:1 1 100%;text-align:center;font-size:17px;padding:13px 16px}
.btn.book small{display:block;font-size:12px;font-weight:700;opacity:.9;margin-top:2px}
