@charset "UTF-8";
/*
 * SWELL を usj（JIN:R）の見た目に寄せる（2026-10-31 Claude）
 * 文字：M PLUS Rounded 1c の細字（JIN:R の設定「d--mpr-thin」）、字間 1.2px、行間 1.8
 * 見出し：H2＝テーマ色の帯（角丸 4px・白文字）、H3＝テーマ色 9% の薄い帯（JIN:R の h2-style1・h3-style8）
 */
body,
.l-header, .l-footer, .post_content, .p-postList, .c-widget {
	font-family: "M PLUS Rounded 1c", "Hiragino Kaku Gothic ProN", "Hiragino Sans", Meiryo, sans-serif;
	font-weight: 300;
}
body { letter-spacing: 1.2px; }
b, strong, .d--bold { font-weight: 500; }
.post_content { line-height: 1.8; }
.post_content p { letter-spacing: .7px; }

/* ===== 本文の見出し ===== */
.post_content h2,
.post_content h2.jinr-heading {
	position: relative; margin: 69px 0 33px; padding: 18px 21px; border: 0; border-radius: 4px;
	background: #0b2f5b; color: #fff; font-size: 1.65em; font-weight: 300; line-height: 1.3; letter-spacing: 1.5px;
}
.post_content h2::before, .post_content h2::after { content: none; display: none; }
.post_content h3,
.post_content h3.jinr-heading {
	position: relative; margin: 45px 0 27px; padding: 15px 18px; border: 0; border-radius: 0;
	background: rgba(11, 47, 91, .09); color: #333; font-size: 1.15em; font-weight: 300; line-height: 1.3; letter-spacing: 1.5px;
}
.post_content h3::before, .post_content h3::after { content: none; display: none; }
.post_content h4 { font-size: 1.05em; font-weight: 500; }
@media (max-width: 551px) {
	.post_content h2, .post_content h2.jinr-heading { font-size: 1.3em; padding: 14px 16px; margin-top: 52px; }
	.post_content h3, .post_content h3.jinr-heading { font-size: 1.08em; padding: 12px 14px; }
}

