/*
Theme Name: DN Corporation（jstork19 子テーマ）
Template: jstork19
Description: 株式会社DNコーポレーション用の子テーマ。デザインのCSSはこのファイルにまとめている（追加CSSは使わない）。
Version: 1.2.4
*/

/* 中身の並び：デモ2610 専用（事業内容）→ デモ2610 ページ全体 → サステナビリティ → 投稿ページ・記事一覧 → お問い合わせ（ID 165）→ ヘッダー・SP固定フッター（全ページ）。
   元は追加CSSに入っていたもの。ページIDで効く範囲を絞っている（110=デモ2610、125=サステナビリティ）。 */

/* ===== DN デモ2610 専用（ここから） =====
   body.page-id-110 = 固定ページ「デモ2610」だけに効く。
   不要になったら「ここから」〜「ここまで」と、先頭のフォント読み込み（@import）の1行を消す。 */
body.page-id-110 .dn-biz {
  --dn-navy: #2c4a6e;
  --dn-navy-deep: #22395a;
  --dn-ivory: #f8f5ee;
  --dn-gold: #c5ae7c;
  --dn-text: #3a3f47;
  --dn-sub: #6b7280;
  --dn-serif-jp: "Noto Serif JP", "Yu Mincho", "YuMincho", "Hiragino Mincho ProN", serif;
  --dn-serif-en: "Cormorant Garamond", "Times New Roman", serif;
  font-variant-numeric: lining-nums;
  background: var(--dn-ivory);
  color: var(--dn-text);
  padding: 96px 40px 64px;
  margin-top: 0;
  margin-bottom: 0;
}

/* ---- jstork19 の見出し・リスト装飾を打ち消す ---- */
body.page-id-110 .dn-biz h2,
body.page-id-110 .dn-biz h3 {
  background: none !important;
  border: none !important;
  box-shadow: none !important;
  padding: 0 !important;
  margin: 0;
  color: var(--dn-navy) !important;
}
body.page-id-110 .dn-biz h2::before, body.page-id-110 .dn-biz h2::after,
body.page-id-110 .dn-biz h3::before, body.page-id-110 .dn-biz h3::after,
body.page-id-110 .dn-biz ol li::before, body.page-id-110 .dn-biz ol li::after {
  content: none !important;
  display: none !important;
}
body.page-id-110 .dn-biz p { margin: 0; }

/* ---- セクション見出し ---- */
body.page-id-110 .dn-biz .dn-sec-en {
  font-family: var(--dn-serif-en);
  font-style: italic;
  font-size: 1rem;
  letter-spacing: .24em;
  color: var(--dn-gold);
  text-align: center;
  margin-bottom: 10px;
}
body.page-id-110 .dn-biz h2.dn-sec-title {
  font-family: var(--dn-serif-jp);
  font-weight: 500;
  font-size: 2rem;
  letter-spacing: .2em;
  text-align: center;
  line-height: 1.5;
}
body.page-id-110 .dn-biz h2.dn-sec-title::after {
  content: "" !important;
  display: block !important;
  width: 48px;
  height: 1px;
  margin: 22px auto 0;
  background: var(--dn-gold);
}
body.page-id-110 .dn-biz .dn-sec-lead {
  max-width: 640px;
  margin: 28px auto 88px;
  text-align: center;
  font-size: .95rem;
  line-height: 2.1;
  color: var(--dn-sub);
}

/* ---- 各事業（メディアとテキスト） ---- */
body.page-id-110 .dn-biz .dn-biz-item {
  max-width: 1080px;
  margin: 0 auto 112px;
  grid-template-columns: 52% 1fr;
  column-gap: 0;
  align-items: center;
}
body.page-id-110 .dn-biz .dn-biz-item.has-media-on-the-right {
  grid-template-columns: 1fr 52%;
}
body.page-id-110 .dn-biz .dn-biz-item:last-child { margin-bottom: 32px; }

body.page-id-110 .dn-biz .dn-biz-item .wp-block-media-text__media {
  position: relative;
  margin: 0;
}
body.page-id-110 .dn-biz .dn-biz-item .wp-block-media-text__media img {
  display: block;
  width: 100%;
  aspect-ratio: 4 / 3;
  height: auto;
  object-fit: cover;
  position: relative;
  z-index: 1;
}
/* 写真の後ろにずらした金の細枠 */
body.page-id-110 .dn-biz .dn-biz-item .wp-block-media-text__media::before {
  content: "";
  position: absolute;
  inset: 18px -18px -18px 18px;
  border: 1px solid var(--dn-gold);
  z-index: 0;
}
body.page-id-110 .dn-biz .dn-biz-item.has-media-on-the-right .wp-block-media-text__media::before {
  inset: 18px 18px -18px -18px;
}

body.page-id-110 .dn-biz .dn-biz-item .wp-block-media-text__content {
  padding: 0 0 0 64px;
}
body.page-id-110 .dn-biz .dn-biz-item.has-media-on-the-right .wp-block-media-text__content {
  padding: 0 64px 0 0;
}

/* 番号と英字ラベル */
body.page-id-110 .dn-biz .dn-biz-label {
  font-family: var(--dn-serif-en);
  font-size: .95rem;
  letter-spacing: .18em;
  color: var(--dn-gold);
  display: flex;
  align-items: center;
  gap: 14px;
  margin-bottom: 14px;
}
body.page-id-110 .dn-biz .dn-biz-label strong {
  font-weight: 500;
  font-size: 2.6rem;
  letter-spacing: 0;
  line-height: 1;
}
body.page-id-110 .dn-biz .dn-biz-label::after {
  content: "";
  flex: 0 0 40px;
  height: 1px;
  background: var(--dn-gold);
}

body.page-id-110 .dn-biz h3.dn-biz-title {
  font-family: var(--dn-serif-jp);
  font-weight: 600;
  font-size: 1.5rem;
  letter-spacing: .12em;
  line-height: 1.6;
  margin-bottom: 18px;
}
body.page-id-110 .dn-biz .dn-biz-catch {
  font-family: var(--dn-serif-jp);
  font-size: 1.05rem;
  line-height: 1.9;
  color: var(--dn-navy-deep);
  margin-bottom: 16px;
}
body.page-id-110 .dn-biz .dn-biz-text {
  font-size: .92rem;
  line-height: 2;
  margin-bottom: 26px;
}

/* ポイント3つ */
body.page-id-110 .dn-biz ol.dn-biz-points {
  list-style: none !important;
  counter-reset: dnpt;
  margin: 0 !important;
  padding: 18px 0 0 !important;
  border-top: 1px solid rgba(197, 174, 124, .55);
  background: none !important;
}
body.page-id-110 .dn-biz ol.dn-biz-points li {
  counter-increment: dnpt;
  position: relative;
  padding: 0 0 12px 40px !important;
  margin: 0 !important;
  border: none !important;
  font-size: .88rem;
  line-height: 1.85;
  color: var(--dn-sub);
  background: none !important;
}
body.page-id-110 .dn-biz ol.dn-biz-points li::before {
  content: counter(dnpt, decimal-leading-zero) !important;
  display: block !important;
  position: absolute;
  left: 0;
  top: -1px;
  font-family: var(--dn-serif-en);
  font-size: 1.05rem;
  color: var(--dn-gold);
  background: none !important;
  width: auto; height: auto;
  border: none !important;
  border-radius: 0 !important;
  transform: none !important;
  line-height: 1.85 !important;
}
body.page-id-110 .dn-biz ol.dn-biz-points li strong {
  display: block;
  font-family: var(--dn-serif-jp);
  font-weight: 600;
  font-size: .95rem;
  color: var(--dn-navy);
  letter-spacing: .06em;
}

/* ---- タブレット ---- */
@media (max-width: 960px) {
  body.page-id-110 .dn-biz { padding: 72px 24px 48px; }
  body.page-id-110 .dn-biz .dn-biz-item .wp-block-media-text__content { padding-left: 40px; }
  body.page-id-110 .dn-biz .dn-biz-item.has-media-on-the-right .wp-block-media-text__content { padding: 0 40px 0 0; }
}

