/**********************************************
	サイト構成
**********************************************/
html {
	margin:0;
	padding:0;
	font-family:"Noto Sans JP", serif;
	font-weight:400;
	font-style:normal;
	color:rgba(11, 63, 85, 1);
}

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:center;
	z-index:1000;
	width:100%;
	height:100svh;
/*background:linear-gradient(180deg,rgba(35, 116, 165, 0.8) 0%, rgba(255, 255, 255, 0) 33%, rgba(255, 255, 255, 0) 75%, rgba(15, 91, 124, 1) 100%);*/

}

#catchCopyInner {
	width:100%;
}

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

@media (orientation:portrait) {
	.catchText {
		font-size:9.7vw;
	}
}

/**********************************************
	セクション
**********************************************/
.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 {
	position:relative;
	font-family:"Oswald";
	font-size:4rem;
	font-weight:500;
	color:#0b3f55;
}

.sectionTitle::before {
	position:absolute;
	content:"";
	width:4rem;
	height:0.5rem;
	left:0;
	top:-1rem;
	background-color:#8fc348;
	border-radius:5px;
}

.sectionSubTitle {
	margin-bottom:1rem;
	font-size:1rem;
	font-weight:400;
	color:#0b3f55;
}

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

	.sectionBlockInner1024 {
		padding:1rem;
	}

	.sectionBlockInner800 {
		padding:1rem;
	}
}

/**********************************************
	ごあいさつ
**********************************************/
#greeting {
	color:#0b3f55;
	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:6rem 1rem;
	max-width:1280px;
}

#greetingInnerBlock > div:first-child {
	width:calc(35% - 0.5rem);
	font-size:7rem;
	font-weight:700;
	color:#fff;
}

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

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

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

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

#newsInner > div:first-child {
	width:20rem;
}

#newsInner > div:last-child {
	width:calc(100% - 20rem - 1rem);
}

#newsLink {
	display:inline-block;
	margin-top:3rem;
}

#newsLink a {
	display:block;
	padding:1rem 4rem;
	text-align:center;
	text-decoration:none;
	font-weight:200;
	background-color:#f6f6f6;
	border:1px solid #ccc;
	border-radius:100px;
}

#newsLink a:hover {
	background-color:#f9f9f9;
}

#newsTable {
	display:table;
	width:100%;
	border-collapse:collapse;
}

a.newsBox {
	display:table-row;
	text-decoration:none;
	transition-duration:0.3s;
	border-bottom:1px solid #ccc;
}

a.newsBox:last-child {
	border-bottom:none;
}

.newsDate {
	display:table-cell;
	padding:1.75rem 0;
	font-weight:300;
}

.newsTitle {
	display:table-cell;
	padding:1.75rem 0 1.75rem 1rem;
	font-weight:500;
}

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

	#newsInner > div:last-child {
		width:100%;
	}

	#newsLink {
		display:block;
		margin-top:1rem;
	}
}
