/* Tokyo Preschool Navi — お役立ちコンテンツ記事 */
:root{--cream:#FAF6EF;--ink:#2B2B2B;--orange:#F5853F;--sky:#3FA9D6;--line:#ECE3D4;--muted:#8C8475;--shadow:0 3px 14px rgba(120,90,40,.08)}
*{box-sizing:border-box}
body.tpn-article-body{margin:0;background:var(--cream);color:var(--ink);
  font-family:-apple-system,"Hiragino Sans","Noto Sans JP",sans-serif;line-height:1.85;-webkit-font-smoothing:antialiased}
.tpn-wrap{max-width:680px;margin:0 auto;background:var(--cream);min-height:100dvh;padding-bottom:78px}
/* 下部固定ナビ（/column/配下のみ） */
.tpn-nav{position:fixed;left:0;right:0;bottom:0;z-index:40;display:flex;max-width:680px;margin:0 auto;
  background:#fff;border-top:1px solid var(--line)}
.tpn-nav a,.tpn-nav button{flex:1;border:none;background:none;text-decoration:none;text-align:center;cursor:pointer;
  padding:8px 0 calc(8px + env(safe-area-inset-bottom));font-size:.7rem;font-weight:700;color:var(--muted);
  font-family:inherit}
.tpn-nav .on{color:var(--orange)}
.tpn-nav .ic{display:block;font-size:1.25rem;margin-bottom:2px}
.tpn-top{position:sticky;top:0;z-index:30;display:flex;align-items:center;gap:10px;
  padding:10px 14px;background:rgba(250,246,239,.94);backdrop-filter:blur(8px);border-bottom:1px solid var(--line)}
.tpn-top .back{width:38px;height:38px;border:none;border-radius:50%;background:#fff;box-shadow:var(--shadow);font-size:1.1rem;cursor:pointer;flex:none}
.tpn-top .brand{font-weight:800;font-size:.95rem;color:var(--orange);text-decoration:none}
.art{padding:18px 18px 40px}
.art .crumb{font-size:.8rem;color:var(--muted);font-weight:700;margin-bottom:8px}
.art h1{font-size:1.6rem;font-weight:800;line-height:1.4;margin:.1em 0 .3em}
.art .meta{font-size:.82rem;color:var(--muted);margin-bottom:14px}
.art .hero{width:100%;border-radius:18px;margin:6px 0 18px;box-shadow:var(--shadow)}
.art .body{font-size:1rem}
.art .body h2{font-size:1.25rem;font-weight:800;margin:32px 0 12px;padding:0 0 8px;border-bottom:2px solid var(--line)}
.art .body h3{font-size:1.1rem;font-weight:800;margin:24px 0 8px;color:var(--orange)}
.art .body p{margin:0 0 16px}
.art .body ul,.art .body ol{margin:0 0 16px;padding-left:1.4em}
.art .body li{margin:6px 0}
.art .body a{color:var(--sky);font-weight:700}
.art .body img{max-width:100%;height:auto;border-radius:14px}
.art .body blockquote{margin:16px 0;padding:12px 16px;background:#fff;border-left:4px solid var(--orange);border-radius:10px;color:#444}
.art .cta-back{display:inline-block;margin-top:24px;background:var(--orange);color:#fff;text-decoration:none;
  font-weight:800;border-radius:12px;padding:13px 22px}
.art .lead-sub{color:var(--muted);font-weight:600;margin:-4px 0 18px}
.art .note{color:var(--muted)}
/* 一覧カード */
.tpn-arc-list{display:flex;flex-direction:column;gap:12px}
.tpn-arc-card{display:flex;gap:12px;align-items:center;background:#fff;box-shadow:var(--shadow);
  border-radius:14px;padding:13px 14px;text-decoration:none;color:var(--ink)}
.tpn-arc-card .ph{flex:none;width:64px;height:64px;border-radius:11px;background:#EFE7D8 center/cover no-repeat}
.tpn-arc-card .ic{flex:none;width:64px;height:64px;border-radius:11px;background:#FFF1E8;display:flex;align-items:center;justify-content:center;font-size:1.8rem}
.tpn-arc-card .t{display:flex;flex-direction:column;min-width:0}
.tpn-arc-card .t b{font-size:1rem;font-weight:800;line-height:1.35}
.tpn-arc-card .t small{font-size:.82rem;color:var(--muted);margin-top:3px}
.crumb a{color:var(--sky);text-decoration:none}
/* イベントページ */
.art .ev-meta{display:flex;gap:10px;align-items:center;margin:-2px 0 14px;flex-wrap:wrap}
.art .ev-badge{font-size:.78rem;font-weight:800;background:var(--orange);color:#fff;border-radius:8px;padding:3px 10px}
.art .ev-period{font-size:.85rem;color:var(--muted);font-weight:700}
/* 施設カード（エリアページ） */
.tpn-fac-list{display:flex;flex-direction:column;gap:12px}
.tpn-fac-card{display:flex;gap:12px;align-items:center;background:#fff;box-shadow:var(--shadow);
  border-radius:14px;padding:12px;text-decoration:none;color:var(--ink)}
.tpn-fac-card .ph{flex:none;width:72px;height:72px;border-radius:11px;background:#EFE7D8 center/cover no-repeat}
.tpn-fac-card .ph.noimg{display:flex;align-items:center;justify-content:center;font-size:1.9rem}
.tpn-fac-card .t{display:flex;flex-direction:column;min-width:0;gap:3px}
.tpn-fac-card .t b{font-size:1rem;font-weight:800;line-height:1.35}
.tpn-fac-card .t small{font-size:.82rem;color:var(--muted)}
.tpn-fac-card .badges{display:flex;flex-wrap:wrap;gap:5px;margin-top:2px}
.tpn-fac-card .badges i{font-style:normal;font-size:.7rem;font-weight:700;border-radius:6px;padding:2px 6px}
.tpn-fac-card .b-en{background:#E9F6EE;color:#3A9D63}
.tpn-fac-card .b-na{background:#FCEBF2;color:#C75C8A}
.tpn-fac-card .b-bus{background:#EAF4FB;color:#2A8BBF}

/* 英語教育方針バッジ(2026-06-28 一覧統一) */
.tpn-fac-card .b-pol{background:#FFF1E6;color:#D9772F}

/* === お問い合わせフォーム(2026-06-28) === */
.tpn-form{display:flex;flex-direction:column;gap:14px;margin:8px 0 4px}
.tpn-form .tpn-fl{display:flex;flex-direction:column;gap:5px;margin:0}
.tpn-form label{font-weight:700;font-size:.9rem}
.tpn-form .req{margin-left:6px;font-size:.68rem;color:#fff;background:#E8543E;border-radius:5px;padding:1px 6px;font-weight:700}
.tpn-form .opt{margin-left:6px;font-size:.68rem;color:#8a8478;background:#EDEAE3;border-radius:5px;padding:1px 6px;font-weight:700}
.tpn-form input,.tpn-form textarea{width:100%;box-sizing:border-box;border:1.5px solid #DfD8CC;border-radius:10px;padding:11px 12px;font-size:1rem;background:#fff}
.tpn-form input:focus,.tpn-form textarea:focus{outline:none;border-color:var(--tpn-orange,#F5853F)}
.tpn-privacy-box{background:#FAF6EF;border:1px solid #E7DECB;border-radius:12px;padding:12px 14px;font-size:.85rem;line-height:1.6}
.tpn-privacy-box b{display:block;margin-bottom:4px}
.tpn-privacy-box p{margin:0}
.tpn-agree{font-size:.92rem}
.tpn-agree label{display:flex;align-items:center;gap:8px;font-weight:600}
.tpn-agree input{width:20px;height:20px}
.tpn-hp{position:absolute!important;left:-9999px!important;height:0;overflow:hidden}
.tpn-submit{margin:4px 0 0}
.tpn-submit button{width:100%;border:none;cursor:pointer;border-radius:12px;padding:15px;font-size:1.05rem;font-weight:800;color:#fff;background:linear-gradient(135deg,var(--tpn-orange,#F5853F),#FF9A63);box-shadow:0 6px 16px rgba(245,133,63,.3)}
.tpn-submit button:active{transform:scale(.99)}
.tpn-form-done{background:#E9F6EE;border:1px solid #B9E3C9;color:#2E7D4F;border-radius:12px;padding:18px;line-height:1.7}
.tpn-form-err{background:#FDECEA;border:1px solid #F5C2BC;color:#C0392B;border-radius:12px;padding:12px 16px;margin-bottom:12px}
.tpn-form-err ul{margin:0;padding-left:1.1em}

/* === コラム目次(2026-06-28) === */
.tpn-toc{background:#FAF6EF;border:1px solid #E7DECB;border-radius:12px;padding:14px 16px;margin:0 0 22px}
.tpn-toc-h{font-weight:800;margin:0 0 8px;font-size:.95rem}
.tpn-toc ul{list-style:none;margin:0;padding:0}
.tpn-toc li{margin:4px 0;line-height:1.5}
.tpn-toc li.lv3{padding-left:1.1em;font-size:.9rem}
.tpn-toc a{color:#2A6F97;text-decoration:none;border-bottom:1px dotted #9CC4DA}
.tpn-toc a:active{opacity:.7}
.art .body h2,.art .body h3{scroll-margin-top:72px}
html{scroll-behavior:smooth}