/* ---- スマホ（600px以下でブロックが縦積みになる） ---- */
@media (max-width: 600px) {
  body.page-id-110 .dn-biz { padding: 56px 16px 32px; }
  body.page-id-110 .dn-biz h2.dn-sec-title { font-size: 1.6rem; }
  body.page-id-110 .dn-biz .dn-sec-lead { margin-bottom: 56px; text-align: left; }
  body.page-id-110 .dn-biz .dn-biz-item,
  body.page-id-110 .dn-biz .dn-biz-item.has-media-on-the-right { margin-bottom: 72px; }
  body.page-id-110 .dn-biz .dn-biz-item .wp-block-media-text__media { margin-right: 12px; }
  body.page-id-110 .dn-biz .dn-biz-item.has-media-on-the-right .wp-block-media-text__media { margin: 0 0 0 12px; }
  body.page-id-110 .dn-biz .dn-biz-item .wp-block-media-text__media::before { inset: 12px -12px -12px 12px; }
  body.page-id-110 .dn-biz .dn-biz-item.has-media-on-the-right .wp-block-media-text__media::before { inset: 12px 12px -12px -12px; }
  body.page-id-110 .dn-biz .dn-biz-item .wp-block-media-text__content,
  body.page-id-110 .dn-biz .dn-biz-item.has-media-on-the-right .wp-block-media-text__content { padding: 40px 0 0 !important; }
  body.page-id-110 .dn-biz .dn-biz-label strong { font-size: 2.2rem; }
  body.page-id-110 .dn-biz h3.dn-biz-title { font-size: 1.3rem; }
}
/* ===== DN デモ2610 専用（ここまで） ===== */

/* ===== DN デモ2610 ページ全体（ここから） =====
   body.page-id-110 = 固定ページ「デモ2610」だけに効く。ブロックは変えず、CSSだけで切り替えている。
   背景の並び：新着情報=白／事業内容=アイボリー／その他・活動=ネイビー／FAQ=白／会社概要=アイボリー／お問い合わせ=ネイビー
   英字の小見出し（News など）はCSSで足している。
   :is() の中のカバーは :where() で包む（IDの詳細度が乗ると、セクションごとの白文字の指定が負けるため）。 */
body.page-id-110 {
  --dn-navy: #2c4a6e;
  --dn-navy-bg: #34557c;
  --dn-navy-deep: #22395a;
  --dn-ivory: #f8f5ee;
  --dn-gold: #c5ae7c;
  --dn-gold-soft: rgba(197, 174, 124, .55);
  --dn-text: #3a3f47;
  --dn-sub: #6b7280;
  --dn-serif-jp: "Noto Serif JP", "Yu Mincho", "YuMincho", "Hiragino Mincho ProN", serif;
  --dn-serif-en: "Cormorant Garamond", "Times New Roman", serif;
  font-family: var(--dn-serif-jp) !important;
  color: var(--dn-text);
}

/* ---- フォントをページ全体に ---- */
/* 本文・ヘッダー・フッターだけ（管理バーのアイコンフォントを巻き込まないため）。
   :is() の中にIDを入れると強くなりすぎるので、ヘッダー・フッターは別に書く */
body.page-id-110 .entry-content :is(h1, h2, h3, h4, p, li, dt, dd, td, th, a, span, strong, div.ttl, .wp-block-button__link),
body.page-id-110 .stk_header *,
body.page-id-110 .footer * {
  font-family: var(--dn-serif-jp) !important;
}
body.page-id-110 :is(.gf, time) {
  font-family: var(--dn-serif-en) !important;
  font-variant-numeric: lining-nums;
  letter-spacing: .08em;
}
/* 事業内容で使っている英字（セリフ体）は上の指定より優先させる */
body.page-id-110 .dn-biz :is(.dn-sec-en, .dn-biz-label, .dn-biz-label strong) {
  font-family: var(--dn-serif-en) !important;
}

/* ---- 共通：セクションの見出し（英字ラベル＋明朝の見出し＋金の短い線） ---- */
body.page-id-110 :is(#about > div > h2, #faq .is-style-p_balloon_bottom, #news h2, #contact .is-style-p_balloon_bottom, :where(.wp-block-cover:has(#miryoku)) .is-style-p_balloon_bottom) {
  display: block !important;
  width: auto !important;
  max-width: none !important;
  margin: 0 auto 48px !important;
  padding: 0 !important;
  background: none !important;
  border: none !important;
  border-radius: 0 !important;
  box-shadow: none !important;
  color: var(--dn-navy) !important;
  font-family: var(--dn-serif-jp) !important;
  font-weight: 500 !important;
  font-size: 1.9rem !important;
  letter-spacing: .2em !important;
  line-height: 1.5 !important;
  text-align: center !important;
}
body.page-id-110 :is(#about > div > h2, #faq .is-style-p_balloon_bottom, #news h2, #contact .is-style-p_balloon_bottom, :where(.wp-block-cover:has(#miryoku)) .is-style-p_balloon_bottom) * {
  font-size: inherit !important;
  color: inherit !important;
  letter-spacing: inherit !important;
}
/* 英字ラベル（見出しの上） */
body.page-id-110 :is(#about > div > h2, #faq .is-style-p_balloon_bottom, #news h2, #contact .is-style-p_balloon_bottom, :where(.wp-block-cover:has(#miryoku)) .is-style-p_balloon_bottom)::before {
  display: block !important;
  position: static !important;
  width: auto !important;
  height: auto !important;
  margin: 0 0 10px !important;
  background: none !important;
  border: none !important;
  transform: none !important;
  font-family: var(--dn-serif-en) !important;
  font-style: italic;
  font-size: 1rem !important;
  font-weight: 500;
  letter-spacing: .24em;
  color: var(--dn-gold) !important;
}
/* 金の短い線（見出しの下） */
body.page-id-110 :is(#about > div > h2, #faq .is-style-p_balloon_bottom, #news h2, #contact .is-style-p_balloon_bottom, :where(.wp-block-cover:has(#miryoku)) .is-style-p_balloon_bottom)::after {
  content: "" !important;
  display: block !important;
  position: static !important;
  width: 48px !important;
  height: 1px !important;
  margin: 22px auto 0 !important;
  background: var(--dn-gold) !important;
  border: none !important;
  transform: none !important;
}
body.page-id-110 #about > div > h2::before { content: "News" !important; }
body.page-id-110 .wp-block-cover:has(#miryoku) .is-style-p_balloon_bottom::before { content: "Activities" !important; }
body.page-id-110 #faq .is-style-p_balloon_bottom::before { content: "FAQ" !important; }
body.page-id-110 #news h2:first-of-type::before { content: "Company" !important; }
body.page-id-110 #news h2:not(:first-of-type)::before { content: "Access" !important; }
body.page-id-110 #contact .is-style-p_balloon_bottom::before { content: "Contact" !important; }

/* 元の英字見出し（Q&A・CONTACT US）は、新しい英字ラベルと重なるので隠す */
body.page-id-110 :is(#faq, #contact) h2.is-style-stylenone {
  display: none !important;
}

/* ---- 共通：ボタン（細い線・角ばった形） ---- */
body.page-id-110 :is(#about, #faq, #news, #contact, :where(.wp-block-cover:has(#miryoku))) .wp-block-button__link {
  background: transparent !important;
  border: 1px solid var(--dn-navy) !important;
  border-radius: 0 !important;
  box-shadow: none !important;
  color: var(--dn-navy) !important;
  font-size: .85rem !important;
  letter-spacing: .2em !important;
  padding: .9em 2.8em !important;
  transition: background-color .3s, color .3s;
}
body.page-id-110 :is(#about, #faq, #news, #contact, :where(.wp-block-cover:has(#miryoku))) .wp-block-button__link:hover {
  background: var(--dn-navy) !important;
  color: #fff !important;
}
body.page-id-110 :is(#about, #faq, #news, #contact, :where(.wp-block-cover:has(#miryoku))) .stk-shiny-button .wp-block-button__link::before,
body.page-id-110 :is(#about, #faq, #news, #contact, :where(.wp-block-cover:has(#miryoku))) .stk-shiny-button .wp-block-button__link::after {
  display: none !important;
}

/* =========================================================
   新着情報（白）
   ========================================================= */
body.page-id-110 #about {
  background: #fff !important;
  padding: 96px 40px 88px !important;
}
body.page-id-110 #about > div > h2 { font-size: 1.6rem !important; letter-spacing: .14em !important; }
body.page-id-110 #about .wp-block-group.has-background {
  background: none !important;
  padding: 0 !important;
}
body.page-id-110 #about .cat_postlist {
  max-width: 760px;
  margin: 0 auto 40px;
}
body.page-id-110 #about .cat_postlist__ul {
  border-top: 1px solid var(--dn-gold-soft);
}
body.page-id-110 #about .cat_postlist__li {
  border-bottom: 1px solid var(--dn-gold-soft) !important;
  background: none !important;
  margin: 0 !important;
}
body.page-id-110 #about .cat_postlist__link {
  padding: 22px 8px !important;
  background: none !important;
}
body.page-id-110 #about .archives_post__meta {
  display: flex !important;
  flex-direction: row-reverse;
  justify-content: flex-end;
  align-items: baseline;
  gap: 32px;
}
body.page-id-110 #about .cat_postlist__link time {
  color: var(--dn-gold) !important;
  font-size: 1.05rem !important;
  min-width: 6.5em;
}
body.page-id-110 #about .cat_postlist__link .ttl {
  color: var(--dn-navy) !important;
  font-size: .98rem !important;
  letter-spacing: .06em;
}
body.page-id-110 #about .cat_postlist__link:hover .ttl { color: var(--dn-gold) !important; }

