/* ふくし居場所ナビ: 試作版のデザインをテーマに依存しない形で移したもの。すべて .fn の中だけに効く */
.fn{
  --fn-bg:#f6f8f7; --fn-surface:#ffffff; --fn-fg:#1d2a27; --fn-muted:#5d6e69; --fn-line:#d9e2df;
  --fn-b:#1f6f5c; --fn-b-soft:#e3f1ec; --fn-g:#8a4b2f; --fn-g-soft:#f6ebe4; --fn-s:#2f5a8a; --fn-s-soft:#e5edf6;
  --fn-accent:var(--fn-b); --fn-accent-soft:var(--fn-b-soft);
  --fn-disp:"Zen Maru Gothic","Hiragino Maru Gothic ProN","Meiryo",sans-serif;
  --fn-body:"Noto Sans JP","Hiragino Sans","Meiryo",sans-serif;
  color:var(--fn-fg); font-family:var(--fn-body); font-size:15px; line-height:1.75;
  max-width:1120px; margin:0 auto; padding:0 max(16px,env(safe-area-inset-left,0px)) 48px;
}
main.fn{padding-top:8px}
.fn .fn{padding:0;max-width:none}
.fn *,.fn *::before,.fn *::after{box-sizing:border-box}
.fn-g{--fn-accent:var(--fn-g);--fn-accent-soft:var(--fn-g-soft)}
.fn-s{--fn-accent:var(--fn-s);--fn-accent-soft:var(--fn-s-soft)}
.fn a{color:var(--fn-accent)}
.fn h1,.fn h2,.fn h3{font-family:var(--fn-disp);line-height:1.4;margin:0;text-wrap:balance;color:var(--fn-fg)}
.fn [hidden]{display:none!important}
.fn :focus-visible{outline:3px solid var(--fn-accent);outline-offset:2px}
.fn-note{font-size:13px;color:var(--fn-muted)}
.fn-crumb{font-size:13px;color:var(--fn-muted);padding-top:16px}
.fn-ph{padding:12px 0 20px;display:grid;gap:4px}
.fn-ph .kick{color:var(--fn-accent);font-weight:700;font-size:13px;letter-spacing:.06em}
.fn-ph h1{font-size:clamp(22px,3.4vw,28px)}
.fn-ph p{margin:0;max-width:44em}
.fn-notice{background:var(--fn-accent-soft);border-radius:10px;padding:12px 16px;margin-bottom:16px}

