@charset "utf-8";
@media print {
.fade-in {
/* アニメーションを無効化し、即座に100%表示にする */
opacity: 1 !important;
transform: none !important;
transition: none !important;
visibility: visible !important;
}
.underlayer_frame, .underlayer_image{display:none;}
.no-collapse{padding-top:30px;}
.navbar-toggler{margin-top:30px;}
/* 用紙サイズと余白を固定（縮小率の計算基準にするため） */
@page {
size: A4 portrait;
margin: 10mm;
}
/* ==========================================================
1. 基本設定：PCの横幅(1280px)をシミュレートし、zoomで用紙幅に縮小
Chromeは印刷時に自動縮小しないため、1280pxのままだと右側が切れる。
印刷可能幅 = 210mm - 余白20mm = 190mm ≒ 718px → 718 / 1280 ≒ 0.56
========================================================== */
html {
width: auto !important;
min-width: 0 !important;
}
body {
min-width: 1280px !important;
width: 1280px !important;
zoom: 0.56;
-webkit-print-color-adjust: exact !important;
print-color-adjust: exact !important;
color-adjust: exact !important;
}
/* PC表示と同じくコンテナは1200px中央寄せ（style.cssのmin-width:1200px時の値） */
.container {
width: 1200px !important;
max-width: none !important;
margin-left: auto !important;
margin-right: auto !important;
}
.container-fluid {
width: 100% !important;
max-width: none !important;
}
body, main, #wrapper {
overflow: visible !important;
height: auto !important;
}
/* ==========================================================
2. グリッド：印刷時のページ幅(A4≒794px)ではlg(992px)以上の
メディアクエリが発動しないため、PC適用時と同じ結果になるよう
ブレークポイント昇順（sm→md→lg→xl）で上書きする。
※同一要素に col-sm-5 col-md-3 等が併記された場合、
後に書かれた大きいブレークポイントが勝つ（PCと同じ優先順位）
========================================================== */
.row {
display: flex !important;
flex-wrap: wrap !important;
}
/* --- sm --- */
.col-sm { flex: 1 0 0% !important; width: auto !important; }
.col-sm-auto { flex: 0 0 auto !important; width: auto !important; }
.col-sm-1 { flex: 0 0 auto !important; width: 8.33333333% !important; }
.col-sm-2 { flex: 0 0 auto !important; width: 16.66666667% !important; }
.col-sm-3 { flex: 0 0 auto !important; width: 25% !important; }
.col-sm-4 { flex: 0 0 auto !important; width: 33.33333333% !important; }
.col-sm-5 { flex: 0 0 auto !important; width: 41.66666667% !important; }
.col-sm-6 { flex: 0 0 auto !important; width: 50% !important; }
.col-sm-7 { flex: 0 0 auto !important; width: 58.33333333% !important; }
.col-sm-8 { flex: 0 0 auto !important; width: 66.66666667% !important; }
.col-sm-9 { flex: 0 0 auto !important; width: 75% !important; }
.col-sm-10 { flex: 0 0 auto !important; width: 83.33333333% !important; }
.col-sm-11 { flex: 0 0 auto !important; width: 91.66666667% !important; }
.col-sm-12 { flex: 0 0 auto !important; width: 100% !important; }
.offset-sm-1 { margin-left: 8.33333333% !important; }
.offset-sm-2 { margin-left: 16.66666667% !important; }
.offset-sm-3 { margin-left: 25% !important; }
.offset-sm-4 { margin-left: 33.33333333% !important; }
.offset-sm-6 { margin-left: 50% !important; }
.row-cols-sm-1 > * { flex: 0 0 auto !important; width: 100% !important; }
.row-cols-sm-2 > * { flex: 0 0 auto !important; width: 50% !important; }
.row-cols-sm-3 > * { flex: 0 0 auto !important; width: 33.333333% !important; }
.row-cols-sm-4 > * { flex: 0 0 auto !important; width: 25% !important; }
.row-cols-sm-5 > * { flex: 0 0 auto !important; width: 20% !important; }
.row-cols-sm-6 > * { flex: 0 0 auto !important; width: 16.666667% !important; }
/* --- md --- */
.col-md { flex: 1 0 0% !important; width: auto !important; }
.col-md-auto { flex: 0 0 auto !important; width: auto !important; }
.col-md-1 { flex: 0 0 auto !important; width: 8.33333333% !important; }
.col-md-2 { flex: 0 0 auto !important; width: 16.66666667% !important; }
.col-md-3 { flex: 0 0 auto !important; width: 25% !important; }
.col-md-4 { flex: 0 0 auto !important; width: 33.33333333% !important; }
.col-md-5 { flex: 0 0 auto !important; width: 41.66666667% !important; }
.col-md-6 { flex: 0 0 auto !important; width: 50% !important; }
.col-md-7 { flex: 0 0 auto !important; width: 58.33333333% !important; }
.col-md-8 { flex: 0 0 auto !important; width: 66.66666667% !important; }
.col-md-9 { flex: 0 0 auto !important; width: 75% !important; }
.col-md-10 { flex: 0 0 auto !important; width: 83.33333333% !important; }
.col-md-11 { flex: 0 0 auto !important; width: 91.66666667% !important; }
.col-md-12 { flex: 0 0 auto !important; width: 100% !important; }
.offset-md-1 { margin-left: 8.33333333% !important; }
.offset-md-2 { margin-left: 16.66666667% !important; }
.offset-md-3 { margin-left: 25% !important; }
.offset-md-4 { margin-left: 33.33333333% !important; }
.offset-md-6 { margin-left: 50% !important; }
.row-cols-md-1 > * { flex: 0 0 auto !important; width: 100% !important; }
.row-cols-md-2 > * { flex: 0 0 auto !important; width: 50% !important; }
.row-cols-md-3 > * { flex: 0 0 auto !important; width: 33.333333% !important; }
.row-cols-md-4 > * { flex: 0 0 auto !important; width: 25% !important; }
.row-cols-md-5 > * { flex: 0 0 auto !important; width: 20% !important; }
.row-cols-md-6 > * { flex: 0 0 auto !important; width: 16.666667% !important; }
/* --- lg --- */
.col-lg { flex: 1 0 0% !important; width: auto !important; }
.col-lg-auto { flex: 0 0 auto !important; width: auto !important; }
.col-lg-1 { flex: 0 0 auto !important; width: 8.33333333% !important; }
.col-lg-2 { flex: 0 0 auto !important; width: 16.66666667% !important; }
.col-lg-3 { flex: 0 0 auto !important; width: 25% !important; }
.col-lg-4 { flex: 0 0 auto !important; width: 33.33333333% !important; }
.col-lg-5 { flex: 0 0 auto !important; width: 41.66666667% !important; }
.col-lg-6 { flex: 0 0 auto !important; width: 50% !important; }
.col-lg-7 { flex: 0 0 auto !important; width: 58.33333333% !important; }
.col-lg-8 { flex: 0 0 auto !important; width: 66.66666667% !important; }
.col-lg-9 { flex: 0 0 auto !important; width: 75% !important; }
.col-lg-10 { flex: 0 0 auto !important; width: 83.33333333% !important; }
.col-lg-11 { flex: 0 0 auto !important; width: 91.66666667% !important; }
.col-lg-12 { flex: 0 0 auto !important; width: 100% !important; }
.offset-lg-1 { margin-left: 8.33333333% !important; }
.offset-lg-2 { margin-left: 16.66666667% !important; }
.offset-lg-3 { margin-left: 25% !important; }
.offset-lg-4 { margin-left: 33.33333333% !important; }
.offset-lg-6 { margin-left: 50% !important; }
.row-cols-lg-1 > * { flex: 0 0 auto !important; width: 100% !important; }
.row-cols-lg-2 > * { flex: 0 0 auto !important; width: 50% !important; }
.row-cols-lg-3 > * { flex: 0 0 auto !important; width: 33.333333% !important; }
.row-cols-lg-4 > * { flex: 0 0 auto !important; width: 25% !important; }
.row-cols-lg-5 > * { flex: 0 0 auto !important; width: 20% !important; }
.row-cols-lg-6 > * { flex: 0 0 auto !important; width: 16.666667% !important; }
/* ==========================================================
2b. 記事内テーブルレイアウト
style.cssの「スマホでは縦積み」(max-width:767.98px) が、
実印刷のメディアクエリ評価幅（A4縦・余白10mm ≒ 718px）で
発動してしまうため、印刷ではPC表示と同じ横並びを維持する。
対象は2構成:
A) 素のテーブル構成: table > tr > td.col-md-* → 表組みのセル配置に戻す
B) グリッド構成: table > tr.row > td.col-md-* → Bootstrapのflexに戻す
※style.css側より詳細度・優先度を高くして打ち消す
========================================================== */
/* A) 素のテーブルを表組みレイアウトに戻す */
.main table:not([border]) { display: table !important; width: 100% !important; }
.main table:not([border]) > tbody { display: table-row-group !important; }
.main table:not([border]) > tbody > tr { display: table-row !important; }
.main table:not([border]) > tbody > tr > td,
.main table:not([border]) > tbody > tr > th { display: table-cell !important; }
/* B) tr.row構成はflexに戻す（Aより詳細度が高いため優先される） */
.main table:not([border]) > tbody > tr.row {
display: flex !important;
flex-wrap: wrap !important;
}
.main .row > td[class*="col-"],
.main .row > th[class*="col-"] {
display: flex !important;
flex-direction: column !important;
}
/* カラム幅（A/B共通: 枠線なしテーブル配下の td/th に適用） */
.main table:not([border]) td.col-1, .main table:not([border]) td.col-sm-1, .main table:not([border]) td.col-md-1, .main table:not([border]) td.col-lg-1,
.main table:not([border]) th.col-1, .main table:not([border]) th.col-sm-1, .main table:not([border]) th.col-md-1, .main table:not([border]) th.col-lg-1 { width: 8.33333333% !important; }
.main table:not([border]) td.col-2, .main table:not([border]) td.col-sm-2, .main table:not([border]) td.col-md-2, .main table:not([border]) td.col-lg-2,
.main table:not([border]) th.col-2, .main table:not([border]) th.col-sm-2, .main table:not([border]) th.col-md-2, .main table:not([border]) th.col-lg-2 { width: 16.66666667% !important; }
.main table:not([border]) td.col-3, .main table:not([border]) td.col-sm-3, .main table:not([border]) td.col-md-3, .main table:not([border]) td.col-lg-3,
.main table:not([border]) th.col-3, .main table:not([border]) th.col-sm-3, .main table:not([border]) th.col-md-3, .main table:not([border]) th.col-lg-3 { width: 25% !important; }
.main table:not([border]) td.col-4, .main table:not([border]) td.col-sm-4, .main table:not([border]) td.col-md-4, .main table:not([border]) td.col-lg-4,
.main table:not([border]) th.col-4, .main table:not([border]) th.col-sm-4, .main table:not([border]) th.col-md-4, .main table:not([border]) th.col-lg-4 { width: 33.33333333% !important; }
.main table:not([border]) td.col-5, .main table:not([border]) td.col-sm-5, .main table:not([border]) td.col-md-5, .main table:not([border]) td.col-lg-5,
.main table:not([border]) th.col-5, .main table:not([border]) th.col-sm-5, .main table:not([border]) th.col-md-5, .main table:not([border]) th.col-lg-5 { width: 41.66666667% !important; }
.main table:not([border]) td.col-6, .main table:not([border]) td.col-sm-6, .main table:not([border]) td.col-md-6, .main table:not([border]) td.col-lg-6,
.main table:not([border]) th.col-6, .main table:not([border]) th.col-sm-6, .main table:not([border]) th.col-md-6, .main table:not([border]) th.col-lg-6 { width: 50% !important; }
.main table:not([border]) td.col-7, .main table:not([border]) td.col-sm-7, .main table:not([border]) td.col-md-7, .main table:not([border]) td.col-lg-7,
.main table:not([border]) th.col-7, .main table:not([border]) th.col-sm-7, .main table:not([border]) th.col-md-7, .main table:not([border]) th.col-lg-7 { width: 58.33333333% !important; }
.main table:not([border]) td.col-8, .main table:not([border]) td.col-sm-8, .main table:not([border]) td.col-md-8, .main table:not([border]) td.col-lg-8,
.main table:not([border]) th.col-8, .main table:not([border]) th.col-sm-8, .main table:not([border]) th.col-md-8, .main table:not([border]) th.col-lg-8 { width: 66.66666667% !important; }
.main table:not([border]) td.col-9, .main table:not([border]) td.col-sm-9, .main table:not([border]) td.col-md-9, .main table:not([border]) td.col-lg-9,
.main table:not([border]) th.col-9, .main table:not([border]) th.col-sm-9, .main table:not([border]) th.col-md-9, .main table:not([border]) th.col-lg-9 { width: 75% !important; }
.main table:not([border]) td.col-10, .main table:not([border]) td.col-sm-10, .main table:not([border]) td.col-md-10, .main table:not([border]) td.col-lg-10,
.main table:not([border]) th.col-10, .main table:not([border]) th.col-sm-10, .main table:not([border]) th.col-md-10, .main table:not([border]) th.col-lg-10 { width: 83.33333333% !important; }
.main table:not([border]) td.col-11, .main table:not([border]) td.col-sm-11, .main table:not([border]) td.col-md-11, .main table:not([border]) td.col-lg-11,
.main table:not([border]) th.col-11, .main table:not([border]) th.col-sm-11, .main table:not([border]) th.col-md-11, .main table:not([border]) th.col-lg-11 { width: 91.66666667% !important; }
.main table:not([border]) td.col-12, .main table:not([border]) td.col-sm-12, .main table:not([border]) td.col-md-12, .main table:not([border]) td.col-lg-12,
.main table:not([border]) th.col-12, .main table:not([border]) th.col-sm-12, .main table:not([border]) th.col-md-12, .main table:not([border]) th.col-lg-12 { width: 100% !important; }
/* ==========================================================
3. md/lg用ユーティリティ：実印刷のメディアクエリ評価幅は
約718px（A4縦・余白10mm）のため、md(768px)もlg(992px)も
発動しない。PC表示で適用される値を強制する。
※mdを先、lgを後に書き、両方持つ要素ではlgが勝つようにする
========================================================== */
/* --- md: 表示切替 --- */
.d-md-none { display: none !important; }
.d-md-inline { display: inline !important; }
.d-md-inline-block { display: inline-block !important; }
.d-md-block { display: block !important; }
.d-md-flex { display: flex !important; }
/* --- md: テキスト配置 --- */
.text-md-start { text-align: left !important; }
.text-md-center { text-align: center !important; }
.text-md-end { text-align: right !important; }
/* --- md: 並び順（order-2 order-md-1 のような組み合わせでPCと同じ並びにする） --- */
.order-md-first { order: -1 !important; }
.order-md-0 { order: 0 !important; }
.order-md-1 { order: 1 !important; }
.order-md-2 { order: 2 !important; }
.order-md-3 { order: 3 !important; }
.order-md-4 { order: 4 !important; }
.order-md-5 { order: 5 !important; }
.order-md-last { order: 6 !important; }
/* --- md: パディング --- */
.p-md-0 { padding: 0 !important; }
.p-md-1 { padding: .25rem !important; }
.p-md-2 { padding: .5rem !important; }
.p-md-3 { padding: 1rem !important; }
.p-md-4 { padding: 1.5rem !important; }
.p-md-5 { padding: 3rem !important; }
.px-md-0 { padding-left: 0 !important; padding-right: 0 !important; }
.px-md-1 { padding-left: .25rem !important; padding-right: .25rem !important; }
.px-md-2 { padding-left: .5rem !important; padding-right: .5rem !important; }
.px-md-3 { padding-left: 1rem !important; padding-right: 1rem !important; }
.px-md-4 { padding-left: 1.5rem !important; padding-right: 1.5rem !important; }
.px-md-5 { padding-left: 3rem !important; padding-right: 3rem !important; }
.py-md-0 { padding-top: 0 !important; padding-bottom: 0 !important; }
.py-md-1 { padding-top: .25rem !important; padding-bottom: .25rem !important; }
.py-md-2 { padding-top: .5rem !important; padding-bottom: .5rem !important; }
.py-md-3 { padding-top: 1rem !important; padding-bottom: 1rem !important; }
.py-md-4 { padding-top: 1.5rem !important; padding-bottom: 1.5rem !important; }
.py-md-5 { padding-top: 3rem !important; padding-bottom: 3rem !important; }
.pt-md-0 { padding-top: 0 !important; }
.pt-md-1 { padding-top: .25rem !important; }
.pt-md-2 { padding-top: .5rem !important; }
.pt-md-3 { padding-top: 1rem !important; }
.pt-md-4 { padding-top: 1.5rem !important; }
.pt-md-5 { padding-top: 3rem !important; }
.pe-md-0 { padding-right: 0 !important; }
.pe-md-1 { padding-right: .25rem !important; }
.pe-md-2 { padding-right: .5rem !important; }
.pe-md-3 { padding-right: 1rem !important; }
.pe-md-4 { padding-right: 1.5rem !important; }
.pe-md-5 { padding-right: 3rem !important; }
.pb-md-0 { padding-bottom: 0 !important; }
.pb-md-1 { padding-bottom: .25rem !important; }
.pb-md-2 { padding-bottom: .5rem !important; }
.pb-md-3 { padding-bottom: 1rem !important; }
.pb-md-4 { padding-bottom: 1.5rem !important; }
.pb-md-5 { padding-bottom: 3rem !important; }
.ps-md-0 { padding-left: 0 !important; }
.ps-md-1 { padding-left: .25rem !important; }
.ps-md-2 { padding-left: .5rem !important; }
.ps-md-3 { padding-left: 1rem !important; }
.ps-md-4 { padding-left: 1.5rem !important; }
.ps-md-5 { padding-left: 3rem !important; }
/* --- md: マージン --- */
.m-md-0 { margin: 0 !important; }
.m-md-1 { margin: .25rem !important; }
.m-md-2 { margin: .5rem !important; }
.m-md-3 { margin: 1rem !important; }
.m-md-4 { margin: 1.5rem !important; }
.m-md-5 { margin: 3rem !important; }
.m-md-auto { margin: auto !important; }
.mx-md-0 { margin-left: 0 !important; margin-right: 0 !important; }
.mx-md-1 { margin-left: .25rem !important; margin-right: .25rem !important; }
.mx-md-2 { margin-left: .5rem !important; margin-right: .5rem !important; }
.mx-md-3 { margin-left: 1rem !important; margin-right: 1rem !important; }
.mx-md-4 { margin-left: 1.5rem !important; margin-right: 1.5rem !important; }
.mx-md-5 { margin-left: 3rem !important; margin-right: 3rem !important; }
.mx-md-auto { margin-left: auto !important; margin-right: auto !important; }
.my-md-0 { margin-top: 0 !important; margin-bottom: 0 !important; }
.my-md-1 { margin-top: .25rem !important; margin-bottom: .25rem !important; }
.my-md-2 { margin-top: .5rem !important; margin-bottom: .5rem !important; }
.my-md-3 { margin-top: 1rem !important; margin-bottom: 1rem !important; }
.my-md-4 { margin-top: 1.5rem !important; margin-bottom: 1.5rem !important; }
.my-md-5 { margin-top: 3rem !important; margin-bottom: 3rem !important; }
.mt-md-0 { margin-top: 0 !important; }
.mt-md-1 { margin-top: .25rem !important; }
.mt-md-2 { margin-top: .5rem !important; }
.mt-md-3 { margin-top: 1rem !important; }
.mt-md-4 { margin-top: 1.5rem !important; }
.mt-md-5 { margin-top: 3rem !important; }
.me-md-0 { margin-right: 0 !important; }
.me-md-1 { margin-right: .25rem !important; }
.me-md-2 { margin-right: .5rem !important; }
.me-md-3 { margin-right: 1rem !important; }
.me-md-4 { margin-right: 1.5rem !important; }
.me-md-5 { margin-right: 3rem !important; }
.mb-md-0 { margin-bottom: 0 !important; }
.mb-md-1 { margin-bottom: .25rem !important; }
.mb-md-2 { margin-bottom: .5rem !important; }
.mb-md-3 { margin-bottom: 1rem !important; }
.mb-md-4 { margin-bottom: 1.5rem !important; }
.mb-md-5 { margin-bottom: 3rem !important; }
.ms-md-0 { margin-left: 0 !important; }
.ms-md-1 { margin-left: .25rem !important; }
.ms-md-2 { margin-left: .5rem !important; }
.ms-md-3 { margin-left: 1rem !important; }
.ms-md-4 { margin-left: 1.5rem !important; }
.ms-md-5 { margin-left: 3rem !important; }
/* --- lg: 表示切替 --- */
.d-lg-none { display: none !important; }
.d-lg-inline { display: inline !important; }
.d-lg-inline-block { display: inline-block !important; }
.d-lg-block { display: block !important; }
.d-lg-flex { display: flex !important; }
/* テキスト配置 */
.text-lg-start { text-align: left !important; }
.text-lg-center { text-align: center !important; }
.text-lg-end { text-align: right !important; }
/* 並び順 */
.order-lg-first { order: -1 !important; }
.order-lg-0 { order: 0 !important; }
.order-lg-1 { order: 1 !important; }
.order-lg-2 { order: 2 !important; }
.order-lg-3 { order: 3 !important; }
.order-lg-4 { order: 4 !important; }
.order-lg-5 { order: 5 !important; }
.order-lg-last { order: 6 !important; }
/* パディング */
.p-lg-0 { padding: 0 !important; }
.p-lg-1 { padding: .25rem !important; }
.p-lg-2 { padding: .5rem !important; }
.p-lg-3 { padding: 1rem !important; }
.p-lg-4 { padding: 1.5rem !important; }
.p-lg-5 { padding: 3rem !important; }
.px-lg-0 { padding-left: 0 !important; padding-right: 0 !important; }
.px-lg-1 { padding-left: .25rem !important; padding-right: .25rem !important; }
.px-lg-2 { padding-left: .5rem !important; padding-right: .5rem !important; }
.px-lg-3 { padding-left: 1rem !important; padding-right: 1rem !important; }
.px-lg-4 { padding-left: 1.5rem !important; padding-right: 1.5rem !important; }
.px-lg-5 { padding-left: 3rem !important; padding-right: 3rem !important; }
.py-lg-0 { padding-top: 0 !important; padding-bottom: 0 !important; }
.py-lg-1 { padding-top: .25rem !important; padding-bottom: .25rem !important; }
.py-lg-2 { padding-top: .5rem !important; padding-bottom: .5rem !important; }
.py-lg-3 { padding-top: 1rem !important; padding-bottom: 1rem !important; }
.py-lg-4 { padding-top: 1.5rem !important; padding-bottom: 1.5rem !important; }
.py-lg-5 { padding-top: 3rem !important; padding-bottom: 3rem !important; }
.pt-lg-0 { padding-top: 0 !important; }
.pt-lg-1 { padding-top: .25rem !important; }
.pt-lg-2 { padding-top: .5rem !important; }
.pt-lg-3 { padding-top: 1rem !important; }
.pt-lg-4 { padding-top: 1.5rem !important; }
.pt-lg-5 { padding-top: 3rem !important; }
.pe-lg-0 { padding-right: 0 !important; }
.pe-lg-1 { padding-right: .25rem !important; }
.pe-lg-2 { padding-right: .5rem !important; }
.pe-lg-3 { padding-right: 1rem !important; }
.pe-lg-4 { padding-right: 1.5rem !important; }
.pe-lg-5 { padding-right: 3rem !important; }
.pb-lg-0 { padding-bottom: 0 !important; }
.pb-lg-1 { padding-bottom: .25rem !important; }
.pb-lg-2 { padding-bottom: .5rem !important; }
.pb-lg-3 { padding-bottom: 1rem !important; }
.pb-lg-4 { padding-bottom: 1.5rem !important; }
.pb-lg-5 { padding-bottom: 3rem !important; }
.ps-lg-0 { padding-left: 0 !important; }
.ps-lg-1 { padding-left: .25rem !important; }
.ps-lg-2 { padding-left: .5rem !important; }
.ps-lg-3 { padding-left: 1rem !important; }
.ps-lg-4 { padding-left: 1.5rem !important; }
.ps-lg-5 { padding-left: 3rem !important; }
/* マージン */
.m-lg-0 { margin: 0 !important; }
.m-lg-1 { margin: .25rem !important; }
.m-lg-2 { margin: .5rem !important; }
.m-lg-3 { margin: 1rem !important; }
.m-lg-4 { margin: 1.5rem !important; }
.m-lg-5 { margin: 3rem !important; }
.m-lg-auto { margin: auto !important; }
.mx-lg-0 { margin-left: 0 !important; margin-right: 0 !important; }
.mx-lg-1 { margin-left: .25rem !important; margin-right: .25rem !important; }
.mx-lg-2 { margin-left: .5rem !important; margin-right: .5rem !important; }
.mx-lg-3 { margin-left: 1rem !important; margin-right: 1rem !important; }
.mx-lg-4 { margin-left: 1.5rem !important; margin-right: 1.5rem !important; }
.mx-lg-5 { margin-left: 3rem !important; margin-right: 3rem !important; }
.mx-lg-auto { margin-left: auto !important; margin-right: auto !important; }
.my-lg-0 { margin-top: 0 !important; margin-bottom: 0 !important; }
.my-lg-1 { margin-top: .25rem !important; margin-bottom: .25rem !important; }
.my-lg-2 { margin-top: .5rem !important; margin-bottom: .5rem !important; }
.my-lg-3 { margin-top: 1rem !important; margin-bottom: 1rem !important; }
.my-lg-4 { margin-top: 1.5rem !important; margin-bottom: 1.5rem !important; }
.my-lg-5 { margin-top: 3rem !important; margin-bottom: 3rem !important; }
.mt-lg-0 { margin-top: 0 !important; }
.mt-lg-1 { margin-top: .25rem !important; }
.mt-lg-2 { margin-top: .5rem !important; }
.mt-lg-3 { margin-top: 1rem !important; }
.mt-lg-4 { margin-top: 1.5rem !important; }
.mt-lg-5 { margin-top: 3rem !important; }
.me-lg-0 { margin-right: 0 !important; }
.me-lg-1 { margin-right: .25rem !important; }
.me-lg-2 { margin-right: .5rem !important; }
.me-lg-3 { margin-right: 1rem !important; }
.me-lg-4 { margin-right: 1.5rem !important; }
.me-lg-5 { margin-right: 3rem !important; }
.mb-lg-0 { margin-bottom: 0 !important; }
.mb-lg-1 { margin-bottom: .25rem !important; }
.mb-lg-2 { margin-bottom: .5rem !important; }
.mb-lg-3 { margin-bottom: 1rem !important; }
.mb-lg-4 { margin-bottom: 1.5rem !important; }
.mb-lg-5 { margin-bottom: 3rem !important; }
.ms-lg-0 { margin-left: 0 !important; }
.ms-lg-1 { margin-left: .25rem !important; }
.ms-lg-2 { margin-left: .5rem !important; }
.ms-lg-3 { margin-left: 1rem !important; }
.ms-lg-4 { margin-left: 1.5rem !important; }
.ms-lg-5 { margin-left: 3rem !important; }
/* ==========================================================
4. ヘッダー：navbar-expand-lg のPC用展開状態を強制
（印刷ページ幅ではモバイル用ハンバーガー表示になってしまうため）
========================================================== */
.navbar {
display: flex !important;
flex-direction: row !important;
flex-wrap: nowrap !important;
}
.navbar-expand-lg {
flex-wrap: nowrap !important;
justify-content: flex-start !important;
}
.navbar-toggler,
.navbar-expand-lg .navbar-toggler {
display: none !important;
}
.navbar-expand-lg .navbar-collapse {
display: flex !important;
flex-basis: auto !important;
}
.navbar-expand-lg .navbar-nav {
flex-direction: row !important;
}
.navbar-expand-lg .navbar-nav .nav-link {
padding-right: .5rem !important;
padding-left: .5rem !important;
}
.navbar-expand-lg .navbar-nav .dropdown-menu {
position: absolute !important;
}
/* style.css の max-width:991px 用ヘッダー調整（.no-collapse）を打ち消し、
PC表示時の配置に戻す */
.no-collapse {
position: static !important;
width: auto !important;
padding-right: 0 !important;
padding-top: 0 !important;
line-height: 1.5em !important;
}
.no-collapse .info,
.no-collapse .search {
border-bottom: 0 !important;
margin-top: 0 !important;
line-height: 1.5em !important;
}
.no-collapse .info i { font-size: 1.5em !important; }
.no-collapse .search i { font-size: 1.3em !important; }
#navbarSupportedContent { margin-top: 0 !important; }
/* sticky/fixed は印刷では追従できず2ページ目以降に表示されないため静的配置に */
.sticky-top, .fixed-top {
position: static !important;
width: 100% !important;
}
/* style.cssのモバイル用波形(max-width:768px)が実印刷幅で発動するため、
PC用の波形を強制する */
.clip-wave {
clip-path: shape(
from 20% 0,
smooth to 20% 60% with 35% 20%,
smooth to 20% 100% with 20% 140%,
line to 100% 100%,
line to 100% 0,
close
) !important;
padding: 0 !important;
margin: 0 !important;
}
/* ==========================================================
5. カード
========================================================== */
.card {
display: flex !important;
flex-direction: column !important;
height: auto !important;
break-inside: avoid !important; /* カードの途中でページが切れるのを防ぐ */
}
.card .row {
flex-direction: row !important;
flex-wrap: nowrap !important;
}
.card-img-top, .card-img {
width: 100% !important;
height: auto !important;
}
/* col の中身を縦flexにして h-100 カードの等高を維持 */
.row > [class*="col-"] {
display: flex !important;
flex-direction: column !important;
}
.h-100 {
height: 100% !important;
}
.card.h-100 {
flex: 1 0 auto !important;
}
.card-body {
flex: 1 1 auto !important;
}
/* ==========================================================
6. カルーセル：PC用画像でアクティブなスライドのみ表示
========================================================== */
.carousel-item img.d-none.d-md-block {
display: block !important;
}
.carousel-item img.d-block.d-md-none {
display: none !important;
}
.carousel-item a {
display: block !important;
width: 100% !important;
}
.carousel-item {
display: none !important;
}
.carousel-item.active {
display: block !important;
}
/* ==========================================================
6b. フッター（#l-footer）：PC用レイアウト(min-width:993px)を強制
実印刷のメディアクエリ評価幅(≒718px)ではPC用が発動せず
スマホ用アコーディオン表示になるため、style.cssのスマホ用
基本ルールとの「差分」だけを上書きする。
・!important は、style.css(後読み)の基本ルールと競合する宣言のみ付与
・背景写真(bg_footer.jpg)・矢印(i_arrow_white.svg)等の
ファイル参照は当ファイルには書かない（style.css側に任せる）
========================================================== */
.hide-pc {
display: none !important;
}
/* 基本ルールはpadding-bottom:25px。背景はbackground-color:#000がそのまま適用される */
#l-footer {
padding-top: 90px;
padding-bottom: 90px !important;
break-inside: avoid;
}
#l-footer .footer-inner {
max-width: 1200px;
box-sizing: content-box;
margin: 0 auto;
}
/* スマホでは非表示のフッターロゴを表示 */
#l-footer .footer-inner .footer-logo {
display: block !important;
line-height: 1;
text-align: center;
}
/* リンク一覧を5カラムの横並びに */
#l-footer .footer-inner .footer-gnav {
margin-top: 35px;
}
#l-footer .footer-inner .footer-gnav .gnav-inner {
margin: 0 -15px;
display: flex;
flex-wrap: wrap;
}
#l-footer .footer-inner .footer-gnav .gnav-inner .gnav-item {
width: calc(100% / 5);
padding: 0 15px;
border-top: none !important;
border-bottom: none !important;
}
#l-footer .footer-inner .footer-gnav .gnav-inner .gnav-item .item-inner {
padding: 0 0 18px 0 !important;
}
/* 見出しの装飾(:before)はスマホのアコーディオン記号「+」の横棒を白い下線に置き換える */
#l-footer .footer-inner .footer-gnav .gnav-inner .gnav-item .item-inner:before {
content: '';
position: absolute;
width: auto !important;
height: 1px !important;
left: 0 !important;
right: 0 !important;
top: auto !important;
bottom: 0 !important;
margin: auto;
background-color: #fff !important;
transform: none !important;
}
/* スマホ用の矢印・アコーディオン記号(:after)はまとめて非表示 */
#l-footer .footer-inner .footer-gnav .gnav-inner .gnav-item .item-inner:after {
content: none !important;
}
/* アコーディオンを常時展開 */
#l-footer .footer-inner .footer-gnav .gnav-inner .gnav-item .item-container {
display: block !important;
padding-top: 20px !important;
padding-bottom: 0 !important;
border: none !important;
}
#l-footer .footer-inner .footer-gnav .gnav-inner .gnav-item .item-container .container-list {
padding: 0 !important;
}
#l-footer .footer-inner .footer-gnav .gnav-inner .gnav-item .item-container .container-list .list-item a {
padding: 5px 0 !important;
}
/* 下部メニューを中央寄せ横並びに（:last-childの余白・区切り線の打ち消しは
style.cssの基本ルールが担うため、ここでは!importantを付けない） */
#l-footer .footer-inner .footer-menu {
margin-top: 35px !important;
}
#l-footer .footer-inner .footer-menu .menu-inner {
padding: 0 !important;
display: flex;
flex-wrap: wrap;
justify-content: center;
}
#l-footer .footer-inner .footer-menu .menu-inner .menu-item {
padding-right: 22px;
margin-right: 22px;
position: relative;
}
#l-footer .footer-inner .footer-menu .menu-inner .menu-item:after {
position: absolute;
content: '';
top: 0;
right: 0;
bottom: 0;
margin: auto;
height: 14px;
width: 1px;
background-color: #fff;
}
#l-footer .footer-inner .footer-menu .menu-inner .menu-item a {
padding: 5px 0 !important;
}
#l-footer .footer-inner .footer-copy {
text-align: center;
padding: 0 !important;
margin-top: 30px !important;
}
/* ==========================================================
7. 非表示要素
========================================================== */
.d-print-none {
display: none !important;
}
#page-top { display: none; }
}
