/* ============================================
   TOGL × Kadence 追加CSS
   外観 → カスタマイズ → 追加CSS に貼り付け
   ============================================ */

/* ── フォント ── */
@import url('https://fonts.googleapis.com/css2?family=Noto+Sans+JP:wght@100..900&display=swap');

/* ── カラー変数 ── */
:root {
  --togl-accent:  #016b6d;  /* #014849より少し明るいティール */
  --togl-accent-hover: #014849;
  --togl-footer:  #014849;
  --togl-ink:     #333333;
  --togl-muted:   #8a8578;
  --togl-line:    rgba(0,0,0,0.1);
  --togl-paper:   #f5f2ec;
  --togl-cream:   #ede9df;
}

/* ============================================
   ベース
   ============================================ */

body,
h1, h2, h3, h4, h5, h6 {
  font-family: BlinkMacSystemFont, -apple-system, 'Noto Sans JP',
    "Segoe UI", "Roboto", "Oxygen", "Ubuntu", "Cantarell",
    "Fira Sans", "Droid Sans", "Helvetica Neue", "Helvetica",
    "Arial", sans-serif;
  color: #333333;
}

/* リンク色 */
a {
  color: #016b6d;
  text-decoration: none;
}
a:hover {
  color: #014849;
  opacity: 1;
}

/* ============================================
   ヘッダー
   ============================================ */

/* ヘッダー背景・境界線 */
.site-header,
.site-top-header,
#masthead,
.kadence-header,
.wp-block-kadence-header {
  background: #ffffff !important;
  border-bottom: 1px solid var(--togl-line) !important;
}

/* サイトタイトル */
.site-branding .site-title,
.site-branding .site-title a {
  color: var(--togl-ink) !important;
}

/* ナビリンク */
.primary-navigation a,
#site-navigation a,
.main-navigation a {
  font-size: 0.85rem !important;
  color: var(--togl-ink) !important;
  transition: color 0.2s;
}
.primary-navigation a:hover,
#site-navigation a:hover,
.main-navigation a:hover,
.primary-navigation .current-menu-item > a {
  color: #014849 !important;
  opacity: 1;
}

/* ドロップダウン背景 */
.header-navigation .nav--toggle-sub ul {
  background: #ffffff !important;
  border: 1px solid var(--togl-line) !important;
  border-radius: 0 !important;
}

/* ============================================
   コンテンツ全般
   ============================================ */

/* メインコンテンツ余白 */
.site-content,
.content-area,
main.content {
  padding-top: 0 !important;
}
@media (max-width: 1020px) and (min-width: 768px) {
  .site-inner { padding-top: 0 !important; }
}
@media (max-width: 767px) {
  .site-inner { padding-top: 0 !important; }
}

/* 見出し */
.entry-title {
  font-size: 2.4rem !important;
  line-height: 1.35 !important;
  font-weight: 700 !important;
  color: var(--togl-ink) !important;
}
@media (max-width: 767px) {
  .entry-title { font-size: 1.8rem !important; }
}

h2 { font-size: 1.6rem; }
h3 { font-size: 1.25rem; }

/* 本文 */
.entry-content p,
.entry-content li {
  line-height: 1.95;
  font-size: 0.96rem;
}

/* 画像ボーダー */
.img-border img {
  border: solid 1px #999;
}

/* ============================================
   ボタン
   ============================================ */

.wp-block-button__link,
.kadence-button,
.kb-btn,
.button,
button[type="submit"],
input[type="submit"] {
  background-color: var(--togl-ink) !important;
  border-color: var(--togl-ink) !important;
  color: #fff !important;
  border-radius: 0 !important;
  letter-spacing: 0.1em;
  font-size: 0.85rem !important;
  transition: background-color 0.25s, transform 0.2s !important;
  padding: 0.75rem 1.8rem !important;
}
.wp-block-button__link:hover,
.kadence-button:hover,
.kb-btn:hover,
.button:hover,
button[type="submit"]:hover,
input[type="submit"]:hover {
  background-color: var(--togl-accent-hover) !important;
  border-color: var(--togl-accent-hover) !important;
  transform: translateY(-2px);
  opacity: 1 !important;
}

/* アウトラインボタン */
.wp-block-button.is-style-outline .wp-block-button__link {
  background: transparent !important;
  color: var(--togl-ink) !important;
  border: 2px solid var(--togl-ink) !important;
}
.wp-block-button.is-style-outline .wp-block-button__link:hover {
  background: #014849 !important;
  border-color: #014849 !important;
  color: #fff !important;
}

/* ============================================
   ブログ記事一覧
   ============================================ */

/* カード */
.posts-container article,
.loop-entry,
.kadence-post-block-item,
article.type-post {
  border-radius: 0 !important;
  border: 1px solid var(--togl-line) !important;
  background: #fff !important;
  overflow: hidden;
  position: relative;
  transition: background 0.25s, box-shadow 0.25s;
}
.posts-container article:hover,
.loop-entry:hover,
.kadence-post-block-item:hover {
  background: var(--togl-cream) !important;
  box-shadow: 0 4px 24px rgba(0,0,0,0.06);
}

/* カード下線アニメーション */
.posts-container article::after,
.loop-entry::after {
  content: '';
  position: absolute;
  bottom: 0; left: 0;
  width: 100%; height: 3px;
  background: #014849;
  transform: scaleX(0);
  transform-origin: left;
  transition: transform 0.35s cubic-bezier(0.16,1,0.3,1);
}
.posts-container article:hover::after,
.loop-entry:hover::after {
  transform: scaleX(1);
}

