/*
Theme Name: Arkhe Child
Template: arkhe
Version: 1.0.0
*/

/* 01. 基本色・文字組み（2026-10-26） */
:root {
  --hpsl-ink: #223c3b;
  --hpsl-muted: #526764;
  --hpsl-green: #176454;
  --hpsl-pale: #eaf2eb;
  --hpsl-paper: #fbfaf6;
  --hpsl-line: #d5ddd6;
  --hpsl-serif: "Yu Mincho", "Hiragino Mincho ProN", serif;
}
body {
  background-color: var(--hpsl-paper);
  color: var(--hpsl-ink);
  font-family: "Yu Gothic UI", "Yu Gothic", "Hiragino Kaku Gothic ProN", Meiryo, sans-serif;
  font-size: 16px;
  line-height: 1.9;
}
a { color: var(--hpsl-green); text-underline-offset: .25em; }
a:focus-visible, button:focus-visible, input:focus-visible {
  outline: 3px solid #a06319;
  outline-offset: 4px;
}
button, input, select, textarea { font: inherit; }
.c-postContent { line-height: 1.95; }

/* 02. 既存ヘッダー・ナビゲーション */
.l-header { background: #fff; border-bottom: 1px solid var(--hpsl-line); box-shadow: none; }
.l-header .l-header__body { padding-top: 20px; padding-bottom: 20px; }
.l-header .l-header__logo { font-size: 1.125rem; line-height: 1.5; }
.l-header .c-headLogo { color: var(--hpsl-ink); font-size: inherit; font-weight: 700; letter-spacing: .035em; }
.c-gnav .c-gnav__a { color: var(--hpsl-ink); font-size: .9rem; padding: 12px 15px; }
.c-gnav .c-gnav__a:hover, .c-gnav .current-menu-item > .c-gnav__a {
  color: var(--hpsl-green);
  text-decoration: underline;
  text-underline-offset: .55em;
}
.c-drawerNav .c-drawerNav__a { color: var(--hpsl-ink); min-height: 48px; }
.p-drawer { background-color: #fff; }

/* 03. トップページの導入 */
.hpsl-home { padding: 60px 0 32px; }
.hpsl-home .hpsl-eyebrow {
  color: var(--hpsl-green);
  font-size: .85rem;
  font-weight: 700;
  letter-spacing: .08em;
  margin: 0 0 14px;
}
.hpsl-home .hpsl-home-title {
  background: none;
  border: 0;
  color: var(--hpsl-ink);
  font-family: var(--hpsl-serif);
  font-size: clamp(2rem, 4vw, 3rem);
  font-weight: 600;
  letter-spacing: .04em;
  line-height: 1.6;
  margin: 0 0 20px;
  padding: 0;
}
.hpsl-home .hpsl-lead { color: var(--hpsl-muted); margin: 0 0 36px; max-width: 760px; }

/* 04. WordPress標準検索ブロック */
.hpsl-home .hpsl-search-panel {
  background: #fff;
  border: 1px solid var(--hpsl-line);
  border-radius: 8px;
  box-shadow: 0 4px 24px #223c3b05;
  margin: 0 0 36px;
  padding: 28px;
}
.hpsl-search-panel .wp-block-heading {
  border: 0;
  font-size: 1.25rem;
  font-weight: 650;
  margin: 0 0 18px;
  padding: 0;
}
.hpsl-search-panel .wp-block-search { margin: 0; }
.hpsl-search-panel .wp-block-search__label { display: block; font-size: .88rem; font-weight: 600; margin-bottom: 8px; }
.hpsl-search-panel .wp-block-search__inside-wrapper { gap: 16px; }
.hpsl-search-panel .wp-block-search__input {
  background: #fff;
  border: 1px solid #9eafa7;
  border-radius: 4px;
  color: var(--hpsl-ink);
  min-height: 52px;
  min-width: 0;
  padding: 10px 14px;
}
.hpsl-search-panel .wp-block-search__button {
  background: var(--hpsl-green);
  border: 1px solid var(--hpsl-green);
  border-radius: 4px;
  color: #fff;
  font-weight: 600;
  margin: 0;
  min-height: 52px;
  min-width: 150px;
  padding: 10px 24px;
}
.hpsl-search-panel .wp-block-search__button:hover { background: #104d41; }
.hpsl-search-panel .hpsl-search-help { color: var(--hpsl-muted); font-size: .82rem; margin: 14px 0 0; }

/* 05. 3つの入口（カラム構成・スマホ時の積み上げは標準ブロックが管理） */
.hpsl-home .hpsl-entry-grid { gap: 20px; margin: 0 0 36px; }
.hpsl-home .hpsl-entry-card {
  background: #fff;
  border: 1px solid var(--hpsl-line);
  border-radius: 6px;
  padding: 26px;
}
.hpsl-entry-card .wp-block-heading {
  border: 0;
  font-family: var(--hpsl-serif);
  font-size: 1.5rem;
  font-weight: 600;
  line-height: 1.5;
  margin: 0 0 14px;
  padding: 0;
}
.hpsl-entry-card .wp-block-heading a { color: var(--hpsl-ink); display: inline-block; min-height: 44px; text-decoration: none; }
.hpsl-entry-card .wp-block-heading a:hover { color: var(--hpsl-green); text-decoration: underline; }
.hpsl-entry-card p { color: var(--hpsl-muted); font-size: .92rem; margin: 0; }

/* 06. 固定ページのタイトル・一覧カード */
.p-topArea { min-height: 0; padding: 48px 0 36px; text-align: left; }
.p-topArea.-noimg { background: var(--hpsl-paper); border-bottom: 1px solid var(--hpsl-line); }
.p-topArea .p-topArea__body { color: var(--hpsl-ink); text-shadow: none; }
.c-pageTitle__main {
  color: var(--hpsl-ink);
  font-family: var(--hpsl-serif);
  font-size: clamp(1.8rem, 3vw, 2.5rem);
  font-weight: 600;
  letter-spacing: .04em;
  line-height: 1.55;
}
.p-breadcrumb { background-color: transparent; color: var(--hpsl-muted); font-size: .8rem; }
.hpsl-directory { margin-top: 32px; }
.hpsl-directory .wp-block-post-template { gap: 20px; }
.hpsl-directory .wp-block-post-template > .wp-block-post {
  background: #fff;
  border: 1px solid var(--hpsl-line);
  border-radius: 6px;
  margin: 0;
  padding: 24px;
}
.hpsl-directory .hpsl-list-name {
  border: 0;
  font-family: var(--hpsl-serif);
  font-size: 1.3rem;
  font-weight: 600;
  line-height: 1.65;
  margin: 0;
  padding: 0;
}
.hpsl-directory .hpsl-list-name a { color: var(--hpsl-ink); display: block; min-height: 44px; text-decoration: none; }
.hpsl-directory .hpsl-list-name a:hover { color: var(--hpsl-green); text-decoration: underline; }
.hpsl-directory .wp-block-query-pagination { gap: 12px; margin-top: 32px; }
.hpsl-directory .wp-block-query-pagination :is(a, .current) {
  border: 1px solid var(--hpsl-line);
  border-radius: 4px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 44px;
  min-width: 44px;
  padding: 6px 12px;
}
.hpsl-directory .wp-block-query-pagination .current { background: var(--hpsl-green); border-color: var(--hpsl-green); color: #fff; }

/* 07. 既存の記事本文・注記（医療本文や公開状態は変更しない） */
.p-entry { max-width: 840px; margin-right: auto; margin-left: auto; }
.p-entry__head { border-bottom: 1px solid var(--hpsl-line); padding-bottom: 26px; margin-bottom: 32px; }
.p-entry__content { font-size: 1.03rem; line-height: 2; overflow-wrap: break-word; }
.p-entry__content :is(h2, h3) { color: var(--hpsl-ink); line-height: 1.6; }
.p-entry__content h2 { border-left: 3px solid var(--hpsl-green); padding-left: 16px; }
.p-entry__content :is(img, iframe, video) { max-width: 100%; }
.hpsl-information-note {
  background: var(--hpsl-pale);
  border: 1px solid var(--hpsl-line);
  border-radius: 5px;
  color: var(--hpsl-muted);
  font-size: .9rem;
  margin-top: 36px;
  padding: 22px 26px;
}
.hpsl-information-note .wp-block-heading { border: 0; font-size: 1.05rem; margin: 0 0 10px; padding: 0; }
.hpsl-information-note p:last-child { margin-bottom: 0; }

/* 08. 既存フッター・ページ上部へ戻るボタン */
.l-footer { background: var(--hpsl-paper); color: var(--hpsl-muted); margin-top: 64px; }
.l-footer__foot { border-top: 1px solid var(--hpsl-line); padding-top: 28px; padding-bottom: 36px; }
.l-footer__nav { gap: 8px 24px; }
.l-footer__nav a { color: var(--hpsl-muted); display: inline-block; font-size: .85rem; min-height: 44px; }
.c-copyright { color: var(--hpsl-muted); font-size: .78rem; }
.c-fixBtn { background-color: var(--hpsl-green); color: #fff; border-radius: 4px; }

/* 09. スマートフォン・中間幅 */
@media (max-width: 959px) {
  .l-header .l-header__body { padding-top: 16px; padding-bottom: 16px; }
  .l-header .l-header__logo { font-size: 1rem; }
  .hpsl-home { padding-top: 36px; }
  .hpsl-home .hpsl-home-title { font-size: clamp(1.85rem, 5vw, 2.5rem); }
}
@media (max-width: 600px) {
  body { line-height: 1.9; }
  .hpsl-home { padding-top: 30px; }
  .hpsl-home .hpsl-home-title { font-size: 1.85rem; }
  .hpsl-home .hpsl-lead { font-size: .94rem; margin-bottom: 28px; }
  .hpsl-home .hpsl-search-panel { padding: 20px; margin-bottom: 24px; }
  .hpsl-search-panel .wp-block-search__inside-wrapper { flex-wrap: wrap; gap: 12px; }
  .hpsl-search-panel .wp-block-search__button { width: 100%; }
  .hpsl-home .hpsl-entry-grid { gap: 16px; margin-bottom: 26px; }
  .hpsl-home .hpsl-entry-card { padding: 22px; }
  .hpsl-entry-card .wp-block-heading { font-size: 1.4rem; }
  .p-topArea { padding: 32px 0 26px; }
  .hpsl-directory .wp-block-post-template { gap: 14px; }
  .hpsl-directory .wp-block-post-template > .wp-block-post { padding: 20px; }
  .hpsl-directory .hpsl-list-name { font-size: 1.18rem; }
  .p-entry__content { font-size: 1rem; }
  .hpsl-information-note { padding: 18px 20px; }
  .l-footer { margin-top: 44px; }
}

/* 10. 印刷時の文字と背景 */
@media print {
  body, .l-header, .l-footer, .hpsl-information-note { background: #fff; color: #000; }
  .hpsl-entry-card, .hpsl-directory .wp-block-post-template > .wp-block-post { break-inside: avoid; }
}
