@charset "UTF-8";

hr.hr01{
  border-top: 1px solid #bbb;
  border-bottom: 1px solid #fff;
}
hr.hr01:after {
  content: '';
  display: block;
  margin-top: 2px;
  border-top: 1px solid #bbb;
  border-bottom: 1px solid #fff;
}

hr.hr02 {
  border-top: 1px dashed #bbb;
}

hr.hr03 {
	border-top: 1px solid #34759B;
	margin: 10px 0;
}

section {
	width: 100%;
	margin: 0;
	padding: 0;
}

.navbar-brand { /* header title */
	font-size: 2.4rem;
	font-weight: 700;
	margin: 0;
}
a.navbar-brand:visited {
	color: var(--bs-navbar-brand-color);
}

/* ニュースリスト */
ul.newsList {
	display: flex;
	flex-flow: row wrap;
	align-items: flex-start;
	border-bottom: 1px dotted #999;
	padding: 0;
	background: #FFF;
	z-index: 2;
	position: relative;
}

ul.newsList li {
	display: block;
	margin: 5px 10px;
}

ul.newsList li:nth-child(-n + 3) {
	flex-basis: 90px;
}

ul.newsList li:nth-child(2) {
	color: #fff;
	padding: 0 10px 1px;
	text-align: center;
	background: #7BB431;
	font-size: 1.4rem;
	font-family: "Zen Maru Gothic", serif;
	font-weight: 500;
}

ul.newsList li:nth-child(3) {
	flex-basis: calc(100% - 240px);
}

.card_container {
	display: grid;
	grid-template-columns: repeat(4, 1fr);
	/*grid-template-columns: repeat( auto-fill, minmax(400px,1fr) ) ; */ /* グリッドアイテム幅は200px～1fr、カラム数は要素が入る数だけ */
	grid-template-rows: auto;
	gap: 15px; /* カード間の隙間 */
	margin-bottom: 3em;
}

.card_container .card {
	display: grid;
	grid-template-rows: subgrid; /* ここでSubgridを使用 */
	grid-row: span 4; /* 4行分のスペースを占めるように調整 */
	gap: 20px; /* カード間の隙間も親要素を継承しているので上書き */
  overflow: hidden;
  min-width: 250px;
  background: #fff;
	filter: drop-shadow(-5px -5px 10px #ffffff) drop-shadow(5px 5px 10px #ededed);
  padding: 20px;
}

.card_container .card h2 {
  padding: 0;
  margin: 0;
  line-height: 1.2em;
  color: #48494e;
	font-size: clamp(2rem, calc(2rem + ((1vw - 0.36rem) * 0.5435)), 2.2rem);
  min-height: 0vw;
	font-weight: 500;
}

.card_container .card p {
  padding: 0;
  margin: 0;
  line-height: 1.5em;
  color: #8a8a8f;
}

.card_container .button a {
  display: flex;
  justify-content: center;
  align-items: center;
  background: #1377BA;
	border: 2px solid #1377BA;
  color: #fff;
	font-weight: 500;
	font-family: "Zen Maru Gothic", serif;
  border-radius: 100px;
  margin: 0 20px;
	text-decoration: none;
	padding: 3px 10px 4px;
}
.card_container .button a:hover {
  color: #3D4070;
	background: #FFF;
}

.br-sm {
  display: none;
}

@media (max-width: 1399.98px) {
	ul.newsList li:nth-child(3) {
		flex-basis: 100%;
	}
}

@media (max-width: 1199.98px) {
	.card_container {
		grid-template-columns: repeat(2, 1fr);
	}
}

@media (min-width: 992px) {
	header .navbar-expand-lg.navbar > .container-fluid {
		flex-direction: column;
		align-items: stretch;
	}
}

@media (max-width: 767.98px) {
	.card_container {
		grid-template-columns: repeat(1, 1fr);
	}
}

@media (max-width: 575.98px) {
  .br-sm {
    display: block;
  }
}