/*
Theme Name: 神奈川ペット火葬比較ナビ
Theme URI: http://xs390511.xsrv.jp/pet-kasou/
Description: 神奈川県のペット火葬・葬儀を市区町村別に比較する地域特化メディア。お手本(屋根修理Navi)の構造を踏襲しつつ、運営者E-E-A-T・行政火葬情報・感情配慮を強化した独自テーマ。
Author: 三浦半島ペット火葬比較ナビ編集部
Version: 0.1.0
*/

:root{
  --orange:#E8700C; --orange-d:#c85f06;
  --ink:#23292e; --sub:#5b6770; --faint:#8a98a3;
  --line:#e7e9ec; --bg:#ffffff; --soft:#f6f7f8; --sand:#fbf8f4;
  --teal:#2f7d73;
}
*{box-sizing:border-box} html{-webkit-text-size-adjust:100%}
body{margin:0;font-family:"Hiragino Kaku Gothic ProN","Noto Sans JP","Yu Gothic",sans-serif;color:var(--ink);background:var(--bg);line-height:1.8;font-size:16px}
img{max-width:100%;height:auto} a{color:var(--teal);text-decoration:none}
.container{max-width:1040px;margin:0 auto;padding:0 18px}
.narrow{max-width:760px;margin:0 auto;padding:0 18px}

