@charset "UTF-8";
/*
    Template: swell
    Theme Name: SWELL CHILD
    Theme URI: https://swell-theme.com/
    Description: SWELLの子テーマ
    Version: 2.0.0
    Author: LOOS WEB STUDIO
    Author URI: https://loos-web-studio.com/

    License: GNU General Public License
    License URI: http://www.gnu.org/licenses/gpl.html
*/

/* ================================================
   「理念と経営」経営者の会 デザイン v2(ダーク×金)
   配色: ダーク #17151a / えんじ #a3273a / 金 #c9a95c
   ================================================ */
:root {
  --rk-dark: #17151a;
  --rk-dark2: #211e24;
  --rk-line-d: #3a353c;
  --rk-enji: #a3273a;
  --rk-enji-deep: #8b1f2f;
  --rk-gold: #c9a95c;
  --rk-gold-bright: #ddbe6e;
  --rk-ink-l: #eceae6;
  --rk-sub-l: #b3aca2;
  --rk-line: #e8e2d5;
  --rk-ink: #2b2b2b;
  --rk-serif: "Yu Mincho", "YuMincho", "Hiragino Mincho ProN", "Noto Serif JP", serif;
}

/* ========== ヘッダー(全ページ共通・ダーク) ========== */
.l-header, .l-fixHeader, .l-fixHeader__inner, .l-header__inner, .l-header__bar,
.l-header.is-fixed, .l-header[data-scrolled="true"] { background: rgba(23,21,26,.97) !important; }
.l-header { border-bottom: 1px solid var(--rk-line-d); }
.l-header .c-gnav > li > a, .l-fixHeader .c-gnav > li > a,
.l-fixHeader a { color: var(--rk-ink-l) !important; }
.l-header .c-gnav > li > a:hover, .l-fixHeader .c-gnav > li > a:hover { color: var(--rk-gold-bright) !important; }
.l-header .c-gnav > li > a .c-gnav__subLabel { color: var(--rk-gold) !important; }
/* ハンバーガー・検索などのアイコン */
.l-header .c-iconBtn, .l-header [class*="menuBtn"], .l-header .p-spMenu__openBtn { color: #fff !important; }
.c-hamburger, .c-hamburger::before, .c-hamburger::after { background: #fff !important; }
/* ヘッダー上の帯(キャッチフレーズ) */
.l-headerBar, .p-headerBar { background: #0d0b0e !important; color: #9a948c !important; }

/* ========== フッター(全ページ共通・ダーク) ========== */
.l-footer { background: #0d0b0e !important; color: #7d766e !important; }
.l-footer a { color: #a59d92 !important; }

/* ========== トップページ全体をダークに ========== */
.home .l-content, .home #content, .home .l-mainContent, .home main { background: var(--rk-dark); }
.home { background: var(--rk-dark); }
.home .c-pageTitle, .home .p-articleHead { display: none !important; }
.home .p-mainVisual { display: none !important; }
.home .p-postSlider { display: none !important; }
.home .l-sidebar { display: none !important; }
.home .l-mainContent { width: 100% !important; max-width: 100% !important; flex: 1 1 100% !important; }
.home { overflow-x: clip; }
.home .post_content { color: var(--rk-ink-l); }
.home .l-content { padding-bottom: 0 !important; }
/* ヘッダーとヒーローの間の余白を詰める */
.home .l-content, .home #content { margin-top: 0 !important; padding-top: 0 !important; }
.home .l-mainContent__inner, .home article, .home .w-post {
  margin-top: 0 !important; padding-top: 0 !important; }
.home .post_content > .wp-block-html:first-child .rk-hero { margin-top: 0; }

/* 全幅帯 */
.rk-full { margin-left: calc(50% - 50vw); margin-right: calc(50% - 50vw); }

/* ========== 見出し ========== */
/* SWELL標準のh2/h3装飾(色帯・下線)を打ち消す */
.post_content h2.rk-h2 { background: transparent !important; border: none !important;
  padding: 0 !important; box-shadow: none !important; border-radius: 0 !important; color: #fff !important; }
.post_content h2.rk-h2::before { content: none !important; display: none !important; }
.rk-top h3 { background: transparent !important; border: none !important;
  padding: 0 !important; box-shadow: none !important; }
.rk-top h3::before, .rk-top h3::after { content: none !important; display: none !important; }
.rk-top img { border: none !important; box-shadow: none !important; border-radius: 0 !important; }
.rk-h2 { font-family: var(--rk-serif); font-size: 1.55em; color: #fff;
  text-align: center; margin: 0 0 .6em; letter-spacing: .18em; font-weight: 600; }
.rk-h2 small { display: block; font-size: .5em; color: var(--rk-gold); letter-spacing: .35em;
  font-family: sans-serif; margin-bottom: .7em; }
.rk-h2::after { content: ""; display: block; width: 48px; height: 2px;
  background: var(--rk-gold); margin: 16px auto 0; }
.rk-section { padding: 4.2em 0; }

/* ========== ヒーロー(写真+暗色オーバーレイ) ========== */
.rk-hero { position: relative; min-height: 72vh; display: flex; flex-direction: column;
  align-items: center; justify-content: center; text-align: center; overflow: hidden;
  background: url(/wp-content/uploads/2026/07/top-hero.jpg) center 30% / cover no-repeat #17151a;
  padding: 5em 1.2em; }
.rk-hero::before { content: ""; position: absolute; inset: 0;
  background: linear-gradient(180deg, rgba(13,11,14,.45) 0%, rgba(13,11,14,.78) 100%); }
.rk-hero > * { position: relative; }
.rk-hero-label { color: var(--rk-gold); font-size: .82em; letter-spacing: .5em; margin: 0 0 1em;
  font-family: var(--rk-serif); }
.rk-hero-title { color: #fff; font-family: var(--rk-serif); font-weight: 600;
  font-size: clamp(1.9em, 6vw, 3.4em); letter-spacing: .16em; margin: 0 0 .5em; line-height: 1.5; }
.rk-hero-rule { width: 56px; height: 1px; background: var(--rk-gold); margin: 0 auto 1.4em; }
.rk-hero-sub { color: #d8d3ca; font-size: .95em; line-height: 2.1; margin: 0 0 2.2em; letter-spacing: .06em; }
.rk-hero-btns { display: flex; gap: 14px; justify-content: center; flex-wrap: wrap; }
.rk-btn-gold, .rk-btn-white { display: inline-block; padding: .95em 2.4em;
  font-weight: 700; font-size: .95em; text-decoration: none; letter-spacing: .08em; }
.rk-btn-gold { background: var(--rk-gold); color: #2a2008 !important; }
.rk-btn-gold:hover { background: var(--rk-gold-bright); }
.rk-btn-white { border: 1px solid rgba(255,255,255,.65); color: #fff !important; }
.rk-btn-white:hover { background: rgba(255,255,255,.12); }

/* ========== 数字帯(えんじ) ========== */
.rk-stats { background: var(--rk-enji); display: flex; justify-content: center;
  padding: 0 1em; flex-wrap: wrap; text-align: center; }
.rk-stats div { min-width: 130px; flex: 0 1 220px; padding: 1.6em .5em;
  border-right: 1px solid rgba(255,255,255,.18); }
.rk-stats div:last-child { border-right: none; }
.rk-stats strong { display: block; font-family: var(--rk-serif); font-size: 2.3em;
  color: #fff; line-height: 1.25; font-weight: 700; }
.rk-stats span { font-size: .74em; color: rgba(255,255,255,.75); letter-spacing: .25em; }

/* ========== 3つの柱(写真カード) ========== */
.rk-pillars { display: grid; grid-template-columns: repeat(auto-fit, minmax(230px, 1fr));
  gap: 20px; max-width: 1000px; margin: 0 auto; padding: 0 1em; }
.rk-pillar { background: var(--rk-dark2); border: 1px solid var(--rk-line-d); overflow: hidden; }
.rk-pillar-ph { height: 150px; overflow: hidden; }
.rk-pillar-ph img { width: 100%; height: 100%; object-fit: cover;
  filter: brightness(.85) saturate(.92); transition: .4s; display: block; }
.rk-pillar:hover .rk-pillar-ph img { transform: scale(1.05); }
.rk-pillar-bd { padding: 1.5em 1.5em 1.7em; }
.rk-pillar-no { font-family: var(--rk-serif); color: var(--rk-gold); font-size: .85em; letter-spacing: .2em; }
.rk-pillar h3 { font-family: var(--rk-serif); font-size: 1.15em; color: #fff;
  margin: .4em 0 .6em; letter-spacing: .08em; }
.rk-pillar p { font-size: .84em; color: var(--rk-sub-l); margin: 0; line-height: 1.95; }

/* ========== 会長メッセージ ========== */
.rk-msg { background: var(--rk-dark2); }
.rk-msg-wrap { max-width: 1000px; margin: 3em auto 0; padding: 0 1.2em;
  display: grid; grid-template-columns: 5fr 6fr; gap: 44px; align-items: center; }
.rk-msg-photo { position: relative; }
.rk-msg-photo::after { content: ""; position: absolute; inset: 16px -16px -16px 16px;
  border: 1px solid var(--rk-gold); pointer-events: none; }
.rk-msg-photo img { width: 100%; display: block; position: relative; }
.rk-msg-quote { font-family: var(--rk-serif); font-size: 1.35em; line-height: 2.1;
  letter-spacing: .1em; color: #fff; margin: 0; }
.rk-msg-who { margin-top: 1.4em; font-size: .84em; color: var(--rk-sub-l); }
.rk-msg-who b { font-size: 1.25em; color: var(--rk-gold); margin-left: .6em; font-family: var(--rk-serif); }
.rk-msg-more { display: inline-block; margin-top: 1.3em; color: var(--rk-gold) !important;
  font-size: .9em; text-decoration: none; border-bottom: 1px solid var(--rk-gold); padding-bottom: 2px; }
@media (max-width: 780px) { .rk-msg-wrap { grid-template-columns: 1fr; } }

/* ========== メニュー(写真カード) ========== */
.rk-quick { display: grid; grid-template-columns: repeat(auto-fit, minmax(210px, 1fr));
  gap: 16px; max-width: 1000px; margin: 0 auto; padding: 0 1em; }
.rk-quick a { position: relative; display: block; height: 220px; overflow: hidden;
  text-decoration: none; border: 1px solid var(--rk-line-d); }
.rk-quick a img { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover;
  transition: .4s; filter: brightness(.5) saturate(.9); }
.rk-quick a:hover img { transform: scale(1.06); filter: brightness(.68); }
.rk-quick a::before { content: ""; position: absolute; left: 0; top: 0; width: 3px; height: 100%;
  background: var(--rk-gold); z-index: 2; }
.rk-quick b { position: absolute; left: 20px; bottom: 38px; z-index: 2; color: #fff;
  font-family: var(--rk-serif); font-size: 1.1em; letter-spacing: .06em; }
.rk-quick small { position: absolute; left: 20px; bottom: 16px; z-index: 2;
  color: #cfc9c0; font-size: .74em; }

/* ========== 新着情報 ========== */
.rk-news-list { max-width: 820px; margin: 0 auto !important; padding: 0 1em !important; list-style: none; }
.rk-news-list li { border-bottom: 1px solid var(--rk-line-d); padding: 1em .2em;
  display: flex; gap: 16px; align-items: baseline; flex-wrap: wrap; }
.rk-news-list a { color: var(--rk-ink-l); text-decoration: none; }
.rk-news-list a:hover { color: var(--rk-gold-bright); }
.rk-news-list .wp-block-latest-posts__post-date { color: var(--rk-gold); font-size: .8em;
  order: -1; min-width: 6.2em; font-family: var(--rk-serif); }

/* ========== CTA帯(写真背景) ========== */
.rk-cta { position: relative; text-align: center; padding: 4.5em 1.2em; overflow: hidden;
  background: url(/wp-content/uploads/2026/07/top-hall.jpg) center / cover no-repeat #0d0b0e; }
.rk-cta::before { content: ""; position: absolute; inset: 0; background: rgba(13,11,14,.72); }
.rk-cta > * { position: relative; }
.rk-cta p.rk-cta-title { color: #fff; font-family: var(--rk-serif); font-size: 1.4em;
  letter-spacing: .15em; margin: 0 0 .4em; }
.rk-cta p.rk-cta-sub { color: #cfc9c0; font-size: .85em; margin: 0 0 1.8em; }

/* ========== 記事・下層ページ(ライトのまま・トップと調和) ========== */
/* ページ/記事タイトル */
#body_wrap:not(.home) .c-pageTitle {
  font-family: var(--rk-serif); letter-spacing: .1em; line-height: 1.6; }
#body_wrap:not(.home) .c-pageTitle::after {
  content: ""; display: block; width: 44px; height: 2px;
  background: var(--rk-gold); margin-top: 12px; }

/* 記事本文の見出し: 帯をやめて明朝+金/えんじの上品な形に */
#body_wrap:not(.home) .post_content h2 {
  font-family: var(--rk-serif); letter-spacing: .06em;
  background: transparent !important; color: var(--rk-ink) !important;
  padding: 0 0 .45em !important; border: none !important;
  border-bottom: 2px solid var(--rk-gold) !important;
  box-shadow: none !important; border-radius: 0 !important; }
#body_wrap:not(.home) .post_content h2::before { content: none !important; }
#body_wrap:not(.home) .post_content h3 {
  font-family: var(--rk-serif); letter-spacing: .05em;
  background: transparent !important; color: var(--rk-ink) !important;
  border: none !important; border-left: 4px solid var(--rk-enji-deep) !important;
  padding: .25em 0 .25em .7em !important; box-shadow: none !important; }
#body_wrap:not(.home) .post_content h3::before, #body_wrap:not(.home) .post_content h3::after { content: none !important; }

/* 表(月次報告など) */
#body_wrap:not(.home) .post_content table { border-collapse: collapse; }
#body_wrap:not(.home) .post_content table thead th {
  background: var(--rk-enji-deep) !important; color: #fff !important;
  border-color: var(--rk-enji-deep) !important; font-weight: 600; }
#body_wrap:not(.home) .post_content table th,
#body_wrap:not(.home) .post_content table td { border: 1px solid var(--rk-line); }
#body_wrap:not(.home) .post_content table tbody tr:nth-child(even) td { background: #faf8f3; }

/* 著者ボックス(この記事を書いた人) */
.p-authorBox { border: 1px solid var(--rk-line) !important; background: #faf8f3; }
.p-authorBox__name { font-family: var(--rk-serif); color: var(--rk-enji-deep) !important; }

/* 記事下・アーカイブの記事タイトルを明朝に */
.p-postList__title, .c-secTitle { font-family: var(--rk-serif); letter-spacing: .05em; }

/* 目次タイトル */
.p-toc__title { font-family: var(--rk-serif); letter-spacing: .1em; }