/* =========================================================
   その他・活動について（ネイビー）
   ========================================================= */
body.page-id-110 .wp-block-cover:has(#miryoku) {
  padding: 96px 40px !important;
}
body.page-id-110 .wp-block-cover:has(#miryoku) .wp-block-cover__background {
  background-color: var(--dn-navy-bg) !important;
  opacity: .93 !important;
}
body.page-id-110 .wp-block-cover:has(#miryoku) .is-style-p_balloon_bottom {
  color: #fff !important;
}
body.page-id-110 .wp-block-cover:has(#miryoku) .stk_grids {
  max-width: 1000px;
  margin: 0 auto !important;
}
body.page-id-110 .wp-block-cover:has(#miryoku) .stk_grid__child {
  border: 1px solid rgba(197, 174, 124, .6);
  padding: 44px 24px 36px;
  background: rgba(255, 255, 255, .03);
  transition: background-color .3s;
}
body.page-id-110 .wp-block-cover:has(#miryoku) .stk_grid__child:hover {
  background: rgba(255, 255, 255, .07);
}
body.page-id-110 .wp-block-cover:has(#miryoku) .stk_icons-circle_shadow {
  background: none !important;
  box-shadow: none !important;
  border: 1px solid var(--dn-gold);
  color: var(--dn-gold) !important;
  width: 76px !important;
  height: 76px !important;
  font-size: 1.7rem !important;
}
body.page-id-110 .wp-block-cover:has(#miryoku) h3 {
  color: #fff !important;
  font-weight: 500 !important;
  font-size: 1.2rem !important;
  letter-spacing: .16em !important;
  margin: 22px 0 26px !important;
  background: none !important;
  border: none !important;
  padding: 0 !important;
}
body.page-id-110 .wp-block-cover:has(#miryoku) .wp-block-buttons { justify-content: center; }
body.page-id-110 .wp-block-cover:has(#miryoku) .wp-block-button__link {
  border-color: var(--dn-gold) !important;
  color: #fff !important;
  padding: .7em 2.2em !important;
}
body.page-id-110 .wp-block-cover:has(#miryoku) .wp-block-button__link:hover {
  background: var(--dn-gold) !important;
  color: var(--dn-navy-deep) !important;
}

/* =========================================================
   よくあるご質問（白）
   ========================================================= */
body.page-id-110 #faq {
  background: #fff !important;
  padding: 96px 40px 88px !important;
}
body.page-id-110 #faq .oc-faq {
  max-width: 820px;
  margin: 0 auto !important;
  padding: 28px 0 !important;
  border-bottom: 1px solid var(--dn-gold-soft);
  background: none !important;
  box-shadow: none !important;
}
body.page-id-110 #faq .oc-faq:first-of-type { border-top: 1px solid var(--dn-gold-soft); }
body.page-id-110 #faq :is(.oc-faq__title, .oc-faq__comment) {
  padding-left: 52px !important;
  background: none !important;
  border: none !important;
}
body.page-id-110 #faq .oc-faq__title {
  color: var(--dn-navy) !important;
  font-size: 1.02rem !important;
  letter-spacing: .06em;
  margin-bottom: 12px !important;
}
body.page-id-110 #faq .oc-faq__title strong { font-weight: 600; }
body.page-id-110 #faq .oc-faq__comment,
body.page-id-110 #faq .oc-faq__comment p {
  color: var(--dn-sub) !important;
  font-size: .92rem !important;
  line-height: 2 !important;
}
body.page-id-110 #faq :is(.oc-faq__title, .oc-faq__comment)::before {
  background: none !important;
  border-radius: 0 !important;
  width: auto !important;
  height: auto !important;
  left: 6px !important;
  top: -4px !important;
  font-family: var(--dn-serif-en) !important;
  font-size: 1.6rem !important;
  font-weight: 500;
  line-height: 1.2 !important;
  color: var(--dn-gold) !important;
}

/* =========================================================
   会社概要・アクセス（アイボリー）
   ========================================================= */
body.page-id-110 #news {
  background: var(--dn-ivory) !important;
  padding: 96px 40px 88px !important;
}
body.page-id-110 #news h2:not(:first-of-type) { margin-top: 88px !important; }
body.page-id-110 #news .wp-block-table {
  max-width: 820px;
  margin: 0 auto 32px !important;
}
body.page-id-110 #news table {
  border: none !important;
  border-top: 1px solid var(--dn-gold-soft) !important;
  background: none !important;
}
body.page-id-110 #news :is(td, th) {
  border: none !important;
  border-bottom: 1px solid var(--dn-gold-soft) !important;
  background: none !important;
  padding: 20px 16px !important;
  font-size: .92rem !important;
  line-height: 1.9 !important;
  color: var(--dn-text) !important;
  vertical-align: top;
}
body.page-id-110 #news :is(tr td:first-child, th) {
  width: 28%;
  color: var(--dn-navy) !important;
  font-weight: 600 !important;
  letter-spacing: .1em;
}
body.page-id-110 #news .wp-block-gmap-gmap-block {
  max-width: 820px;
  margin: 0 auto 32px !important;
  border: 1px solid var(--dn-gold-soft);
  padding: 8px;
  background: #fff;
}
body.page-id-110 #news iframe { filter: grayscale(.35); }

/* =========================================================
   お問い合わせ（ネイビー）
   ========================================================= */
body.page-id-110 #contact {
  background: var(--dn-navy-bg) !important;
  padding: 96px 40px 104px !important;
}
body.page-id-110 #contact .is-style-p_balloon_bottom { color: #fff !important; }
body.page-id-110 #contact .wp-block-columns {
  max-width: 820px;
  margin: 0 auto !important;
  gap: 0 !important;
}
body.page-id-110 #contact .wp-block-column {
  padding: 8px 24px 16px;
}
body.page-id-110 #contact .wp-block-column + .wp-block-column {
  border-left: 1px solid rgba(197, 174, 124, .5);
}
body.page-id-110 #contact .wp-block-column > p:first-child,
body.page-id-110 #contact .wp-block-column > p:first-child * {
  font-family: var(--dn-serif-en) !important;
  font-style: italic;
  font-weight: 500 !important;
  font-size: 1rem !important;
  letter-spacing: .24em !important;
  color: var(--dn-gold) !important;
}
body.page-id-110 #contact .wp-block-column a[href^="tel:"] {
  font-family: var(--dn-serif-en) !important;
  font-variant-numeric: lining-nums;
  font-size: 2.4rem !important;
  font-weight: 500 !important;
  letter-spacing: .08em;
  color: #fff !important;
  text-decoration: none !important;
}
body.page-id-110 #contact .wp-block-column a[href^="tel:"] * { font-size: inherit !important; }
body.page-id-110 #contact .wp-block-button__link {
  border-color: var(--dn-gold) !important;
  color: #fff !important;
}
body.page-id-110 #contact .wp-block-button__link:hover {
  background: var(--dn-gold) !important;
  color: var(--dn-navy-deep) !important;
}

/* =========================================================
   メインビジュアル（コピー入りの画像。PCは最大1200px、スマホは縦長の画像に切り替え）
   左右の余白はネイビーの無地にして、写真が横に引き伸ばされて続かないようにする
   ========================================================= */