/* 記事タイトルリンク */
.entry-title a,
.loop-entry .entry-title a {
  color: var(--togl-ink) !important;
  text-decoration: none !important;
  transition: color 0.2s;
}
.entry-title a:hover,
.loop-entry .entry-title a:hover {
  color: #014849 !important;
  opacity: 1 !important;
}

/* カテゴリラベル */
.entry-taxonomies a,
.cat-links a,
.entry-categories a,
.kadence-post-block-item .kt-blocks-info-box-learnmore {
  display: inline-block;
  background: #016b6d !important;
  color: #fff !important;
  font-size: 0.68rem !important;
  letter-spacing: 0.14em !important;
  text-transform: uppercase !important;
  padding: 0.2rem 0.65rem !important;
  border-radius: 0 !important;
  text-decoration: none !important;
  margin-bottom: 0.4rem;
  transition: background 0.2s;
}
.entry-taxonomies a:hover,
.cat-links a:hover {
  background: #014849 !important;
  opacity: 1 !important;
}

/* 日付・メタ情報 */
.entry-meta,
.posted-on,
.entry-date,
.post-date {
  font-size: 0.75rem !important;
  color: var(--togl-muted) !important;
  letter-spacing: 0.08em;
}

/* ============================================
   個別記事
   ============================================ */

/* 本文内 h2 */
.single .entry-content h2,
.page .entry-content h2 {
  font-size: 1.4rem !important;
  font-weight: 600 !important;
  padding-bottom: 0.6rem;
  border-bottom: 1px solid var(--togl-line);
  margin-top: 2.8rem;
  margin-bottom: 1rem;
}

/* 本文内 h3 */
.single .entry-content h3,
.page .entry-content h3 {
  font-size: 1.1rem !important;
  font-weight: 600 !important;
  margin-top: 2rem;
}

/* 引用 */
blockquote,
.entry-content blockquote {
  border-left: 3px solid #014849 !important;
  background: var(--togl-cream) !important;
  padding: 1.4rem 1.8rem !important;
  border-radius: 0 !important;
  font-size: 1rem;
  color: var(--togl-ink) !important;
  margin: 2rem 0 !important;
}
blockquote p { margin-bottom: 0 !important; }

/* タグ */
.post-tags a,
.wp-block-tag-cloud a,
.tagcloud a {
  border: 1px solid var(--togl-line) !important;
  border-radius: 0 !important;
  background: transparent !important;
  color: var(--togl-muted) !important;
  font-size: 0.72rem !important;
  padding: 0.25rem 0.75rem !important;
  letter-spacing: 0.08em;
  transition: all 0.2s;
}
.post-tags a:hover,
.wp-block-tag-cloud a:hover,
.tagcloud a:hover {
  background: #014849 !important;
  border-color: #014849 !important;
  color: #fff !important;
  opacity: 1 !important;
}

/* ============================================
   フォーム
   ============================================ */

input[type="text"],
input[type="email"],
input[type="tel"],
input[type="url"],
textarea,
select {
  border: 1px solid var(--togl-line) !important;
  border-radius: 0 !important;
  background: #fff !important;
  font-family: inherit !important;
  transition: border-color 0.2s, box-shadow 0.2s !important;
}
input[type="text"]:focus,
input[type="email"]:focus,
input[type="tel"]:focus,
textarea:focus,
select:focus {
  border-color: #014849 !important;
  box-shadow: 0 0 0 2px rgba(1,72,73,0.15) !important;
  outline: none !important;
}

/* ============================================
   ページネーション
   ============================================ */

.pagination .page-numbers,
.nav-links .page-numbers {
  border-radius: 0 !important;
  border: 1px solid var(--togl-line) !important;
  color: var(--togl-muted) !important;
  background: transparent !important;
  font-size: 0.82rem;
  transition: all 0.2s;
}
.pagination .page-numbers.current,
.pagination .page-numbers:hover {
  background: #014849 !important;
  border-color: #014849 !important;
  color: #fff !important;
}

/* ============================================
   フッター
   ============================================ */

.site-footer,
footer#colophon,
footer {
  background-color: var(--togl-footer) !important;
  color: rgba(255,255,255,0.75) !important;
  border-top: none !important;
}
.site-footer a,
footer#colophon a,
#menu-footer a {
  color: rgba(255,255,255,0.75) !important;
  font-size: 0.9rem;
  text-decoration: none;
  transition: color 0.2s;
}
.site-footer a:hover,
#menu-footer a:hover {
  color: #a8cfc3 !important;
  opacity: 1 !important;
}
#menu-footer {
  padding-bottom: 3em;
}
.entry-footer {
  color: #333333 !important;
  background-color: #fff !important;
}

/* ============================================
   区切り線
   ============================================ */

hr,
.wp-block-separator {
  border-color: var(--togl-line) !important;
  border-top-width: 1px !important;
}

/* ============================================
   レスポンシブ補正
   ============================================ */

@media (max-width: 767px) {
  .entry-title { font-size: 1.7rem !important; }
  h2 { font-size: 1.3rem; }
  .site-footer { text-align: center; }
}
/* ── ブログ一覧カード：記事タイトルサイズ修正 ── */
.posts-container .entry-title,
.posts-container h2.entry-title,
.loop-entry h2,
.loop-entry .entry-title {
  font-size: 1.1rem !important;
  line-height: 1.5 !important;
  font-weight: 600 !important;
}
.content-area {
  margin-top: 0 !important;
}
