/* =========================================================
NEWS
========================================================= */
.p-news-mv-wrap {
  height: 50vh;
  overflow: hidden;
  position: relative;
}
@media screen and (min-width: 430px) {
  .p-news-mv-wrap {
    height: 70vh;
  }
}
@media screen and (min-width: 620px) {
  .p-news-mv-wrap {
    height: 75vh;
  }
}
.p-news-mv picture img {
  display: block;
  object-fit: cover;
  height: 100%;
  width: 100%;
  max-width: none;
}

.p-news-mv_ttl {
  color: #fff;
  display: flex;
  align-items: center;
  font-size: calc(50 * (100vw / 430));
  font-weight: bold;
  text-shadow: 0 0 10px rgba(0, 0, 0, 0.35);
  padding: 0 5vw;
  position: absolute;
  top: 0;
  bottom: 0;
  left: 0;
  right: 0;
  margin: auto;
}

@media screen and (min-width: 430px) {
  .p-news-mv_ttl {
    font-size: calc(50 * (100vw / 620));
  }
}

@media screen and (min-width: 620px) {
  .p-news-mv_ttl {
    font-size: calc(60 * (100vw / 768));
  }
}

@media screen and (min-width: 768px) {
  .p-news-mv_ttl {
    font-size: calc(60 * (100vw / 992));
  }
}

@media screen and (min-width: 992px) {
  .p-news-mv_ttl {
    font-size: 60px;
  }
}

.p-news-mv_ttl .reduce {
  display: block;
  font-size: 30%;
}

@media screen and (min-width: 992px) {
  .p-news-mv_ttl .reduce {
    font-size: 20%;
    letter-spacing: .5rem;
  }
}

@media screen and (min-width: 1200px) {
  .p-news-mv_ttl .reduce {
    font-size: 30%;
  }
}

.p-news-ttl {
}

.p-news-h2 {
  text-align: center;
  padding: 2% 0;
}

.p-news-h2 .en-large {
  color: #012E6E;
  display: block;
  font-size: clamp(50px, 12.5vw, 120px);
  font-weight: bold;
  opacity: .1;
}

.p-news-h2 .en-small {
  color: #012E6E;
  display: block;
  font-size: clamp(12px, 2.1vw, 16px);
  font-weight: bold;
}

.p-news-h2 .ja {
  display: block;
  font-size: clamp(20px, 3.2vw, 30px);
  font-weight: bold;
}



@media screen and (max-width: 768px) {

  .p-news-ttl {
  }

  .p-news-h2 {
    padding: 3% 0;
  }

  .p-news-h2 .en-large {
  }

  .p-news-h2 .en-small {
  }

  .p-news-h2 .ja {
  }
}

.p-news-single-cont {
  width: 100%;
}

.p-news-single-cont_wrap {
  width: 94%;
  max-width: 1000px;
  margin: 0 auto;
  padding: 0;
}

.p-news-single-cont_meta {
  display: flex;
  margin: 48px 0 0;
}

.p-news-single-cont_date {
  font-size: clamp(14px, 1.7vw, 16px);
  font-weight: 700;
  margin-right: 12px;
}

.p-news-single-cont_cat {
  font-size: clamp(14px, 1.7vw, 16px);
  font-weight: 700;
}

.p-news-single-cont_ttl {
  border-bottom: 1px solid;
  font-size: clamp(16px, 2.5vw, 24px);
  font-weight: bold;
  margin: 24px 0 0;
  padding: 0 0 24px 0;
	
	.icon-new {
	  background: #003785;
	  border-radius: 12px;
	  color: #fff;
	  font-size: clamp(16px, 2.5vw, 24px);
	  font-weight: bold;
	  margin: 24px 12px 0 0;
	  padding: 6px 12px;		
	}
}

.p-news-single-cont_thumarea {
  margin-top: 24px;
}

.p-news-single-cont_txtarea {
  margin-top: 24px;
}

.p-news-single-cont_txtbox {
  font-size: clamp(14px, 1.7vw, 16px);
  line-height: 1.5;
}

.p-news-single-cont_sign {
  text-align: right;
}

.p-news-single-pagenation {
    margin: 24px 0 72px;          /* 本文との間隔（調整してください） */
    border-top: 1px solid; /* 上部に区切り線をプラス */
    padding-top: 40px;
}

.p-news-single-pagenation_links {
    display: flex;
    justify-content: space-between; /* 左右に振り分け */
    align-items: center;
    gap: 20px;
}

/* 前の記事・次の記事の共通ラッパー */
.p-news-single-pagenation_previous, .p-news-single-pagenation_next {
    width: 48%; /* 2段にならないよう幅を固定 */
}

.p-news-single-pagenation_next {
    text-align: right; /* 次の記事は右寄せ */
}

/* 実際のリンクボタン（aタグ）のスタイル */
.p-news-single-pagenation_links a {
    display: inline-block;
    max-width: 100%;
    padding: 14px 28px;
    font-size: 14px;
    font-weight: 500;
    color: #0047AB;
    text-decoration: none;
    border: 1px solid #0047AB;
    border-radius: 4px; /* ほんのり角丸（シャープにしたい場合は0に） */
    background-color: #ffffff;
    box-sizing: border-box;
    transition: all 0.3s ease; /* アニメーションを滑らかに */
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis; /* テキストが長すぎたら「…」にする設定 */
}