body.page-id-110 .dn-hero {
  background: var(--dn-navy-deep) !important;
  padding: 0 0 48px !important;
  margin-top: 0 !important;
  margin-bottom: 0 !important;
}
/* テーマが内側の枠を本文幅（980px）に制限しているので、メインビジュアルだけ外す */
body.page-id-110 .dn-hero > .wp-block-group__inner-container {
  max-width: none !important;
  width: 100% !important;
  padding-left: 0 !important;
  padding-right: 0 !important;
}
body.page-id-110 .dn-hero .wp-block-image {
  max-width: 1200px !important;
  width: 100%;
  margin: 0 auto !important;
}
body.page-id-110 .dn-hero .wp-block-image img {
  display: block;
  width: 100% !important;
  height: auto !important;
}
body.page-id-110 .dn-hero .dn-hero-sp,
body.page-id-110 .dn-hero .dn-only-sp { display: none !important; }
body.page-id-110 .dn-hero .dn-hero-alt {
  margin: 28px auto 0 !important;
  font-size: .85rem !important;
  letter-spacing: .12em;
  text-align: center;
}
body.page-id-110 .dn-hero .dn-hero-alt a {
  color: #d4bf8f !important;
  text-decoration: none !important;
  border-bottom: 1px solid rgba(212, 191, 143, .6);
  padding-bottom: 2px;
}
body.page-id-110 .dn-hero .dn-hero-alt a:hover {
  color: #fff !important;
  border-bottom-color: #fff;
}
body.page-id-110 .dn-hero .wp-block-buttons {
  justify-content: center;
  margin-top: 24px !important;
}
body.page-id-110 .dn-hero .wp-block-button__link {
  background: transparent !important;
  border: 1px solid var(--dn-gold) !important;
  border-radius: 0 !important;
  color: #fff !important;
  font-size: .9rem !important;
  letter-spacing: .2em !important;
  padding: 1em 3em !important;
  box-shadow: none !important;
  transition: background-color .3s, color .3s;
}
body.page-id-110 .dn-hero .wp-block-button__link:hover {
  background: var(--dn-gold) !important;
  color: var(--dn-navy-deep) !important;
}

/* ---- タブレット ---- */
@media (max-width: 960px) {
  body.page-id-110 :is(#about, #faq, #news, #contact, :where(.wp-block-cover:has(#miryoku))) {
    padding-left: 24px !important;
    padding-right: 24px !important;
  }
}

/* ---- スマホ ---- */
@media (max-width: 600px) {
  body.page-id-110 :is(#about, #faq, #news, #contact, :where(.wp-block-cover:has(#miryoku))) {
    padding: 64px 16px !important;
  }
  body.page-id-110 :is(#about > div > h2, #faq .is-style-p_balloon_bottom, #news h2, #contact .is-style-p_balloon_bottom, :where(.wp-block-cover:has(#miryoku)) .is-style-p_balloon_bottom) {
    font-size: 1.5rem !important;
    margin-bottom: 36px !important;
  }
  body.page-id-110 #about > div > h2 { font-size: 1.2rem !important; letter-spacing: .08em !important; }
  body.page-id-110 .dn-hero { padding-bottom: 36px !important; }
  body.page-id-110 .dn-hero .dn-hero-pc,
  body.page-id-110 .dn-hero .dn-only-pc { display: none !important; }
  body.page-id-110 .dn-hero .dn-hero-sp,
  body.page-id-110 .dn-hero .dn-only-sp { display: block !important; }
  body.page-id-110 #about .archives_post__meta { flex-direction: column-reverse; gap: 4px; }
  body.page-id-110 #news :is(td, th) { padding: 14px 8px !important; }
  body.page-id-110 #news :is(tr td:first-child, th) { width: 32%; letter-spacing: .04em; }
  body.page-id-110 #contact .wp-block-column + .wp-block-column {
    border-left: none;
    border-top: 1px solid rgba(197, 174, 124, .5);
    padding-top: 32px;
  }
  body.page-id-110 #contact .wp-block-column a[href^="tel:"] { font-size: 2rem !important; }
}
/* ===== DN デモ2610 ページ全体（ここまで） ===== */

/* ===== DN サステナビリティ（ここから） =====
   body.page-id-125 = 固定ページ「サステナビリティ」（/sustainability/）だけに効く。
   デモ2610と同じ配色・フォント。背景の並び：ヒーロー=ネイビー／SDGs=白／社会貢献=アイボリー／環境=ネイビー */
body.page-id-125 {
  --dn-navy: #2c4a6e;
  --dn-navy-bg: #34557c;
  --dn-navy-deep: #22395a;
  --dn-ivory: #f8f5ee;
  --dn-gold: #c5ae7c;
  --dn-gold-soft: rgba(197, 174, 124, .55);
  --dn-text: #3a3f47;
  --dn-sub: #6b7280;
  --dn-serif-jp: "Noto Serif JP", "Yu Mincho", "YuMincho", "Hiragino Mincho ProN", serif;
  --dn-serif-en: "Cormorant Garamond", "Times New Roman", serif;
  font-family: var(--dn-serif-jp) !important;
  color: var(--dn-text);
}

/* ---- フォント（本文・ヘッダー・フッターだけ。管理バーは巻き込まない） ---- */
body.page-id-125 .entry-content :is(h1, h2, h3, h4, p, li, a, span, strong),
body.page-id-125 .stk_header *,
body.page-id-125 .footer * {
  font-family: var(--dn-serif-jp) !important;
}
body.page-id-125 .entry-content :is(.dn-sus-en, .dn-sus-mat-no, .dn-sus-goals span),
body.page-id-125 .gf {
  font-family: var(--dn-serif-en) !important;
  font-variant-numeric: lining-nums;
}

/* ---- 共通リセット（jstork の見出し・リスト装飾を打ち消す） ---- */
body.page-id-125 .entry-content :is(h1, h2, h3) {
  background: none !important;
  border: none !important;
  box-shadow: none !important;
  padding: 0 !important;
  margin: 0;
}
body.page-id-125 .entry-content :is(h1, h2, h3)::before,
body.page-id-125 .entry-content :is(h1, h2, h3)::after,
body.page-id-125 .entry-content :is(.dn-sus-items, .dn-sus-cards, .dn-sus-fund) li::before,
body.page-id-125 .entry-content :is(.dn-sus-items, .dn-sus-cards, .dn-sus-fund) li::after {
  content: none !important;
  display: none !important;
}
body.page-id-125 .entry-content :is(ul, ol).wp-block-list {
  list-style: none !important;
  margin: 0 !important;
  padding: 0 !important;
  background: none !important;
  border: none !important;
}
body.page-id-125 .entry-content :is(ul, ol).wp-block-list li {
  margin: 0 !important;
  padding: 0;
  border: none !important;
  background: none !important;
}
body.page-id-125 .entry-content p { margin: 0; }
/* ページ内リンクで飛んだとき、見出しが画面の上端に貼り付かないように */
body.page-id-125 .dn-sus-sec { scroll-margin-top: 24px; }
/* テーマのなめらかスクロールを止める。他ページから #sdgs などで開いたとき、
   フォントの読み込みなどで位置がずれて途中で止まることがあるため、すぐ飛ぶ形にする */
html:has(body.page-id-125) { scroll-behavior: auto !important; }