/* header */
.site-head{border-bottom:1px solid var(--line);background:#fff;position:sticky;top:0;z-index:50}
.site-head .inner{display:flex;align-items:center;justify-content:space-between;height:62px}
.brand{font-weight:800;color:var(--ink);font-size:1.05rem}
.brand small{display:block;font-size:.66rem;color:var(--faint);font-weight:600}
.gnav a{margin-left:18px;font-size:.86rem;color:var(--sub);font-weight:600}

/* PR表記 */
.pr-note{background:var(--soft);color:var(--faint);font-size:.72rem;text-align:center;padding:5px 10px;border-bottom:1px solid var(--line)}

/* CTA button */
.btn-cta{display:inline-block;background:var(--orange);color:#fff;font-weight:800;padding:13px 26px;border-radius:9px;transition:.15s}
.btn-cta:hover{background:var(--orange-d);color:#fff}
.btn-ghost{display:inline-block;border:1.5px solid var(--line);color:var(--sub);font-weight:700;padding:11px 20px;border-radius:9px}

/* hero（虹の橋＋犬猫の背景写真。斜めスクリムで左上の文字を可読に・下中央の犬猫は見せる） */
.hero{position:relative;overflow:hidden;min-height:620px;padding:52px 0 40px;
  background:
    linear-gradient(122deg, rgba(255,255,255,.95) 0%, rgba(255,255,255,.85) 26%, rgba(255,255,255,.5) 42%, rgba(255,255,255,.12) 56%, rgba(255,255,255,0) 72%),
    url(hero.jpg) center center/cover no-repeat,
    var(--sand)}
/* 検索カラムを左に寄せて細く＝画面中央〜下の犬猫を隠さない */
.hero .container{max-width:1180px}
.hero h1,.hero .lead{max-width:440px}
.hero .searchbox{max-width:430px}
.hero h1{font-size:2.0rem;line-height:1.5;margin:.25em 0 .5em;letter-spacing:.01em}
.hero .lead{color:var(--sub);max-width:560px}
.steps{display:grid;grid-template-columns:repeat(3,1fr);gap:12px;margin:22px 0}
.step{background:#fff;border:1px solid var(--line);border-radius:12px;padding:16px;text-align:center}
.step .n{display:inline-grid;place-items:center;width:30px;height:30px;border-radius:50%;background:var(--orange);color:#fff;font-weight:800;margin-bottom:6px}

/* hero search (お手本準拠) */
.badge{display:inline-block;background:var(--orange);color:#fff;font-weight:800;border-radius:30px;padding:6px 18px;font-size:.86rem}
.searchbox{background:#fff;border:1px solid var(--line);border-radius:14px;padding:18px;max-width:540px;box-shadow:0 8px 24px rgba(0,0,0,.09);margin-top:14px}
.searchbox .tab{display:inline-block;font-weight:700;color:var(--orange);border-bottom:2.5px solid var(--orange);padding-bottom:5px;font-size:.92rem;margin-bottom:12px}
.searchbox select{width:100%;padding:14px 12px;border:1px solid var(--line);border-radius:10px;font-size:1rem;margin-bottom:11px;background:#fff;color:var(--ink)}
.searchbox button.btn-cta{width:100%;text-align:center;border:0;font-size:1.08rem;cursor:pointer}
.trustline{margin-top:14px;color:var(--sub);font-size:.86rem;font-weight:600}
.trustline b{color:#f5a623}

/* ペット種類 絞り込みチップ（city ページ） */
.petfilter{display:flex;align-items:center;flex-wrap:wrap;gap:8px;margin:14px 0 4px}
.petfilter-label{font-size:.84rem;font-weight:700;color:var(--sub);margin-right:2px}
.petchip{display:inline-block;border:1.5px solid var(--line);border-radius:30px;padding:6px 16px;font-size:.9rem;font-weight:700;color:var(--sub);background:#fff;line-height:1.4}
.petchip:hover{border-color:var(--orange);color:var(--orange-d)}
.petchip.on{background:var(--orange);border-color:var(--orange);color:#fff}

/* city cards */
.sec{padding:34px 0} .sec h2{font-size:1.35rem;border-left:5px solid var(--orange);padding-left:12px;margin:0 0 16px}
.citygrid{display:grid;grid-template-columns:repeat(auto-fill,minmax(150px,1fr));gap:10px}
.citygrid a{display:block;background:#fff;border:1px solid var(--line);border-radius:10px;padding:12px 14px;font-weight:700;color:var(--ink)}
.citygrid a:hover{border-color:var(--orange);box-shadow:0 4px 14px rgba(0,0,0,.06)}

/* ranking card (金ページ) */
.rankcard{position:relative;border:1px solid var(--line);border-radius:14px;padding:20px;margin:18px 0;background:#fff;box-shadow:0 2px 10px rgba(0,0,0,.03);transition:.15s}
.rankcard:hover{box-shadow:0 8px 24px rgba(0,0,0,.07)}
.rankcard.is-top{border-color:#ecdcc2;box-shadow:0 6px 20px rgba(0,0,0,.06)}
.rankhead{display:flex;align-items:center;gap:8px;margin-bottom:6px}
.rankcard .rank{display:inline-block;background:var(--orange);color:#fff;font-weight:800;border-radius:6px;padding:3px 12px;font-size:.82rem;letter-spacing:.02em}
.rankcard .rank-1{background:linear-gradient(135deg,#c9a253,#b2862f)}
.rankcard .rank-2{background:linear-gradient(135deg,#9ba4ac,#7e8990)}
.rankcard .rank-3{background:linear-gradient(135deg,#c08a5b,#a06a44)}
.pr-badge{display:inline-block;font-size:.64rem;font-weight:800;color:var(--faint);border:1px solid var(--line);border-radius:4px;padding:1px 7px;letter-spacing:.06em}
.rankcard h3{margin:.4em 0 .2em;font-size:1.18rem}
.stars{color:#f5a623;font-weight:700}
.taglist span{display:inline-block;background:var(--soft);color:var(--sub);font-size:.76rem;font-weight:700;border-radius:6px;padding:3px 9px;margin:3px 3px 0 0}
.review{border-left:3px solid var(--line);background:var(--sand);padding:8px 12px;font-size:.9rem;color:var(--sub);margin-top:10px;border-radius:8px}
.cardbtns{display:flex;gap:10px;margin-top:14px;flex-wrap:wrap}

/* boxes */
.notebox{border:1px solid var(--line);border-radius:12px;background:var(--soft);padding:16px 18px;margin:16px 0}
.faq details{border-bottom:1px solid var(--line);padding:14px 0}
.faq summary{font-weight:700;cursor:pointer;list-style:none}

.pricenote{font-size:.8rem;color:var(--faint);margin:6px 0 0;line-height:1.6}

/* 一括相談CTAバナー（cityページ） */
.ctaband{display:flex;align-items:center;gap:18px;flex-wrap:wrap;justify-content:space-between;
  background:var(--sand);border:1px solid #f0e2cf;border-radius:14px;padding:20px 22px;margin:8px 0}
.ctaband-txt b{display:block;font-size:1.1rem;margin-bottom:2px}
.ctaband-txt span{color:var(--sub);font-size:.92rem}
.ctaband .btn-cta{white-space:nowrap}

/* 相談フォーム */
.pkform label{display:block;font-weight:700;margin:14px 0 0;font-size:.94rem}
.pkform input,.pkform select,.pkform textarea{width:100%;margin-top:6px;padding:12px;border:1px solid var(--line);border-radius:9px;font-size:1rem;font-family:inherit;background:#fff;color:var(--ink);font-weight:400}
.pkform .req{display:inline-block;background:var(--orange);color:#fff;font-size:.66rem;font-weight:800;border-radius:4px;padding:1px 7px;margin-left:6px;vertical-align:middle}
.pkform .hp{position:absolute;left:-9999px;width:1px;height:1px;overflow:hidden}
.pkform button.btn-cta{margin-top:20px;width:100%;border:0;font-size:1.08rem;cursor:pointer}
.formnote{font-size:.82rem;color:var(--sub);margin-top:16px}
.formerr{background:#fdecec;border:1px solid #f3c2c2;border-radius:10px;padding:12px 16px;margin:14px 0;color:#b3392f}
.formerr p{margin:.2em 0}
.thanks{text-align:center;padding:24px 0}
.thanks h1{border:0}
.thanks .btn-cta{margin-top:16px}

/* footer */
.site-foot{background:#1d2a32;color:#aebcc6;margin-top:40px;padding:30px 0;font-size:.85rem}
.site-foot a{color:#cdd9e1}
.bc{font-size:.78rem;color:var(--faint);padding:10px 0}

@media(max-width:640px){
  .steps{grid-template-columns:1fr}
  .hero h1{font-size:1.45rem}
  .hero{min-height:auto;background:
    linear-gradient(180deg, rgba(255,255,255,.9) 0%, rgba(255,255,255,.8) 36%, rgba(255,255,255,.5) 68%, rgba(255,255,255,.22) 100%),
    url(hero.jpg) center bottom/cover no-repeat,
    var(--sand)}
}
