/**********************************************
	サイト構成
**********************************************/
html {
	margin:0;
	padding:0;
	font-family:"Noto Sans JP", serif;
	font-weight:400;
	font-style:normal;
	color:#111;
}

body {
	position:relative;
	margin:0;
	padding:0;
	-webkit-animation:fadeIn 2s ease 0s 1 normal;
	animation:fadeIn 2s ease 0s 1 normal;
}

#wrapper {
	position:relative;
	margin:0;
	padding:0;
	text-align:left;
}

/**********************************************
	ページ設定
**********************************************/
@-webkit-keyframes fadeIn {
	0% {
		opacity:0;
	}

	100% {
		opacity:1;
	}
}

@keyframes fadeIn {
	0% {
		opacity:0;
	}

	100% {
		opacity:1;
	}
}

/**********************************************
	ヒーロー
**********************************************/
#heroImage {
	position:relative;
	z-index:900;
	width:100%;
	height:100svh;
}

@media (orientation:portrait) {
	#heroImage {
		height:100svh;
	}
}

/**********************************************
	キャッチコピー
**********************************************/
#catchCopy {
	display:flex;
	flex-direction:row;
	flex-wrap:wrap;
	justify-content:flex-start;
	align-items:stretch;
	z-index:1000;
	width:100%;
	height:100svh;
	background:linear-gradient(180deg,rgba(22, 73, 103, 0.8) 0%, rgba(255, 255, 255, 0) 33%, rgba(255, 255, 255, 0) 75%, rgba(15, 91, 124, 1) 100%);

}

#catchCopyInner {
	margin-top:28vh;
	margin-left:10vw;
	width:35vw;
}

.catchText {
	text-shadow:2px 2px 12px rgba(0,0,0,1);
	font-size:3.888vw;
	font-weight:800;
	color:#ffde00;
}

.catchTextSub {
	margin-bottom:2rem;
	text-shadow:2px 2px 12px rgba(255,255,255,1);
	font-size:2rem;
	font-weight:700;
	color:#00244c;
}

.catchTextText {
	width:35vw;
	text-align:left;
	text-shadow:0 0 12px rgba(0,0,0,1);
	font-weight:500;
	color:#fff;
}

.catchTextText br {
	display:none;
}

@media (orientation:portrait) {
	#catchCopy {
		width:100%;
		height:100svh;
	}

	#catchCopyInner {
		display:flex;
		flex-direction:column;
		flex-wrap:wrap;
		justify-content:flex-start;
		align-items:center;
		margin:calc(64px + 4rem) 1rem 2rem 1rem;
		width:calc(100vw - 10vw);
		height:calc(100svh - 64px - 4rem - 2rem);
	}

	.catchText {
		font-size:9.7vw;
	}

	.catchTextSub {
		text-shadow:0 0 12px rgba(0,0,0,1);
		font-size:6.2vw;
		color:#fff;
	}

	.catchTextText {
		width:100%;
		text-align:left;
		text-shadow:0 0 12px rgba(0,0,0,1);
		font-weight:500;
		color:#fff;
	}

	.catchTextText br {
		/*display:block;*/
	}
}

/**********************************************
	セクション
**********************************************/
.sectionBlock {
	background-color:#fff;
}

.sectionBlockInner {
	margin:0 auto;
	padding:6rem 1rem;
	max-width:1280px;
}

.sectionBlockInner1024 {
	margin:0 auto;
	padding:6rem 1rem;
	max-width:1024px;
}

.sectionBlockInner800 {
	margin:0 auto;
	padding:6rem 1rem;
	max-width:800px;
}

.sectionTitle {
	margin:2rem auto;
	line-height:1;
	font-size:2rem;
	font-weight:700;
	color:#00244c;
}

@media screen and (max-width:768px) {
	.sectionBlockInner {
		padding:1rem;
	}

	.sectionBlockInner1024 {
		padding:1rem;
	}

	.sectionBlockInner800 {
		padding:1rem;
	}
}

