/*
Theme Name: きの不動産 2026
Theme URI: https://kinofudosan.com/
Description: きの不動産（南房総市千倉町）のためのテーマ。地図から物件を探せるトップ、物件一覧・詳細、エリア、会社案内、気まぐれ日記。物件データは不動産プラグイン（Fudousan Plugin）の登録内容をそのまま使います。
Version: 1.0.0
Author: きの不動産
Text Domain: kino2026
Requires PHP: 7.4
*/

/* ===== 色・文字 ===== */
:root{
  --bg:#faf6ee; --ink:#2d3b3e; --sub:#3f4d50; --muted:#5e6a6c; --line:#e6dcc7; --line2:#efe7d6; --card:#ffffff;
  --cta:#b4476a; --pink:#a8405f; --pink-soft:#eaa1b6; --pink-bg:#fbe7ed; --mint:#e2f0ee; --teal:#246b65;
  --pin-sale:#eaa1b6; --pin-rent:#9fd0c8; --sand:#f3ecdd; --th:#fbf8f1;
  --tag-sea-bg:#e2f0ee; --tag-sea:#246b65; --tag-farm-bg:#e9f1e2; --tag-farm:#436b34;
  --tag-wide-bg:#f4ecda; --tag-wide:#6b5423; --tag-reno-bg:#fbe7ed; --tag-reno:#a8405f; --tag-gray-bg:#eef0ef; --tag-gray:#3f4d50;
  --f-body:"Zen Kaku Gothic New","Noto Sans JP",sans-serif;
  --f-head:"Zen Maru Gothic","Noto Sans JP",sans-serif;
  --f-hand:"Klee One","Noto Sans JP",cursive;
  --gutter:16px; --wrap:1312px;
}
*,*::before,*::after{box-sizing:border-box}
html{-webkit-text-size-adjust:100%}
body{margin:0;background:var(--bg);color:var(--ink);font-family:var(--f-body);font-size:15px;line-height:1.8;font-weight:400}
img{max-width:100%;height:auto}
a{color:var(--ink);text-decoration:none}
a:hover{color:var(--pink)}
a:focus-visible,button:focus-visible,select:focus-visible,input:focus-visible,textarea:focus-visible{outline:3px solid var(--pink-soft);outline-offset:2px}
h1,h2,h3{font-family:var(--f-head);font-weight:900;line-height:1.4;margin:0}
p{margin:0}
.screen-reader-text{position:absolute!important;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}
.skip-link:focus{position:fixed;left:8px;top:8px;z-index:200;background:#fff;padding:8px 14px;border-radius:8px;width:auto;height:auto;clip:auto}
.wrap{width:100%;max-width:calc(var(--wrap) + var(--gutter)*2);margin:0 auto;padding:0 var(--gutter)}
.hand{font-family:var(--f-hand);font-weight:600}
.muted{color:var(--muted)}
.btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;min-height:48px;padding:0 22px;border-radius:999px;font-weight:700;border:1.5px solid var(--ink);background:transparent;color:var(--ink);font-family:inherit;font-size:15px;cursor:pointer;line-height:1.3;text-align:center}
.btn:hover{color:var(--ink);background:#fff}
.btn--cta{background:var(--cta);border-color:var(--cta);color:#fff}
.btn--cta:hover{background:var(--pink);border-color:var(--pink);color:#fff}
.btn--dark{background:var(--ink);color:var(--bg)}
.btn--dark:hover{background:#1f2a2c;color:var(--bg)}
.link-u{font-weight:700;border-bottom:2px solid var(--pink-soft)}
.pill{display:inline-flex;align-items:center;font-size:12px;font-weight:700;padding:1px 10px;border-radius:999px;background:var(--tag-gray-bg);color:var(--tag-gray);line-height:1.6;white-space:nowrap}
.pill--sea{background:var(--tag-sea-bg);color:var(--tag-sea)}
.pill--farm{background:var(--tag-farm-bg);color:var(--tag-farm)}
.pill--wide{background:var(--tag-wide-bg);color:var(--tag-wide)}
.pill--reno{background:var(--tag-reno-bg);color:var(--tag-reno)}
.pill--new{background:var(--cta);color:#fff}
.pill--sold{background:var(--muted);color:#fff}
.num{display:inline-flex;align-items:center;justify-content:center;width:32px;height:32px;border-radius:50%;background:var(--pin-sale);border:2px solid var(--ink);font-family:var(--f-head);font-weight:900;font-size:14px;color:var(--ink);flex-shrink:0}
.num--rent{background:var(--pin-rent)}
.crumbs{padding-top:14px;font-size:13px;color:var(--muted);display:flex;flex-wrap:wrap;gap:6px}
.crumbs a{color:var(--muted)}
.section{padding-top:48px}
.section-title{font-size:22px;margin-bottom:14px}
@media (min-width:960px){
  :root{--gutter:64px}
  body{font-size:16px}
  .section{padding-top:64px}
  .section-title{font-size:26px}
}

/* ===== ヘッダー ===== */
.site-header{background:var(--bg);border-bottom:1.5px solid var(--line);position:relative;z-index:40}
.site-header .wrap{height:64px;display:flex;align-items:center;gap:8px;padding-right:12px}
.brand{display:flex;flex-direction:column;align-items:flex-start;gap:2px;line-height:1.15;flex-grow:1;min-width:0}
.brand__name{font-family:var(--f-head);font-size:22px;font-weight:900;letter-spacing:.05em;white-space:nowrap}
.brand__sub{font-size:12px;font-weight:500;color:var(--sub);white-space:nowrap}
.gnav,.hdr-tel,.hdr-cta{display:none}
.menu-btn{width:44px;height:44px;border-radius:12px;border:1.5px solid var(--ink);background:var(--bg);display:flex;align-items:center;justify-content:center;padding:0;cursor:pointer}
.drawer{position:fixed;inset:0;z-index:100;display:none}
.drawer.is-open{display:block}
.drawer__bg{position:absolute;inset:0;background:rgba(45,59,62,.45)}
.drawer__panel{position:absolute;right:0;top:0;bottom:0;width:min(86vw,340px);background:var(--bg);padding:14px 18px 24px;display:flex;flex-direction:column;gap:6px;overflow-y:auto}
.drawer__close{align-self:flex-end;width:44px;height:44px;border-radius:12px;border:1.5px solid var(--ink);background:#fff;display:flex;align-items:center;justify-content:center;cursor:pointer}
.drawer__panel a.dnav{min-height:52px;display:flex;align-items:center;justify-content:space-between;border-bottom:1.5px dashed var(--line);font-weight:700;font-size:16px}
.drawer__panel .btn{margin-top:12px}
@media (min-width:960px){
  .site-header .wrap{height:96px;gap:40px;padding-right:var(--gutter)}
  .brand{flex-grow:0;gap:4px}
  .brand__name{font-size:28px;letter-spacing:.06em}
  .brand__sub{font-size:13px;letter-spacing:.04em}
  .gnav{display:flex;flex-grow:1;gap:26px;font-size:15px;font-weight:500}
  .gnav a{padding:6px 0;border-bottom:3px solid transparent}
  .gnav a[aria-current="page"]{border-bottom-color:var(--pink-soft);font-weight:700}
  .hdr-tel{display:flex;flex-direction:column;line-height:1.3;text-align:right}
  .hdr-tel span{font-size:12px;color:var(--muted)}
  .hdr-tel strong{font-size:20px;letter-spacing:.04em}
  .hdr-cta{display:inline-flex}
  .menu-btn{display:none}
}

/* ===== SP 下部の固定ボタン ===== */
.sp-bar{position:fixed;left:0;right:0;bottom:0;z-index:30;background:var(--bg);border-top:1.5px solid var(--line);padding:10px 12px calc(12px + env(safe-area-inset-bottom));display:grid;grid-template-columns:1fr 1fr 1fr;gap:8px}
.sp-bar a{min-height:52px;border-radius:14px;display:flex;align-items:center;justify-content:center;gap:6px;font-weight:700;font-size:15px;border:1.5px solid var(--ink)}
.sp-bar a.is-map{background:var(--ink);color:var(--bg)}
.sp-bar a.is-cta{background:var(--cta);border-color:var(--cta);color:#fff}
.sp-bar--property{grid-template-columns:96px 1fr}
body.has-spbar{padding-bottom:84px}
@media (min-width:960px){.sp-bar{display:none}body.has-spbar{padding-bottom:0}}

/* ===== フッター ===== */
.site-footer{background:var(--mint);margin-top:64px;padding:36px 0 28px;font-size:14px}
.ftr-grid{display:grid;gap:24px}
.ftr-brand{font-family:var(--f-head);font-size:24px;font-weight:900;letter-spacing:.06em}
.ftr-nav{display:flex;flex-direction:column;gap:2px}
.ftr-nav__title{font-weight:700;margin-bottom:4px}
.ftr-nav__city{font-size:12px;color:var(--muted);margin-top:4px}
@media (min-width:960px){
  .ftr-grid{grid-template-columns:440px repeat(3,minmax(0,1fr));gap:40px}
  .site-footer{padding:48px 0 28px}
}

/* ===== 共通：物件カード ===== */
.pcard{display:grid;grid-template-columns:124px minmax(0,1fr);background:var(--card);border:1.5px solid var(--line);border-radius:18px;overflow:hidden;color:var(--ink);transition:border-color .15s,background .15s}
.pcard:hover,.pcard.is-active{border-color:var(--cta);background:#fff7f9;color:var(--ink)}
.pcard__img{position:relative;background:#f4f7f6}
.pcard__img img{width:100%;height:100%;min-height:128px;object-fit:cover;display:block}
.pcard__img img.is-plan{object-fit:contain}
.pcard__img .num{position:absolute;left:8px;top:8px;width:28px;height:28px;font-size:13px}
.pcard__body{padding:10px 12px;display:flex;flex-direction:column;gap:3px;justify-content:center;line-height:1.5;min-width:0}
.pcard__tags{display:flex;gap:4px;flex-wrap:wrap}
.pcard__title{font-family:var(--f-head);font-size:16px;font-weight:700;line-height:1.45;margin:0}
.pcard__price{font-size:20px;font-weight:700;color:var(--pink);line-height:1.3}
.pcard__spec{font-size:12px;color:var(--muted)}
.pcard.is-sold{opacity:.72;background:#f7f7f5}
.pcard.is-sold .pcard__price{color:var(--muted)}
@media (min-width:960px){
  .pcard{grid-template-columns:210px minmax(0,1fr)}
  .pcard__img img{min-height:160px}
  .pcard__img .num{left:10px;top:10px;width:32px;height:32px;font-size:14px}
  .pcard__body{padding:12px 18px;gap:4px}
  .pcard__title{font-size:19px}
  .pcard__price{font-size:23px}
  .pcard__spec{font-size:13px}
}

/* ===== 地図 ===== */
.kmap{position:relative;width:100%;aspect-ratio:1000/721;border-radius:20px;overflow:hidden;background:#cfe5e0;font-family:var(--f-body)}
.kmap__base{position:absolute;inset:0;width:100%;height:100%;display:block}
.kmap__place{position:absolute;transform:translate(-50%,-50%);font-family:var(--f-hand);font-weight:600;white-space:nowrap;letter-spacing:.08em;line-height:1.2;pointer-events:none}
.kmap__st{position:absolute;font-weight:700;color:#3a4a4c;white-space:nowrap;line-height:1.2;pointer-events:none;text-shadow:0 0 3px #faf6ee,0 0 3px #faf6ee,0 0 2px #faf6ee,0 0 1px #faf6ee}
.kmap__pin{position:absolute;transform:translate(-50%,-50%);border-radius:50%;border:2px solid var(--ink);background:var(--pin-sale);display:flex;align-items:center;justify-content:center;font-family:var(--f-head);font-weight:900;color:var(--ink);cursor:pointer;padding:0;z-index:10;transition:transform .12s,box-shadow .12s}
.kmap__pin.is-rent{background:var(--pin-rent)}
.kmap__pin.is-on{transform:translate(-50%,-50%) scale(1.25);box-shadow:0 0 0 4px #fff,0 0 0 6px var(--pink);z-index:22}
.kmap__office{position:absolute;transform:translate(-50%,-50%);border-radius:50%;background:var(--ink);display:flex;align-items:center;justify-content:center;box-shadow:0 0 0 3px #faf6ee;z-index:20}
.kmap__leader{position:absolute;height:1.5px;background:var(--ink);transform-origin:0 50%;pointer-events:none}
.kmap__callout{position:absolute;background:#fff;color:var(--ink);border:1.5px solid var(--ink);border-radius:10px;padding:6px 10px 7px;display:flex;flex-direction:column;gap:2px;line-height:1.45;box-shadow:0 2px 0 rgba(45,59,62,.25);z-index:25}
.kmap__callout.is-office{background:var(--ink);color:#faf6ee}
.kmap__callout strong{font-size:14px;white-space:nowrap}
.kmap__row{display:flex;gap:6px;align-items:center;font-size:13px;white-space:nowrap;border-radius:6px;margin:0 -4px;padding:0 4px}
.kmap__row.is-on{background:var(--pink-bg)}
.kmap__row .num{width:18px;height:18px;font-size:11px;border-width:1.5px}
.kmap__scale{position:absolute;transform:translate(-50%,-100%);font-size:12px;font-weight:700;pointer-events:none}
.kmap__sheet{position:absolute;left:8px;right:8px;bottom:8px;background:#fff;border:1.5px solid var(--ink);border-radius:14px;padding:8px;display:flex;gap:10px;align-items:center;z-index:30;box-shadow:0 4px 12px rgba(45,59,62,.2)}
.kmap__sheet img{width:64px;height:64px;object-fit:cover;border-radius:10px;flex-shrink:0;display:block}
.kmap__sheet-body{flex-grow:1;display:flex;flex-direction:column;line-height:1.4;min-width:0}
.kmap__sheet-close{width:44px;height:44px;border-radius:50%;border:1.5px solid var(--ink);background:#fff;display:flex;align-items:center;justify-content:center;flex-shrink:0;cursor:pointer;padding:0}
.map-note{font-size:12px;color:var(--muted);margin-top:8px}

/* ===== トップ ===== */
.hero{display:grid;gap:18px;padding-top:12px}
.hero h1{font-size:28px;line-height:1.42}
.hero__lead{font-size:15px;line-height:1.85;color:var(--sub)}
.busbox{display:flex;gap:12px;align-items:center;background:#fff;border:1.5px solid var(--ink);border-radius:16px;padding:12px 14px;line-height:1.5}
.busbox strong{display:block;font-size:15px}
.busbox span{font-size:13px;color:var(--muted)}
.hero__btns{display:flex;gap:10px;flex-wrap:wrap}
.chips-row{display:flex;gap:10px;align-items:center;flex-wrap:wrap}
.chips-row__label{font-family:var(--f-hand);font-weight:600;font-size:16px;margin-right:6px;width:100%}
.chip{min-height:44px;padding:0 16px;border-radius:999px;display:inline-flex;align-items:center;font-weight:700;font-size:14px;border:0;font-family:inherit;cursor:pointer;background:var(--tag-gray-bg);color:var(--tag-gray)}
.chip--sea{background:var(--tag-sea-bg);color:var(--tag-sea)}
.chip--farm{background:var(--tag-farm-bg);color:var(--tag-farm)}
.chip--wide{background:var(--tag-wide-bg);color:var(--tag-wide)}
.chip--reno{background:var(--tag-reno-bg);color:var(--tag-reno)}
.chip--outline{background:transparent;border:1.5px solid #c8c0ae;font-weight:500;color:var(--ink)}
.chip[aria-pressed="true"]{box-shadow:inset 0 0 0 2px currentColor}
.chip .cnt{font-weight:500;margin-left:6px;opacity:.85}
.areas{display:flex;flex-direction:column;gap:10px}
.areas__city{font-size:13px;font-weight:700;color:var(--muted);margin-top:4px}
.areas__grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}
.areas__grid a{min-height:48px;border-radius:12px;background:#fff;border:1.5px solid var(--line);display:flex;align-items:center;padding:0 14px;font-size:14px;font-weight:700}
.areas__grid a.is-empty{color:var(--muted);font-weight:500}
.areas__grid a .cnt{font-size:13px;font-weight:500;color:var(--muted);margin-left:auto;margin-right:8px}
.areas__grid a .cnt:empty{margin-right:0}
.areas__grid a.is-wide{grid-column:span 2}
.newlist{display:grid;gap:12px}
.ncard{display:flex;gap:12px;background:#fff;border-radius:18px;overflow:hidden;border:1.5px solid var(--line)}
.ncard__img{position:relative;flex-shrink:0;width:124px}
.ncard__img img{width:124px;height:128px;object-fit:cover;display:block;background:#f4f7f6}
.ncard__img img.is-plan{object-fit:contain}
.ncard__img .num{position:absolute;left:8px;top:8px;width:28px;height:28px;font-size:13px}
.ncard__body{padding:10px 12px 10px 0;display:flex;flex-direction:column;gap:2px;line-height:1.5;min-width:0}
.ncard__body .pcard__tags{margin-bottom:2px}
.ncard__title{font-family:var(--f-head);font-size:16px;font-weight:700}
.ncard__price{font-size:20px;font-weight:700;color:var(--pink)}
.ncard__spec{font-size:12px;color:var(--muted)}
.diary-box{background:#fff;border-radius:22px;border:1.5px solid var(--line);overflow:hidden}
.diary-box__intro{padding:18px 18px 0;display:flex;gap:14px;align-items:center}
.diary-box__intro img{width:84px;height:84px;object-fit:cover;border-radius:50%;flex-shrink:0}
.diary-box__intro p{font-size:14px;line-height:1.6;color:var(--sub)}
.diary-box__list{padding:20px 18px 16px;display:flex;flex-direction:column}
.diary-row{display:flex;gap:14px;align-items:center;min-height:50px;border-bottom:1.5px dashed #d9cfba}
.diary-row:last-child{border-bottom:0}
.diary-row time{font-family:var(--f-hand);font-size:14px;width:72px;color:var(--muted);flex-shrink:0}
.diary-row span{font-family:var(--f-hand);font-size:18px;font-weight:600}
.access{display:grid;gap:16px;align-items:center}
.access img{width:100%;height:220px;object-fit:cover;object-position:60% 55%;border-radius:20px;display:block}
.relsites{display:flex;gap:14px 20px;align-items:center;flex-wrap:wrap}
.relsites img{display:block;height:auto}
@media (min-width:960px){
  .hero{grid-template-columns:470px minmax(0,1fr);gap:40px;align-items:center;padding-top:24px}
  .hero h1{font-size:42px;line-height:1.4}
  .hero__lead{font-size:17px;line-height:1.9}
  .busbox{padding:14px 18px}
  .busbox strong{font-size:16px}
  .busbox span{font-size:14px}
  .hero__btns .btn{min-height:52px}
  .chips-row__label{width:auto;font-size:18px;margin-right:8px}
  .chip{font-size:15px;padding:0 18px}
  .areas{flex-direction:row;flex-wrap:wrap;align-items:center;gap:6px}
  .areas__label{font-family:var(--f-hand);font-weight:600;font-size:18px;margin-right:10px}
  .areas__city{margin:0 2px 0 10px}
  .areas__grid{display:contents}
  .areas__grid a{min-height:44px;border-radius:0;background:transparent;border:0;border-bottom:2px solid var(--pink-soft);padding:0 14px;font-size:15px}
  .areas__grid a.is-empty{border-bottom-color:var(--line)}
  .areas__grid a.is-tate{border-bottom-color:var(--pin-rent)}
  .areas__grid a .cnt{margin-left:6px;margin-right:0}
  .newlist{grid-template-columns:repeat(3,minmax(0,1fr));gap:28px}
  .ncard{flex-direction:column;gap:0;border-radius:20px}
  .ncard__img{width:auto}
  .ncard__img img{width:100%;height:260px}
  .ncard__img .num{left:14px;top:14px;width:40px;height:40px;font-size:18px}
  .ncard__body{padding:18px 20px 22px;gap:8px}
  .ncard__title{font-size:21px;line-height:1.5}
  .ncard__foot{display:flex;align-items:baseline;justify-content:space-between;gap:10px}
  .ncard__price{font-size:26px}
  .ncard__spec{font-size:14px}
  .newlist--2{grid-template-columns:repeat(2,minmax(0,1fr))}
  .newlist--2 .ncard{flex-direction:row}
  .newlist--2 .ncard__img{width:240px}
  .newlist--2 .ncard__img img{width:240px;height:170px}
  .diary-box{display:grid;grid-template-columns:360px minmax(0,1fr);border-radius:28px}
  .diary-box__photo{display:block!important}
  .diary-box__photo img{width:100%;height:100%;min-height:320px;object-fit:cover;object-position:50% 35%;display:block}
  .diary-box__intro img{display:none}
  .diary-box__intro{padding:40px 48px 0}
  .diary-box__intro p{font-size:15px}
  .diary-box__list{padding:16px 48px 40px}
  .diary-row{min-height:56px;gap:20px}
  .diary-row time{font-size:16px;width:110px}
  .diary-row span{font-size:20px}
  .access{grid-template-columns:minmax(0,1fr) 440px;gap:48px}
  .access img{height:420px;border-radius:28px}
}
.diary-box__photo{display:none}

/* ===== 一覧 ===== */
.list-head{display:flex;flex-direction:column;gap:12px;padding-top:12px}
.list-head h1{font-size:24px}
.list-head__count{font-size:14px;color:var(--sub)}
.list-head__count strong{font-size:17px;color:var(--ink)}
.select{min-height:44px;border-radius:10px;border:1.5px solid #c8c0ae;background:#fff;padding:0 10px;font-size:15px;font-family:inherit;color:var(--ink)}
.filters{margin-top:16px;padding:16px;background:#fff;border:1.5px solid var(--line);border-radius:20px;display:flex;flex-direction:column;gap:14px}
.seg{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));border:1.5px solid var(--ink);border-radius:999px;overflow:hidden}
.seg button{min-height:44px;padding:0 6px;border:0;border-left:1.5px solid var(--ink);background:#fff;color:var(--ink);font-family:inherit;font-size:14px;font-weight:700;cursor:pointer}
.seg button:first-child{border-left:0}
.seg button[aria-pressed="true"]{background:var(--ink);color:var(--bg)}
.filters__selects{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px}
.filters__selects label{display:flex;flex-direction:column;gap:2px;font-size:12px;color:var(--muted)}
.list-layout{display:grid;gap:18px;padding-top:18px}
.plist{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:12px}
.plist-empty{padding:24px;background:#fff;border:1.5px dashed var(--line);border-radius:18px;text-align:center;color:var(--muted)}
.more-btn{align-self:center}
.pager{display:flex;gap:8px;justify-content:center;flex-wrap:wrap;margin-top:18px}
.pager a,.pager span{min-width:44px;min-height:44px;border-radius:12px;border:1.5px solid var(--ink);display:flex;align-items:center;justify-content:center;font-weight:700;padding:0 12px;background:#fff}
.pager span.current{background:var(--ink);color:var(--bg)}
.list-map{display:none}
.map-fab{position:fixed;left:50%;transform:translateX(-50%);bottom:96px;z-index:29}
.map-overlay{position:fixed;inset:0;z-index:90;background:var(--bg);display:none;flex-direction:column}
.map-overlay.is-open{display:flex}
.map-overlay__head{height:60px;padding:0 8px 0 16px;display:flex;align-items:center;gap:8px;border-bottom:1.5px solid var(--line)}
.map-overlay__head strong{flex-grow:1;font-family:var(--f-head);font-size:18px}
.map-overlay__body{flex-grow:1;padding:12px;overflow:auto}
.list-seo{display:grid;gap:24px;margin-top:40px;padding-top:24px;border-top:1.5px solid var(--line)}
.list-seo h2{font-size:20px;margin-bottom:10px}
@media (min-width:960px){
  .list-head{flex-direction:row;align-items:flex-end;justify-content:space-between;padding-top:16px}
  .list-head h1{font-size:34px}
  .list-head__count{font-size:15px}
  .filters{padding:20px 24px}
  .filters__top{display:flex;gap:20px;align-items:center;flex-wrap:wrap}
  .seg{display:flex}
  .seg button{padding:0 20px;font-size:15px}
  .filters__selects{display:flex;gap:16px}
  .filters__selects label{flex-direction:row;align-items:center;gap:8px;font-size:14px;color:var(--ink)}
  .list-layout{grid-template-columns:minmax(0,1fr) 600px;gap:40px;align-items:start;padding-top:28px}
  .list-map{display:block;position:sticky;top:24px}
  .map-fab,.more-btn{display:none!important}
  .plist li.is-more{display:list-item!important}
  .list-seo{grid-template-columns:1fr 1fr;gap:48px;padding:28px 32px}
  .list-seo h2{font-size:22px}
}
@media (max-width:959px){.plist li.is-more{display:none}}

/* ===== 物件詳細 ===== */
.detail{display:grid;gap:28px;padding-top:12px}
.detail__head{display:flex;flex-direction:column;gap:8px}
.detail__head h1{font-size:26px}
.detail__head h1 small{display:block;font-size:16px;font-weight:700;color:var(--sub)}
.detail__meta{display:flex;gap:6px;flex-wrap:wrap;align-items:center;font-size:13px;color:var(--muted)}
.gallery{display:flex;flex-direction:column;gap:8px}
.gallery__main{position:relative;margin:0}
.gallery__main img{width:100%;aspect-ratio:4/3;object-fit:cover;border-radius:18px;display:block;background:#f4f7f6}
.gallery__main figcaption{position:absolute;left:12px;bottom:12px;padding:3px 12px;border-radius:999px;background:rgba(45,59,62,.82);color:#fff;font-size:13px}
.gallery__main figcaption:empty{display:none}
.gallery__thumbs{display:flex;gap:8px;overflow-x:auto;padding-bottom:4px}
.gallery__thumbs button{flex-shrink:0;width:88px;height:66px;padding:0;border:2px solid transparent;border-radius:10px;overflow:hidden;background:#f4f7f6;cursor:pointer}
.gallery__thumbs button[aria-pressed="true"]{border-color:var(--cta)}
.gallery__thumbs img{width:100%;height:100%;object-fit:cover;display:block}
.pricebox{background:#fff;border:1.5px solid var(--ink);border-radius:22px;padding:20px;display:flex;flex-direction:column;gap:12px}
.pricebox__price{display:flex;flex-direction:column;line-height:1.3}
.pricebox__price span{font-size:13px;color:var(--muted)}
.pricebox__price strong{font-size:36px;color:var(--pink);letter-spacing:.02em}
.pricebox__price strong small{font-size:18px}
.pricebox dl{margin:0;display:grid;grid-template-columns:80px minmax(0,1fr);row-gap:6px;font-size:15px}
.pricebox dt{color:var(--muted)}
.pricebox dd{margin:0;font-weight:700}
.pricebox .btn{width:100%;border-radius:16px;min-height:54px}
.telbox{background:var(--mint);border-radius:20px;padding:16px 20px;display:flex;gap:14px;align-items:center}
.telbox img{width:60px;height:60px;object-fit:cover;border-radius:50%;flex-shrink:0}
.telbox div{display:flex;flex-direction:column;line-height:1.5}
.telbox a{font-size:24px;font-weight:700;letter-spacing:.04em}
.telbox span{font-size:12px;color:var(--sub)}
.prose{font-size:16px;line-height:1.95}
.prose p+p{margin-top:1em}
.spec{width:100%;border-collapse:collapse;background:#fff;border:1.5px solid var(--line);font-size:14px}
.spec th{width:112px;padding:11px 14px;text-align:left;font-weight:700;background:var(--th);vertical-align:top}
.spec td{padding:11px 14px}
.spec tr+tr{border-top:1px solid var(--line2)}
.spec td.is-pend{color:var(--muted)}
.similar{background:var(--sand);margin-top:48px;padding:40px 0 48px}
.similar__grid{display:grid;gap:14px}
.scard{background:#fff;border:1.5px solid var(--line);border-radius:20px;overflow:hidden;display:flex;flex-direction:column}
.scard img{width:100%;height:200px;object-fit:cover;display:block;background:#f4f7f6}
.scard div{padding:14px 18px 18px;display:flex;flex-direction:column;gap:2px;line-height:1.5}
.scard small{font-size:12px;font-weight:700;color:var(--sub)}
.scard h3{font-size:18px;font-weight:700}
.scard strong{font-size:22px;color:var(--pink)}
.scard span{font-size:13px;color:var(--muted)}
@media (min-width:960px){
  .detail{grid-template-columns:minmax(0,1fr) 440px;gap:48px;align-items:start;padding-top:20px}
  .detail__main{display:flex;flex-direction:column;gap:40px;min-width:0}
  .detail__head h1{font-size:36px}
  .detail__head h1 small{font-size:20px}
  .detail__side{position:sticky;top:24px;display:flex;flex-direction:column;gap:14px}
  .pricebox{padding:26px 28px;gap:14px;border-radius:24px}
  .pricebox__price strong{font-size:44px}
  .pricebox__price strong small{font-size:22px}
  .pricebox dl{grid-template-columns:88px minmax(0,1fr)}
  .gallery{display:grid;grid-template-columns:minmax(0,1fr) 120px;gap:12px}
  .gallery__main img{aspect-ratio:3/4;max-height:720px;border-radius:22px}
  .gallery__thumbs{flex-direction:column;overflow:auto;max-height:720px}
  .gallery__thumbs button{width:120px;height:90px}
  .spec{font-size:15px}
  .spec th{width:180px;padding:12px 20px}
  .spec td{padding:12px 20px}
  .similar{padding:48px 0 64px;margin-top:64px}
  .similar__grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:20px}
  .scard img{height:240px}
}
@media (max-width:959px){.detail__side .telbox{display:none}}

/* ===== エリア ===== */
.area-hero{display:grid;gap:16px;padding-top:12px}
.area-hero h1{font-size:28px}
.area-hero dl{margin:0;background:#fff;border:1.5px solid var(--line);border-radius:20px;padding:16px 18px;display:grid;grid-template-columns:96px minmax(0,1fr);row-gap:6px;font-size:14px}
.area-hero dt{font-weight:700}
.area-hero dd{margin:0}
.voice{display:grid;gap:18px;align-items:start}
.voice__who{display:flex;gap:14px;align-items:center}
.voice__who img{width:84px;height:84px;object-fit:cover;border-radius:50%;flex-shrink:0}
.voice__who h2{font-size:20px;line-height:1.5}
.voice__card{background:#fff;border:1.5px solid var(--line);border-radius:20px;padding:22px 20px;display:flex;flex-direction:column;gap:12px}
.voice__text{display:flex;flex-direction:column;gap:12px;font-family:var(--f-hand);font-size:17px;line-height:2}
.voice__sign{align-self:flex-end;font-size:14px;color:var(--sub)}
.faq{display:grid;gap:12px}
.faq div{background:#fff;border:1.5px solid var(--line);border-radius:18px;padding:16px 20px;display:flex;flex-direction:column;gap:6px}
.faq h3{font-family:var(--f-body);font-size:16px;font-weight:700}
.faq p{font-size:14px;line-height:1.85;color:var(--sub)}
@media (min-width:960px){
  .area-hero{grid-template-columns:minmax(0,1fr) 520px;gap:56px;align-items:end;padding-top:20px}
  .area-hero h1{font-size:38px}
  .area-hero dl{padding:18px 24px;grid-template-columns:110px minmax(0,1fr);font-size:15px}
  .voice{grid-template-columns:300px minmax(0,1fr);gap:40px}
  .voice__who{flex-direction:column;align-items:flex-start}
  .voice__who img{width:140px;height:140px}
  .voice__who h2{font-size:24px}
  .voice__card{padding:28px 32px}
  .voice__text{font-size:18px}
  .faq{grid-template-columns:repeat(3,minmax(0,1fr));gap:16px}
}

/* ===== 会社案内 ===== */
.co-hero{display:grid;gap:18px;padding-top:12px;align-items:center}
.co-hero h1{font-size:30px}
.co-hero img{width:100%;height:220px;object-fit:cover;object-position:66% 50%;border-radius:20px;display:block}
.greet{background:#fff;border:1.5px solid var(--line);border-radius:22px;padding:20px 18px;display:grid;gap:16px}
.greet__who{display:flex;gap:14px;align-items:center}
.greet__who img{width:84px;height:84px;object-fit:cover;border-radius:50%}
.greet__who small{display:block;font-size:13px;color:var(--sub)}
.greet__who strong{font-family:var(--f-head);font-size:20px;font-weight:900}
.greet__text{display:flex;flex-direction:column;gap:12px;font-family:var(--f-hand);font-size:17px;line-height:2}
.co-two{display:grid;gap:40px}
.access-list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:10px}
.access-list li{background:#fff;border:1.5px solid var(--line);border-radius:16px;padding:14px 16px;display:grid;grid-template-columns:40px minmax(0,1fr);gap:12px;align-items:start;line-height:1.6}
.access-list strong{display:block;font-size:16px}
.gmap{margin-top:12px;border-radius:18px;overflow:hidden;border:1.5px solid var(--line);background:var(--mint)}
.gmap iframe{display:block;width:100%;height:260px;border:0}
.sellbox{margin-top:48px;padding:22px 20px;border-radius:22px;background:var(--pink-bg);display:flex;flex-direction:column;gap:12px}
.sellbox h2{font-size:19px;line-height:1.5}
@media (min-width:960px){
  .co-hero{grid-template-columns:520px minmax(0,1fr);gap:56px;padding-top:24px}
  .co-hero h1{font-size:40px}
  .co-hero img{height:460px;border-radius:28px}
  .greet{grid-template-columns:260px minmax(0,1fr);gap:48px;padding:36px 44px;border-radius:28px}
  .greet__who{flex-direction:column;text-align:center;gap:8px}
  .greet__who img{width:180px;height:180px}
  .greet__who strong{font-size:22px}
  .greet__text{font-size:18px}
  .co-two{grid-template-columns:1fr 1fr;gap:48px}
  .sellbox{flex-direction:row;align-items:center;gap:32px;padding:32px 40px;border-radius:28px;margin-top:64px}
  .sellbox h2{font-size:24px}
  .sellbox div{flex-grow:1}
}

/* 道順の動く図 */
.route{display:grid;gap:14px;align-items:start}
.route__fig{margin:0;border-radius:22px;overflow:hidden;border:1.5px solid var(--line);background:#f7f1e3}
.route__fig svg{display:block;width:100%;height:auto;font-family:var(--f-head)}
.route__park{font-size:13px;color:var(--sub);display:flex;align-items:center;gap:6px}
.route__park b{width:18px;height:18px;border-radius:4px;background:#2f5fa0;color:#fff;font-size:12px;display:flex;align-items:center;justify-content:center}
.route__dir{display:grid;grid-template-columns:1fr 1fr;border:1.5px solid var(--ink);border-radius:999px;overflow:hidden}
.route__dir button{min-height:46px;padding:4px 8px;border:0;background:#fff;color:var(--ink);font-family:inherit;font-size:13px;font-weight:700;line-height:1.3;cursor:pointer}
.route__dir button+button{border-left:1.5px solid var(--ink)}
.route__dir button[aria-pressed="true"]{background:var(--ink);color:var(--bg)}
.route__steps{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:10px}
.route__steps button{width:100%;text-align:left;display:grid;grid-template-columns:40px minmax(0,1fr);gap:12px;align-items:start;padding:12px 14px;border-radius:18px;border:1.5px solid var(--line);background:#fff;font-family:inherit;color:var(--ink);cursor:pointer}
.route__steps button.is-on{border:2px solid var(--cta);background:#fff7f9}
.route__steps .n{width:36px;height:36px;border-radius:50%;border:2px solid var(--ink);display:flex;align-items:center;justify-content:center;font-family:var(--f-head);font-weight:900;font-size:16px;background:#fff}
.route__steps button.is-on .n{background:var(--cta);color:#fff}
.route__steps strong{display:block;font-size:15px;line-height:1.6}
.route__steps span.b{display:block;font-size:13px;color:var(--sub);line-height:1.65}
.route .svg-pc{display:none}
@keyframes krdraw{85%{stroke-dashoffset:0}100%{stroke-dashoffset:0}}
@keyframes krpulse{0%{transform:scale(.6);opacity:.9}100%{transform:scale(1.7);opacity:0}}
.kr-draw{animation:krdraw 3.2s linear infinite}
.kr-pulse{transform-box:fill-box;transform-origin:center;animation:krpulse 1.4s ease-out infinite}
.kr-mv{animation-duration:3.2s;animation-timing-function:linear;animation-iteration-count:infinite}

@media (min-width:960px){
  .route{grid-template-columns:760px minmax(0,1fr);gap:32px}
  .route .svg-pc{display:block}
  .route .svg-sp{display:none}
  .route__dir button{font-size:15px}
  .route__steps button{padding:14px 18px}
  .route__steps strong{font-size:17px}
  .route__steps span.b{font-size:14px}
}

/* ===== お問い合わせ ===== */
.contact{display:grid;gap:24px;padding-top:12px}
.contact h1{font-size:28px}
.telcard{background:#fff;border:1.5px solid var(--ink);border-radius:20px;padding:18px;display:flex;flex-direction:column;gap:4px;line-height:1.5}
.telcard a{font-size:30px;font-weight:700;letter-spacing:.04em}
.formcard{background:#fff;border:1.5px solid var(--line);border-radius:22px;padding:20px 18px}
.formcard h2{font-size:20px;margin-bottom:12px}
.wpcf7 form p{margin:0 0 14px;font-weight:700;font-size:15px}
.wpcf7 input[type=text],.wpcf7 input[type=email],.wpcf7 input[type=tel],.wpcf7 textarea{width:100%;min-height:48px;margin-top:6px;border-radius:12px;border:1.5px solid #c8c0ae;background:#fff;padding:10px 12px;font-size:16px;font-family:inherit;color:var(--ink);font-weight:400}
.wpcf7 textarea{min-height:160px}
.wpcf7 .wpcf7-list-item{display:block;margin:6px 0 0}
.wpcf7 .wpcf7-list-item label{display:flex;gap:8px;align-items:center;min-height:40px;font-weight:500}
.wpcf7 input[type=checkbox]{width:22px;height:22px;accent-color:var(--cta)}
.wpcf7 input[type=submit]{min-height:56px;width:100%;border-radius:16px;border:0;background:var(--cta);color:#fff;font-size:17px;font-weight:700;font-family:inherit;cursor:pointer}
.wpcf7 input[type=submit]:hover{background:var(--pink)}
.wpcf7-not-valid-tip{color:#b32d2e;font-size:13px;font-weight:700}
.wpcf7-response-output{border-radius:12px;margin:12px 0 0!important;padding:10px 14px!important}
@media (min-width:960px){
  .contact{grid-template-columns:420px minmax(0,1fr);gap:48px;align-items:start;padding-top:20px}
  .contact__head{grid-column:1 / -1}
  .contact h1{font-size:36px}
  .formcard{padding:28px 32px}
}

/* ===== 日記 ===== */
.diary{display:grid;gap:28px;padding-top:12px}
.post{background:#fff;border:1.5px solid var(--line);border-radius:22px;padding:22px 18px 18px;display:flex;flex-direction:column;gap:16px}
.post__meta{display:flex;gap:10px;font-size:13px;color:var(--muted)}
.post__meta b{color:var(--pink)}
.post h1{font-family:var(--f-hand);font-weight:600;font-size:30px}
.post__body{font-family:var(--f-hand);font-size:18px;line-height:2.1}
.post__body p+p{margin-top:.9em}
.post__body img{border-radius:16px;display:block;height:auto}
.post__body .wp-caption,.post__body figure{max-width:100%;margin:12px 0}
.author{border-top:1.5px dashed #d9cfba;padding-top:16px;display:flex;gap:14px;align-items:flex-start}
.author img{width:64px;height:64px;object-fit:cover;border-radius:50%;flex-shrink:0}
.author div{display:flex;flex-direction:column;line-height:1.6}
.author small{font-size:12px;color:var(--muted)}
.author strong{font-size:16px}
.author span{font-size:13px;color:var(--sub)}
.postnav{display:grid;grid-template-columns:1fr 1fr;gap:10px}
.postnav a{min-height:60px;border-radius:14px;border:1.5px solid var(--line);padding:8px 16px;display:flex;flex-direction:column;justify-content:center;line-height:1.5}
.postnav a small{font-size:12px;color:var(--muted)}
.postnav a span{font-family:var(--f-hand);font-size:16px;font-weight:600}
.postnav a.next{align-items:flex-end;text-align:right}
.side-list{display:flex;flex-direction:column}
.side-list a{min-height:50px;display:flex;gap:12px;align-items:center;border-bottom:1.5px dashed #d9cfba}
.side-list time{font-size:12px;width:78px;color:var(--muted);flex-shrink:0}
.side-list span{font-family:var(--f-hand);font-size:17px;font-weight:600}
.side-list a[aria-current="page"] span{color:var(--pink)}
.farmbox{background:var(--mint);border-radius:20px;padding:18px;display:flex;flex-direction:column;gap:8px}
.farmbox h2{font-size:17px;line-height:1.5}
.dcards{display:grid;gap:14px}
.dcard{background:#fff;border:1.5px solid var(--line);border-radius:18px;overflow:hidden;display:grid;grid-template-columns:110px minmax(0,1fr)}
.dcard img{width:110px;height:100%;min-height:100px;object-fit:cover;display:block;background:#f4f7f6}
.dcard div{padding:12px 14px;display:flex;flex-direction:column;justify-content:center;line-height:1.5}
.dcard time{font-size:12px;color:var(--muted)}
.dcard h2{font-family:var(--f-hand);font-weight:600;font-size:19px}
.dcard p{font-size:13px;color:var(--sub)}
.dcard.no-img{grid-template-columns:minmax(0,1fr)}
@media (min-width:960px){
  .diary{grid-template-columns:minmax(0,1fr) 360px;gap:72px;align-items:start;padding-top:28px}
  .post{border-radius:28px;padding:44px 56px 40px;gap:24px}
  .post h1{font-size:44px}
  .post__body{font-size:20px;line-height:2.2}
  .author img{width:84px;height:84px}
  .dcards{grid-template-columns:repeat(2,minmax(0,1fr));gap:20px}
  .dcard{grid-template-columns:160px minmax(0,1fr)}
  .dcard img{width:160px;min-height:140px}
}

/* ===== そのほか ===== */
.page-body{padding-top:20px}
.page-body .prose h2{font-size:22px;margin:1.6em 0 .6em}
.notfound{text-align:center;padding:64px 0}
.notfound h1{font-size:28px;margin-bottom:12px}
.sp-only{margin-left:0}
@media (min-width:960px){.sp-only{display:none}}
@media (max-width:959px){.ncard__foot{display:flex;flex-direction:column}}
.route .pc-park{display:none}
@media (min-width:960px){.route .pc-park{display:flex}.route .sp-park{display:none}}

/* お問い合わせフォーム：必須・任意の印、古い見出し・切れた画像を隠す */
.formcard > h3, .formcard > p:empty { display: none }
.wpcf7 .must, .wpcf7 .free { display: inline-block; font-size: 11px; font-weight: 700; line-height: 1; padding: 4px 7px; border-radius: 999px; margin-right: 8px; vertical-align: 2px }
.wpcf7 .must { background: var(--cta); color: #fff }
.wpcf7 .free { background: #ecebe6; color: var(--sub) }
.wpcf7 form img[class*="wp-image-"] { display: none }

/* 不動産プラグインのクレジット表記（フッターの下に小さく） */
a[title="WordPress 不動産プラグイン"] { font-size: 11px; color: var(--sub); text-decoration: none }
/* 「近い条件の物件」の帯とフッターの間にすき間をつくらない */
.gallery { margin-bottom: 8px }

/* ---- 2026-09-27 スマホ確認での修正 ---- */
/* 横にはみ出さない（写真の多い物件で詳細ページが広がっていた） */
.detail{grid-template-columns:minmax(0,1fr)}
.detail>*,.hero>*,.list-layout>*{min-width:0}
@media (min-width:960px){.detail{grid-template-columns:minmax(0,1fr) 440px}}

/* トップ：スマホは見出しのすぐ下に地図 */
.hero__text{display:flex;flex-direction:column;gap:18px}
@media (max-width:959px){
  .pc-only{display:none}
  .hero__text{display:contents}
  .hero h1{order:1}
  .hero__lead{order:2}
  .hero__map{order:3}
  .hero .busbox{order:4}
  .hero .hero__btns{display:none}
}

/* フッター下段：関連サイトのバナーとコピーライト */
.ftr-bottom{display:flex;flex-direction:column;gap:18px;border-top:1.5px solid #c9ded9;padding-top:20px;margin-top:24px}
.ftr-links{display:flex;flex-direction:column;gap:10px}
.ftr-links__label{font-size:13px;color:var(--sub)}
.ftr-banners{display:flex;flex-wrap:wrap;gap:10px;align-items:center}
.ftr-banners a{display:block;line-height:0;border-radius:6px;overflow:hidden;background:#fff}
.ftr-banners img{display:block;height:44px;width:auto}
.ftr-copy{font-size:12px;color:var(--sub);text-align:center}
@media (min-width:960px){
  .ftr-bottom{flex-direction:row;align-items:center;justify-content:space-between}
  .ftr-links{flex-direction:row;align-items:center;gap:16px}
  .ftr-banners img{height:52px}
}

/* 不動産プラグインのクレジット（フッターの続きとして小さく） */

/* 日記：投稿の中に自動で入る古いプロフィール欄は出さない（下の「この日記を書いた人」と重複するため） */
.diary .post .post__body .padSection{display:none!important}

/* 詳細ページ：「近い条件の物件」の帯とフッターをつなげる */
.similar--last{margin-bottom:-64px}

/* ---- 文字サイズの底上げ（スマホで読みにくい小さい文字をなくす）----
   読む文章・説明は14px以上、札（ラベル）や地図の文字は12〜13px以上 */
.crumbs,.busbox span,.detail__meta,.gallery__main figcaption,.pricebox__price span,.scard span,
.greet__who small,.route__park,.route__dir button,.route__steps span.b,.post__meta,.author span,
.dcard p,.ftr-links__label,.map-note,.pcard__spec,.ncard__spec,.telbox span,.areas__city,.areas__grid a .cnt,
.wpcf7-not-valid-tip{font-size:14px}
.pill,.brand__sub,.hdr-tel span,.ftr-nav__city,.scard small,.author small,.postnav a small,
.side-list time,.dcard time,.filters__selects label,.ftr-copy,.kmap__scale{font-size:13px}
.kmap__row .num{font-size:12px}
.wpcf7 .must,.wpcf7 .free{font-size:12px!important}
a[title="WordPress 不動産プラグイン"],#nendebcopy{font-size:12px}
/* フォーム下の reCAPTCHA の注意書き（ページ本文の中で小さく指定されている） */
.formcard .wpcf7 p span:not(.must):not(.free):not(.wpcf7-form-control-wrap),.formcard .wpcf7 p span:not(.must):not(.free) a{font-size:13px!important}
.side-list time{width:88px}

/* 不動産プラグインのクレジット表記は出さない */
#nendebcopy{display:none!important}

/* 物件写真：左右の矢印・枚数（スマホは左右スワイプでも切り替え） */
.gallery__main{touch-action:pan-y;user-select:none;-webkit-user-select:none;overflow:hidden;border-radius:18px}
.gallery__main img{-webkit-user-drag:none}
.gallery__nav{position:absolute;top:50%;transform:translateY(-50%);width:44px;height:44px;border-radius:50%;border:0;background:rgba(255,255,255,.88);color:var(--ink);display:flex;align-items:center;justify-content:center;cursor:pointer;box-shadow:0 1px 4px rgba(45,59,62,.25)}
.gallery__nav--prev{left:10px}
.gallery__nav--next{right:10px}
.gallery__nav:hover{background:#fff}
.gallery__nav:focus-visible{outline:3px solid var(--cta);outline-offset:2px}
.gallery__count{position:absolute;right:12px;bottom:12px;padding:3px 12px;border-radius:999px;background:rgba(45,59,62,.82);color:#fff;font-size:14px;font-variant-numeric:tabular-nums}
.gallery__main figcaption{max-width:calc(100% - 110px)}
@media (min-width:960px){.gallery__main{border-radius:22px}}

/* 物件一覧・エリアページ：スマホでも一覧の上に地図を出す（デザイン案どおり） */
@media (max-width:959px){
  .list-map{display:block;order:-1;scroll-margin-top:12px}
  .map-fab{display:none!important}
}

/* 町のページの地図：拡大したときの縮尺の線と、広い地図との切り替えボタン */
.kmap__scalebar{position:absolute;height:6px;border:2px solid var(--ink);border-top:0;pointer-events:none}
.kmap__toggle{position:absolute;left:10px;top:10px;z-index:30;min-height:36px;padding:4px 14px;border:1.5px solid var(--ink);border-radius:999px;background:rgba(255,255,255,.94);color:var(--ink);font-family:inherit;font-size:14px;font-weight:700;cursor:pointer}
.kmap__toggle:focus-visible{outline:3px solid var(--cta);outline-offset:2px}

/* 会社案内の上の「電話」「お問い合わせフォーム」：スマホでも横に並べる */
@media (max-width:959px){
  .co-hero .hero__btns{display:grid;grid-template-columns:1fr 1fr;gap:8px}
  .co-hero .hero__btns .btn{padding-left:8px;padding-right:8px;font-size:15px;white-space:nowrap;justify-content:center;min-width:0}
}

/* トップ「お店へのアクセス」：行き方カードとボタン */
.access-list li > div{color:var(--sub);font-size:15px}
.access-list li strong{color:var(--ink)}
.access-list__sub{display:flex;align-items:center;gap:6px;margin-top:4px;font-size:14px}
.p-mark{display:inline-flex;align-items:center;justify-content:center;width:18px;height:18px;border-radius:4px;background:#2f5fa0;color:#fff;font-size:12px;font-weight:900;flex-shrink:0}
.access__btns{display:grid;grid-template-columns:1fr 1fr;gap:8px}
.access__btns .btn{padding-left:8px;padding-right:8px;white-space:nowrap;min-width:0}
.nw{white-space:nowrap}
/* トップ「お店へのアクセス」：スマホは見出し → 写真 → 本文の順 */
@media (max-width:959px){
  .access > div{display:contents!important}
  .access h2{order:-1}
}

/* ---- パソコン表示でも画面が狭いとき（スマホの「PC版サイト」表示・タブレット・小さめのノートPC）----
   固定幅の列をやめて、画面幅に合わせて縮むようにする */
@media (min-width:960px){
  .list-layout{grid-template-columns:minmax(0,1fr) min(600px,48%);gap:min(40px,3vw)}
  .detail{grid-template-columns:minmax(0,1fr) min(440px,42%);gap:min(48px,3.5vw)}
  .area-hero{grid-template-columns:minmax(0,1fr) min(520px,46%);gap:min(56px,4vw)}
  .pcard{grid-template-columns:min(210px,40%) minmax(0,1fr)}
  .ftr-grid{grid-template-columns:minmax(0,1.5fr) repeat(3,minmax(0,1fr));gap:min(40px,3vw)}
  .gnav a,.hdr-tel strong,.hdr-cta{white-space:nowrap}
}
@media (min-width:960px) and (max-width:1199px){
  .site-header .wrap{gap:20px}
  .brand__name{font-size:24px}
  .gnav{gap:16px;font-size:14px}
  .hdr-tel{display:none}
  .area-hero h1{font-size:32px}
}
@media (min-width:960px){
  .hero{grid-template-columns:min(470px,42%) minmax(0,1fr)}
  .co-hero{grid-template-columns:min(520px,48%) minmax(0,1fr)}
  .access{grid-template-columns:minmax(0,1fr) min(440px,44%)}
  .route{grid-template-columns:minmax(0,760px) minmax(280px,1fr)}
  .route svg{width:100%;height:auto}
}

/* トップ「気まぐれ日記」：写真を出さず、見出しと説明文＋最近の日記 */
.diary-box__intro{padding-top:22px}
@media (min-width:960px){
  .diary-box{display:block}
  .diary-box > div{display:grid;grid-template-columns:minmax(0,5fr) minmax(0,7fr);align-items:start}
  .diary-box__intro{padding:40px 40px 40px 48px}
  .diary-box__intro h2{font-size:26px!important}
  .diary-box__intro p{font-size:16px}
  .diary-box__list{padding:36px 48px 36px 0}
}

/* 新着カード：価格が途中で折れないように。狭いときは面積を下の行へ */
.ncard__price{white-space:nowrap}
@media (min-width:960px){
  .ncard__foot{flex-wrap:wrap;row-gap:2px}
  .newlist--2 .ncard__img{width:min(240px,45%)}
  .newlist--2 .ncard__img img{width:100%}
}

/* フッター：画面が狭めのパソコン表示では、会社名を上に1段、リンク3列を下に */
@media (min-width:960px) and (max-width:1199px){
  .ftr-grid{grid-template-columns:repeat(3,minmax(0,1fr))}
  .ftr-grid > :first-child{grid-column:1 / -1}
}
/* 道順：駐車場の案内はパソコンでもスマホと同じく図のすぐ下 */
@media (min-width:960px){.route .sp-park{display:flex}}
/* メニュー：電話の下にお問い合わせフォーム。ログイン中の管理バーに閉じるボタンが隠れないように */
.drawer__panel .btn + .btn{margin-top:8px}
.admin-bar .drawer__panel{top:46px}
@media (min-width:783px){.admin-bar .drawer__panel{top:32px}}
.admin-note{margin:12px 0 0;padding:10px 14px;border-radius:12px;background:#fff4d6;border:1.5px solid #e2c36b;font-size:14px;font-weight:700}
/* 物件写真の左右ボタン：スマホ・タブレット（指で操作する画面）では出さない。スワイプと「1 / 3」で切り替えがわかる */
@media (max-width:959px), (hover:none){.gallery__nav{display:none}}
/* 道順の図の番号：押したときに枠や色の反応を出さない */
.route svg{-webkit-tap-highlight-color:transparent}
.route svg *:focus{outline:none}

/* SP：上部ヘッダーを常に画面上部に固定（スクロールしても追随） */
@media (max-width:959px){
  .site-header{position:-webkit-sticky;position:sticky;top:0}
  html{scroll-padding-top:76px}
}
@media (min-width:600px) and (max-width:782px){
  .admin-bar .site-header{top:46px}
}

/* エリアから探す：館山市は南房総市の町と少し離す */
@media (min-width:960px){.areas__grid a.is-tate{margin-left:14px}}
/* フッター：館山市は南房総市の町と少し離す */
.ftr-nav a.ftr-nav__tate{margin-top:8px}

/* PC：トップの背景（山並み・砂浜・海・波・鳥・ヨット・漁船）。
   画面の幅で拡大しないよう部品に分ける：山は左に固定、砂浜と海は横につなげる、船は幅に対する位置で置く。
   鳥と船は、幅1600pxより広い画面では幅に合わせて大きくする */
@media (min-width:960px){
  html{overflow-x:clip}
  .hero{position:relative;isolation:isolate;padding-bottom:60px}
  .hero::before{content:'';position:absolute;z-index:-1;pointer-events:none;top:-48px;bottom:0;left:calc(50% - 50vw);width:100vw;
    background:url(assets/img/hero-birds-l-anim2.svg) left 3% top 70px/max(170px,10.625vw) max(90px,5.625vw) no-repeat,
      url(assets/img/hero-birds-r-anim2.svg) right 3% bottom 150px/max(150px,9.375vw) max(80px,5vw) no-repeat,
      url(assets/img/hero-yacht5.svg) right 6% bottom 10px/max(55px,3.4375vw) max(45px,2.8125vw) no-repeat,
      url(assets/img/hero-boat5.svg) left 29% bottom 12px/max(110px,6.875vw) max(50px,3.125vw) no-repeat,
      url(assets/img/hero-sea5.svg) left bottom/800px 60px repeat-x,
      url(assets/img/hero-hills5.svg) left bottom/960px 260px no-repeat}
}
/* 道順：スマホは「方向の切り替え → 図 → 駐車場 → 手順」の順に並べる（PCは切り替えを右の手順の上に） */
@media (max-width:959px){
  .route__main,.route__side{display:contents!important}
  .route__pick{order:0}.route__fig{order:1}.route .route__park{order:2}.route__steps{order:3}
}
/* 道順：①→③を通して見るボタン */
.route__all{display:flex;align-items:center;gap:10px;width:100%;padding:10px 14px;border-radius:18px;border:1.5px dashed var(--line);background:#fff;color:var(--ink);font-family:inherit;font-size:14px;font-weight:700;cursor:pointer;text-align:left}
.route__all .n{min-width:44px;height:28px;padding:0 8px;border-radius:999px;border:2px solid var(--ink);display:inline-flex;align-items:center;justify-content:center;font-family:var(--f-head);font-weight:900;font-size:13px;background:#fff}
.route__all.is-on{border:2px solid var(--cta);border-style:solid;background:#fff7f9}
.route__all.is-on .n{background:var(--cta);border-color:var(--cta);color:#fff}
@media (max-width:959px){.route__all{order:3}.route__steps{order:4}}
/* 会社案内：PCは地図内の「マップで開く」を使うので、下のボタンは出さずに地図をその分高く */
@media (min-width:960px){
  .gmap + .gmap-app{display:none}
  .gmap iframe{height:320px}
}

/* 物件写真・間取り図は切らずに全体を見せる（余白は薄い色） */
.gallery__main img{object-fit:contain;background:#eef2f1}

/* スマホのトップ背景（試作・?fvsp=a/b/c のときだけ） */
@media (max-width:959px){
  body[class*="fvsp-"]{overflow-x:clip}
  body[class*="fvsp-"] .hero{position:relative;isolation:isolate}
  body[class*="fvsp-"] .hero::before{content:'';position:absolute;z-index:-1;pointer-events:none;left:calc(50% - 50vw);width:100vw;bottom:0}
  body.fvsp-a .hero{padding-bottom:84px}
  body.fvsp-a .hero::before{height:90px;background:url(assets/img/hero-sp-a.svg) center bottom/100% 90px no-repeat}
  body.fvsp-b .hero{padding-bottom:132px}
  body.fvsp-b .hero::before{height:150px;background:url(assets/img/hero-sp-b.svg) center bottom/100% 150px no-repeat}
  body.fvsp-c .hero{padding-bottom:58px}
  body.fvsp-c .hero::before{height:64px;background:url(assets/img/hero-sp-c.svg) center bottom/100% 64px no-repeat}
  body.fvsp-d .hero::before{top:76px;bottom:auto;left:auto;right:-12px;width:min(170px,calc(100% - 200px));height:64px;background:url(assets/img/hero-sp-d2.svg) right center/contain no-repeat}
  body.fvsp-d .hero::after{content:'';position:absolute;z-index:-1;pointer-events:none;right:6px;top:-6px;width:90px;height:48px;background:url(assets/img/hero-birds-r-anim2.svg) center/contain no-repeat}
  body.fvsp-c .hero::after{content:'';position:absolute;z-index:-1;pointer-events:none;right:6px;top:-6px;width:90px;height:48px;background:url(assets/img/hero-birds-r-anim2.svg) center/contain no-repeat}
}

/* 代表のイラストは縦長なので、顔が丸の中に入るよう上寄せ */
.telbox img,.author img,.voice__who img,.greet__who img{object-position:50% 18%}

/* ヘッダーの電話：呼びかけ＋緑の大きな番号＋受付時間 */
@media (min-width:1200px){
  .hdr-tel{align-items:flex-end;text-decoration:none;color:var(--ink)}
  .hdr-tel .hdr-tel__lead{font-size:12.5px;color:var(--ink);letter-spacing:.02em}
  .hdr-tel strong{display:flex;align-items:center;gap:6px;font-size:26px;line-height:1.15;color:var(--teal);letter-spacing:.02em}
  .hdr-tel strong svg{flex:0 0 22px}
  .hdr-tel .hdr-tel__hours{font-size:12px;color:var(--muted)}
  .hdr-tel:hover strong{color:#1b544f}
}
/* 吹き出しの入れ物は透明（番号の操作をじゃましない）。吹き出し自体はクリックできる */
.kmap__callouts .kmap__callout{pointer-events:auto}
