@charset "UTF-8";
/*!
Theme Name: Cocoon Child
Description: Cocoon専用の子テーマ
Theme URI: https://wp-cocoon.com/
Author: わいひら
Author URI: https://nelog.jp/
Template: cocoon-master
Version: 1.1.3
*/

/* ===== 新潟大家の会 - Nature Design ===== */

@import url('https://fonts.googleapis.com/css2?family=Noto+Sans+JP:wght@300;400;500;700;900&family=Noto+Serif+JP:wght@400;700&display=swap');

/* --- 全体 --- */
:root {
  --primary-dark: #2B4C5E;
  --primary-teal: #3A7C6A;
  --accent-green: #5B9A4D;
  --accent-blue: #4A8BB5;
  --text-dark: #2A2A2A;
  --text-light: #666666;
  --bg-cream: #FAFAF7;
  --bg-white: #FFFFFF;
  --border-light: #E8E8E4;
}

body {
  font-family: 'Noto Sans JP', sans-serif !important;
  background: var(--bg-cream) !important;
  color: var(--text-dark);
  line-height: 1.8;
}

/* --- ヘッダー --- */
.header, #header, .site-header-logo, #header-in {
  background: var(--bg-white) !important;
  border-bottom: 1px solid var(--border-light) !important;
  box-shadow: none !important;
  backdrop-filter: none !important;
}

#header .header-in {
  background: var(--bg-white) !important;
}

.logo-text, .site-name-text, #sitename, .site-name-text a {
  color: var(--primary-dark) !important;
  font-family: 'Noto Serif JP', serif !important;
  font-weight: 700 !important;
  font-size: 1.6em !important;
  letter-spacing: 0.08em;
}

/* ナビゲーション */
#navi, .navi, .navi-in, #navi .navi-in {
  background: var(--bg-white) !important;
  border-top: 1px solid var(--border-light);
  border-bottom: 2px solid var(--primary-teal);
}

.navi-in > ul > li > a {
  color: var(--text-dark) !important;
  font-weight: 500 !important;
  font-size: 0.95em !important;
  letter-spacing: 0.05em;
  padding: 12px 20px !important;
  position: relative;
  transition: color 0.3s ease;
}

.navi-in > ul > li > a:hover {
  color: var(--primary-teal) !important;
  background: transparent !important;
}

.navi-in > ul > li > a::after {
  content: '';
  position: absolute;
  bottom: 0;
  left: 50%;
  width: 0;
  height: 2px;
  background: var(--primary-teal);
  transition: all 0.3s ease;
  transform: translateX(-50%);
}

.navi-in > ul > li > a:hover::after {
  width: 80%;
}

/* --- フッター --- */
#footer, .footer, .footer-bottom {
  background: var(--primary-dark) !important;
  color: #D0D8DD !important;
  position: relative;
}

#footer::before {
  content: '';
  position: absolute;
  top: -50px;
  left: 0;
  width: 100%;
  height: 50px;
  background: var(--primary-dark);
  clip-path: ellipse(55% 100% at 50% 100%);
}

.footer a, #footer a {
  color: #B8C8D2 !important;
  transition: color 0.3s;
}

.footer a:hover, #footer a:hover {
  color: #FFFFFF !important;
}

.copyright, .copyright-center {
  color: #8A9DA8 !important;
  font-size: 0.85em;
}

/* --- コンテンツエリア --- */
.main, #main, .content, #content {
  background: transparent !important;
}

.article, .post, .page {
  background: transparent !important;
  box-shadow: none !important;
  border: none !important;
}

.entry-content {
  max-width: 100% !important;
}

/* カード風装飾 */
.front-page-type .entry-content {
  padding: 0 !important;
}

/* --- サイドバー非表示（フロントページ） --- */
.page-id-23 #sidebar,
.page-id-23 .sidebar {
  display: none !important;
}

.page-id-23 #main,
.page-id-23 .main {
  width: 100% !important;
  max-width: 100% !important;
  margin: 0 !important;
  float: none !important;
}

.page-id-23 .wrap {
  max-width: 100% !important;
  padding: 0 !important;
}

.page-id-23 .content-in {
  display: block !important;
}

/* --- ボタンスタイル --- */
a.btn, .wp-block-button__link, .btn-wrap a {
  background: var(--primary-teal) !important;
  border: 2px solid var(--primary-teal) !important;
  color: #fff !important;
  border-radius: 50px !important;
  padding: 14px 40px !important;
  font-weight: 500 !important;
  transition: all 0.3s ease !important;
  box-shadow: none !important;
}

a.btn:hover, .wp-block-button__link:hover, .btn-wrap a:hover {
  background: transparent !important;
  color: var(--primary-teal) !important;
}

/* --- 見出し --- */
.article h2 {
  border: none !important;
  background: none !important;
  padding: 0 0 15px 0 !important;
  font-family: 'Noto Serif JP', serif !important;
  font-weight: 700;
  color: var(--primary-dark);
  font-size: 1.6em;
  position: relative;
}

.article h2::after {
  content: '';
  display: block;
  width: 60px;
  height: 3px;
  background: var(--primary-teal);
  margin-top: 10px;
}

.article h3 {
  border: none !important;
  background: none !important;
  padding: 0 !important;
  font-weight: 700;
  color: var(--primary-dark);
  border-left: 3px solid var(--primary-teal) !important;
  padding-left: 15px !important;
}

/* --- スクロールトップボタン --- */
.go-to-top-button, #go-to-top, .go-to-top {
  background: var(--primary-teal) !important;
  color: #fff !important;
  border-radius: 50% !important;
  border: 2px solid #fff !important;
  box-shadow: 0 2px 10px rgba(0,0,0,0.1) !important;
}

/* --- Cocoon管理バー下余白 --- */
.admin-bar #header {
  margin-top: 0;
}

/* --- タイトル非表示（フロントページ） --- */
.page-id-23 .entry-title,
.page-id-23 .article-header {
  display: none !important;
}

/* --- レスポンシブ --- */
@media screen and (max-width: 1023px) {
  .navi-in > ul > li > a {
    padding: 10px 15px !important;
    font-size: 0.9em !important;
  }
}

@media screen and (max-width: 834px) {
  .logo-text, .site-name-text, #sitename {
    font-size: 1.3em !important;
  }
}

@media screen and (max-width: 480px) {
  .logo-text, .site-name-text, #sitename {
    font-size: 1.1em !important;
  }
}