/**********************************************
	ごあいさつ
**********************************************/
#greeting {
	background-color:#0f5b7c;
	background:linear-gradient(180deg,rgba(15, 91, 124, 1) 0% , rgba(11, 63, 85, 1) 100%);
}

.greetingText {
	margin-bottom:1rem;
	color:#fff;
}

#greetingInnerBlock {
	display:flex;
	flex-direction:row;
	flex-wrap:wrap;
	justify-content:flex-start;
	align-items:stretch;
	gap:1rem;
	margin:0 auto;
	padding:3rem 1rem;
	max-width:1280px;
}

#greetingInnerBlock > div:first-child {
	width:calc(60% - 0.5rem);
}

#greetingInnerBlock > div:last-child {
	width:calc(40% - 0.5rem);
}

@media screen and (max-width:840px) {
	#greetingInnerBlock > div:first-child {
		width:100%;
	}
	#greetingInnerBlock > div:last-child {
		width:100%;
	}
}

/**********************************************
	お知らせ
**********************************************/
#infomation {
	background-color:#fff;
}

#infomationInner {
	display:flex;
	flex-direction:row;
	flex-wrap:wrap;
	justify-content:flex-start;
	align-items:stretch;
	gap:1rem;
}

#infomationInner > div {
	width:calc(50% - 0.5rem);
}

#planTable {
	width:100%;
	border-bottom:1px solid #999;
}

#planTable th {
	padding:0.25rem 1rem;
	text-align:center;
	font-size:0.9rem;
	border-top:1px solid #999;
}

#planTable td {
	padding:0.25rem 0.5rem;
	border-top:1px solid #999;
}

#planTable td.date {
	text-align:center;
	white-space:nowrap;
}

#planTable td.comment {
}

@media screen and (max-width:840px) {
	#infomationInner > div {
		width:100%;
	}

	#planTable th {
		padding:0.2rem 0.2rem;
		font-size:0.8rem;
	}

	#planTable td {
		padding:0.2rem 0.2rem;
		font-size:0.8rem;
	}
}

/**********************************************
	最新ニュース
**********************************************/
#news {
	background-color:#f4f4f4;
}

#newsInner {
	margin:0 auto;
	padding:4rem 1rem;
	max-width:1280px;
}

#newsBlock {
	display:flex;
	flex-direction:row;
	flex-wrap:wrap;
	justify-content:flex-start;
	align-items:stretch;
	gap:1rem;
}

.newsBox {
	overflow:hidden;
	width:calc(20% - 4rem / 5);
	background-color:#fff;
	border:1px solid #d1d1d1;
	border-radius:0.5rem;
}

.newsBox a {
	display:block;
	height:100%;
	text-decoration:none;
	transition-duration:0.3s;
}

.newsBox a:hover {
	transform:translate(0,-0.25rem);
	transition-duration:0.3s;
}

.newsImage {
	position:relative;
	margin-bottom:0.5rem;
	width:100%;
}

.newsImage:before {
	content:"";
	display:block;
	padding-top:75%;
}

.newsImage img {
	position:absolute;
	margin:auto;
	width:100%;
	height:100%;
	top:0;
	right:0;
	bottom:0;
	left:0;
	object-fit:cover;
}

.newsDate {
	margin:0.5rem 1rem;
	font-weight:300;
	font-family:'Oswald';
}

.newsTitle {
	margin:0 1rem 1rem 1rem;
	font-size:1.1rem;
	font-weight:700;
}

@media screen and (max-width:1280px) {
	.newsBox {
		width:calc(25% - 3rem / 4);
	}
}

@media screen and (max-width:840px) {
	.newsBox {
		width:calc(33.33% - 2rem / 3);
	}
}

@media screen and (max-width:480px) {
	.newsBox {
		width:calc(50% - 1rem / 2);
	}
}
