/* リニューアルで追加した部品のみ。配色・書体は現行テーマ（ORION）に合わせる：#222／#ccc ボタン／hover #0BC6D4／見出しは .rich_font（明朝） */
.tbd { background:#fff3a6; color:#6b5600; font-size:.85em; padding:0 .2em; white-space:nowrap; }

/* トップ：ヒーローのボタン（現行の丸ボタンの下に並べる） */
#header_logo_index .desc { font-size:14px; line-height:2; }
.hero_btns { margin:0 0 30px; }
.hero_btns a { display:inline-block; margin:0 6px; width:180px; height:50px; line-height:48px; border:1px solid #fff; color:#fff; text-decoration:none; font-size:14px; letter-spacing:.1em; transition:background-color .3s; }
.hero_btns a:hover { background:#0BC6D4; border-color:#0BC6D4; color:#fff; }

/* トップ：事業3領域（.index_box_list を流用） */
.index_box_list .box_en { font-size:11px; letter-spacing:.12em; color:#888; margin:0 0 6px; font-family:Arial,sans-serif; }
.index_box_list .box_items { margin:14px 0 0; border-top:1px solid #ddd; }
.index_box_list .box_items li { border-bottom:1px solid #ddd; font-size:14px; }
.index_box_list .box_items a { display:block; padding:9px 2px; color:#222; text-decoration:none; }
.index_box_list .box_items a:before { content:"―"; color:#bbb; margin-right:8px; }
.index_box_list .box_items a:hover { color:#0BC6D4; }

#index_philosophy { background:#f5f5f5; }
#index_philosophy .index_content_header .desc { font-size:15px; line-height:2.4; }
.center_link { text-align:center; margin:0 0 20px; }
.center_link .bt_orion { min-width:240px; }

/* PROJECTS カード */
.pj_list { margin:0 -15px; font-size:0; list-style:none; padding:0 !important; }
.pj_list .pj_item { display:inline-block; vertical-align:top; width:calc(33.333% - 30px); margin:0 15px 30px; padding:0 0 26px; background:#fbfbfb; border:1px solid #eee; box-sizing:border-box; font-size:14px; list-style:none; }
.pj_list4 .pj_item { width:calc(25% - 30px); }
.pj_cat { background:#222; color:#fff; font-size:18px; letter-spacing:.15em; height:120px; line-height:120px; text-align:center; margin:0 0 20px; }
.pj_item[data-cat="CULTURE"] .pj_cat { background:#3a3a3a; }
.pj_item[data-cat="EDUCATION"] .pj_cat { background:#555; }
.pj_item[data-cat="ENERGY"] .pj_cat { background:#2d4f5a; }
.pj_year, .pj_item h4, .pj_text, .pj_item .pj_badge { margin-left:22px !important; margin-right:22px !important; }
.pj_year { font-family:Arial,sans-serif; font-weight:bold; font-size:12px; color:#888; margin-bottom:4px !important; line-height:1.6 !important; }
.pj_item h4 { word-break:keep-all; overflow-wrap:anywhere; font-size:18px !important; font-weight:400; color:#000; line-height:1.6; margin-top:0 !important; margin-bottom:8px !important; }
.pj_text { font-size:13px; line-height:2 !important; color:#555; margin-bottom:12px !important; }
.pj_badge { display:inline-block; font-family:Arial,sans-serif; font-size:10px; font-weight:bold; letter-spacing:.1em; padding:3px 8px; border:1px solid #bbb; color:#666; line-height:1.6; }
.pj_badge.rep { border-color:#222; color:#222; }
.pj_badge.co { background:#222; border-color:#222; color:#fff; }
.pj_legend { background:#f5f5f5; padding:16px 20px; font-size:13px; line-height:2.4 !important; }
.pj_legend .pj_badge { margin-right:10px; }
.pj_chips { margin:0 0 24px; }
.pj_chip { background:#ccc; color:#fff; border:0; padding:0 22px; height:40px; line-height:40px; font-size:13px; letter-spacing:.1em; margin:0 6px 6px 0; cursor:pointer; font-family:Arial,sans-serif; }
.pj_chip.on, .pj_chip:hover { background:#222; }

/* 下層：リード文・見出し補助 */
.post_content .page_lead { font-size:24px; color:#000; line-height:1.7; margin:0 0 1.2em; }
.post_content .msg_lead { font-size:26px; color:#000; line-height:1.7; margin:0 0 1.5em; }
.post_content .msg_photo { width:300px; height:auto; }
.post_content .msg_sign { text-align:right; margin-top:2em; }
.post_content .h_en { display:block; font-size:12px; letter-spacing:.12em; color:#888; margin-top:4px; font-family:Arial,sans-serif; }
.post_content .bz_head_en { font-size:12px; letter-spacing:.12em; color:#888; font-family:Arial,sans-serif; margin:0 0 -2em; }
.post_content .dom_no { font-family:Arial,sans-serif; font-size:26px; margin-right:14px; vertical-align:-2px; }
.post_content .dom_catch { font-size:19px; color:#000; margin:-.3em 0 1.4em; }
.post_content .co_table { width:100%; }
.post_content .co_table th { width:200px; }
.post_content .bt_row { margin:2em 0; }
.post_content .bt_row .bt_orion { margin:0 10px 10px 0; }
.post_content .bt_orion { background:#222; }
.post_content .bt_orion.bt_gray { background:#ccc; }
.post_content .bt_orion:hover { background:#0BC6D4; }
.legal_note { font-size:12px !important; color:#777; border-top:1px solid #ddd; padding-top:1.5em; margin-top:4em !important; line-height:2 !important; }
.note_s { font-size:13px !important; color:#666; }
.map_wrap { margin:0 0 2em; }
.map_wrap iframe { width:100%; height:420px; border:0; display:block; }

/* 事業一覧カード */
.post_content .bz_list { margin:0 -10px 1em; padding:0; font-size:0; }
.post_content .bz_list li { list-style:none; display:inline-block; vertical-align:top; width:calc(25% - 20px); margin:0 10px 20px; font-size:14px; }
.post_content .bz_list.n3 li { width:calc(33.333% - 20px); }
.post_content .bz_list.n2 li { width:calc(50% - 20px); }
.post_content .bz_list a { display:block; border:1px solid #ddd; border-top:3px solid #222; padding:22px 20px 20px; color:#222; text-decoration:none; height:100%; min-height:220px; box-sizing:border-box; position:relative; background:#fff; transition:border-color .3s; }
.post_content .bz_list a:hover { border-color:#0BC6D4; }
.post_content .bz_list span { display:block; }
.post_content .bz_en { font-family:Arial,sans-serif; font-size:10px; letter-spacing:.1em; color:#888; line-height:1.6; }
.post_content .bz_ja { font-size:19px; color:#000; margin:6px 0 10px; line-height:1.5; }
.post_content .bz_catch { font-size:13px; line-height:1.9; color:#555; margin-bottom:34px; }
.post_content .bz_more { position:absolute; left:20px; bottom:16px; font-size:12px; color:#0BC6D4; }
.post_content .sib_list { margin:0; padding:0; }
.post_content .sib_list li { list-style:none; display:inline-block; margin:0 10px 10px 0; }
.post_content .sib_list a { display:block; border:1px solid #ccc; padding:6px 18px; color:#222; text-decoration:none; font-size:14px; }
.post_content .sib_list .current a, .post_content .sib_list a:hover { background:#222; border-color:#222; color:#fff; }

/* 会社案内トップの3ボックス（記事幅に合わせる） */
.post_content .sub_box_list { padding:20px 0 0; display:flex; gap:40px; }
.post_content .sub_box_list .box { width:auto; flex:1; margin:0; }
.post_content .sub_box_list .image img { height:160px; object-fit:cover; margin:0; }
.post_content .sub_box_list .link { color:#fff !important; }

/* ニュース一覧 */
.post_content .news_list { margin:0; padding:0; }
.post_content .news_list li { list-style:none; border-bottom:1px solid #ddd; padding:18px 4px; margin:0; }
.post_content .news_list .date { float:left; width:150px; margin:0; font-family:Arial,sans-serif; font-weight:bold; }
.post_content .news_list .title { display:block; overflow:hidden; }

/* お問い合わせ */
.hp_field { position:absolute; left:-9999px; width:1px; height:1px; overflow:hidden; }
.form_errors { margin:0 0 1em; padding:16px 20px 16px 36px !important; background:#fff5f5; border:1px solid #f0c8c8; color:#b03030; }
.post_content button.bt_orion { border:0; cursor:pointer; font-family:inherit; }
.mwform-radio-field.horizontal-item { display:inline-block; margin:0 18px 8px 0; }

@media screen and (max-width:970px) {
  .pc_br { display:none; }
  #header_logo_index { width:90%; }
  #header_logo_index .logo { font-size:26px !important; }
  #header_logo_index .desc { font-size:12px; }
  .hero_btns a { width:140px; height:40px; line-height:38px; font-size:12px; margin:0 3px 8px; }
  .index_box_list .box_items { text-align:left; }
  .index_box_list .box_en { text-align:center; }
  .pj_list { margin:0; }
  .pj_list .pj_item, .pj_list4 .pj_item { width:100%; margin:0 0 15px; }
  .pj_cat { height:80px; line-height:80px; }
  #index_projects .index_content1, #index_philosophy .index_content1 { padding-left:20px; padding-right:20px; box-sizing:border-box; }
  .center_link { padding-bottom:30px; }
  .post_content .bz_list li, .post_content .bz_list.n3 li, .post_content .bz_list.n2 li { width:calc(100% - 20px); }
  .post_content .bz_list a { min-height:0; }
  .post_content .sub_box_list { display:block; }
  .post_content .sub_box_list .box { margin-bottom:30px; }
  .post_content .msg_photo { width:45%; }
  .post_content .co_table th { width:90px; }
  .post_content .page_lead, .post_content .msg_lead { font-size:19px; }
  .post_content .news_list .date { float:none; width:auto; }
}
