/****************************************
  ./nakahara_css/top.css
  created 2026.4.3   updated 2026.4.3
****************************************/

/* <!-- topbanner_output_contents --> */

/* 外枠 */
.info-box {
  background: rgba(39, 154, 200, 0.05);
  border-top: 1px solid rgba(39, 154, 200, 1);
  border-bottom: 1px solid rgba(39, 154, 200, 1);
  padding: 15px 0 15px 20px !important;
  margin-bottom: 30px !important;
}
.info-box-bottom {
  margin-bottom: 60px !important;
}
/* 内側 */
.info-box .info-box-inner {
  max-width: 1000px;
  margin: 0 auto;
  display: flex;
  align-items: center;
}
/* サムネイル */
.info-box .info-box-thumb {
  flex-shrink: 0;
  width: 70px !important;
  height: 70px !important;
  border-radius: 6px;
  overflow: hidden;
  border: 1px solid #ddd;
  margin-right: 15px;
}
.info-box .info-box-thumb img {
  width: 100% !important;
  height: 100% !important;
  object-fit: cover !important;
}
.info-box + h3 {
    margin-top: 20px !important;
}
.info-box + p {
    margin-top: 20px !important;
    margin-bottom: 0 !important;
}
/* ラベル */
.info-box .info-box-label {
  font-size: 14px !important;
  line-height: 1.8 !important;
  margin: 0 !important;
  padding: 0 !important;
}
.info-box .info-box-label span {
  font-weight: bold !important;
  padding: 2px 8px !important;
  border-radius: 3px !important;
  margin-right: 10px !important;
  font-size: 11px !important;
  font-weight: bold !important;
  color: #fff !important;
}

.info-box .info-box-label img {
  width: 20px !important;
  height: 20px !important;
  margin-bottom: 0 !important;
  margin-right:7px !important;
  vertical-align: middle !important;
}

.info-box .label-new {
  background: rgba(217, 39, 30, 1) !important;
}

.info-box .label-story {
  background: rgba(39, 154, 200, 1) !important;
}

/* タイトル */
.info-box .info-box-title {
  margin-bottom: 0 !important;
}

.info-box .info-box-title a {
  text-decoration: none !important;
  color: #333 !important;
  font-weight: bold !important;
  font-size: 16px !important;
  line-height: 1.5 !important;
  display: block !important;
}

.info-box .info-box-title a span {
  color: rgba(39, 154, 200, 1) !important;
  margin-left: 8px !important;
}





/* -- bridge-containerブロック -- */

/* 全体コンテナ */
.bridge-container {
  max-width: 1000px;
  margin: 0 auto;
  color: #333;
  line-height: 1.5;
}
/* --- 青枠ボックス --- */
.bridge-box {
  background: #fff;
  border: 2px solid rgba(39,154,200,1);
  border-radius: 12px;
  padding: 0 30px;
  margin-bottom: 50px;
  box-shadow: 0 4px 15px rgba(0,0,0,0.05);
}
.bridge-title {
  margin: 0 0 20px 0 !important;
  padding: 20px 0 !important;
  color: rgba(39,154,200,1);
  border-top:none !important;
  border-bottom: 2px solid rgba(39,154,200,0.2);
  font-size: 1.25em;
  line-height: 1.2;
}
.bridge-text {
  margin-top:0 !important;
  margin-bottom: 20px !important;
  line-height:1.5 !important;
}
.bridge-highlight {
  background: rgba(39,154,200,0.05);
  padding: 10px 15px;
  border-left: 4px solid rgba(39,154,200,1);
  font-weight: bold;
 line-height:1.5 !important;}

