section:nth-of-type(odd) {
	background-color: var(--color-section-green-back);
}

section:nth-of-type(even) {
	background-color: var(--color-section-white-back);
}

section#hero {
	text-align: center;
	height: calc(100vh - 4rem);
	background: linear-gradient(to bottom right, #d8f8d8, #2F6FED);
}

.container.hero_text {
	height: 100%;
	display: flex;
	flex-direction: column;
	justify-content: center;
}

#hero h1 {
	color: #FFFFFF;
	font-weight: bolder;
}

#hero p {
	color: #FFFFFF;
	font-weight: normal;
}


/* ======================================= */
/* hero画像 */
/* ======================================= */
.circle {
	position: absolute;
	width: 4rem;
	height: 4rem;
	border-radius: 50%;
	background: rgba(255, 255, 255, 0.25);
	animation: float 4s ease-in-out infinite;
}

.circle1 {
	top: 10%;
	left: 5%;
	animation-delay: 0s;
}

.circle2 {
	top: 40%;
	left: 20%;
	animation-delay: 1s;
}

.circle3 {
	top: 70%;
	left: 60%;
	animation-delay: 2s;
}

@keyframes float {
	0% {
		transform: translateY(0);
	}

	50% {
		transform: translateY(-12px);
	}

	100% {
		transform: translateY(0);
	}
}

/* パターン2 */
.wave {
	position: absolute;
	top: 10%;
	left: 0;
	width: 100%;
	height: 15rem;
}

/* パターン3 */
.dot {
	position: absolute;
	width: 1rem;
	height: 1rem;
	border-radius: 50%;
	background: rgba(255, 255, 255, 0.6);
	animation: pulse 3s ease-in-out infinite;
}

.dot1 {
	top: 35%;
	left: 10%;
	animation-delay: 0s;
}

.dot2 {
	top: 70%;
	left: 40%;
	animation-delay: 1s;
}

.dot3 {
	top: 25%;
	left: 70%;
	animation-delay: 2s;
}

@keyframes pulse {
	0% {
		transform: scale(1);
		opacity: 0.4;
	}

	50% {
		transform: scale(1.3);
		opacity: 1;
	}

	100% {
		transform: scale(1);
		opacity: 0.4;
	}
}


/* ======================================= */
/* NEWS */
/* ======================================= */
ul.list_news li {
	font-size: 1rem;
	border-bottom: 1px solid #CCCCCC;
	padding: 1.4em 1.1em;
	display: flex;
	justify-content: flex-start;
	align-items: center;
	flex-wrap: wrap;
	gap: 1.5em;
}

.news_category {
	width: 140px;
	font-weight: bold;
	border: 0.1em solid var(--color-text-primary);
}

.news_category a {
	display: inline-block;
	width: 100%;
	height: 100%;
	padding: 0.4rem 0;
	color: #00317F;
	font-weight: bold;
	text-align: center;
}

.news_date {
	color: #00184e;
	font-weight: bold;
	padding: 0;
	margin: 0;
	white-space: nowrap;
}


/* ================================================= */
/* Home Links */
/* ================================================= */
.links_container {
	max-width: 600px;
	margin: 40px auto;
	padding: 0;
	list-style: none;
	display: grid;
	grid-template-columns: repeat(auto-fill, minmax(260px, 1fr));
	gap: 20px;
}

.link_card {
	background: white;
	padding: 32px;
	border-radius: 12px;
	text-align: center;
	text-decoration: none;
	color: #111;

	box-shadow: 0 4px 12px rgba(0, 0, 0, 0.05);
	transition: all .25s;
}

.link_card i {
	font-size: 32px;
	color: #2563eb;
	margin-bottom: 12px;
}

.link_card h3 {
	margin-bottom: 8px;
}

.link_card p {
	font-size: 14px;
	color: #6b7280;
}

.link_card:hover {
	transform: translateY(-6px);
	box-shadow: 0 10px 25px rgba(0, 0, 0, 0.12);
}

/* レスポンシブ */

@media (max-width:900px) {
	.links_container {
		grid-template-columns: repeat(2, 1fr);
	}
}

@media (max-width:600px) {
	.links_container {
		grid-template-columns: 1fr;
	}
}