/* ---- 共通：セクション ---- */
body.page-id-125 .dn-sus-sec {
  padding: 104px 40px 96px !important;
  margin-top: 0 !important;
  margin-bottom: 0 !important;
}
body.page-id-125 .dn-sus-white { background: #fff !important; }
body.page-id-125 .dn-sus-ivory { background: var(--dn-ivory) !important; }
body.page-id-125 .dn-sus-navy  { background: var(--dn-navy-bg) !important; color: rgba(255, 255, 255, .86); }

body.page-id-125 .dn-sus-en {
  font-style: italic;
  font-size: 1rem;
  letter-spacing: .24em;
  color: var(--dn-gold);
  text-align: center;
  margin-bottom: 10px !important;
}
body.page-id-125 h2.dn-sus-title {
  font-weight: 500 !important;
  font-size: 2rem !important;
  letter-spacing: .2em;
  line-height: 1.5;
  text-align: center;
  color: var(--dn-navy) !important;
}
body.page-id-125 h2.dn-sus-title::after {
  content: "" !important;
  display: block !important;
  width: 48px;
  height: 1px;
  margin: 22px auto 0;
  background: var(--dn-gold);
}
body.page-id-125 .dn-sus-lead {
  max-width: 720px;
  margin: 28px auto 56px !important;
  font-size: .95rem;
  line-height: 2.1;
  color: var(--dn-sub);
  text-align: center;
}
body.page-id-125 .dn-sus-navy h2.dn-sus-title { color: #fff !important; }
body.page-id-125 .dn-sus-navy .dn-sus-lead { color: rgba(255, 255, 255, .78); }

/* ---- ヒーロー（ネイビー） ---- */
body.page-id-125 .dn-sus-hero {
  background: var(--dn-navy-deep) !important;
  padding: 120px 40px 96px !important;
  margin-top: 0 !important;
  margin-bottom: 0 !important;
  text-align: center;
  position: relative;
}
body.page-id-125 .dn-sus-hero::after {
  content: "";
  position: absolute;
  inset: 24px;
  border: 1px solid rgba(197, 174, 124, .35);
  pointer-events: none;
}
body.page-id-125 h1.dn-sus-h1 {
  color: #fff !important;
  font-weight: 500 !important;
  font-size: 2.6rem !important;
  letter-spacing: .24em;
  line-height: 1.5;
}
body.page-id-125 h1.dn-sus-h1::after {
  content: "" !important;
  display: block !important;
  width: 56px;
  height: 1px;
  margin: 26px auto 0;
  background: var(--dn-gold);
}
body.page-id-125 .dn-sus-hero-lead {
  margin: 30px auto 48px !important;
  font-size: 1rem;
  line-height: 2.2;
  letter-spacing: .06em;
  color: rgba(255, 255, 255, .82);
}
body.page-id-125 .dn-sus-nav {
  display: flex;
  justify-content: center;
  flex-wrap: wrap;
  gap: 16px;
  position: relative;
  z-index: 1;
}
body.page-id-125 .dn-sus-nav a {
  display: inline-block;
  min-width: 200px;
  padding: 1em 2em;
  border: 1px solid var(--dn-gold);
  color: #fff !important;
  font-size: .9rem;
  letter-spacing: .14em;
  text-decoration: none !important;
  transition: background-color .3s, color .3s;
}
body.page-id-125 .dn-sus-nav a:hover {
  background: var(--dn-gold);
  color: var(--dn-navy-deep) !important;
}

/* ---- SDGの目標番号（小さな札） ---- */
body.page-id-125 .dn-sus-goals {
  display: flex;
  justify-content: center;
  flex-wrap: wrap;
  gap: 8px;
  margin-bottom: 72px !important;
}
body.page-id-125 .dn-sus-goals span {
  display: inline-block;
  padding: .3em .9em;
  border: 1px solid var(--dn-gold-soft);
  color: var(--dn-gold);
  font-size: .9rem;
  letter-spacing: .14em;
}

/* ---- 重要課題（マテリアリティ） ---- */
body.page-id-125 .dn-sus-mat {
  max-width: 1000px;
  margin: 0 auto 72px !important;
  padding-top: 56px;
  border-top: 1px solid var(--dn-gold-soft);
}
body.page-id-125 .dn-sus-mat:last-child { margin-bottom: 0 !important; }
body.page-id-125 .dn-sus-mat-no {
  font-size: 1.05rem;
  letter-spacing: .2em;
  color: var(--dn-gold);
  margin-bottom: 12px !important;
}
body.page-id-125 h3.dn-sus-mat-title {
  font-weight: 600 !important;
  font-size: 1.5rem !important;
  letter-spacing: .1em;
  line-height: 1.7;
  color: var(--dn-navy) !important;
  margin-bottom: 18px !important;
}
body.page-id-125 .dn-sus-mat .dn-sus-goals {
  justify-content: flex-start;
  margin-bottom: 20px !important;
}
body.page-id-125 .dn-sus-mat .dn-sus-goals span { font-size: .8rem; }
body.page-id-125 .dn-sus-mat-lead {
  font-size: .95rem;
  line-height: 2;
  margin-bottom: 36px !important;
}

/* ---- 取り組みの一覧（2列・番号つき） ---- */
body.page-id-125 .entry-content ul.dn-sus-items {
  display: grid !important;
  grid-template-columns: repeat(2, 1fr);
  gap: 0 56px;
  counter-reset: dnsus;
}
body.page-id-125 .entry-content ul.dn-sus-items li {
  counter-increment: dnsus;
  position: relative;
  padding: 22px 0 22px 44px !important;
  border-bottom: 1px solid var(--dn-gold-soft) !important;
  font-size: .9rem;
  line-height: 1.95;
  color: var(--dn-sub);
}
body.page-id-125 .entry-content ul.dn-sus-items li::before {
  content: counter(dnsus, decimal-leading-zero) !important;
  display: block !important;
  position: absolute;
  left: 0;
  top: 22px;
  font-family: var(--dn-serif-en) !important;
  font-variant-numeric: lining-nums;
  font-size: 1.1rem;
  line-height: 1.6;
  color: var(--dn-gold);
  background: none !important;
  border: none !important;
  width: auto !important;
  height: auto !important;
  transform: none !important;
}
body.page-id-125 .entry-content ul.dn-sus-items li strong {
  display: block;
  font-weight: 600;
  font-size: 1rem;
  letter-spacing: .06em;
  color: var(--dn-navy);
  margin-bottom: 4px;
}

/* ---- 社会貢献：カード ---- */
body.page-id-125 .entry-content ul.dn-sus-cards {
  display: grid !important;
  grid-template-columns: repeat(3, 1fr);
  gap: 24px;
  max-width: 1000px;
  margin: 0 auto 56px !important;
}
body.page-id-125 .entry-content ul.dn-sus-cards li {
  background: #fff !important;
  border: 1px solid var(--dn-gold-soft) !important;
  padding: 32px 28px !important;
  font-size: .88rem;
  line-height: 1.95;
  color: var(--dn-sub);
  position: relative;
}
/* 7枚目（3列の最後の行に1枚だけ残るカード）は中央に置く */
body.page-id-125 .entry-content ul.dn-sus-cards li:last-child:nth-child(3n+1) { grid-column: 2; }
body.page-id-125 .entry-content ul.dn-sus-cards li strong {
  display: block;
  font-weight: 600;
  font-size: 1.02rem;
  letter-spacing: .08em;
  color: var(--dn-navy);
  margin-bottom: 12px;
  padding-bottom: 12px;
  border-bottom: 1px solid var(--dn-gold-soft);
}

/* ---- 枠つきの箱（資金・環境方針） ---- */
body.page-id-125 .dn-sus-box {
  max-width: 1000px;
  margin: 0 auto 72px !important;
  padding: 48px 56px;
  border: 1px solid var(--dn-gold-soft);
  position: relative;
}
body.page-id-125 .dn-sus-ivory .dn-sus-box { background: #fff; }
body.page-id-125 h3.dn-sus-box-title {
  font-weight: 500 !important;
  font-size: 1.35rem !important;
  letter-spacing: .16em;
  text-align: center;
  color: var(--dn-navy) !important;
  margin-bottom: 14px !important;
}
body.page-id-125 .dn-sus-box-lead {
  text-align: center;
  font-size: .9rem;
  color: var(--dn-sub);
  margin-bottom: 24px !important;
}
body.page-id-125 .entry-content ul.dn-sus-fund {
  display: grid !important;
  grid-template-columns: repeat(3, 1fr);
  gap: 10px 24px;
}
body.page-id-125 .entry-content ul.dn-sus-fund li {
  font-size: .88rem;
  line-height: 1.8;
  padding-left: 18px !important;
  position: relative;
  color: var(--dn-text);
}
body.page-id-125 .entry-content ul.dn-sus-fund li::before {
  content: "" !important;
  display: block !important;
  position: absolute;
  left: 0;
  top: .8em;
  width: 8px !important;
  height: 1px !important;
  background: var(--dn-gold) !important;
  border: none !important;
  transform: none !important;
}

/* ---- 環境（ネイビー） ---- */
body.page-id-125 .dn-sus-navy .dn-sus-box {
  background: rgba(255, 255, 255, .04);
  border-color: rgba(197, 174, 124, .6);
}
body.page-id-125 .dn-sus-navy h3.dn-sus-box-title { color: #fff !important; }
body.page-id-125 .entry-content ol.dn-sus-policy {
  counter-reset: dnpol;
  max-width: 780px;
  margin: 0 auto !important;
}
body.page-id-125 .entry-content ol.dn-sus-policy li {
  counter-increment: dnpol;
  position: relative;
  padding: 14px 0 14px 48px !important;
  border-bottom: 1px solid rgba(197, 174, 124, .3) !important;
  font-size: .92rem;
  line-height: 1.95;
  color: rgba(255, 255, 255, .86);
}
body.page-id-125 .entry-content ol.dn-sus-policy li:last-child { border-bottom: none !important; }
body.page-id-125 .entry-content ol.dn-sus-policy li::before {
  content: counter(dnpol, decimal-leading-zero) !important;
  display: block !important;
  position: absolute;
  left: 0;
  top: 13px;
  font-family: var(--dn-serif-en) !important;
  font-variant-numeric: lining-nums;
  font-size: 1.1rem;
  color: var(--dn-gold);
  background: none !important;
  border: none !important;
  border-radius: 0 !important;
  width: auto !important;
  height: auto !important;
  transform: none !important;
  line-height: 1.7 !important;
}
body.page-id-125 .dn-sus-sub {
  max-width: 1000px;
  margin: 0 auto 64px !important;
}
body.page-id-125 .dn-sus-sub:last-child { margin-bottom: 0 !important; }
body.page-id-125 h3.dn-sus-sub-title {
  font-weight: 500 !important;
  font-size: 1.4rem !important;
  letter-spacing: .14em;
  color: #fff !important;
  display: flex;
  align-items: center;
  gap: 18px;
  margin-bottom: 14px !important;
}
body.page-id-125 h3.dn-sus-sub-title::after {
  content: "" !important;
  display: block !important;
  flex: 1;
  height: 1px;
  background: rgba(197, 174, 124, .5);
}
body.page-id-125 .dn-sus-sub-lead {
  font-size: .92rem;
  line-height: 2;
  color: rgba(255, 255, 255, .78);
  margin-bottom: 12px !important;
}
body.page-id-125 .dn-sus-navy ul.dn-sus-items li {
  color: rgba(255, 255, 255, .72);
  border-bottom-color: rgba(197, 174, 124, .3) !important;
}
body.page-id-125 .dn-sus-navy ul.dn-sus-items li strong { color: #fff; }

/* ---- タブレット ---- */
@media (max-width: 960px) {
  body.page-id-125 :is(.dn-sus-sec, .dn-sus-hero) { padding-left: 24px !important; padding-right: 24px !important; }
  body.page-id-125 .entry-content ul.dn-sus-cards { grid-template-columns: repeat(2, 1fr); }
  body.page-id-125 .entry-content ul.dn-sus-cards li:last-child:nth-child(3n+1) { grid-column: auto; }
  body.page-id-125 .entry-content ul.dn-sus-fund { grid-template-columns: repeat(2, 1fr); }
  body.page-id-125 .dn-sus-box { padding: 40px 32px; }
}

/* ---- スマホ ---- */
@media (max-width: 600px) {
  body.page-id-125 .dn-sus-sec { padding: 72px 16px 64px !important; }
  body.page-id-125 .dn-sus-hero { padding: 88px 16px 72px !important; }
  body.page-id-125 .dn-sus-hero::after { inset: 12px; }
  body.page-id-125 h1.dn-sus-h1 { font-size: 1.9rem !important; letter-spacing: .16em; }
  body.page-id-125 .dn-sus-hero-lead { font-size: .9rem; text-align: left; }
  body.page-id-125 .dn-sus-hero-lead br { display: none; }
  body.page-id-125 .dn-sus-nav { flex-direction: column; align-items: stretch; gap: 10px; }
  body.page-id-125 .dn-sus-nav a { min-width: 0; }
  body.page-id-125 h2.dn-sus-title { font-size: 1.6rem !important; letter-spacing: .14em; }
  body.page-id-125 .dn-sus-lead { text-align: left; margin-bottom: 40px !important; }
  body.page-id-125 h3.dn-sus-mat-title { font-size: 1.25rem !important; }
  body.page-id-125 .entry-content :is(ul.dn-sus-items, ul.dn-sus-cards, ul.dn-sus-fund) { grid-template-columns: 1fr; }
  body.page-id-125 .dn-sus-box { padding: 32px 20px; }
  body.page-id-125 h3.dn-sus-sub-title { font-size: 1.2rem !important; }
}
/* ===== DN サステナビリティ（ここまで） ===== */

/* ===== DN 投稿ページ・記事一覧（ここから） =====
   body.single-post = 投稿（お知らせ）の記事ページ、body.archive = カテゴリーなどの記事一覧。
   トップ（デモ2610）・サステナビリティと同じ ネイビー×アイボリー、明朝＋英字セリフ体にそろえる。
   サイドバーは出さず1カラムにする。 */
body.single-post,
body.archive {
  --dn-navy: #2c4a6e;
  --dn-navy-deep: #22395a;
  --dn-ivory: #f8f5ee;
  --dn-gold: #c5ae7c;
  --dn-text: #3a3f47;
  --dn-sub: #6b7280;
  --dn-serif-jp: "Noto Serif JP", "Yu Mincho", "YuMincho", "Hiragino Mincho ProN", serif;
  --dn-serif-en: "Cormorant Garamond", "Times New Roman", serif;
  font-variant-numeric: lining-nums;
}
body.single-post,
body.archive,
body.single-post #container,
body.single-post #content,
body.archive #container,
body.archive #content {
  background: var(--dn-ivory) !important;
}

/* ---- 1カラム（サイドバーを出さない） ---- */
body.single-post #sidebar1,
body.archive #sidebar1 {
  display: none !important;
}
body.single-post #inner-content,
body.archive #inner-content {
  display: block;
  max-width: 820px;
  margin: 0 auto;
  padding: 72px 24px 96px;
  background: none !important;
  box-shadow: none !important;
  border: none !important;
}
body.single-post #main,
body.archive #main {
  float: none;
  width: 100% !important;
  max-width: 100%;
  margin: 0 auto;
}

/* ---- 記事のカード ---- */
body.single-post #main article {
  background: #fff;
  border: 1px solid rgba(197, 174, 124, 0.45);
  box-shadow: none;
  border-radius: 0;
  padding: 64px 64px 72px;
  margin: 0;
}

