/**
 * サイト固有のスタイル調整を置くファイル。
 *
 * style.css（base 共通）とは分離し、展開した各サイト固有の差分のみをここに記述する。
 * これにより style.css を base と同一に保ち、base の改修をそのまま各サイトへ
 * 取り込めるようにする（custom.js の CSS 版）。
 *
 * style.css の後に読み込まれる（enqueue 依存：style 他）。
 * base 本体にはサイト固有スタイルが無いため、ここは空（雛形）。
 */

/* ドロワー左半分のビジュアルは表示しない（カラム＝画像枠は維持）。
   再表示するときは background-image の行を外すだけでよいよう、
   画像ファイル（img/drawervisual.webp）と中央配置の指定は残しておく。 */
.drawer__nav__media { background-image: none; background-position: center center; }

/* コピーライト帯の背景をアクセントカラーに、文字は通常のテキストカラー（base は accent=黄／黒文字） */
.footer-credit { background: var(--color-accent) !important; color: var(--color-text) !important; }

/* メッセージのキャッチコピーの文字色 */
.message-body .is-style-catchphrase { color: #d9007a; }

/* 略歴リスト（list-def2）の●／タイムラインの●・縦線の色 */
.list-def2 li::before { color: #d9007a; }
.kn-timeline-item::before,
.kn-timeline-item dt::after { background-color: #d9007a; }

/* 国民民主党ニュースのカード内リンクのウエイト */
.module--feed-dpfp .full-range-link { font-weight: 400; }

/* プロフィールの略歴リスト（.prof-body 直下の list-def2）のウエイト。
   政策セクションの list-def2 は対象外。 */
.prof-body .list-def2 { font-weight: 500; }

/* 政策セクションのキャッチフレーズと、政策タイトルの連番の色
   （連番の base はアクセントの淡いピンク） */
.policy-body .catchphrase { color: #d9007a; }
.module--policy-b .policy-b__title h3::before {
	color: #d9007a;
	/* 連番は 01〜 の2桁表記にする（base は 1〜）。
	   代替テキスト付きの content は Safari 17.4 未満で宣言ごと無視されるため併記する。 */
	content: counter(policy-b, decimal-leading-zero);
	content: counter(policy-b, decimal-leading-zero) / "";
}

/* シェアボタンの配色。base はシェア先ごとの色（X=黒／Facebook=青／LINE=緑／
   リンクコピー=teal）だが、このサイトではサービス別の色分けは行わない。
   他のボタン類（.more a 等）とは異なり、シェアボタンは例外として枠線を持たず、
   通常＝薄グレー地＋プライマリーの文字、hover＝プライマリー地＋白文字とする。 */
.spread-tw,
.spread-fb,
.spread-ln,
.spread-copy,
.spread-os {
	color: var(--color-primary); background: var(--color-bg-subtle); border: none;
}
.spread-tw:hover, .spread-tw:active,
.spread-fb:hover, .spread-fb:active,
.spread-ln:hover, .spread-ln:active,
.spread-copy:hover, .spread-copy:active,
.spread-os:hover, .spread-os:active {
	color: var(--color-white); background: var(--color-primary);
}

/* スライダーの現在地のドットをプライマリーカラーに。
   base はアクセントの淡いピンクで 1.32:1 しかなく、現在地が判別しづらいため
   （非アクティブは --color-slick-dot 側で確保）。
   base の .top-mv 側が !important 指定のため、こちらも !important で揃える。 */
.slick-dots li.slick-active button,
.top-mv .slick-active button,
.module-banner .slick-dots li.slick-active button { background: var(--color-primary) !important; }

/* テキストリンクは下線でも示す。リンク色は本文色とも装飾の差し色とも近く、
   色だけでは「押せるもの」を判別できないため（WCAG 1.4.1）。
   下線色は指定せず、リンク色（プライマリー）を継承させる。
   ボタン・ナビゲーション（形や矢印アイコンで判別できるもの）は対象外。 */
.entry-content a,
.message-body a,
.box-atenntion-content a,
.module--feed-dpfp .full-range-link { text-decoration: underline; }

/* ナビゲーションのリンクは矢印アイコンで判別できるため下線は付けないが、
   ホバー時は下線を出して「押せる」ことを色以外でも示す。 */
.drawer__nav__link:hover,
.footer-nav-area a:hover { text-decoration: underline; }

/* プライバシーポリシー枠（SimpleBar）のつまみをプライマリーカラーに（base は党カラーの紺） */
.privacy-iframe .simplebar-scrollbar::before { background: var(--color-primary); }

/* ハンバーガーボタンの配色を他のボタン類に合わせる。
   base は「白地＋プライマリーの線／hover でプライマリー地＋白線」だが、
   通常＝プライマリー地＋白線、hover＝アクセント地＋プライマリーの線 に揃える。
   開いている状態（.active）は base のまま（プライマリー地＋白線＋×字形）。
   base の hover が !important のため、こちらも !important で揃える。 */
.drawer__button { background-color: var(--color-primary); }
.drawer__button > span { background-color: var(--color-white); }
.drawer__button:hover { background-color: var(--color-accent) !important; }
.drawer__button:hover > span { background-color: var(--color-primary); }

/* セクション見出しの下線を非表示 */
.section-head .top-section-title__text::after { display: none; }

/* セクション見出しのサイズ（base は 2.2em）。
   SP の 1.5em（style.css の max-width:768px 側）を打ち消さないよう PC のみに限定する。 */
@media (min-width: 769px) {
	.section-head .top-section-title {
		font-size: 2em;
		font-weight: 700;
	}
}

/* メッセージ・プロフィール・政策はセクション見出しを表示しない。
   display:none だと h2 が支援技術からも消えて見出しの階層が崩れるため、
   .screen-reader-text と同じ方式で視覚的にのみ隠す。 */
.module--message .section-head,
.module--profile-a .section-head,
.module--policy-b .section-head {
	position: absolute; left: -9999px; top: auto; width: 1px; height: 1px; overflow: hidden;
}

/* プロフィールの氏名・ふりがなの文字色 */
.top-section-body-wrap.prof01 .prof-name,
.top-section-body-wrap.prof01 .prof-name-kana { color: #d9007a; }

/* 表示テキストの font-weight:900 を 700 に統一（jo）。
   Font Awesome アイコンの 900（\f… の字形指定）はアイコンが壊れるため除外。 */
.hero-fullscreen__catch,
.hero-fullscreen__name,
.hero-static__catch,
.hero-static__name,
.member h2, .candidate h2,
.entry-header-member h1,
.policy-module .policylist-subtitle,
.top-section-body-wrap.prof01 .prof-name,
.top-section-body-wrap.prof02 .prof-name,
.form-caution::before,
.caution-list ul li::before,
.catchphrase,
.is-style-catchphrase,
.subtitle,
.header .header-ttl-big {
	font-weight: 700 !important;
}

/* ===== プロフィールA：osakabe レイアウト（写真＝左オーバーレイ／氏名・略歴＝右）===== */
.top-section-body-wrap.prof01 .prof-name { font-size: 2.2em; }
.module--profile-a .prof-img-wrap { position: relative; }

@media (min-width: 769px) {
	.module--profile-a .prof-img {
		position: absolute;
		left: 40px;
		top: -5em;
		width: 45%;
		height: 450px;
		margin: 0;
		border-radius: 0;
		z-index: 2;
		object-fit: cover;
		object-position: 50% 22%; /* hero-main.png（縦長）で顔が入る位置 */
	}
	.module--profile-a .top-section-body-wrap.prof01 {
		margin-top: 3em;
		padding-top: 3em;
		padding-bottom: 3em;
		padding-left: 4em;
		padding-right: 4em;
		position: relative;
	}
	/* キャッチ無しで右カラムが低いと略歴が写真(450px)に重なるため高さを確保。
	   写真下の余白＝略歴↔タイムライン間隔(40px)に合わせて min-height を調整。 */
	.module--profile-a .prof-content-main { padding-left: 50%; min-height: 329px; }
	.module--profile-a .prof-content { padding-bottom: 20px; }
	.module--profile-a .top-section-body-wrap.prof01 .prof-name,
	.module--profile-a .top-section-body-wrap.prof01 .prof-name-kana { text-align: left !important; }
}

@media (max-width: 768px) {
	.module--profile-a .top-section-body-wrap.prof01 { margin-top: 0; padding-top: 1em; }
	/* SP は縦積み。SNS を写真の下へ（order で末尾に送る）。上下マージンは半分に */
	.module--profile-a .prof-content-main { display: flex; flex-direction: column; }
	.module--profile-a .prof-sns { order: 1; margin-top: 1em; margin-bottom: 1em; }
	.module--profile-a .prof-img {
		width: 100%;
		height: 300px;
		object-fit: cover;
		object-position: 50% 22%;
		margin-bottom: 1em;
		display: block;
		border-radius: 0;
	}
}

/* プロフィールSNS：上下の区切り線を無しに（PC/SP共通）、PC は左寄せ */
.module--profile-a .prof-sns { border-top: none; border-bottom: none; }
@media (min-width: 769px) {
	.module--profile-a .prof-sns .account-list { justify-content: flex-start; }
}

/* セクション本文の背景をベタ塗りにする。
   対象：メッセージ／プロフィール／政策／お問い合わせ。 */
.message-body,
.top-section-body-wrap.prof01,
.policy-body,
.box-atenntion-content {
	background: #fffcf5;
}
