/* ==========================================================
   WordPress 用の追加スタイル
   デザイン本体は styles.css。ここには WP 化で増えた要素だけを記述。
   ========================================================== */

/* 管理バー表示時にヘッダーが隠れないように */
body.admin-bar .site-header { top: var(--wp-admin--admin-bar--height, 32px); }

/* プランカード：リストと「詳細を見る」ボタンの間に余白（項目が多いカード用） */
.plan-card ul:not(:last-child) { margin-bottom: 24px; }


/* ---------- サポート内容：IBJ 実績データ（.support-reliable 内） ---------- */
.support-reliable-brand { display: flex; align-items: flex-end; justify-content: center; gap: 6px; margin: 0; }
.support-reliable-brand .support-reliable-logo { margin-inline: 0; }
.support-reliable-brand span { margin-bottom: .1em; color: #222; font-family: "Yu Mincho", "Hiragino Mincho ProN", serif; font-size: clamp(1.5rem, 2.6vw, 2rem); line-height: 1; }
.support-reliable-small { font-size: .62em; }
.ibj-stats { max-width: 560px; margin: 44px auto 0; text-align: left; }
.ibj-stats-count { position: relative; display: flex; flex-wrap: wrap; align-items: baseline; justify-content: center; column-gap: 14px; margin: 0; padding: 26px 0 30px; border-top: 1px solid var(--pink); border-bottom: 1px solid var(--pink); color: #222; font-family: "Yu Mincho", "Hiragino Mincho ProN", serif; line-height: 1; }
.ibj-stats-count-label { font-size: clamp(1.35rem, 2.4vw, 1.75rem); letter-spacing: .04em; }
.ibj-stats-count strong { color: var(--pink); font-size: clamp(3rem, 6.4vw, 4.4rem); font-weight: 400; letter-spacing: .01em; }
.ibj-stats-count-unit { font-size: clamp(1.35rem, 2.4vw, 1.75rem); }
.ibj-stats-count small { position: absolute; right: 88px; bottom: 10px; font-family: "Hiragino Kaku Gothic ProN", "Yu Gothic", "Meiryo", sans-serif; font-size: .78rem; letter-spacing: .04em; }
.ibj-stats-notes { width: fit-content; max-width: 100%; margin: 22px auto 0; padding: 0; list-style: none; font-size: .82rem; line-height: 2.1; letter-spacing: .04em; }
.ibj-trend-title { margin: 56px 0 0; color: #222; text-align: center; font-family: "Yu Mincho", "Hiragino Mincho ProN", serif; font-size: clamp(1.35rem, 2.3vw, 1.6rem); font-weight: 500; letter-spacing: .08em; }
.ibj-trend-lead { margin: 18px 0 0; text-align: center; font-size: .82rem; line-height: 1.9; }
.ibj-trend { display: grid; gap: 16px; margin: 30px 0 0; }
.ibj-trend > div { display: grid; grid-template-columns: 45% 55%; min-height: 68px; }
.ibj-trend dt, .ibj-trend dd { display: grid; place-items: center; margin: 0; padding: 12px; font-family: "Yu Mincho", "Hiragino Mincho ProN", serif; letter-spacing: .04em; }
.ibj-trend dt { color: #fff; background: #c1b18c; font-size: clamp(1rem, 1.7vw, 1.12rem); }
.ibj-trend dd { color: #222; background: #fff; font-size: clamp(1.2rem, 2.1vw, 1.4rem); }
.ibj-trend .is-latest dt { background: #ec8589; }
.ibj-trend .is-latest dd { color: var(--pink); }
.ibj-trend-note { margin-top: 32px; font-size: .82rem; line-height: 2.1; }
.ibj-trend-note p { margin: 0 0 1em; }
.ibj-trend-note p:last-child { margin-bottom: 0; }
.ibj-stats-source { margin: 16px 0 0; color: #888; font-size: .72rem; text-align: right; }

/* ---------- ご成婚ストーリー：WordPress出力画像の縦横比を固定 ----------
   （img の width/height 属性とグリッドの伸縮で縦長になるのを防ぐ） */
.story-detail-card > img,
.story-archive-card > img,
.counselor-story-card img,
.story-card img { height: auto; }
/* トップページのストーリーカード画像を少し縦長に（元 16:9 → 4:3） */
.story-card img { aspect-ratio: 4 / 3; }
.story-detail-card > img,
.story-archive-card > img { align-self: start; }

/* ご成婚ストーリー：カウンセラーコメントの画像を小さめに（元 190px → 150px）※PCのみ。スマホは画像非表示の1カラム */
@media (min-width: 701px) {
  .story-counselor-comment { grid-template-columns: minmax(0, 1fr) 150px; }
}

/* ご成婚ストーリー詳細：カード写真（figure）と「※写真はイメージです」 */
.story-detail-photo { margin: 0; align-self: start; }
.story-detail-photo img { width: 100%; height: auto; display: block; aspect-ratio: 2 / 3; object-fit: cover; }
.story-detail-photo-note { margin-top: 8px; color: #888; font-size: .72rem; line-height: 1.5; text-align: right; }

/* IBJロゴ（ヘッダー・フッター）：公式サイトへのリンク */
a.ibj-mark { transition: opacity .2s ease; }
a.ibj-mark:hover, a.ibj-mark:focus-visible { opacity: .7; }

/* コピーライトのリンク */
.copyright a { color: inherit; }
.copyright a:hover, .copyright a:focus-visible { text-decoration: underline; }

/* トップへ戻るボタン（画面左下。右下はバナー用に空けておく） */
.back-to-top { position: fixed; left: 24px; bottom: 24px; z-index: 90; width: 52px; height: 52px; display: grid; place-items: center; padding: 0; border: 1px solid var(--pink); border-radius: 50%; background: rgb(255 255 255 / .92); box-shadow: 0 6px 18px rgb(80 55 55 / .12); cursor: pointer; opacity: 0; visibility: hidden; transform: translateY(12px); transition: opacity .3s ease, transform .3s ease, visibility .3s, background-color .2s ease, bottom .3s ease; }
.back-to-top.is-visible { opacity: 1; visibility: visible; transform: none; }
.back-to-top span { width: 12px; height: 12px; margin-top: 5px; border-top: 2px solid var(--pink); border-left: 2px solid var(--pink); transform: rotate(45deg); transition: border-color .2s ease; }
.back-to-top:hover, .back-to-top:focus-visible { background: var(--pink); }
.back-to-top:hover span, .back-to-top:focus-visible span { border-color: #fff; }
.global-nav.is-open ~ .back-to-top, body:has(.global-nav.is-open) .back-to-top { opacity: 0; visibility: hidden; }
@media (max-width: 700px) {
  .back-to-top { left: 14px; bottom: 16px; width: 44px; height: 44px; }
  .back-to-top span { width: 10px; height: 10px; margin-top: 4px; }
}
@media (prefers-reduced-motion: reduce) {
  .back-to-top { transition: none; }
}

/* フッター：住所1行＋電話番号、Instagram＋IBJ */
.footer-address-line { display: block; }
.footer-tel { display: inline-flex; align-items: center; gap: .3em; margin-top: 6px; color: var(--pink); font-size: clamp(1.15rem, 1.6vw, 1.5rem); font-weight: 700; letter-spacing: .04em; line-height: 1.4; transition: opacity .2s ease; }
.footer-tel-icon { width: .85em; height: .85em; fill: currentColor; flex: 0 0 auto; }
a.footer-tel:hover, a.footer-tel:focus-visible { opacity: .75; }
/* PC（マウス操作の端末）では電話リンクを無効化。スマホ・タブレットはタップで発信 */
@media (hover: hover) and (pointer: fine) {
  a.footer-tel { pointer-events: none; cursor: default; }
}
.footer-sub { display: flex; flex-direction: column; align-items: flex-end; gap: 10px; }
.footer-privacy { font-family: "Hiragino Kaku Gothic ProN", "Yu Gothic", "Meiryo", sans-serif; font-size: .75rem; color: #777; text-decoration: underline; text-underline-offset: 3px; transition: color .25s ease; }
.footer-privacy:hover, .footer-privacy:focus-visible { color: #ED8488; }
.footer-badges { display: flex; align-items: center; gap: 18px; }
.footer-sns { display: block; line-height: 0; transition: opacity .2s ease; }
.footer-sns img { width: 40px; height: 40px; }
.footer-sns:hover, .footer-sns:focus-visible { opacity: .7; }
@media (max-width: 700px) {
  .footer-sub { align-items: center; }
  .footer-badges { justify-content: center; }
  .footer-tel { justify-content: center; }
}

/* フローティングバナー（PC：画面右下の画像／スマホ：画面下部の2ボタン） */
.floating-banner { position: fixed; right: 24px; bottom: 24px; z-index: 95; width: 250px; opacity: 0; visibility: hidden; transform: translateY(16px); transition: opacity .35s ease, transform .35s ease, visibility .35s; }
.floating-banner.is-visible { opacity: 1; visibility: visible; transform: none; }
.floating-banner-link { display: block; filter: drop-shadow(0 6px 14px rgb(80 55 55 / .25)); transition: transform .2s ease, filter .2s ease; }
.floating-banner-link img { display: block; width: 100%; height: auto; }
.floating-banner-link:hover, .floating-banner-link:focus-visible { transform: translateY(-3px); filter: drop-shadow(0 10px 18px rgb(80 55 55 / .3)); }
.floating-banner-close { position: absolute; top: -6px; right: -6px; width: 28px; height: 28px; display: grid; place-items: center; padding: 0; border: 0; border-radius: 50%; background: #555; box-shadow: 0 2px 6px rgb(0 0 0 / .25); cursor: pointer; }
.floating-banner-close span, .floating-banner-close span::before { display: block; width: 12px; height: 2px; background: #fff; transform: rotate(45deg); }
.floating-banner-close span::before { content: ""; transform: rotate(90deg); }
.floating-banner-close:hover, .floating-banner-close:focus-visible { background: var(--pink); }
.floating-banner-sp { display: none; }
body:has(.global-nav.is-open) .floating-banner { opacity: 0; visibility: hidden; }
@media (max-width: 700px) {
  .floating-banner { right: 0; bottom: 0; left: 0; width: auto; transform: translateY(100%); }
  .floating-banner.is-visible { transform: none; }
  .floating-banner-link, .floating-banner-close { display: none; }
  .floating-banner-sp { display: grid; grid-template-columns: 1fr 1fr; box-shadow: 0 -4px 14px rgb(80 55 55 / .15); }
  .floating-banner-sp a { min-height: 54px; display: grid; place-items: center; padding: 8px 6px calc(8px + env(safe-area-inset-bottom)); color: #fff; font-family: "Hiragino Kaku Gothic ProN", "Yu Gothic", "Meiryo", sans-serif; font-size: .95rem; font-weight: 700; letter-spacing: .04em; line-height: 1.3; text-align: center; }
  .floating-banner-sp-line { background: #05c755; }
  .floating-banner-sp-web { background: var(--pink); }
  .floating-banner-sp a:active { filter: brightness(.95); }
  /* 2ボタン表示中はトップへ戻るボタンをその上に */
  .floating-banner.is-visible ~ .back-to-top { bottom: calc(54px + 14px + env(safe-area-inset-bottom)); }
}
@media (prefers-reduced-motion: reduce) {
  .floating-banner, .floating-banner-link { transition: none; }
}

/* 管理者向けお知らせ */
.enishi-admin-notice { max-width: 860px; margin: 32px auto 0; padding: 14px 20px; border: 2px dashed #d9534f; border-radius: 8px; background: #fff; color: #b52b27; font-size: .88rem; line-height: 1.7; }

/* 空表示 */
.enishi-empty { margin: 48px 0; text-align: center; color: #888; }

/* ---------- 固定ページ 標準テンプレート（page.php / 404.php） ---------- */
.page-default-header { margin-bottom: 64px; }
.page-default-content { max-width: 860px; margin-inline: auto; }
.page-default-content > :first-child { margin-top: 0; }
.page-default-content table { width: 100%; border-collapse: collapse; margin: 1.6em 0; font-size: .9rem; }
.page-default-content th, .page-default-content td { padding: 14px 16px; border: 1px solid #e8d6d6; text-align: left; vertical-align: top; }
.page-default-content th { width: 28%; background: #fff5f5; font-weight: 500; }
.enishi-404 { text-align: center; }
.page-default-button { margin-top: 48px; }
.page-default-button .outline-button { margin: 0 auto; text-decoration: none; }
.news-single-inner { max-width: 860px; }

/* ---------- お知らせ（デザイン：news.html / news-post.html） ---------- */
.page-header--news { background-image: url("../images/story_header.webp"); background-position: center 48%; }

.news-heading { margin-bottom: 48px; text-align: center; }
.news-heading .english-label { margin-inline: auto; }
.news-heading h2 { margin: 0; color: #444; font-family: "Yu Mincho", "Hiragino Mincho ProN", serif; font-size: clamp(1.6rem, 2.4vw, 1.9rem); font-weight: 400; letter-spacing: .08em; }

.news-archive { width: min(880px, calc(100% - 48px)); margin: 118px auto 126px; }
.news-card-list { display: grid; gap: 24px; }
.news-card { border: 1px solid #f2b7ba; background: #fff; transition: transform .2s ease, box-shadow .2s ease; }
.news-card:hover, .news-card:focus-within { transform: translateY(-4px); box-shadow: 0 9px 24px rgb(219 136 145 / .14); }
.news-card__link { display: block; padding: 28px 34px 30px; color: var(--ink); }
.news-card__meta, .news-post__meta { display: flex; flex-wrap: wrap; align-items: center; gap: 12px; }
.news-card__category { display: inline-grid; min-width: 82px; padding: 2px 14px; place-items: center; border: 1px solid #f6c5c8; border-radius: 99px; color: var(--pink); font-size: .72rem; line-height: 1.45; }
.news-card__date { color: #999; font-size: .75rem; letter-spacing: .04em; }
.news-card h3 { margin: 12px 0; padding-bottom: 11px; border-bottom: 1px solid #a5a1a0; font-family: "Yu Mincho", "Hiragino Mincho ProN", serif; font-size: 1.15rem; font-weight: 400; line-height: 1.5; }
.news-card p { margin: 0; font-size: .8rem; line-height: 1.8; }

.news-pagination { display: flex; justify-content: center; align-items: center; gap: 9px; margin-top: 47px; color: #f0a0a7; font-size: .8rem; }
.news-pagination a, .news-pagination span { min-width: 26px; height: 26px; display: grid; place-items: center; }
.news-pagination a:not(.story-pagination-prev):not(.story-pagination-next), .news-pagination span[aria-current] { border: 1px solid #f0a0a7; border-radius: 50%; transition: color .2s ease, background-color .2s ease; }
.news-pagination a:hover, .news-pagination span[aria-current] { color: #fff; background: #f08b94; }
.news-pagination .story-pagination-prev:hover, .news-pagination .story-pagination-next:hover { color: var(--pink); background: none; }

.news-post-page .breadcrumb { padding-top: 32px; }
.news-post { width: min(660px, calc(100% - 48px)); margin: 34px auto 132px; }
.news-post__hero { width: 100%; height: auto; display: block; } /* 画像の縦横比のまま表示（上下を切らない） */
.news-post__header { padding: 27px 0 42px; }
.news-post__header h1 { margin: 0 0 17px; font-family: "Yu Mincho", "Hiragino Mincho ProN", serif; font-weight: 400; font-size: 1.5rem; line-height: 1.55; }
.news-post__content.entry-content { font-size: .82rem; line-height: 2.15; }
.news-post__content.entry-content p { margin: 0 0 23px; }
.news-post__content.entry-content > * + * { margin-top: 0; }
.news-post__content.entry-content img { width: auto; max-width: 100%; height: auto; display: block; margin-inline: auto; } /* 画像の縦横比のまま表示（上下を切らない）。小さい画像は拡大しない */
.news-post__content.entry-content figure, .news-post__content.entry-content > img { margin: 55px 0 54px; }
.news-post__content.entry-content h2 { margin: 0 0 31px; padding: 0; border: 0; color: var(--pink); font-family: "Yu Mincho", "Hiragino Mincho ProN", serif; font-weight: 400; font-size: 1.3rem; text-align: center; }
.news-post__content.entry-content h3 { margin: 40px 0 20px; }

.related-news { width: min(760px, calc(100% - 48px)); margin: 0 auto 108px; }
.related-news .news-heading { margin-bottom: 47px; }
.related-news .news-card-list { gap: 18px; }
.related-news .news-card__link { padding: 23px 28px 25px; }
.news-post__back { margin: 48px 0 0; text-align: center; }
.news-post__back a { width: 160px; height: 50px; display: inline-grid; place-items: center; border: 1px solid var(--pink); border-radius: 99px; color: var(--pink); font-family: "Yu Mincho", "Hiragino Mincho ProN", serif; font-size: .9rem; transition: color .2s ease, background-color .2s ease; }
.news-post__back a:hover, .news-post__back a:focus-visible { color: #fff; background: var(--pink); }

/* 本文（ブロックエディター出力） */
.entry-content { font-size: .95rem; line-height: 2.1; }
.entry-content > * + * { margin-top: 1.4em; }
.entry-content p { margin: 0 0 1.2em; }
.entry-content h2 { margin: 2.6em 0 1em; padding-bottom: .4em; color: #444; border-bottom: 1px solid var(--light-pink); font-family: "Yu Mincho", "Hiragino Mincho ProN", serif; font-size: 1.5rem; font-weight: 400; line-height: 1.6; }
.entry-content h3 { margin: 2.2em 0 .8em; color: var(--pink); font-size: 1.2rem; font-weight: 500; line-height: 1.6; }
.entry-content a { color: var(--pink); text-decoration: underline; }
.entry-content img { max-width: 100%; height: auto; }
.entry-content figure { margin: 2em 0; }
.entry-content ul, .entry-content ol { padding-left: 1.4em; }

/* ご成婚ストーリー本文：見出し(H2/H3)を静的デザインの h3 と同じ見た目に */
.story-detail-content.entry-content h2,
.story-detail-content.entry-content h3 { margin: 88px 0 34px; padding: 0; border: 0; color: var(--pink); text-align: center; font-family: "Yu Mincho", "Hiragino Mincho ProN", serif; font-size: clamp(1.55rem, 2.7vw, 1.8rem); font-weight: 400; line-height: 1.6; letter-spacing: .08em; }
.story-detail-content.entry-content > :first-child { margin-top: 0; }
.story-detail-content.entry-content figure { margin: 42px 0 0; }
.story-detail-content.entry-content figure img { margin-top: 0; }

/* ---------- お問い合わせ：Contact Form 7 ＋ Norick Confirm ---------- */
.contact-form-section .wpcf7 { max-width: 860px; margin: 48px auto 0; }
.contact-form-section .wpcf7 .contact-form-box { margin-top: 0; }
.contact-form-box .wpcf7-form-control-wrap { display: block; width: 100%; }
.form-row--textarea .wpcf7-form-control-wrap { grid-column: 1 / -1; }
/* ラジオボタン（CF7の出力を .form-radio と同じ見た目に） */
.contact-form-box .wpcf7-radio { display: flex; flex-direction: column; gap: 14px; }
.contact-form-box .wpcf7-list-item { margin: 0; }
.contact-form-box .wpcf7-radio label { display: inline-flex; align-items: center; gap: 10px; cursor: pointer; font-size: .95rem; }
.contact-form-box .wpcf7-radio input[type="radio"] { width: 18px; height: 18px; margin: 0; accent-color: var(--pink); }
/* 同意チェック */
.contact-form-box .form-consent .wpcf7-form-control-wrap { display: inline-block; width: auto; }
.contact-form-box .form-consent label { display: inline-flex; align-items: center; }
/* エラー・送信結果 */
.contact-form-box .wpcf7-not-valid { border-color: var(--pink) !important; background: #fffafa; }
.contact-form-box .wpcf7-not-valid-tip { margin-top: 6px; color: #d9534f; font-size: .8rem; line-height: 1.5; }
.contact-form-box .wpcf7-response-output { margin: 32px auto 0 !important; padding: 14px 18px !important; max-width: 620px; border-radius: 6px; font-size: .9rem; line-height: 1.7; text-align: center; }
.contact-form-box .wpcf7-spinner { display: block; margin: 12px auto 0; }
/* スピナーが余白を取ってボタンが左に寄るのを防ぐ（独立した行に配置） */
.form-actions .wpcf7-spinner { flex: 0 0 100%; max-width: 24px; margin: 12px calc(50% - 12px) 0; order: 10; }

/* ボタン（確認する・戻る・送信する） */
.form-actions { display: flex; flex-wrap: wrap; justify-content: center; gap: 16px; }
.contact-form-box input[type="submit"],
.contact-form-box input[type="button"] { display: block; width: min(100%, 400px); margin: 0; padding: 20px 32px; border: 0; border-radius: 999px; background: var(--pink); color: #fff; font-family: inherit; font-size: 1.1rem; font-weight: 700; letter-spacing: .1em; cursor: pointer; transition: filter .2s ease, transform .2s ease, opacity .2s ease; -webkit-appearance: none; appearance: none; }
.contact-form-box input[type="submit"]:hover,
.contact-form-box input[type="button"]:hover { filter: brightness(1.05); transform: scale(1.02); }
.contact-form-box input[type="submit"]:disabled,
.contact-form-box input[type="button"]:disabled { opacity: .45; cursor: not-allowed; transform: none; }
/* 「戻る」ボタンは白抜き */
.contact-form-box input.wpcf7-back,
.contact-form-box input[class*="btn-back"] { width: min(100%, 260px); color: var(--pink); background: #fff; border: 2px solid var(--pink); }

/* 確認画面：入力欄を読み取り専用らしく表示 */
.contact-form-box input[readonly],
.contact-form-box textarea[readonly] { border-color: transparent !important; background: #fff !important; box-shadow: none; }

@media (max-width: 700px) {
  .page-default-header { margin-bottom: 40px; }
  .story-detail-photo img { aspect-ratio: 3 / 2; }
  .ibj-stats { margin-top: 32px; }
  .ibj-stats-count { column-gap: 8px; padding: 20px 0 34px; }
  .ibj-stats-count strong { font-size: 2.4rem; }
  .ibj-stats-count small { right: 0; left: 0; bottom: 10px; text-align: center; }
  .ibj-stats-notes { font-size: .78rem; line-height: 2; }
  .ibj-note-paren { display: block; padding-left: 1em; }
  .ibj-trend-title { margin-top: 44px; }
  .ibj-trend-lead { text-align: left; }
  .ibj-trend { gap: 10px; }
  .ibj-trend > div { grid-template-columns: 50% 50%; min-height: 56px; }
  .ibj-trend-note { font-size: .8rem; line-height: 2; }
  .page-default-content th, .page-default-content td { display: block; width: 100%; }
  .page-default-content th { border-bottom: 0; }
  .news-archive { margin: 70px auto; }
  .news-heading { margin-bottom: 34px; }
  .news-card-list { gap: 16px; }
  .news-card__link, .related-news .news-card__link { padding: 22px; }
  .news-card h3 { font-size: 1rem; }
  .news-post { margin-bottom: 88px; }
  .news-post__header h1 { font-size: 1.25rem; }
  .news-post__content.entry-content figure, .news-post__content.entry-content > img { margin: 36px 0; }
  .related-news { margin-bottom: 72px; }
  .story-detail-content.entry-content h2,
  .story-detail-content.entry-content h3 { margin: 58px 0 24px; font-size: clamp(1.35rem, 5.6vw, 1.65rem); }
  .story-detail-content.entry-content figure { margin-top: 28px; }
  .contact-form-box input[type="submit"], .contact-form-box input[type="button"] { padding: 17px 24px; font-size: 1rem; }
  .form-actions { flex-direction: column-reverse; align-items: center; }
  .form-actions .wpcf7-spinner { order: -1; margin: 12px auto 0; }
}

@media (max-width: 782px) {
  body.admin-bar .site-header { top: 46px; }
}

/* トップhero（834px以下）：キャッチコピーの背面に白場を敷いて写真と重なっても読みやすく */
@media (max-width: 834px) {
  .hero-copy {
    left: 0;
    right: auto;
    width: fit-content;
    max-width: calc(100% - 16px);
    padding: 14px 26px 6px 20px;
    background: #fff;
    text-shadow: none;
  }
  .hero-copy .hero-title { font-size: clamp(2.1rem, 9.4vw, 3.1rem); white-space: nowrap; }
}

/* ご成婚ストーリー一覧カード：スマホは正方形（元 3:2）で写真の上下を広めに表示 */
@media (max-width: 700px) {
  .story-archive-card > img { aspect-ratio: 1 / 1; }
}

/* ご成婚ストーリー詳細：タイトルの <br> 改行はPCのみ（タブレット・スマホでは自然に折り返す） */
@media (max-width: 834px) {
  .story-detail-hero h1 .title-br { display: none; }
}

/* ご成婚ストーリー本文の H2：834px以下は左揃え */
@media (max-width: 834px) {
  .story-detail-content.entry-content h2 { text-align: left; }
}

/* トップ：AWARDバナーの最大幅 */
.counselor .award-banner { max-width: 800px; }

/* トップ：ストーリーのスライダー上で縦スクロールするとスライダー内だけが上下に動く不具合の修正
   （overflow-x:auto だと縦方向も auto 扱いになり、カードの表示アニメーション分の高さで縦スクロールが発生していた） */
.stories-viewport { overflow-y: hidden; }
/* スライダー内のカードは上下移動なしのフェードインのみ（はみ出し・切れ防止） */
.stories-viewport .story-card.reveal { transform: none; }

/* IBJ 正規加盟店バッジ（画像1枚：枠・文字込み） */
.ibj-mark img.ibj-badge { width: 136px; height: auto; }
.footer-links .ibj-mark { padding: 0; border: 0; }
.footer-links .ibj-mark img.ibj-badge { width: 164px; }