/* ---- 記事の見出し（英字ラベル・日付・タイトル） ---- */
body.single-post .article-header {
  text-align: center;
  margin: 0 0 48px;
  padding: 0 0 36px;
  border: none;
  position: relative;
}
body.single-post .article-header::before {
  content: "News";
  display: block;
  font-family: var(--dn-serif-en);
  font-style: italic;
  font-size: 1.05rem;
  letter-spacing: 0.2em;
  color: var(--dn-gold);
  margin-bottom: 14px;
}
body.single-post .article-header::after {
  content: "";
  position: absolute;
  left: 50%;
  bottom: 0;
  width: 48px;
  height: 1px;
  margin-left: -24px;
  background: var(--dn-gold);
}
body.single-post .article-header .byline {
  display: block;
  margin: 0 0 14px;
  padding: 0;
  font-family: var(--dn-serif-en);
  font-size: 1rem;
  letter-spacing: 0.12em;
  color: var(--dn-sub);
}
body.single-post .article-header .byline time {
  font-family: var(--dn-serif-en) !important;
  font-size: 1.05rem;
  font-weight: 500;
}
body.single-post .article-header .byline time::before {
  display: none;
}
body.single-post .entry-title {
  font-family: var(--dn-serif-jp);
  font-weight: 600;
  font-size: 1.75rem;
  line-height: 1.6;
  letter-spacing: 0.08em;
  color: var(--dn-navy) !important;
  margin: 0;
}

/* ---- 本文 ---- */
body.single-post .entry-content {
  font-family: var(--dn-serif-jp);
  color: var(--dn-text);
  font-size: 1rem;
  line-height: 2.1;
  letter-spacing: 0.04em;
}
body.single-post .entry-content p {
  margin: 0 0 1.6em;
}
body.single-post .entry-content h2,
body.single-post .entry-content h3 {
  font-family: var(--dn-serif-jp);
  font-weight: 600;
  color: var(--dn-navy) !important;
  background: none !important;
  box-shadow: none !important;
  border: none !important;
  border-left: 2px solid var(--dn-gold) !important;
  border-radius: 0 !important;
  padding: 0.1em 0 0.1em 0.9em !important;
  margin: 2.4em 0 1em;
  letter-spacing: 0.06em;
}
body.single-post .entry-content h2::before,
body.single-post .entry-content h2::after,
body.single-post .entry-content h3::before,
body.single-post .entry-content h3::after {
  display: none !important;
}
body.single-post .entry-content a {
  color: var(--dn-navy);
  text-decoration: underline;
  text-underline-offset: 3px;
  text-decoration-color: var(--dn-gold);
}

