/* public/theme/base.css
 * where : 20サイトの公開ページで、pc.css / sp.css の「あと」に読む（src/app/(site)/layout.tsx）。
 * what  : bootstrap 4（みんぽけ・みんもりが themes/PC/bootstrap/bootstrap.min.css として最後に読んでいたもの）のうち、
 *         公開ページで効いていた部分だけの写し。値は bootstrap 4 のまま。
 * why   : 元のサイトでは bootstrap が最後に読まれていたため、リンクの色・リストや段落の下の余白・入力欄の形などは
 *         bootstrap の値が勝っていた。見た目をそろえるため、同じ順で同じ値を当てる（160KB の本体は読まない。2026-10-14）。
 */
*, ::after, ::before { box-sizing: border-box; }
body { margin: 0; font-size: 1rem; font-weight: 400; line-height: 1.5; color: #212529; text-align: left; }
h1, h2, h3, h4, h5, h6 { margin-top: 0; margin-bottom: .5rem; font-weight: 500; line-height: 1.2; }
p { margin-top: 0; margin-bottom: 1rem; }
ol, ul, dl { margin-top: 0; margin-bottom: 1rem; }
ol ol, ol ul, ul ol, ul ul { margin-bottom: 0; }
b, strong { font-weight: bolder; }
small { font-size: 80%; }
a { color: #007bff; text-decoration: none; background-color: transparent; }
a:hover { color: #0056b3; text-decoration: underline; }
img { vertical-align: middle; border-style: none; }
table { border-collapse: collapse; }
label { display: inline-block; margin-bottom: .5rem; }
button { border-radius: 0; }
input, button, select, textarea { margin: 0; font-family: inherit; font-size: inherit; line-height: inherit; }
button, input { overflow: visible; }
textarea { overflow: auto; resize: vertical; }
[hidden] { display: none !important; }

/* 入力欄・ボタン（bootstrap 4 の .form-control / .btn） */
.form-control { display: block; width: 100%; height: calc(1.5em + .75rem + 2px); padding: .375rem .75rem; font-size: 1rem; font-weight: 400; line-height: 1.5; color: #495057; background-color: #fff; background-clip: padding-box; border: 1px solid #ced4da; border-radius: .25rem; transition: border-color .15s ease-in-out, box-shadow .15s ease-in-out; }
.form-control:focus { color: #495057; background-color: #fff; border-color: #80bdff; outline: 0; box-shadow: 0 0 0 .2rem rgba(0, 123, 255, .25); }
.form-control::placeholder { color: #6c757d; opacity: 1; }
textarea.form-control { height: auto; }
.btn { display: inline-block; font-weight: 400; color: #212529; text-align: center; vertical-align: middle; user-select: none; background-color: transparent; border: 1px solid transparent; padding: .375rem .75rem; font-size: 1rem; line-height: 1.5; border-radius: .25rem; transition: color .15s ease-in-out, background-color .15s ease-in-out, border-color .15s ease-in-out, box-shadow .15s ease-in-out; cursor: pointer; }
.btn:disabled { opacity: .65; }
.btn-sm { padding: .25rem .5rem; font-size: .875rem; line-height: 1.5; border-radius: .2rem; }
.btn-outline-success { color: #28a745; border-color: #28a745; }
.btn-outline-success:hover { color: #fff; background-color: #28a745; border-color: #28a745; }
.btn-outline-secondary { color: #6c757d; border-color: #6c757d; }

/* 影（bootstrap の .shadow。元のサイトは本文の白い面 #content と右の列 #right に付けていた） */
.shadow { box-shadow: 0 .5rem 1rem rgba(0, 0, 0, .15) !important; }

/* ---------- 部品の見た目（全サイト・PC/SP 共通。2026-10-14） ----------
 * 以前は各部品（src/components・src/app/(site)）の中に style={{…}} で直接書いていた値を、ここに集めた。
 * しゅんさんの指示「要素の大きさや余白、フォントサイズは全サイト固定。一箇所変えれば全サイト変わるように」。
 * base.css は pc.css / sp.css より後に読むので、同じ強さの指定ならここが勝つ。直接書いていたときと同じ見た目にするため、
 * 他の指定とぶつかるものは「クラス2つ」など少し強めの書き方にしている。値は移す前と同じ（見た目は変えていない）。
 */
/* 管理人の投稿の印（記事・掲示板） */
.admin_post_badge { display: flex; align-items: center; gap: 8px; margin: 6px 0 8px; padding: 8px 10px; background: #fff7e6; border: 1px solid #f6c56b; border-radius: 6px; font-size: 13px; color: #7a5a1e; }
/* 見出しのアイコンをサイトの差し色にする（週間人気記事） */
.list_top .icon i.icon_accent { color: var(--a); }
/* 問い合わせ：送信後の印 */
.contact_done_icon { font-size: 34px; }
/* 掲示板の案内（トップ） */
.bbs_banner_logo { padding: 0 8px; }
.bbs_banner_text { text-align: center; margin-bottom: 15px; }
/* 記事の共有ボタン（色だけボタンごと） */
.share_area { display: flex; gap: 6px; margin: 16px 0; }
.share_area .share_btn, .share_area .share_btn:hover { flex: 1; text-align: center; padding: 10px 4px; color: #fff; border-radius: 4px; font-size: 13px; font-weight: 700; text-decoration: none; }
.share_btn > i { margin-right: 5px; }
.share_twitter { background: #1DA1F2; }
.share_facebook { background: #1877F2; }
.share_hatena { background: #00A4DE; }
.share_line { background: #06C755; }
/* 検索欄（PC はメニューの中、SP はヘッダーの下） */
.head_list.head_search { padding-left: 30px; }
.form-control.head_search_input { width: 150px; border-radius: 10.25rem; display: inline-block; height: 30px; padding-top: 10px; }
form.sp_search { padding: 10px; background-color: #333; color: white; display: flex; align-items: center; gap: 8px; }
form.sp_search > i { color: white; }
.form-control.sp_search_input { flex: 1; height: 34px; border-radius: 4px; padding: 0 12px; border: 1px solid #ccc; }
/* 記事一覧が空のとき・ページが見つからないとき */
p.no_posts { padding: 20px; }
#content.notfound_box { min-height: 240px; padding: 30px; text-align: center; }
.notfound_box .list_top { text-align: left; }
p.notfound_msg { margin: 30px 0; font-size: 16px; }
a.notfound_back { font-weight: 700; }
/* コメント・掲示板の本文（改行をそのまま出す） */
p.comment_text, p.bbs_text { white-space: pre-wrap; }
p.reply_note { font-size: 13px; text-align: left; }
/* 送信結果の表示（コメント・掲示板の共通） */
p.form_msg { padding: 8px 10px; font-size: 13px; }
p.form_error { background: #fdecea; color: #b3261e; }
p.form_notice { background: #eaf6e9; color: #2e7d32; }
/* 掲示板：添付画像・削除済み・最新スレッド・スレッドの題 */
div.bbp-attachments { margin-top: 6px; display: flex; flex-wrap: wrap; gap: 6px; padding: 0 10px 10px; }
div.bbp-attachments img { max-width: 160px; max-height: 160px; border-radius: 4px; border: 1px solid #ddd; }
p.bbs_deleted { color: #999; font-style: italic; }
div.bbs_recent { margin-top: 20px; }
.list_top.topic_title { font-size: 18px; }
.file_label input[type="file"] { display: block; margin-top: 4px; }
/* 広告の枠・ページ送り・記事の日付・コメント欄 */
div.adsense { text-align: center; margin: 14px auto; }
.wp-pagenavi.pagenavi_list { text-align: center; padding: 16px 0; clear: both; }
.time.time_static { float: none; }
#comments.comments_area { margin-top: 20px; }
/* ボット避けの見えない欄（人には見えない・押せない） */
/* 問い合わせフォームの「入力欄は横いっぱい」の指定に負けないよう、大きさは !important で固定する */
input.ab_trap { position: absolute; left: -9999px; width: 1px !important; height: 1px !important; opacity: 0; }
/* プライバシーポリシーの外部送信の表（以前は本文の HTML に border="1" cellpadding="6" と style を直接書いていた。2026-10-14） */
table.privacy_table { border-collapse: collapse; width: 100%; font-size: 90%; }
table.privacy_table th, table.privacy_table td { border: 1px solid #999; padding: 6px; }
/* 記事一覧（PC）：カテゴリのあとのタグのアイコンの間隔（元は部品に直接 marginLeft: 10 と書いていた） */
.tag_area i.tags_after_cat { margin-left: 10px; }
/* カテゴリ一覧の外枠（みんぽけは list_body に直接 padding:0px と書いていた） */
.list_body.category_body { padding: 0; }
