/* かんたんCMS — 公開サイトのテーマ(.site.theme-xxx)。管理画面のテーマ見本・プレビューでも同じものを使う */
.site{--accent:#2563eb;--accent-d:#1d4ed8;--fs:16px;font-size:var(--fs);line-height:1.8;color:var(--fg);background:var(--bg)}
body.site{margin:0}
.site.font-s{--fs:14px}.site.font-m{--fs:16px}.site.font-l{--fs:18.5px}
.site.accent-blue{--accent:#2563eb;--accent-d:#1d4ed8}.site.accent-green{--accent:#15803d;--accent-d:#166534}.site.accent-orange{--accent:#ea580c;--accent-d:#c2410c}
.site.accent-red{--accent:#dc2626;--accent-d:#b91c1c}.site.accent-purple{--accent:#7c3aed;--accent-d:#6d28d9}
.site a{color:var(--accent)}
.site .site-demo-note{text-align:center;font-size:12px;padding:3px;background:#fcf0c3;color:#6e4b00}
.site .site-header{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:14px max(18px,calc(50% - 520px));background:var(--head-bg);border-bottom:1px solid var(--line)}
.site.header-center .site-header{flex-direction:column;gap:8px}
.site .site-brand{display:flex;align-items:center;gap:10px;text-decoration:none;color:var(--fg)}
.site .site-logo{display:inline-grid;place-items:center;width:36px;height:36px;background:var(--accent);color:#fff;font-weight:700;border-radius:var(--logo-radius)}
.site .site-logo-img{height:40px;width:auto}
.site .site-name{font-weight:700;font-size:1.15em;letter-spacing:.02em}
.site .site-nav{display:flex;flex-wrap:wrap;gap:4px 18px}
.site .site-nav a{text-decoration:none;color:var(--fg);font-size:.95em;padding:4px 0;border-bottom:2px solid transparent}
.site .site-nav a:hover{border-bottom-color:var(--accent)}
.site .site-hero{padding:64px max(18px,calc(50% - 520px));background:var(--hero-bg);color:var(--hero-fg)}
.site .site-title{margin:0 0 6px;font-size:2em;line-height:1.3}
.site .site-tagline{margin:0 0 20px;font-size:1.15em;opacity:.92}
.site .site-button{display:inline-block;background:var(--accent);color:#fff!important;text-decoration:none;padding:.6em 1.6em;border-radius:var(--btn-radius);font-weight:600;border:0;font:inherit;cursor:pointer}
.site .site-button:hover{background:var(--accent-d)}
.site .site-main{max-width:1040px;margin:0 auto;padding:36px 18px 56px}
.site .section{margin-bottom:40px}
.site h1,.site h2,.site h3{color:var(--heading);line-height:1.4}
.site h2{font-size:1.4em;padding-bottom:.3em;border-bottom:var(--h2-border)}
.site .news-list{list-style:none;padding:0;margin:0}
.site .news-list li{display:flex;flex-wrap:wrap;align-items:center;gap:10px;padding:12px 0;border-bottom:1px solid var(--line)}
.site .news-list time{color:var(--muted);font-variant-numeric:tabular-nums;font-size:.92em}
.site .news-cat{font-size:.78em;background:var(--accent);color:#fff;border-radius:3px;padding:0 8px}
.site .news-thumb{width:64px;height:44px;object-fit:cover;border-radius:4px}
.site .cards{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:16px}
.site .card-link{display:block;text-decoration:none;color:var(--fg);background:var(--card);border:1px solid var(--line);border-radius:var(--card-radius);padding:18px 20px}
.site .card-link h3{margin:0 0 6px;color:var(--accent)}.site .card-link p{margin:0;font-size:.92em;color:var(--muted)}
.site .entry-title{font-size:1.8em;margin:0 0 6px}
.site .entry-meta{color:var(--muted);margin:0 0 18px}
.site .entry-content p{margin:0 0 1.1em}
.site .entry-content ul{padding-left:1.4em}
.site .entry-content figure{margin:1.4em 0}.site .entry-content img,.site .featured img{max-width:100%;height:auto;border-radius:6px}
.site .entry-content figcaption{font-size:.85em;color:var(--muted);text-align:center}
.site .block-sep{border:0;border-top:1px solid var(--line);margin:2em auto;width:40%}
.site .block-button{margin:1.4em 0}
.site .entry-tags .tag{display:inline-block;margin-right:8px;color:var(--muted);font-size:.9em}
.site .featured{margin:0 0 24px}
.site .preview-note{background:#fcf0c3;color:#6e4b00;padding:6px 12px;border-radius:4px}
.site .warn{background:var(--card);border-left:4px solid var(--accent);padding:8px 12px}
.site .contact-form{max-width:560px}
.site .contact-form label{display:block;margin-bottom:14px;font-weight:600}
.site .contact-form input,.site .contact-form select,.site .contact-form textarea{display:block;width:100%;box-sizing:border-box;font:inherit;padding:8px 10px;margin-top:4px;border:1px solid var(--line);border-radius:6px;background:var(--card);color:var(--fg)}
.site .notice-ok{background:#d1f0d8;color:#005c12;padding:10px 14px;border-radius:6px}.site .notice-err{background:#f6d6d6;color:#8a2424;padding:10px 14px;border-radius:6px}
.site .muted{color:var(--muted)}
.site .site-footer{text-align:center;padding:26px 18px;background:var(--foot-bg);color:var(--foot-fg);font-size:.9em}
.site .site-footer p{margin:2px 0}.site .small{font-size:.85em}
/* ログイン中の管理バー(WordPress と同じく上に出る) */
.adminbar{display:flex;gap:16px;align-items:center;background:#1d2327;color:#f0f0f1;font:13px/32px -apple-system,"Segoe UI","Yu Gothic UI",sans-serif;padding:0 14px}
.adminbar a{color:#f0f0f1;text-decoration:none}.adminbar a:hover{color:#72aee6}.adminbar .ab-who{margin-left:auto}

/* ---- テーマ:コーポレート(信頼の青) ---- */
.site.theme-corporate{--bg:#ffffff;--fg:#1f2937;--muted:#6b7280;--line:#e5e7eb;--card:#f8fafc;--heading:#0f172a;--head-bg:#ffffff;
  --hero-bg:linear-gradient(120deg,#0f2a5c,#1e4fa3);--hero-fg:#fff;--foot-bg:#0f172a;--foot-fg:#cbd5e1;--h2-border:3px solid var(--accent);
  --logo-radius:6px;--btn-radius:4px;--card-radius:6px;font-family:"Hiragino Sans","Yu Gothic UI","Meiryo",sans-serif}
.site.theme-corporate.accent-green{--hero-bg:linear-gradient(120deg,#0b3b24,#15803d)}.site.theme-corporate.accent-orange{--hero-bg:linear-gradient(120deg,#5c2a0b,#c2410c)}
.site.theme-corporate.accent-red{--hero-bg:linear-gradient(120deg,#5c0b0b,#b91c1c)}.site.theme-corporate.accent-purple{--hero-bg:linear-gradient(120deg,#2e0b5c,#6d28d9)}

/* ---- テーマ:ナチュラル(やわらかい生成り) ---- */
.site.theme-natural{--bg:#faf6ee;--fg:#3f3a33;--muted:#8a8073;--line:#e8dfcf;--card:#fffdf8;--heading:#4a3f33;--head-bg:#f3ecdf;
  --hero-bg:#efe5d3;--hero-fg:#3f3a33;--foot-bg:#e9dfcc;--foot-fg:#5c5246;--h2-border:2px dashed var(--accent);
  --logo-radius:50%;--btn-radius:999px;--card-radius:16px;font-family:"Hiragino Maru Gothic ProN","Yu Gothic","Meiryo",sans-serif}
.site.theme-natural .site-title{font-weight:700;letter-spacing:.08em}
.site.theme-natural.accent-blue{--accent:#4f7cac;--accent-d:#3d6590}.site.theme-natural.accent-green{--accent:#6b8f47;--accent-d:#577537}
.site.theme-natural.accent-orange{--accent:#c27a3a;--accent-d:#a6652c}.site.theme-natural.accent-red{--accent:#b85c5c;--accent-d:#9a4747}.site.theme-natural.accent-purple{--accent:#8a6fae;--accent-d:#735a95}

/* ---- テーマ:モダン(ダーク) ---- */
.site.theme-modern{--bg:#0d1117;--fg:#e6edf3;--muted:#8b949e;--line:#232a33;--card:#161b22;--heading:#ffffff;--head-bg:#0d1117;
  --hero-bg:radial-gradient(1200px 400px at 20% 0%,#1f2a44,#0d1117);--hero-fg:#fff;--foot-bg:#010409;--foot-fg:#8b949e;--h2-border:0;
  --logo-radius:8px;--btn-radius:8px;--card-radius:12px;font-family:"Segoe UI","Hiragino Sans","Yu Gothic UI",sans-serif}
.site.theme-modern .site-title{font-size:2.6em;letter-spacing:-.01em}
.site.theme-modern h2{font-size:1.6em}.site.theme-modern h2:before{content:"";display:inline-block;width:10px;height:10px;border-radius:2px;background:var(--accent);margin-right:10px;vertical-align:middle}
.site.theme-modern.accent-blue{--accent:#58a6ff;--accent-d:#388bfd}.site.theme-modern.accent-green{--accent:#3fb950;--accent-d:#2ea043}
.site.theme-modern.accent-orange{--accent:#f0883e;--accent-d:#db6d28}.site.theme-modern.accent-red{--accent:#f85149;--accent-d:#da3633}.site.theme-modern.accent-purple{--accent:#bc8cff;--accent-d:#a371f7}
.site.theme-modern .site-button{color:#0d1117!important}

/* 管理画面の中の見本(テーマ一覧・カスタマイズ) */
.site.mini{font-size:var(--fs)}
.site.mini .site-header{padding:12px 18px}.site.mini .site-hero{padding:34px 18px}.site.mini .site-main{padding:16px 18px 22px}
.site.mini .site-nav a{cursor:default}

@media (max-width:640px){
  .site .site-header{flex-direction:column;align-items:flex-start;gap:8px}
  .site .site-hero{padding:40px 18px}.site .site-title{font-size:1.6em}.site.theme-modern .site-title{font-size:1.9em}
}
.site .site-hero .site-title{color:inherit}
/* 読み上げ・キーボード操作 */
.skip-link{position:absolute;left:-9999px;top:0;z-index:100;background:#fff;color:#1d4ed8;padding:8px 14px;border:2px solid #1d4ed8}
.skip-link:focus{left:8px;top:8px}
.sr-only{position:absolute!important;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}
.site a:focus-visible,.site button:focus-visible,.site input:focus-visible,.site select:focus-visible,.site textarea:focus-visible{outline:3px solid var(--accent);outline-offset:2px}
.site .site-nav a[aria-current=page]{text-decoration:underline;text-underline-offset:6px}
/* サイト内検索 */
.site .site-search{display:flex;gap:4px;margin-left:12px}
.site .site-search input{font:inherit;font-size:.9em;padding:5px 8px;border:1px solid var(--line);border-radius:var(--btn-radius,4px);background:var(--card);color:var(--fg);width:9em}
.site .site-search button{font:inherit;font-size:.9em;padding:5px 10px;border:0;border-radius:var(--btn-radius,4px);background:var(--accent);color:#fff;cursor:pointer}
.site .site-search.big{margin:0 0 18px;flex-wrap:wrap}.site .site-search.big label{flex-basis:100%;font-weight:600}.site .site-search.big input{flex:1;width:auto;font-size:1em}
.site .search-results{list-style:none;padding:0}.site .search-results li{padding:12px 0;border-bottom:1px solid var(--line)}.site .search-results p{margin:4px 0 0;color:var(--muted);font-size:.92em}
.site mark{background:#fde68a;color:#1f2937;padding:0 2px}
.site .pager{display:flex;justify-content:space-between;margin:20px 0}
.site .not-found{text-align:center;padding:30px 0}.site .not-found .site-search{justify-content:center;max-width:460px;margin:20px auto}
/* お問い合わせ */
.site .contact-form label{margin:14px 0 4px}
.site .contact-form .req{display:inline-block;font-size:.75em;background:var(--accent);color:#fff;border-radius:3px;padding:0 5px;margin-left:4px;vertical-align:middle}
.site .contact-form .hp{position:absolute;left:-9999px;width:1px;height:1px;overflow:hidden}
.site .contact-form .site-button{margin-top:16px;border:0;cursor:pointer}
.site .entry-tags a.tag{text-decoration:none}
@media (max-width:640px){
  .site .site-search{margin-left:0;width:100%}.site .site-search input{flex:1;width:auto}
  .site .site-nav{flex-wrap:wrap}
  .site .entry-content img{max-width:100%;height:auto}
}