/* ---- 前後の記事へのリンク ---- */
body.single-post #single_foot {
  margin-top: 40px;
}
body.single-post #np-post {
  display: flex;
  gap: 16px;
  border: none;
  margin: 0;
}
body.single-post #np-post .np-post-list {
  flex: 1;
  margin: 0;
  padding: 0;
  border: none;
  background: none;
}
body.single-post #np-post .np-post-list a {
  display: block;
  background: #fff;
  border: 1px solid rgba(197, 174, 124, 0.45);
  padding: 20px 24px;
  color: var(--dn-navy);
  font-family: var(--dn-serif-jp);
  transition: border-color 0.2s;
}
body.single-post #np-post .np-post-list a:hover {
  border-color: var(--dn-gold);
}
body.single-post #np-post .np-post-list a::before {
  display: block;
  font-family: var(--dn-serif-en);
  font-style: italic;
  font-size: 0.9rem;
  letter-spacing: 0.15em;
  color: var(--dn-gold);
  margin-bottom: 6px;
  position: static;
  border: none;
  transform: none;
  width: auto;
  height: auto;
}
body.single-post #np-post .prev a::before {
  content: "Prev";
}
body.single-post #np-post .next a::before {
  content: "Next";
}
body.single-post #np-post .next {
  text-align: right;
}
body.single-post #np-post .np-post-list .ttl {
  font-size: 0.95rem;
  line-height: 1.7;
  letter-spacing: 0.04em;
}
body.single-post #np-post .np-post-list .eyecatch {
  display: none;
}

/* ---- 記事一覧（カテゴリーなど） ---- */
body.archive .archives-header,
body.archive .archive-title {
  text-align: center;
  font-family: var(--dn-serif-jp);
  color: var(--dn-navy) !important;
  background: none !important;
  border: none !important;
}
body.archive #main article,
body.archive #main .post-list {
  background: #fff;
  border: 1px solid rgba(197, 174, 124, 0.45);
  box-shadow: none;
  border-radius: 0;
}
body.archive #main .entry-title,
body.archive #main .ttl {
  font-family: var(--dn-serif-jp);
  color: var(--dn-navy);
}

/* ---- スマホ ---- */
@media (max-width: 600px) {
  body.single-post #inner-content,
  body.archive #inner-content {
    padding: 40px 16px 64px;
  }
  body.single-post #main article {
    padding: 40px 22px 48px;
  }
  body.single-post .entry-title {
    font-size: 1.35rem;
  }
  body.single-post #np-post {
    flex-direction: column;
  }
}
/* ===== DN 投稿ページ・記事一覧（ここまで） ===== */

/* ===== DN お問い合わせ（ここから） =====
   固定ページ「お問い合わせ」（/contact/、ID 165）の .dn-contact と、Contact Form 7 のフォーム（.dn-form）に効く。
   トップ（デモ2610）と同じ ネイビー×アイボリー、明朝＋英字セリフ体。 */
body.page-id-165 {
  --dn-navy: #2c4a6e;
  --dn-navy-deep: #22395a;
  --dn-ivory: #f8f5ee;
  --dn-gold: #c5ae7c;
  --dn-text: #3a3f47;
  --dn-sub: #6b7280;
  --dn-serif-jp: "Noto Serif JP", "Yu Mincho", "YuMincho", "Hiragino Mincho ProN", serif;
  --dn-serif-en: "Cormorant Garamond", "Times New Roman", serif;
  font-variant-numeric: lining-nums;
  background: var(--dn-ivory) !important;
}
body.page-id-165 #container,
body.page-id-165 #content,
body.page-id-165 #inner-content {
  background: var(--dn-ivory) !important;
  box-shadow: none !important;
}
body.page-id-165 .stk_header *,
body.page-id-165 .footer *,
body.page-id-165 .dn-contact,
body.page-id-165 .dn-contact :is(h2, p, a, span, label, input, textarea, button) {
  font-family: var(--dn-serif-jp) !important;
}

/* ---- 見出し・導入文 ---- */
body.page-id-165 .dn-contact {
  max-width: 760px;
  margin: 0 auto;
  padding: 88px 24px 112px;
  color: var(--dn-text);
}
body.page-id-165 .dn-contact .dn-contact__en {
  text-align: center;
  font-family: var(--dn-serif-en) !important;
  font-style: italic;
  font-size: 1.1rem;
  letter-spacing: 0.2em;
  color: var(--dn-gold);
  margin: 0 0 10px;
}
body.page-id-165 .dn-contact .dn-contact__title {
  text-align: center;
  font-weight: 600;
  font-size: 1.9rem;
  letter-spacing: 0.12em;
  color: var(--dn-navy) !important;
  background: none !important;
  border: none !important;
  box-shadow: none !important;
  padding: 0 0 28px !important;
  margin: 0 0 40px !important;
  position: relative;
}
body.page-id-165 .dn-contact .dn-contact__title::before {
  display: none !important;
}
body.page-id-165 .dn-contact .dn-contact__title::after {
  content: "" !important;
  display: block !important;
  position: absolute;
  left: 50%;
  bottom: 0;
  width: 48px;
  height: 1px;
  margin-left: -24px;
  background: var(--dn-gold) !important;
  border: none !important;
}
body.page-id-165 .dn-contact .dn-contact__lead {
  text-align: center;
  line-height: 2.1;
  letter-spacing: 0.04em;
  margin: 0 0 16px;
}
body.page-id-165 .dn-contact .dn-contact__tel {
  text-align: center;
  color: var(--dn-sub);
  margin: 0 0 48px;
}
body.page-id-165 .dn-contact .dn-contact__tel a {
  font-family: var(--dn-serif-en) !important;
  font-size: 1.4rem;
  letter-spacing: 0.08em;
  color: var(--dn-navy);
  text-decoration: none;
  margin-left: 6px;
  /* 電話番号を途中で改行しない（SPでは番号ごと次の行へ） */
  white-space: nowrap;
  display: inline-block;
}

/* ---- フォーム ---- */
body.page-id-165 .dn-form {
  background: #fff;
  border: 1px solid rgba(197, 174, 124, 0.45);
  padding: 48px 56px 56px;
}
body.page-id-165 .dn-form p {
  margin: 0;
}
body.page-id-165 .dn-form br {
  display: none;
}
body.page-id-165 .dn-form__row {
  padding: 0 0 28px;
  margin: 0 0 28px;
  border-bottom: 1px solid #ece6d8;
}
body.page-id-165 .dn-form__label {
  display: flex;
  align-items: center;
  gap: 10px;
  font-weight: 600;
  font-size: 1rem;
  letter-spacing: 0.06em;
  color: var(--dn-navy);
  margin: 0 0 12px;
}
body.page-id-165 .dn-req,
body.page-id-165 .dn-opt {
  display: inline-block;
  font-size: 0.72rem;
  font-weight: 500;
  letter-spacing: 0.08em;
  line-height: 1;
  padding: 5px 8px 4px;
}
body.page-id-165 .dn-req {
  background: var(--dn-navy);
  color: #fff;
}
body.page-id-165 .dn-opt {
  border: 1px solid #c9ccd1;
  color: var(--dn-sub);
}
body.page-id-165 .dn-form input[type="text"],
body.page-id-165 .dn-form input[type="email"],
body.page-id-165 .dn-form input[type="tel"],
body.page-id-165 .dn-form textarea {
  width: 100%;
  box-sizing: border-box;
  background: var(--dn-ivory);
  border: 1px solid #ddd5c3;
  border-radius: 0;
  box-shadow: none;
  padding: 14px 16px;
  font-size: 1rem;
  color: var(--dn-text);
  transition: border-color 0.2s, background-color 0.2s;
}
body.page-id-165 .dn-form textarea {
  min-height: 200px;
  line-height: 1.8;
}
body.page-id-165 .dn-form input:focus,
body.page-id-165 .dn-form textarea:focus {
  outline: none;
  border-color: var(--dn-gold);
  background: #fff;
}
body.page-id-165 .dn-form ::placeholder {
  color: #a8acb3;
}
body.page-id-165 .dn-form__note {
  display: block;
  font-size: 0.82rem;
  color: var(--dn-sub);
  margin-top: 8px;
}

