/*
 * トップ以外のページ（SWELL の本文のまま）の、最低限の見た目。
 * 一覧・記事のデザインが #DSN から届くまでの仮。文字・色・余白をトップに合わせるだけ。
 */

/* ---- 共通ヘッダー・フッター（トップでは FV の上に重ねるが、ほかのページでは普通に並べる） ---- */
.pxsite-head, .pxsite-foot { overflow: visible; }
.pxsite-head .px-fv-7 { position: relative; background: #FFFFFF; border-bottom: 1px solid #E1E3EC; }
.pxsite-foot .px-footer-1 { background: transparent; }
.pxsite-foot .pxsite-cta { margin-top: 120px; padding-bottom: 96px; }
#footer.l-footer { background: none; padding: 0; color: inherit; border: 0; }
#footer .l-footer__inner, #footer .l-footer__foot { display: none; }
.pxsite-foot ~ * .l-footer__foot, .p-fixBtnWrap { display: none; }

/* ---- 文字と色 ---- */
body, #body_wrap { font-family: 'Noto Sans JP', sans-serif; color: #0B0C1F; background: #FFFFFF; -webkit-font-smoothing: antialiased; }
#body_wrap a { color: #3D5AFE; }
#body_wrap .pxtop a { color: inherit; }
#body_wrap .pxtop .px-fv-11, #body_wrap .pxtop .px-fv-11:hover { color: #FFFFFF; }
#body_wrap .pxtop .px-foot-link { color: rgba(255,255,255,0.86); }

/* ---- 本文の幅と余白（サイドバーは出さない） ---- */
#sidebar { display: none; }
#content.l-content { max-width: 1280px; padding: 64px 80px 0; box-sizing: content-box; }
#main_content.l-mainContent { width: 100%; max-width: 860px; margin: 0 auto; }
.l-mainContent .c-pageTitle, .l-mainContent .c-postTitle__ttl, .p-archiveTitle, .c-pageTitle__inner {
	font-weight: 700; letter-spacing: 0.02em; font-feature-settings: 'palt';
}
.post_content { font-size: 16px; line-height: 2; letter-spacing: 0.02em; }
.post_content h2 { font-size: 28px; line-height: 1.5; font-feature-settings: 'palt'; }
.post_content h3 { font-size: 22px; line-height: 1.55; font-feature-settings: 'palt'; }
#breadcrumb.p-breadcrumb { background: #F3F4F9; font-size: 12px; }

/* ---- 表組みのフォーム（/form-contact/ など）：「必須」をバッジに（トップのフォームと同じ見た目） ---- */
.post_content .CF7_req { display: inline-block; margin-right: 10px; padding: 3px 8px; border-radius: 6px; background: #3D5AFE; color: #FFFFFF; font-size: 11px; font-weight: 700; line-height: 1.5; letter-spacing: 0.06em; vertical-align: 2px; }
.post_content .CF7_table input[type="text"], .post_content .CF7_table input[type="email"], .post_content .CF7_table input[type="tel"], .post_content .CF7_table textarea { width: 100%; max-width: 100%; box-sizing: border-box; }

/* ---- 一覧（記事のカード）：最低限 ---- */
.p-postList .p-postList__title { font-weight: 700; line-height: 1.6; color: #0B0C1F; }
.p-postList .c-postTimes, .p-postList .c-postThumb__cat { font-family: 'JetBrains Mono', monospace; font-size: 12px; }

@media (max-width: 1023px) {
	#content.l-content { padding: 40px 20px 0; }
	/* 表組みのフォーム（/form-contact/ など）は、スマホではラベルを入力欄の上に */
	.post_content .CF7_table, .post_content .CF7_table tbody, .post_content .CF7_table tr,
	.post_content .CF7_table th, .post_content .CF7_table td { display: block; width: auto; max-width: 100%; box-sizing: border-box; }
	.post_content .CF7_table td .wpcf7-form-control-wrap { display: block; }
	.post_content .CF7_table th { padding-bottom: 4px; border-bottom: 0; white-space: normal; }
	.post_content .CF7_table input, .post_content .CF7_table textarea { font-size: 16px; }
	.pxsite-foot .pxsite-cta { margin-top: 72px; padding-bottom: 64px; }
}