/* ===== ヘッダー（ロゴの文字を中央・細字、その下にキャッチフレーズとメニュー） ===== */
.l-header__logo .c-headLogo__link,
.c-headLogo { font-weight: 300; letter-spacing: 2px; color: #0b2f5b; }
.c-catchphrase { font-size: 11px; letter-spacing: 1.5px; color: #0b2f5b; }
.c-gnav > .menu-item > a { font-size: 14px; font-weight: 300; letter-spacing: 1px; color: #3e5e7c; }
.c-gnav > .menu-item > a .ttl { font-weight: 300; }

/* ===== お知らせバー（JIN:R：濃紺の帯・白文字・白い枠のボタン） ===== */
.c-infoBar { font-size: 11px; letter-spacing: 1px; }
.c-infoBar__btn { background: transparent !important; border: 1px solid #fff; border-radius: 5px; color: #fff !important; font-size: 11px; padding: 4px 16px; }

/* ===== 記事の一覧・サイドバー ===== */
.p-postList__title { font-weight: 500; letter-spacing: .6px; }
.c-widget__title, .c-secTitle { font-weight: 300; letter-spacing: 1.5px; color: #0b2f5b; }

/* ===== 記事のタイトル ===== */
.c-postTitle__ttl { font-weight: 300; letter-spacing: 1.5px; line-height: 1.5; }

/* トップページは 1 列で幅 1100px（JIN:R のトップと同じ） */
.home.-frame-off .l-mainContent, .home .l-mainContent { max-width: 1100px; margin-left: auto; margin-right: auto; }
.home .l-article { max-width: 1100px; }

/* ===== 記事の頭：JIN:R と同じく「日付・カテゴリー → 題 → 写真 → PR 表記」の順 ===== */
article.l-mainContent__inner { display: flex; flex-direction: column; }
article.l-mainContent__inner > .p-articleMetas.-top { order: -3; margin: 0 0 8px; }
article.l-mainContent__inner > .p-articleHead { order: -2; }
article.l-mainContent__inner > .p-articleThumb { order: -1; }
.p-articleMetas.-top { font-size: 11px; }
.p-articleMetas.-top .c-categoryList__link { background: none !important; color: #333 !important; padding: 0; font-size: 11px; }
.p-articleMetas.-top .c-categoryList__link::before { content: "\25A0"; margin-right: 4px; color: #0b2f5b; font-size: 9px; }
/* SWELL のフォルダーの印は出さない（上の ■ と二重になる。Codex 2 回目 A2-11） */
.p-articleMetas.-top .p-articleMetas__termList::before { content: none; }
.c-postTitle__ttl { font-size: 1.6em; }
@media (max-width: 551px) { .c-postTitle__ttl { font-size: 1.3em; } }
/* PR 表記：写真の下に小さく（JIN:R と同じ薄い灰色の帯） */
.c-prNotation { order: 0; margin: 20px 0 0 !important; padding: 6px 10px !important; background: rgba(51, 51, 51, .05) !important; border: 0 !important; color: rgba(51, 51, 51, .7) !important; font-size: 10px !important; justify-content: center; text-align: center; }
.c-prNotation .icon-info { display: none; }

/* ===== 固定ページ・一覧の題（JIN:R：細字・線なし。カテゴリーと検索は上に小さく英字） ===== */
.c-pageTitle { font-weight: 300; letter-spacing: 1.5px; font-size: 1.6em; }
.c-pageTitle__inner, .c-pageTitle[data-style] .c-pageTitle__inner { border: 0 !important; padding: 0; }
.c-pageTitle[data-style]::before, .c-pageTitle[data-style]::after { display: none; }
.c-pageTitle__subTitle { display: none; }
.archive .c-pageTitle, .search .c-pageTitle { text-align: center; font-size: 1.35em; }
.category .c-pageTitle__inner::before, .search .c-pageTitle__inner::before { display: block; font-size: 10px; letter-spacing: 2px; color: rgba(51, 51, 51, .45); margin-bottom: 10px; }
.category .c-pageTitle__inner::before { content: "CATEGORY"; }
.search .c-pageTitle__inner::before { content: "SEARCH"; }
.p-termNavigation { display: none; }

/* ===== 記事の一覧（カード）：写真・題・日付とカテゴリー。抜粋は出さない ===== */
.p-postList__excerpt { display: none; }
.-type-card .p-postList__title { font-size: 13px; line-height: 1.6; }
.p-postList__meta { font-size: 10px; color: rgba(51, 51, 51, .75); }
.p-postList__cat { background: none !important; color: rgba(51, 51, 51, .75) !important; }

/* ===== トップのスライド（JIN:R：写真の下に題、日付とカテゴリーは小さく） ===== */
#post_slider { padding: 16px 0 24px; }
#post_slider .c-postThumb__figure::before { padding-top: 56.25% !important; }
#post_slider .c-postThumb__cat { display: none; }
#post_slider .p-postList__title { font-size: 12px; font-weight: 300; line-height: 1.6; margin-top: 8px; }
#post_slider .p-postList__meta { font-size: 9px; }

/* ===== 本文の中の、JIN:R の見出しでない見出し（サイトマップのプラグインなど）は帯にしない ===== */
.post_content h2:not(.jinr-heading) { background: none; color: #333; padding: 0; margin: 40px 0 16px; font-size: 1.25em; border-radius: 0; }
.post_content h3:not(.jinr-heading) { background: none; padding: 0; margin: 28px 0 12px; font-size: 1.05em; }
.wsp-container ul { list-style: none; padding-left: 0; }
.wsp-container li { margin: 4px 0; }
.wsp-container a { text-decoration: underline; }

/* ===== お問い合わせ（JIN:R：白い大きな入力欄・枠線） ===== */
.wpcf7 input[type="text"], .wpcf7 input[type="email"], .wpcf7 input[type="tel"], .wpcf7 input[type="url"], .wpcf7 textarea {
	width: 100%; box-sizing: border-box; background: #fff; border: 1px solid rgba(51, 51, 51, .2); border-radius: 4px; padding: 10px 12px; font-size: 15px;
}
.wpcf7 label { font-size: 12px; letter-spacing: 1.5px; }
.wpcf7 input[type="submit"] { display: block; margin: 24px auto 0; min-width: 160px; padding: 12px 32px; border: 0; border-radius: 4px; background: rgba(51, 51, 51, .06); color: #333; box-shadow: 0 2px 6px rgba(0, 0, 0, .1); cursor: pointer; }

/* ===== 404 ===== */
.usj-404 .usj-404__label { text-align: center; font-size: 10px; letter-spacing: 2px; color: rgba(51, 51, 51, .45); margin: 0 0 12px; }
.usj-404 h1 { text-align: center; font-weight: 300; font-size: 1.35em; letter-spacing: 1.5px; margin: 0 0 32px; }
.usj-404 .usj-404__box { margin: 24px 0; padding: 20px 24px; background: rgba(11, 47, 91, .06); border-radius: 8px; }
.usj-404 .usj-404__box h2 { background: none; color: #333; padding: 0; margin: 0 0 12px; font-size: 13px; font-weight: 500; }
.usj-404 .wp-block-categories { font-size: 12px; }

/* ===== 仕上げ（10/31 v5） ===== */
/* メニューの今いるページの下線は出さない（JIN:R は出さない） */
.c-gnav > .menu-item > a::after, .c-gnav .current-menu-item > a::after, .c-gnav > .-current > a::after { display: none !important; }
/* 一覧の題の下は少しあける */
.archive .c-pageTitle, .search .c-pageTitle { margin-bottom: 28px; }
/* サイトマップの見出しは中字 */
.post_content h2:not(.jinr-heading) { font-weight: 500; }

/* ===== Codex レビュー（10/31）を受けた調整 ===== */
/* A1 PC のヘッダー：JIN:R はサイト名 32px（設定 40px × 0.8）、ロゴの上 40px・下 20px、その下にメニュー */
@media (min-width: 960px) {
	.l-header__inner { padding-top: 34px; padding-bottom: 14px; }
	.c-headLogo, .c-headLogo .c-headLogo__link { font-size: 32px !important; letter-spacing: 3px; line-height: 1.3; }
	.c-catchphrase { font-size: 11px; margin-top: 10px; }
	.l-header__gnav { margin-top: 18px; }
	.c-gnav > .menu-item > a { padding: 10px 16px; }
}
@media (max-width: 959px) {
	.c-headLogo, .c-headLogo .c-headLogo__link { font-size: 22px !important; letter-spacing: 1px; }
}
/* A17 スマホのお知らせバーの文字は JIN:R と同じく小さく・細く */
@media (max-width: 959px) {
	.c-infoBar { font-size: 10px; font-weight: 300; }
	.c-infoBar__text { font-weight: 300; }
}

/* A2 カテゴリー・検索の一覧：JIN:R と同じ白い角丸・影つきのカード */
.archive .p-postList.-type-card .p-postList__link,
.search .p-postList.-type-card .p-postList__link { display: block; height: 100%; background: #fff; border-radius: 6px; overflow: hidden; box-shadow: 0 2px 8px rgba(11, 47, 91, .1); }
.archive .p-postList.-type-card .p-postList__body,
.search .p-postList.-type-card .p-postList__body { padding: 12px 12px 10px; }
.archive .p-postList.-type-card .c-postThumb__figure,
.search .p-postList.-type-card .c-postThumb__figure { border-radius: 6px 6px 0 0; }

/* A3 スマホの記事の頭：題を小さく、写真・PR 表記・本文の間を詰める */
@media (max-width: 959px) {
	.c-postTitle__ttl { font-size: 1.12em !important; line-height: 1.6; }
	.p-articleHead { margin-bottom: 12px; }
	.p-articleThumb { margin-bottom: 0; }
	.c-prNotation { margin-top: 12px !important; }
	article.l-mainContent__inner > .post_content { margin-top: 20px; }
}

/* A4 スマホでは、サイドバー（本文の下）は記事のページだけに出す（依頼者 10/31） */
@media (max-width: 959px) {
	#body_wrap:not(.single) #sidebar { display: none; } /* SWELL はページの種類のクラスを body ではなく #body_wrap に付ける */
}

/* A7 日付が先、カテゴリーが後（JIN:R と同じ並び） */
.p-articleMetas.-top { display: flex; flex-wrap: wrap; align-items: center; gap: 4px 12px; }
.p-articleMetas.-top .c-postTimes { order: -1; }

/* A10・A11 スマホのトップ：スライドの下の空きを詰め、News は日付と題を横に並べる */
@media (max-width: 551px) {
	#post_slider { padding-bottom: 12px; }
	.home .b--jinr-fullwidth { padding-top: 24px; }
	.b--jinr-h2rich .a--h2rich-maincopy { font-size: 20px; }
	.b--jinr-postlist.d--postlist-newstext .c--post-contents { flex-direction: row-reverse !important; gap: 12px !important; }
	.b--jinr-postlist.d--postlist-newstext .c--post-meta { flex: 0 0 auto; font-size: 11px; }
	.b--jinr-postlist.d--postlist-newstext .a--post-title { -webkit-line-clamp: 1; font-size: 13px; }
}

/* A12 目次（Rich Table of Contents）：JIN:R と同じく濃い文字・灰色の枠 */
.rtoc-mokuji-content.frame1, .rtoc-mokuji-content { border-color: #ddd !important; }
.rtoc-mokuji-content #rtoc-mokuji-title { color: #0b2f5b !important; }
.rtoc-mokuji-content .rtoc-mokuji li > a { color: #555 !important; }
.rtoc-mokuji-content .rtoc-mokuji .rtoc-item::before, .rtoc-mokuji-content .rtoc_number { color: #0b2f5b !important; }

/* A5 本文の区切り線（core/separator）：JIN:R と同じく本文の幅いっぱいの細い線 */
.post_content hr.wp-block-separator { width: 100%; max-width: none; border: 0; border-top: 1px solid rgba(51, 51, 51, .2); margin: 40px 0; opacity: 1; }

/* A6 吹き出し：上下の余白（JIN:R と同じ高さに） */
.c--fukidashi-contents { min-height: 60px; display: flex; flex-direction: column; justify-content: center; padding-top: 6px; padding-bottom: 6px; }
.c--fukidashi-contents .o--fukidashi-inner > *, .c--fukidashi-contents p { margin: 12px 0; }

/* A14 お問い合わせ：項目の間をあけ、送信ボタンの影を弱く */
.wpcf7 form > p { margin: 0 0 30px; }
.wpcf7 label { display: block; }
.wpcf7 .wpcf7-form-control-wrap { display: block; margin-top: 8px; }
.wpcf7 input[type="submit"] { box-shadow: 0 1px 3px rgba(0, 0, 0, .08); }

/* A15 サイトマップ（WP Sitemap Page）：点も字下げも付けない */
.post_content .wsp-container ul, .post_content .wsp-container ul ul { list-style: none; padding-left: 0; margin-left: 0; }
.post_content .wsp-container li::before { content: none !important; display: none !important; }
/* カテゴリーの題は JIN:R と同じく中字 */
.archive .c-pageTitle { font-weight: 500; }

/* ===== 文字の大きさを JIN:R に合わせる（依頼者「少しだけ文字が大きい」10/31。テスト機で JIN:R と SWELL を同じ幅で測った値）
   前に書いた指定が SWELL の指定に負けて効いていなかったものを、強い指定で書き直す ===== */
/* 上の帯：JIN:R は PC 12px・スマホ 11px の細字（SWELL は PC 12px 太字・スマホ 15px だった） */
#body_wrap .c-infoBar__text { font-size: 12px !important; font-weight: 300 !important; letter-spacing: .6px; }
#body_wrap .c-infoBar__btn { font-size: 11px !important; font-weight: 300; }
/* 記事の題：字の間隔を JIN:R と同じ 0.9px に（SWELL は 1.5px で、スマホで 1 行多くなっていた） */
#body_wrap .c-postTitle__ttl { letter-spacing: .9px; }
/* 一覧のカードの題：JIN:R は PC 13.5px・スマホ 11.5px の中字（SWELL は 13px の太字だった） */
#body_wrap .p-postList.-type-card .p-postList__title { font-size: 13.5px; font-weight: 500; letter-spacing: 1.2px; }
/* 404 の題：JIN:R は PC 24px・スマホ 18px、字の間隔 3.6px（SWELL はスマホ 24.3px で 2 行になっていた） */
#body_wrap .usj-404 h1 { font-size: 24px; letter-spacing: 3.6px; }
/* フッター：参考サイトとメニュー（JIN:R は 12〜13px。SWELL はスマホで 15〜18px だった） */
#body_wrap .l-footer__widgetArea .c-widget { font-size: 13px; }
#body_wrap .l-footer__widgetArea .c-widget p { font-size: 13px; }
#body_wrap .l-footer__nav a { font-size: 12px; }
@media (max-width: 959px) {
	#body_wrap .c-infoBar__text { font-size: 11px !important; }
	#body_wrap .p-postList.-type-card .p-postList__title { font-size: 11.5px; letter-spacing: 1.05px; }
	#body_wrap .usj-404 h1 { font-size: 18px; }
	#body_wrap .l-footer__nav a { font-size: 11px; }
	/* スマホの記事の下のサイドバー（JIN:R には無い）の見出しも本文より小さく */
	#body_wrap #sidebar .c-widget h2, #body_wrap #sidebar .c-widget__title { font-size: 14px; }
}
/* 幅の狭いスマホ（375px など）でも 404 の題を 1 行に収める */
@media (max-width: 420px) {
	#body_wrap .usj-404 h1 { font-size: 15.5px; letter-spacing: .5px; }
}
/* 題と写真の間の空白：記事の頭を flex で並べ替えたので、題の下（12px）と写真の上（36px）の余白が重ならず 48px になっていた。
   JIN:R と同じくらい（スマホ約 20px・PC 約 28px）にする（依頼者の指摘 10/31） */
#body_wrap .l-mainContent__inner > .p-articleThumb { margin-top: 0; }
#body_wrap .l-mainContent__inner > .p-articleHead { margin-bottom: 28px; }
@media (max-width: 959px) {
	#body_wrap .l-mainContent__inner > .p-articleHead { margin-bottom: 20px; }
}

/* 追尾するサイドバー（PC）：中身（バナー＋カテゴリー）が画面より高く、枠の中でスクロールしないと下が見えなかった。
   追尾をやめて、ふつうのサイドバーとして全部を表示する（2026-11-01 依頼者） */
#body_wrap #fix_sidebar{position:static;top:auto;max-height:none;overflow:visible}