.bridge-red {
  color: #d9271e;
}
/* --- 赤見出しブロック --- */
.bridge-message {
  margin-bottom: 40px;
  padding: 0 10px;
}
.bridge-message-title {
  display: flex;
  align-items: center;
  font-size: 1.25em;
  color: #d9271e;
  margin-bottom: 15px !important;
  line-height: 1.2;
}
.bridge-message-title img {
  margin:0 10px 0 0;
  width: 30px !important;
  height: 30px !important;
}
/* --- 実行力ボックス --- */
.bridge-execution {
  background: #f8fbfd;
  border-radius: 12px;
  padding: 30px;
  border: 1px solid #eee;
  margin-bottom: 50px;
}
.bridge-execution-title {
  margin-top: 0;
  margin-bottom: 20px !important;
  text-align: center;
  color: rgba(39,154,200,1);
  font-size: 1.2em;
}
.bridge-list {
  display: flex;
  flex-wrap: wrap;
  gap: 20px;
}
.bridge-item {
  width: 45%;
  min-width: 280px;
  display: flex;
  align-items: flex-start;
  gap: 15px;
}
.bridge-item span {
  background: rgba(39,154,200,1);
  color: #fff;
  width: 30px;
  height: 30px;
  border-radius: 50%;
  display: flex;
  align-items: center;
  justify-content: center;
  font-weight: bold;
  flex-shrink: 0;
  margin:2px 0;
  padding:0;
}
.bridge-note {
  text-align: center;
  margin-top: 35px;
  font-size: 0.9em;
  color: #666;
  border-top: 1px dashed #ccc;
  padding-top: 20px;
  padding-bottom:0 !important;
  margin-bottom:0 !important;
}


/* --- h4共通スタイル --- */

/* BRIDGE セクション共通 h4（左赤ライン） */
.bridge-section-h4 {
  border-left: 5px solid rgba(230, 0, 18, 1) !important;
  border-top: none;
  padding: 8px 0 11px 15px;
  border-top: none;
  margin: 0 0 30px 0 !important;
  line-height: 1.4;
}

/* --- 動画ブロック --- */
.bridge-video {
  margin: 30px 0;
  text-align: center;
}

.bridge-video-content {
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center;
}

/* --- 画像ブロック --- */

/* 左に寄せる小サイズ画像（プロフィール・政策など） */
.bridge-float-img {
  width: auto;
  height: 80px !important;
  border: 1px solid #eee;
  margin: 8px 30px 0px 0 !important;
  float:left;
  display: block;
}




/* --- ニュースカード --- */
.bridge-news {
  background: #f9fbfd;
  border: 2px solid rgba(39,154,200,1);
  padding: 0 20px 0px 20px;
  border-radius: 8px;
  margin: 0 0 60px 0;
  box-shadow: 0 4px 6px rgba(0,0,0,0.05);
}

/* ニュースタイトル */
.bridge-news-title {
  margin-top: 0;
  color: #d9271e !important;
  font-size: 1.25em;
border-top: none !important;
  display: block !important;
flex-direction: row;
  align-items: left;
  gap: 10px;
}


.bridge-news-title img {
  margin: 0 !important;
  margin-right: 10px !important;
  padding: 0 !important;
  border: none;
  width: 45px;
  height: 45px;
  display: inline-block !important;
}


/* --- ボタンブロック --- */
/* ボタンを右寄せするラッパー */
.bridge-btn-wrap {
  text-align: right;
  margin-top: 20px;
  margin-bottom: 40px;
}
.bridge-btn {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  background-color: rgba(39,154,200,1);
  color: #fff;
  padding: 10px 28px;
  border-radius: 30px;
  text-decoration: none;
  font-weight: bold;
  font-size: 0.95em;
  box-shadow: 0 2px 6px rgba(0,0,0,0.12);
  transition: 0.25s ease;
}
.bridge-btn:hover {
  background-color: rgba(39,154,200,0.9);
  transform: translateY(-2px);
  box-shadow: 0 4px 12px rgba(0,0,0,0.18);
}
.bridge-btn::after {
  content: "\00BB";
  font-size: 1.1em;
  transition: 0.25s ease;
}
.bridge-btn:hover::after {
  transform: translateX(4px);
}
/* ニュース専用ボタン（赤） */
.bridge-news-btn {
  background-color: #d9271e;
}
.bridge-news-btn:hover {
  background-color: #b02019;
}

