@charset "utf-8";
/* CSS Document */

/* =========================================================
 * unique-common
 * =========================================================*/
.width_box {
	margin: 0 auto;
}
.shippori {
	font-family: "Shippori Mincho", "Times New Roman", "YuMincho", "Hiragino Mincho ProN", "Yu Mincho", "MS PMincho", serif;
}
.noto {
	font-family: "Noto Sans JP", "Helvetica Neue", "Helvetica", "Hiragino Sans", "Hiragino Kaku Gothic ProN", "Arial", "Yu Gothic", "Meiryo", sans-serif;
}
.pink {
	color: #bb7c8e !important;
}

/* =========================================================
 * sec-mainvisual
* =========================================================*/
.sec-mainvisual {
	height: 30vh;
	min-height: 100px;
	background-image: linear-gradient(-45deg, #09203f 0%, #537895 100%);
	background-size: 400% 400%;
	animation: gradient 15s ease infinite;
	color: #fff;
	position: relative;
	box-shadow: 0px -3px 10px 0px rgb(0 0 0 / 40%) inset;
}
@keyframes gradient {
	0% {
		background-position: 0% 50%;
	}
	50% {
		background-position: 100% 50%;
	}
	100% {
		background-position: 0% 50%;
	}
}
.sec-mainvisual div.absolute {
	top: 0;
	right: 0;
	bottom: 0;
	left: 0;
	margin: auto;
	width: 100%;
	height: 100px;
}
.sec-mainvisual h2 {
		font-size: 2.5rem;
	}
.sec-mainvisual h3 {
	font-size: 0.8rem;
	letter-spacing: 0.1rem;
}
.sec-mainvisual h3 strong {
	font-weight: normal;
	color: #bb7c8e;
}

/* =========================================================
 * sec-nav
* =========================================================*/
.sec-nav {
	height: 35vh;
}
.sec-nav .s_nav {
	height: 100%;
	font-size: 1.3rem;
	letter-spacing: 1px;
}
.sec-nav .s_nav ul {
	height: 100%;
}
.sec-nav .s_nav li {
	height: calc(100% / 3 - 1px);
}
.sec-nav .s_nav li:nth-child(2) {
	background: #e8eaec;
}
.sec-nav .s_nav li > * {
	padding-top: 3.6vh;
}
.sec-nav .s_nav span {
	font-size: 0.7rem;
}

/* =========================================================
 * sec-update
* =========================================================*/
.sec-update {
	height: 25vh;
}
.sec-update .update_box {
	width: 85%;
	max-width: 850px;
	height: 20vh;
	overflow-x: auto;
	border: 1px solid #e5eaec;
	margin: 0 auto;
	background: #dfe5ea;
	color: #4b6f8c;
}
.sec-update .update_box ul {
	padding: 1vw;
}
.sec-update .update_box li {
	font-size: 0.8rem;
	border-bottom: 1px solid #edf1f3;
	padding: 0.3rem 0;
}
.sec-update .update_box li .up_date {
	width: 70px;
}
.sec-update .update_box li .up_detail {
	width: calc(100% - 71px);
}

/* =========================================================
 * responsive
 * =========================================================*/
@media screen and (min-width:1024px) {
	.sec-mainvisual h2 {
		font-size: min(50px, 5vw);
		}
	.sec-mainvisual h3 {
		font-size: min(16px, 1.2vw);
		}
	.sec-nav {
		min-height: 150px;
	}
	.sec-nav .s_nav ul {
		height: auto;
		display: flex;
    	margin: 0 auto;
		width: 1000px;
    	padding-top: 11vh;
	}
	.sec-nav .s_nav li {
		height: auto;
		width: calc(100% / 3);
		position: relative;
	}
	.sec-nav .s_nav li::after {
		position: absolute;
		content: "";
		width: 50px;
		right: 0;
		left: 0;
		margin: 0.4rem auto 0;
		border-bottom: 1px solid;
	}
	.sec-nav .s_nav li:nth-child(even) {
		width: calc(100% / 3 - 1px);
		background: none;
	}
	.sec-nav .s_nav span {
		display: block;
	}
}