.fn-btn{display:inline-block;text-align:center;border-radius:10px;padding:10px 16px;border:0;background:var(--fn-accent);color:#fff!important;text-decoration:none;font-weight:700;font:inherit;font-weight:700;cursor:pointer}
.fn-btn.ghost{background:var(--fn-surface);color:var(--fn-accent)!important;border:1px solid var(--fn-accent)}
.fn-btn.sm{padding:5px 12px;font-size:13px}

.fn-hero{padding:32px 0 20px}
.fn-hero h1{font-size:clamp(24px,4vw,34px)}
.fn-hero p{color:var(--fn-muted);max-width:42em;margin:10px 0 0}
.fn-doors{display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:16px;padding-bottom:28px}
.fn-door{background:var(--fn-surface);border:1px solid var(--fn-line);border-radius:14px;padding:22px;display:grid;gap:10px;color:var(--fn-fg)!important;text-decoration:none}
.fn-door:hover{border-color:var(--fn-accent)}
.fn-door .k{font-size:13px;font-weight:700;letter-spacing:.06em;color:var(--fn-accent)}
.fn-door h2{font-size:21px}
.fn-door p{margin:0;color:var(--fn-muted);font-size:14px}
.fn-door .num b{font-size:22px;font-family:var(--fn-disp);font-variant-numeric:tabular-nums}
.fn-door .go{justify-self:start;border-radius:8px;padding:8px 16px;color:#fff;background:var(--fn-accent)}
.fn-band{background:var(--fn-surface);border:1px solid var(--fn-line);border-radius:16px;padding:24px;display:grid;gap:16px}
.fn-bandhead{display:flex;justify-content:space-between;align-items:center;gap:12px;flex-wrap:wrap}
.fn-svc{display:flex;gap:6px;flex-wrap:wrap}
.fn-svc button{border:1px solid var(--fn-line);background:var(--fn-surface);color:var(--fn-fg);border-radius:999px;padding:5px 12px;font:inherit;font-size:13px;cursor:pointer}
.fn-svc button[aria-pressed="true"]{background:var(--fn-fg);border-color:var(--fn-fg);color:#fff}

.fn-mapwrap{display:grid;grid-template-columns:minmax(0,1.25fr) minmax(0,1fr);gap:24px;align-items:start}
@media (max-width:820px){.fn-mapwrap{grid-template-columns:minmax(0,1fr)}}
.fn-mapcol{display:grid;gap:10px;min-width:0}
.fn-jmap{width:100%;max-width:560px;height:auto;display:block;margin:0 auto}
.fn-jmap path{stroke:#fff;stroke-width:.8;transition:fill .15s}
.fn-jmap a:hover path,.fn-jmap a:focus path{stroke:var(--fn-fg);stroke-width:1.6}
.fn .l0{fill:color-mix(in srgb,var(--fn-accent) 12%,#fff);background:color-mix(in srgb,var(--fn-accent) 12%,#fff)}
.fn .l1{fill:color-mix(in srgb,var(--fn-accent) 28%,#fff);background:color-mix(in srgb,var(--fn-accent) 28%,#fff)}
.fn .l2{fill:color-mix(in srgb,var(--fn-accent) 46%,#fff);background:color-mix(in srgb,var(--fn-accent) 46%,#fff)}
.fn .l3{fill:color-mix(in srgb,var(--fn-accent) 66%,#fff);background:color-mix(in srgb,var(--fn-accent) 66%,#fff)}
.fn .l4{fill:color-mix(in srgb,var(--fn-accent) 88%,#fff);background:color-mix(in srgb,var(--fn-accent) 88%,#fff)}
.fn-legend{display:flex;align-items:center;gap:6px;font-size:12px;color:var(--fn-muted);flex-wrap:wrap;font-variant-numeric:tabular-nums}
.fn-legend i{display:inline-block;width:22px;height:10px;border-radius:2px}
.fn-regions{display:grid;gap:10px}
.fn-regions .r{display:grid;grid-template-columns:7em minmax(0,1fr);gap:8px;font-size:13px}
.fn-regions .r b{color:var(--fn-muted);font-weight:500;padding-top:3px}
.fn-regions .r div{display:flex;flex-wrap:wrap;gap:4px}
.fn-regions a{border:1px solid var(--fn-line);background:var(--fn-surface);color:var(--fn-fg)!important;border-radius:6px;padding:2px 8px;text-decoration:none}
.fn-regions a:hover{border-color:var(--fn-accent);color:var(--fn-accent)!important}
.fn-regions a span{color:var(--fn-muted);font-size:11px;margin-left:3px;font-variant-numeric:tabular-nums}

.fn-portal{display:grid;grid-template-columns:260px minmax(0,1fr);gap:24px}
@media (max-width:820px){.fn-portal{grid-template-columns:minmax(0,1fr)}.fn-results{order:-1}}
.fn-filter{display:grid;gap:14px;align-content:start}
.fn-filter form{display:grid;gap:14px}
.fn-box{background:var(--fn-surface);border:1px solid var(--fn-line);border-radius:12px;padding:14px;display:grid;gap:8px}
.fn-box .t{font-weight:700;font-size:13px}
.fn input[type=search],.fn input[type=text],.fn input[type=email],.fn input:not([type]),.fn select,.fn textarea{width:100%;font:inherit;padding:8px 10px;border:1px solid var(--fn-line);border-radius:8px;background:var(--fn-bg);color:var(--fn-fg)}
.fn .chk{display:flex;gap:8px;align-items:center;font-size:14px}
.fn-row{display:flex;justify-content:space-between;align-items:center;gap:8px;flex-wrap:wrap;padding:8px 0;border-bottom:1px solid var(--fn-line)}
.fn-cities{display:flex;flex-wrap:wrap;gap:6px;max-height:320px;overflow:auto}
.fn-cities a{border:1px solid var(--fn-line);background:var(--fn-bg);color:var(--fn-fg)!important;border-radius:999px;padding:3px 10px;font-size:13px;text-decoration:none}
.fn-cities a[aria-current="page"]{background:var(--fn-accent);border-color:var(--fn-accent);color:#fff!important}
.fn-cities a span{color:var(--fn-muted);margin-left:3px;font-variant-numeric:tabular-nums}
.fn-cities a[aria-current="page"] span{color:#fff}
.fn-lhead{display:flex;justify-content:space-between;align-items:baseline;gap:12px;flex-wrap:wrap;margin-bottom:12px}
.fn-lhead .cnt b{font-size:20px;font-family:var(--fn-disp);font-variant-numeric:tabular-nums}
.fn-list{display:grid;gap:12px}
.fn-card{background:var(--fn-surface);border:1px solid var(--fn-line);border-radius:12px;padding:16px;display:flex;gap:14px;color:var(--fn-fg)!important;text-decoration:none}
.fn-card:hover{border-color:var(--fn-accent)}
.fn-card.pro{border:2px solid var(--fn-accent)}
.fn-card .body{display:grid;gap:6px;min-width:0}
.fn-card h3{font-size:17px}
.fn-card .corp{font-size:13px;color:var(--fn-muted)}
.fn-thumb{width:120px;height:90px;object-fit:cover;border-radius:8px;flex:none}
@media (max-width:520px){.fn-card{flex-direction:column}.fn-thumb{width:100%;height:160px}}
.fn-badge{justify-self:start;font-size:12px;font-weight:700;color:#fff;background:var(--fn-accent);border-radius:6px;padding:1px 8px}
.fn .meta{display:flex;flex-wrap:wrap;gap:6px 14px;font-size:13px;color:var(--fn-muted)}
.fn .meta b{color:var(--fn-fg);font-weight:500}
.fn .pill{display:inline-block;font-size:12px;border-radius:999px;padding:1px 9px;background:var(--fn-accent-soft);color:var(--fn-accent);font-weight:700}
.fn .pill.none{background:var(--fn-bg);color:var(--fn-muted);border:1px dashed var(--fn-line);font-weight:500}
.fn-pager{display:flex;gap:6px;justify-content:center;margin-top:16px;flex-wrap:wrap}
.fn-pager a,.fn-pager span{border:1px solid var(--fn-line);border-radius:8px;padding:4px 12px;text-decoration:none}
.fn-pager span{background:var(--fn-accent);color:#fff;border-color:var(--fn-accent)}

.fn-detail{display:grid;grid-template-columns:minmax(0,1fr) 320px;gap:24px}
@media (max-width:820px){.fn-detail{grid-template-columns:minmax(0,1fr)}}
.fn-main{display:grid;gap:18px;min-width:0;align-content:start}
.fn-side{display:grid;gap:14px;align-content:start}
.fn-panel{background:var(--fn-surface);border:1px solid var(--fn-line);border-radius:12px;padding:18px;display:grid;gap:10px}
.fn-panel h2{font-size:17px}
.fn-info{display:grid;grid-template-columns:9em minmax(0,1fr);margin:0;font-size:14px}
.fn-info dt,.fn-info dd{padding:9px 0;border-bottom:1px solid var(--fn-line);margin:0}
.fn-info dt{color:var(--fn-muted)}
.fn-info dd{overflow-wrap:anywhere}
.fn-empty{border:1px dashed var(--fn-line);border-radius:10px;padding:14px;color:var(--fn-muted);font-size:14px;display:grid;gap:4px}
.fn-empty b{color:var(--fn-fg)}
.fn-photos{display:grid;grid-template-columns:repeat(auto-fill,minmax(200px,1fr));gap:8px}
.fn-photos img{width:100%;height:160px;object-fit:cover;border-radius:10px}
.fn-photos.sm{grid-template-columns:repeat(auto-fill,minmax(110px,1fr))}
.fn-photos.sm img{height:90px}
.fn-ph-item{display:grid;gap:4px;font-size:13px}
.fn-claim{background:var(--fn-accent-soft);border-radius:12px;padding:16px;display:grid;gap:8px;font-size:14px}
.fn-claim h3{font-size:15px}
.fn-claim p{margin:0}
.fn-inq label,.fn-form label{display:grid;gap:4px;font-size:14px}
.fn-form{display:grid;gap:14px;max-width:720px}
.fn-hp{position:absolute!important;left:-9999px}
.fn-inq-item{border-bottom:1px solid var(--fn-line);padding:8px 0}
.fn-plans{display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:16px;margin-bottom:16px}
.fn-plan{background:var(--fn-surface);border:1px solid var(--fn-line);border-radius:14px;padding:20px;display:grid;gap:10px;align-content:start}
.fn-plan.pro{border:2px solid var(--fn-fg)}
.fn-plan .price{font-family:var(--fn-disp);font-size:24px}
.fn-plan ul{margin:0;padding-left:1.2em;font-size:14px}

/* ---------- ロゴ・キャラクター ---------- */
.fn-hero{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,420px);gap:20px;align-items:center}
.fn-hero-logo{width:100%;height:auto}
@media (max-width:760px){.fn-hero{grid-template-columns:1fr}.fn-hero-logo{order:-1;max-width:420px;margin:0 auto}}
.fn-logo img{display:block;width:240px;max-width:60vw;height:auto}
.fn-say{display:flex;gap:12px;align-items:center;margin:4px 0 16px}
.fn-say img{width:72px;height:72px;flex:none;object-fit:contain}
.fn-say p{margin:0;position:relative;background:var(--fn-surface);border:1px solid var(--fn-line);border-radius:14px;padding:10px 14px;font-size:14px;max-width:40em}
.fn-say p::before{content:"";position:absolute;left:-7px;top:50%;width:12px;height:12px;background:inherit;border-left:1px solid var(--fn-line);border-bottom:1px solid var(--fn-line);transform:translateY(-50%) rotate(45deg)}
.fn-say b{display:block;font-size:12px;color:var(--fn-accent)}
.fn-nakama-hero{display:block;width:100%;max-width:640px;height:auto;margin:0 auto 20px}
.fn-nakama-list{display:grid;gap:16px;margin-bottom:20px}
.fn-chara{display:grid;grid-template-columns:180px minmax(0,1fr);gap:20px;align-items:start;background:var(--fn-surface);border:1px solid var(--fn-line);border-radius:16px;padding:20px}
.fn-chara img{width:180px;height:180px;object-fit:contain}
.fn-chara h2{font-family:var(--fn-disp);font-size:24px;margin:2px 0 4px}
.fn-chara p{margin:0 0 8px}
.fn-chara .role{display:inline-block;font-size:12px;font-weight:700;padding:2px 10px;border-radius:99px;background:var(--fn-c);color:#fff}
.fn-chara .line{font-family:var(--fn-disp);font-size:17px;color:var(--fn-c)}
.fn-chara dl{display:grid;grid-template-columns:auto 1fr;gap:4px 12px;margin:8px 0 0;font-size:14px}
.fn-chara dt{font-weight:700}.fn-chara dd{margin:0}
.fn-chara-fukumaru{--fn-c:#2b7fc4}.fn-chara-michishirube{--fn-c:#d9433b}.fn-chara-kuma{--fn-c:#a0612e}.fn-chara-nyan{--fn-c:#c9761a}
@media (max-width:600px){.fn-chara{grid-template-columns:1fr;text-align:left}.fn-chara img{width:140px;height:140px;margin:0 auto}}
.fn-nakama-end{text-align:center;justify-items:center}
.fn-nakama-end .big{font-family:var(--fn-disp);font-size:20px;margin:4px 0}
.fn-nakama-end p{max-width:40em;margin:0}
/* 有料プラン（スタンダード／プレミアム） */
.fn-card.fn-plan-premium{border-color:#d9a400;box-shadow:0 2px 10px rgba(217,164,0,.18)}
.fn-card.fn-plan-premium .fn-badge{background:#c98a00}
.fn-plan.fn-plan-premium{border:2px solid #c98a00;background:color-mix(in srgb,#f6c445 8%,var(--fn-surface))}
.fn-plan .price small{font-size:13px;color:var(--fn-muted);margin-left:4px}
.fn-lp{justify-self:start}
.fn-claim ul{margin:6px 0;padding-left:1.2em;font-size:14px}

/* ===== サイト全体の見た目（2026-11-03 キャラクターを前面に・背景に色） ===== */
html body{
  background-color:#fff6df;
  background-image:
    radial-gradient(rgba(255,255,255,.75) 2px,transparent 2.6px),
    linear-gradient(180deg,#fff1cf 0%,#fff8ea 28%,#eef8ff 70%,#e6f5ea 100%);
  background-size:24px 24px,100% 100%;
  background-repeat:repeat,no-repeat;
  min-height:100vh;
}
/* ヘッダー：白い帯でロゴを目立たせる */
header.wp-block-template-part{background:rgba(255,255,255,.95);box-shadow:0 2px 14px rgba(120,90,20,.10);border-bottom:4px solid #7cc242}
header.wp-block-template-part .wp-block-site-logo img{width:200px!important;height:auto}
header.wp-block-template-part .wp-block-navigation{font-family:"Zen Maru Gothic","Hiragino Maru Gothic ProN",sans-serif;font-weight:700}
header.wp-block-template-part .wp-block-navigation a{padding:6px 12px;border-radius:999px;transition:background .15s}
header.wp-block-template-part .wp-block-navigation a:hover{background:#fff1cf;text-decoration:none}
@media (max-width:600px){header.wp-block-template-part .wp-block-site-logo img{width:150px!important}}
/* フッター */
footer.wp-block-template-part{background:#fff;border-top:6px solid #f4a62a;border-radius:28px 28px 0 0;margin-top:40px}
.fn-foot-mates{display:flex;justify-content:center;gap:8px;margin-top:-70px}
.fn-foot-mates img{width:88px;height:88px;object-fit:contain;filter:drop-shadow(0 4px 6px rgba(0,0,0,.12))}

/* トップの大見出しエリア */
.fn-home .fn-hero{margin-top:20px;padding:32px 36px;border-radius:28px;background:linear-gradient(135deg,#ffffff 0%,#fff7e0 55%,#e3f3ff 100%);border:3px solid #fff;box-shadow:0 10px 30px rgba(200,140,30,.15)}
.fn-hero-kick{display:inline-block;font-family:var(--fn-disp);font-weight:700;color:#e0731b;background:#fff1cf;border-radius:999px;padding:4px 14px;margin-bottom:10px;font-size:14px}
.fn-hero-btn{background:#f08c1e!important;border-color:#f08c1e!important;color:#fff!important;border-radius:999px!important;box-shadow:0 4px 0 #c96d0c}
.fn-home .fn-hero-logo{filter:drop-shadow(0 8px 14px rgba(0,0,0,.12));animation:fn-bob 4s ease-in-out infinite}
@keyframes fn-bob{0%,100%{transform:translateY(0)}50%{transform:translateY(-6px)}}
@media (prefers-reduced-motion:reduce){.fn-home .fn-hero-logo{animation:none}}
@media (max-width:760px){.fn-home .fn-hero{padding:22px 18px}}

/* サービスの入口カード：キャラクターつき */
.fn-door{position:relative;border:0;border-top:8px solid var(--fn-accent);border-radius:22px;box-shadow:0 6px 18px rgba(30,60,50,.10);padding-top:26px;overflow:visible;transition:transform .15s,box-shadow .15s}
.fn-door:hover{transform:translateY(-3px);box-shadow:0 12px 26px rgba(30,60,50,.16)}
.fn-door-chara{position:absolute;right:10px;top:-34px;width:104px;height:104px;object-fit:contain;filter:drop-shadow(0 4px 6px rgba(0,0,0,.15))}
.fn-door h2{padding-right:96px}
.fn-door-say{position:relative;background:var(--fn-accent-soft);border-radius:14px;padding:8px 12px;font-size:13.5px!important;color:var(--fn-fg)!important}
.fn-door-say b{display:block;font-size:12px;color:var(--fn-accent)}
.fn-door .go{border-radius:999px}
.fn-doors{padding-top:44px;gap:22px 18px}

/* 地図の帯 */
.fn-home .fn-band{border-radius:24px;border:0;box-shadow:0 6px 18px rgba(30,60,50,.08)}

/* なかまたち */
.fn-mates{margin-top:32px;padding:28px 24px;border-radius:24px;background:#fff;box-shadow:0 6px 18px rgba(30,60,50,.08);text-align:center}
.fn-mates h2{font-size:clamp(20px,3vw,26px);margin-bottom:16px}
.fn-mates-row{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:14px}
.fn-mate{display:grid;justify-items:center;gap:4px;padding:16px 12px;border-radius:20px;text-decoration:none;color:var(--fn-fg)!important;background:#fffaf0;transition:transform .15s}
.fn-mate:hover{transform:translateY(-4px)}
.fn-mate img{width:120px;height:120px;object-fit:contain}
.fn-mate b{font-family:var(--fn-disp);font-size:17px}
.fn-mate .role{font-size:12px;font-weight:700;color:#fff;background:#f08c1e;border-radius:999px;padding:1px 10px}
.fn-mate .line{font-size:13px;color:var(--fn-muted)}
.fn-mate:nth-child(1){background:#eaf4fd}.fn-mate:nth-child(1) .role{background:#2b7fc4}
.fn-mate:nth-child(2){background:#fdeceb}.fn-mate:nth-child(2) .role{background:#d9433b}
.fn-mate:nth-child(3){background:#f7eee5}.fn-mate:nth-child(3) .role{background:#a0612e}
.fn-mate:nth-child(4){background:#fdf2e3}.fn-mate:nth-child(4) .role{background:#c9761a}

/* 吹き出し・パネルを少し丸く大きく */
.fn-say img{width:84px;height:84px}
.fn-panel,.fn-card,.fn-plan{border-radius:18px}
.fn-hero h1 .nw{display:inline-block}

/* ===== ヘッダーのメニュー（サービスごとの色のボタン） ===== */
header.wp-block-template-part .wp-block-navigation__container{gap:8px!important}
header.wp-block-template-part .wp-block-navigation-item__content{
  display:inline-flex;align-items:center;gap:6px;padding:8px 16px!important;border-radius:999px!important;
  font-size:15px;line-height:1.2;text-decoration:none!important;border:2px solid transparent;
  transition:background .15s,color .15s,transform .15s,box-shadow .15s}
header.wp-block-template-part .wp-block-navigation-item__content::before{content:"";width:9px;height:9px;border-radius:50%;background:currentColor;flex:none}
header.wp-block-template-part .wp-block-navigation-item__content:hover{transform:translateY(-2px);box-shadow:0 4px 10px rgba(0,0,0,.12)}
/* 1 就労B型・2 グループホーム・3 生活介護・4 なかまたち・5 事業所の方へ */
header.wp-block-template-part .wp-block-navigation-item > a[href$="/b/"]{background:#e3f1ec;color:#1f6f5c!important;border-color:#bfe0d3}
header.wp-block-template-part .wp-block-navigation-item > a[href$="/g/"]{background:#f6ebe4;color:#8a4b2f!important;border-color:#e8cfbf}
header.wp-block-template-part .wp-block-navigation-item > a[href$="/s/"]{background:#e5edf6;color:#2f5a8a!important;border-color:#c4d5ea}
header.wp-block-template-part .wp-block-navigation-item > a[href$="/nakama/"]{background:#fff1d6;color:#b8620a!important;border-color:#f6d49a}
header.wp-block-template-part .wp-block-navigation-item > a[href$="/nakama/"]::before{width:22px;height:22px;border-radius:0;background:url(brand/chara-fukumaru.png) center/contain no-repeat;margin:-4px 0}
header.wp-block-template-part .wp-block-navigation-item > a[href$="/b/"]:hover{background:#1f6f5c;color:#fff!important}
header.wp-block-template-part .wp-block-navigation-item > a[href$="/g/"]:hover{background:#8a4b2f;color:#fff!important}
header.wp-block-template-part .wp-block-navigation-item > a[href$="/s/"]:hover{background:#2f5a8a;color:#fff!important}
header.wp-block-template-part .wp-block-navigation-item > a[href$="/nakama/"]:hover{background:#f08c1e;color:#fff!important}
/* 事業所の方へ：目立つボタン */
header.wp-block-template-part .wp-block-navigation-item > a[href$="/for-jigyosho/"]{background:#f08c1e;color:#fff!important;border-color:#f08c1e;box-shadow:0 3px 0 #c96d0c}
header.wp-block-template-part .wp-block-navigation-item > a[href$="/for-jigyosho/"]::before{background:#fff}
header.wp-block-template-part .wp-block-navigation-item > a[href$="/for-jigyosho/"]:hover{background:#e07a0c;box-shadow:0 5px 0 #c96d0c}
/* スマホのメニューボタン */
@media (max-width:599px){header.wp-block-template-part .wp-block-navigation__responsive-container-open{background:#f08c1e;color:#fff;border-radius:50%;width:44px;height:44px;align-items:center;justify-content:center;box-shadow:0 3px 0 #c96d0c}}
header.wp-block-template-part .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__container{gap:12px!important}
header.wp-block-template-part .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation-item__content{font-size:18px;padding:12px 22px!important}
@media (max-width:1000px) and (min-width:600px){header.wp-block-template-part .wp-block-navigation-item__content{padding:7px 11px!important;font-size:14px}}
@media (max-width:960px){.fn-home .fn-hero{grid-template-columns:1fr}.fn-home .fn-hero-logo{order:-1;max-width:420px;margin:0 auto}}

/* ===== 子ども向け（放課後等デイサービス・児童発達支援） ===== */
.fn{--fn-d:#c25a12;--fn-d-soft:#fdeedd;--fn-j:#b03f73;--fn-j-soft:#fbe7f0}
.fn-d{--fn-accent:var(--fn-d);--fn-accent-soft:var(--fn-d-soft)}
.fn-j{--fn-accent:var(--fn-j);--fn-accent-soft:var(--fn-j-soft)}
.fn-doors-h{display:flex;align-items:center;gap:12px;margin:26px 0 0;font-size:clamp(18px,2.4vw,22px)}
.fn-doors-h span{background:#fff;border-radius:999px;padding:6px 18px;box-shadow:0 3px 10px rgba(0,0,0,.06);border-left:6px solid #7cc242}
.fn-doors-h.fn-child-h span{border-left-color:#f08c1e}
.fn-doors-h::after{content:"";flex:1;height:2px;background:repeating-linear-gradient(90deg,#e9d9b4 0 8px,transparent 8px 14px)}
.fn-doors-child{grid-template-columns:repeat(auto-fit,minmax(300px,1fr))}
header.wp-block-template-part .wp-block-navigation-item > a[href$="/d/"]{background:#fdeedd;color:#c25a12!important;border-color:#f6d2b0}
header.wp-block-template-part .wp-block-navigation-item > a[href$="/j/"]{background:#fbe7f0;color:#b03f73!important;border-color:#f1c3d7}
header.wp-block-template-part .wp-block-navigation-item > a[href$="/d/"]:hover{background:#c25a12;color:#fff!important}
header.wp-block-template-part .wp-block-navigation-item > a[href$="/j/"]:hover{background:#b03f73;color:#fff!important}
@media (max-width:1440px) and (min-width:600px){header.wp-block-template-part .wp-block-navigation-item__content{padding:6px 10px!important;font-size:13.5px}header.wp-block-template-part .wp-block-navigation__container{gap:5px!important}}
header.wp-block-template-part .wp-block-site-logo{flex:none}
@media (min-width:600px){header.wp-block-template-part .wp-block-navigation__container{flex-wrap:nowrap}}
@media (max-width:1100px) and (min-width:600px){header.wp-block-template-part .wp-block-navigation__container{flex-wrap:wrap}}
/* 写真がないときの案内役 */
.fn-thumb-chara{display:flex;align-items:center;justify-content:center;background:var(--fn-accent-soft)}
.fn-thumb-chara img{width:72px;height:72px;object-fit:contain}
@media (max-width:520px){.fn-thumb-chara img{width:110px;height:110px}}
.fn-nophoto{display:flex;align-items:center;gap:14px;background:var(--fn-surface);border:1px dashed var(--fn-line);border-radius:18px;padding:12px 16px;margin-bottom:16px}
.fn-nophoto p{margin:0;font-size:14px;color:var(--fn-muted)}
/* 事業所の方へ（掲載無料） */
.fn-free-hero{display:grid;grid-template-columns:1.3fr 1fr;gap:24px;align-items:center;background:var(--fn-surface);border-radius:24px;padding:32px;box-shadow:0 6px 24px rgba(40,90,60,.10);margin-bottom:18px}
.fn-free-hero h1{font-size:clamp(26px,3.6vw,38px)}
.fn-free-hero .nw{display:inline-block}
.fn-free-hero p{margin:12px 0}
.fn-free-hero img{width:100%;height:auto}
.fn-free-zero{color:#e0731b;font-size:1.5em;padding:0 .05em}
.fn-free-svcs{display:flex;flex-wrap:wrap;gap:6px;margin:6px 0 18px}
.fn-free-svc{background:var(--fn-accent-soft);color:var(--fn-accent);border-radius:999px;padding:3px 12px;font-size:13px;font-weight:700}
.fn-btn-lg{font-size:18px;padding:14px 28px;border-radius:999px;background:#e0731b;box-shadow:0 4px 0 #b4560e}
.fn-btn-lg:hover{filter:brightness(1.05)}
.fn-free-badges{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:10px;margin-bottom:28px}
.fn-free-badges span{background:#fff1cf;color:#8a4a00;border:2px solid #f2c35b;border-radius:14px;padding:10px;text-align:center;font-family:var(--fn-disp);font-weight:700;font-size:16px}
.fn-free-cards{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:14px;margin-bottom:28px}
.fn-free-card{background:var(--fn-surface);border:1px solid var(--fn-line);border-radius:18px;padding:18px;display:grid;gap:6px;justify-items:start}
.fn-free-card img{width:64px;height:64px;object-fit:contain}
.fn-free-card p{margin:0;font-size:14px;color:var(--fn-muted)}
.fn-steps{list-style:none;padding:0;margin:0 0 24px;display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:14px;counter-reset:st}
.fn-steps li{background:var(--fn-surface);border-radius:18px;padding:18px 18px 18px 64px;position:relative;display:grid;gap:4px;counter-increment:st}
.fn-steps li::before{content:counter(st);position:absolute;left:18px;top:18px;width:34px;height:34px;border-radius:50%;background:var(--fn-accent);color:#fff;display:grid;place-items:center;font-weight:700}
.fn-steps span{font-size:14px;color:var(--fn-muted)}
.fn-claim-form{max-width:760px;margin:0 auto 28px}
.fn-claim-form h2{font-size:18px;border-left:5px solid var(--fn-accent);padding-left:10px;margin-top:8px}
.fn-claim-form em{font-style:normal;font-size:11px;background:#c0392b;color:#fff;border-radius:4px;padding:1px 6px;margin-left:4px;vertical-align:1px}
.fn-claim-form fieldset{border:1px solid var(--fn-line);border-radius:12px;padding:12px 14px;display:grid;gap:10px;margin:0}
.fn-claim-form legend{font-weight:700;padding:0 6px}
.fn-claim-form .fn-btn-lg{justify-self:center}
.fn-hp{position:absolute!important;left:-9999px;width:1px;height:1px;overflow:hidden}
.fn-faqs{display:grid;gap:8px;max-width:760px;margin:0 auto 28px}
.fn-faq{background:var(--fn-surface);border-radius:14px;padding:14px 18px}
.fn-faq summary{font-weight:700;cursor:pointer}
.fn-faq p{margin:8px 0 0;font-size:14px}
@media (max-width:760px){.fn-free-hero{grid-template-columns:1fr;padding:22px}.fn-free-hero img{max-width:320px;justify-self:center;order:-1}}
/* ===== キャラクターを主役に・日本地図を大きく (v0.8) ===== */
.fn-mapwrap{grid-template-columns:minmax(0,1.9fr) minmax(0,1fr);gap:28px}
.fn-mapbox{position:relative;background:linear-gradient(180deg,#e6f4ff 0%,#f3fbff 100%);border-radius:24px;padding:18px 12px 12px;box-shadow:inset 0 0 0 3px #fff,0 6px 18px rgba(40,110,160,.10)}
.fn-jmap{max-width:none;width:100%;filter:drop-shadow(0 4px 6px rgba(30,70,110,.15))}
.fn-jmap path{stroke-width:1.1;cursor:pointer}
.fn-jmap a:hover path,.fn-jmap a:focus path{stroke:#fff;stroke-width:2.4;fill:#f0a020!important;filter:brightness(1.05)}
.fn-map-chara{position:absolute;right:10px;bottom:12px;width:min(150px,22%);height:auto;filter:drop-shadow(0 6px 10px rgba(0,0,0,.18));animation:fn-bob 4s ease-in-out infinite;pointer-events:none}
.fn-map-hint{position:absolute;right:calc(min(150px,22%) + 6px);bottom:min(120px,18%);margin:0;background:#fff;border-radius:16px;padding:8px 12px;font-size:14px;font-weight:700;box-shadow:0 4px 12px rgba(0,0,0,.10);pointer-events:none}
.fn-map-hint b{display:block;font-size:11px;color:var(--fn-accent)}
.fn-map-tip{position:absolute;transform:translate(-50%,-140%);background:#333;color:#fff;font-size:13px;font-weight:700;border-radius:8px;padding:4px 10px;white-space:nowrap;pointer-events:none;z-index:2}
.fn-legend{font-size:13px}
.fn-legend i{width:28px;height:12px}
.fn-reg-h{font-size:16px;margin:4px 0 0}
.fn-regions .r{grid-template-columns:6em minmax(0,1fr)}
.fn-regions a{padding:4px 10px;border-radius:999px;font-size:14px}
@media (max-width:1000px){.fn-mapwrap{grid-template-columns:minmax(0,1fr)}}
@media (max-width:600px){.fn-map-hint{display:none}.fn-map-chara{width:90px}}
.fn-band-map{background:linear-gradient(135deg,#ffffff 0%,#eef8ff 60%,#fff6e3 100%)!important}
.fn-bandhead h2{display:flex;align-items:center;gap:10px;font-size:clamp(22px,3vw,30px)}
.fn-bandhead h2 img{width:56px;height:56px;object-fit:contain}
.fn-band-map .fn-svc button{font-size:15px;padding:8px 16px;font-weight:700;background:#fff}
.fn-band-map .fn-svc button[aria-pressed="true"]{background:#f08c1e;border-color:#f08c1e;color:#fff;box-shadow:0 3px 0 #c96d0c}
.fn-doors-h span{display:inline-flex;align-items:center;gap:8px}
.fn-doors-h span img{width:40px;height:40px;object-fit:contain;margin:-8px 0}
/* かんたん4ステップ */
.fn-how{margin:28px 0 8px;text-align:center}
.fn-how h2{font-size:clamp(20px,3vw,26px);margin-bottom:14px}
.fn-how ol{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(auto-fit,minmax(210px,1fr));gap:14px}
.fn-how li{position:relative;background:#fff;border-radius:22px;padding:18px 16px 16px;box-shadow:0 6px 16px rgba(30,60,50,.08);display:grid;justify-items:center;gap:4px}
.fn-how li img{width:110px;height:110px;object-fit:contain;transition:transform .2s}
.fn-how li:hover img{transform:translateY(-4px) rotate(-3deg)}
.fn-how .n{position:absolute;left:14px;top:12px;width:32px;height:32px;border-radius:50%;display:grid;place-items:center;color:#fff;font-weight:700;background:#f08c1e}
.fn-how b{font-family:var(--fn-disp);font-size:17px}
.fn-how .who{font-size:12px;font-weight:700;color:#fff;border-radius:999px;padding:1px 10px;background:#7cc242}
.fn-how p{margin:4px 0 0;font-size:13.5px;color:var(--fn-muted)}
.fn-how-fukumaru{background:#eaf4fd!important}.fn-how-fukumaru .who{background:#2b7fc4}
.fn-how-michishirube{background:#fdeceb!important}.fn-how-michishirube .who{background:#d9433b}
.fn-how-nyan{background:#fdf2e3!important}.fn-how-nyan .who{background:#c9761a}
.fn-how-kuma{background:#f7eee5!important}.fn-how-kuma .who{background:#a0612e}
/* 詳細ページの横の吹き出しは縦に */
.fn-side .fn-say{align-items:flex-start}
.fn-side .fn-say img{width:64px;height:64px}
.fn-ph-chara{display:flex;justify-content:space-between;align-items:center;gap:16px;flex-wrap:wrap}
.fn-ph-chara .fn-say{margin:0}
.fn-ph-chara .fn-say img{width:110px;height:110px;animation:fn-bob 4s ease-in-out infinite}
@media (prefers-reduced-motion:reduce){.fn-ph-chara .fn-say img,.fn-map-chara{animation:none}}

/* v0.9 検索窓・検索ページ・おすすめ欄 */
.fn-sbox{display:flex;flex-wrap:wrap;gap:8px;align-items:stretch;margin:8px 0 18px}
.fn-sbox input[type=search]{flex:1 1 260px;min-width:0;border:2px solid var(--fn-accent);border-radius:999px;padding:10px 18px;font:inherit;font-size:16px;background:var(--fn-surface)}
.fn-sbox select{flex:0 1 auto;border:1px solid var(--fn-line);border-radius:999px;padding:8px 12px;font:inherit;font-size:14px;background:var(--fn-surface);max-width:100%}
.fn-sbox .fn-btn{border-radius:999px;padding:10px 26px;font-size:16px}
.fn-sbox.big input[type=search]{font-size:17px;padding:13px 20px}
.fn-band-search{background:#fff7e6;border:2px solid #ffd27a;border-radius:20px;padding:20px 22px;margin:8px 0 28px}
.fn-band-search h2{display:flex;align-items:center;gap:10px;margin:0 0 6px;font-size:22px}
.fn-band-search .fn-sbox{margin-bottom:6px}
.fn-stabs{display:flex;flex-wrap:wrap;gap:8px;margin:0 0 16px}
.fn-stabs a{border:1px solid var(--fn-line);border-radius:999px;padding:6px 14px;text-decoration:none;color:var(--fn-fg);background:var(--fn-surface);font-size:14px}
.fn-stabs a span{margin-left:6px;color:var(--fn-muted);font-size:12px}
.fn-stabs a[aria-current=page]{background:#f08c00;border-color:#f08c00;color:#fff;font-weight:700}
.fn-stabs a[aria-current=page] span{color:#fff}
.fn-svc-tag{display:inline-block;font-size:12px;font-weight:700;padding:1px 8px;border-radius:999px;margin-right:6px;background:var(--fn-accent-soft);color:var(--fn-accent)}
.fn-featured{margin:28px 0}
.fn-featured h2{display:flex;align-items:center;gap:10px;font-size:22px}
@media (max-width:600px){.fn-sbox select{flex:1 1 40%}.fn-sbox .fn-btn{flex:1 1 100%}}
.fn .fn-sbox select,.fn .fn-sbox .fn-btn{width:auto;flex:0 0 auto;margin:0}
.fn .fn-sbox input[type=search]{width:auto;margin:0}
@media (max-width:600px){.fn .fn-sbox select{flex:1 1 40%}.fn .fn-sbox .fn-btn{flex:1 1 100%}}
.fn-card .fn-svc-tag{align-self:flex-start;width:fit-content;justify-self:start}