/* ホバー時の演出（色が反転します） */
.p-news-single-pagenation_links a:hover {
    color: #ffffff;
    background-color: #0047AB; /* サイトのメインカラーに合わせて変更してください */
    border-color: #0047AB;
    transform: translateY(-2px); /* ほんの少し上に浮き上がらせる */
}

@media screen and (max-width: 768px) {
	.p-news-single-cont {
	}

	.p-news-single-cont_wrap {
	}

	.p-news-single-cont_meta {
	}

	.p-news-single-cont_date {
	}

	.p-news-single-cont_cat {
	}

	.p-news-single-cont_ttl {
	}

	.p-news-single-cont_thumarea {
	}

	.p-news-single-cont_txtarea {
	}

	.p-news-single-cont_txtbox {
	}

	.p-news-single-cont_sign {
	}

	.p-news-single-pagenation {
	}

	.p-news-single-pagenation_links {
	}

	.p-news-single-pagenation_previous {
	}

	.p-news-single-pagenation_next {
	}
}


.p-news-archive {
  width: 100%;
  margin: 24px 0 72px;
}

.p-news-archive-cont {
  width: 94%;
  max-width: 1000px;
  margin: 0 auto;
  padding: 0;
}

.p-news-archive_list {
  border-top: 1px solid;
  margin-top: 48px;
}

.p-news-archive_item {
  padding: 24px 0;
  border-bottom: 1px solid;
	
	a {
	  display: flex;
	  flex-direction: row;
	  flex-wrap: wrap;
	
		.date {
		  font-size: clamp(14px, 1.7vw, 16px);
		  margin: 0 24px 0 0;
		}

		.label {
		  font-size: clamp(14px, 1.7vw, 16px);
		  margin: 0 24px 0 0;
		}

		.text {
		  font-size: clamp(14px, 1.7vw, 16px);		  

			.icon-new{
			  background: #003785;
			  border-radius: 8px;
			  color: #fff;
			  font-size: clamp(14px, 1.7vw, 16px);
			  margin: 0 12px 0 0;
			  padding: 8px 12px;
			}
		}
		
	}
}
.p-news-archive_pagination {
    margin-top: 60px; /* リストとの間隔 */
    text-align: center;
}

/* ページネーション全体のラッパー（ulタグ） */
.p-news-archive_pagination ul {
    display: inline-flex;
    justify-content: center;
    align-items: center;
    list-style: none;
    padding: 0;
    margin: 0;
    gap: 10px; /* 数字と数字の間の余白 */
    flex-wrap: wrap; /* スマホで折り返せるように */
}

/* 数字、矢印、三点リーダー（…）の共通設定 */
.p-news-archive_pagination li a,
.p-news-archive_pagination li span {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 44px;              /* ボタンの横幅 */
    height: 44px;             /* ボタンの高さ（正方形に） */
    font-size: 15px;
    font-weight: 500;
    color: #0047AB;           /* 通常の数字の色 */
    text-decoration: none;
    border: 1px solid #0047AB; /* 枠線の色 */
    background-color: #ffffff;
    border-radius: 4px;       /* ほんのり角丸（完全に丸くしたい場合は 50% に変更） */
    box-sizing: border-box;
    transition: all 0.3s ease;
}

/* 現在表示しているページの数字（アクティブ状態） */
.p-news-archive_pagination li span.current {
    color: #ffffff;
    background-color: #0047AB; /* 選択中ページの背景色（ブランドカラーに変更可） */
    border-color: #0047AB;
    font-weight: 700;
}

/* 通常の数字・矢印をホバーしたとき */
.p-news-archive_pagination li a:hover {
    color: #ffffff;
    background-color: #0047AB; /* ホバー時に反転（お好みで薄いグレー #f5f5f5 などでもOK） */
    border-color: #0047AB;
}

/* ページ数が多いときに出る「…」（三点リーダー）の調整 */
.p-news-archive_pagination li span.dots {
    border: none;             /* ドットの部分は枠線を消してスッキリ */
    background: transparent;
    color: #0047AB;
    cursor: default;
}

@media screen and (max-width: 768px) {
	.p-news-archive {
	}

	.p-news-archive-cont {
	}

	.p-news-archive_list {
	}

	.p-news-archive_item {

		a {

			.date {
			}

			.label {
			}

			.text {
			  display: block;
			  width: 100%;
			  margin-top: 12px;
			}

		}
	}
    .p-news-archive_pagination {
        margin-top: 40px;
    }
    
    .p-news-archive_pagination ul {
        gap: 6px; /* スマホでは間隔を少し狭く */
    }
    
    /* スマホでも押しやすいサイズを維持しつつ、画面に収まるよう微調整 */
    .p-news-archive_pagination li a,
    .p-news-archive_pagination li span {
        width: 38px;
        height: 38px;
        font-size: 14px;
    }
}