/* ---- お問い合わせ内容（ラジオボタン） ---- */
body.page-id-165 .dn-form__radio .wpcf7-radio {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 10px 16px;
}
body.page-id-165 .dn-form__radio .wpcf7-list-item {
  margin: 0;
}
body.page-id-165 .dn-form__radio label {
  display: flex;
  align-items: center;
  gap: 10px;
  cursor: pointer;
  padding: 12px 14px;
  border: 1px solid #ddd5c3;
  background: var(--dn-ivory);
  transition: border-color 0.2s, background-color 0.2s;
}
body.page-id-165 .dn-form__radio label:has(input:checked) {
  border-color: var(--dn-navy);
  background: #fff;
}
body.page-id-165 .dn-form__radio input[type="radio"] {
  accent-color: var(--dn-navy);
  margin: 0;
}
body.page-id-165 .dn-form__radio .wpcf7-list-item-label {
  font-size: 0.95rem;
  letter-spacing: 0.04em;
}

/* ---- 送信ボタン ---- */
body.page-id-165 .dn-form__submit {
  text-align: center;
  padding-top: 12px;
  position: relative;
}
body.page-id-165 .dn-form input[type="submit"] {
  appearance: none;
  min-width: 280px;
  background: var(--dn-navy);
  color: #fff;
  border: 1px solid var(--dn-navy);
  border-radius: 0;
  padding: 18px 40px;
  font-family: var(--dn-serif-jp) !important;
  font-size: 1rem;
  font-weight: 600;
  letter-spacing: 0.2em;
  cursor: pointer;
  transition: background-color 0.2s, color 0.2s;
}
body.page-id-165 .dn-form input[type="submit"]:hover {
  background: #fff;
  color: var(--dn-navy);
}
body.page-id-165 .dn-form .wpcf7-spinner {
  position: absolute;
  margin: 18px 0 0 12px;
}

/* ---- エラー・送信結果 ---- */
body.page-id-165 .dn-contact .wpcf7-not-valid-tip {
  font-size: 0.85rem;
  color: #b04545;
  margin-top: 6px;
}
body.page-id-165 .dn-contact .wpcf7-response-output {
  margin: 24px 0 0 !important;
  padding: 14px 18px !important;
  border: 1px solid var(--dn-gold) !important;
  background: #fff;
  color: var(--dn-navy);
  font-size: 0.95rem;
  text-align: center;
}
body.page-id-165 .dn-contact .wpcf7 form.invalid .wpcf7-response-output,
body.page-id-165 .dn-contact .wpcf7 form.failed .wpcf7-response-output {
  border-color: #b04545 !important;
  color: #b04545;
}

/* ---- スマホ ---- */
@media (max-width: 600px) {
  body.page-id-165 .dn-contact {
    padding: 56px 16px 80px;
  }
  body.page-id-165 .dn-contact .dn-contact__title {
    font-size: 1.5rem;
  }
  body.page-id-165 .dn-form {
    padding: 32px 20px 40px;
  }
  body.page-id-165 .dn-form__radio .wpcf7-radio {
    grid-template-columns: 1fr;
  }
  body.page-id-165 .dn-form input[type="submit"] {
    min-width: 0;
    width: 100%;
  }
}
/* ===== DN お問い合わせ（ここまで） ===== */

/* ===== DN ヘッダー・SP固定フッター（ここから） =====
   2026-10-14 v1.2.0。全ページに効く。767px 以下がスマホ（テーマの切り替え幅と同じ）。
   ・検索アイコンは全ページで出さない
   ・PC：ハンバーガーは出さない（テーマの既定のまま）、グローバルナビだけ
   ・SP：ヘッダー下のボタン列は出さない。ハンバーガーは右上に固定（スクロールしても残る）。ロゴは中央で、v1.1.0 の50%の大きさ
   ・SP：画面下に固定フッター（電話・メール）。中身は functions.php が出す */
.stk_header .search_btn {
  display: none !important;
}
.dn-spbar {
  display: none;
}
@media only screen and (max-width: 767px) {
  /* ヘッダー下のボタン列 */
  .stk_header .stk_g_nav.stk-hidden_pc {
    display: none !important;
  }
  /* ロゴ：v1.1.0 では (画面幅 - 117px) いっぱい → その半分 */
  .stk_header .site__logo .custom-logo {
    width: calc((100vw - 117px) * 0.5);
    max-width: 100%;
    height: auto;
    max-height: none;
  }
  /* ハンバーガー：右上に固定 */
  .h_layout_sp_center .stk_header .nav_btn.menu_btn {
    position: fixed;
    top: 6px;
    right: 8px;
    left: auto;
    z-index: 1000;
    width: 44px;
    min-height: 44px;
    height: 44px;
    padding: 0;
    border: 1px solid rgba(197, 174, 124, 0.7);
    border-radius: 2px;
    background: rgba(34, 57, 90, 0.92);
    color: #fff;
  }
  .stk_header .nav_btn.menu_btn .nav_btn__svgicon {
    fill: #fff;
  }
  .stk_header .nav_btn.menu_btn .text {
    margin-top: 3px;
    font-size: 8px;
    color: #fff;
  }
  /* 固定フッター（案B：ネイビー1色・金の区切り線） */
  body {
    padding-bottom: calc(64px + env(safe-area-inset-bottom, 0px));
  }
  .dn-spbar {
    display: flex;
    position: fixed;
    left: 0;
    right: 0;
    bottom: 0;
    z-index: 999;
    height: calc(64px + env(safe-area-inset-bottom, 0px));
    padding-bottom: env(safe-area-inset-bottom, 0px);
    background: #22395a;
    border-top: 1px solid #c5ae7c;
    box-sizing: border-box;
  }
  .dn-spbar a {
    flex: 1;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    gap: 2px;
    color: #fff;
    text-decoration: none;
  }
  .dn-spbar a:hover {
    color: #fff;
    opacity: 0.85;
  }
  .dn-spbar a + a {
    border-left: 1px solid rgba(197, 174, 124, 0.6);
  }
  .dn-spbar__en {
    font-family: "Cormorant Garamond", serif;
    font-style: italic;
    font-size: 12px;
    letter-spacing: 0.18em;
    line-height: 1.2;
    color: #c5ae7c;
  }
  .dn-spbar__jp {
    font-family: "Noto Serif JP", serif;
    font-size: 14px;
    font-weight: 600;
    letter-spacing: 0.1em;
    line-height: 1.4;
  }
  /* ページトップへ戻るボタンと reCAPTCHA のマークを固定フッターの上に */
  #page-top {
    bottom: calc(64px + env(safe-area-inset-bottom, 0px));
  }
  .grecaptcha-badge {
    bottom: calc(64px + 14px + env(safe-area-inset-bottom, 0px)) !important;
  }
  /* /contact/ は reCAPTCHA のマークと重なるので、ページトップのボタンをマークの上へ */
  body.page-id-165 #page-top {
    bottom: calc(138px + env(safe-area-inset-bottom, 0px));
  }
}
/* /contact/（PC）：ページトップのボタンを reCAPTCHA のマークの上へ */
@media (min-width: 768px) {
  body.page-id-165 #page-top {
    bottom: 74px;
  }
}
/* reCAPTCHA の注意書き（/contact/ のフォームの下） */
.dn-recaptcha-note {
  margin-top: 1.5em;
  font-size: 0.75rem;
  line-height: 1.7;
  color: #6b7280;
  text-align: center;
}
.dn-recaptcha-note a {
  color: inherit;
}
/* ハンバーガーの中（ウィジェットの「ナビゲーションメニュー」を入れたときの見た目） */
#navbtn_menu_content .widget_nav_menu ul.menu {
  margin: 0;
  padding: 0;
  list-style: none;
  border-top: 1px solid rgba(197, 174, 124, 0.6);
}
#navbtn_menu_content .widget_nav_menu ul.menu li {
  margin: 0;
  padding: 0;
  border-bottom: 1px solid rgba(197, 174, 124, 0.6);
}
#navbtn_menu_content .widget_nav_menu ul.menu li::before {
  content: none;
}
#navbtn_menu_content .widget_nav_menu ul.menu a {
  display: block;
  padding: 1em 0.5em;
  font-family: "Noto Serif JP", serif;
  font-weight: 600;
  letter-spacing: 0.1em;
  color: #22395a;
  text-decoration: none;
}
/* PC（768px 以上）のロゴ：テーマ既定（高さ35px）の75%。ヘッダーの高さ（45px）は変えず、上下の余白を広げる。
   親テーマの .site__logo.fs_m（高さの設定）に確実に勝つよう #header で指定（2026-10-16 v1.2.3） */
@media only screen and (min-width: 768px) {
  #header .site__logo .custom-logo {
    max-height: 26.25px;
    margin: 9.375px 0;
  }
}
/* ===== DN ヘッダー・SP固定フッター（ここまで） ===== */
