/* CSS Document */

header{
	background: url("../img/keyimg_bg.webp") center center no-repeat;
	background-size: cover;
	background-attachment: fixed;
	position: relative;
	padding: 0;
}

header h1{
	padding: 25px;
	color: #fff;
	font-family: "Meiryo UI", Meiryo, "ＭＳ ゴシック", Arial;
}

header h1 span{
	display: block;
}

header h1 .f16{
	font-size: 16px;
}

header h1 .f30{
	font-size: 30px;
	font-weight: bold;
}

header #keyimg{
	text-align: center;
}

header #keyimg img{
	object-fit: cover;
}

header nav{
	background-color: rgba(0,149,186,0.8);
	position: absolute;
	bottom: 0;
	width: 100%;
	padding-top: 25px;
	padding-bottom: 25px;
}

header nav ul{
	/*width: 850px;
	margin: auto;
	display: flex;
	justify-content: center;*/
}

header nav ul li:first-child{
	border-top: 1px solid #fff;
}

header nav ul li{
	padding-top: 10px;
	border-bottom: 1px solid #fff;
}

header nav ul li:hover{
	background: url("../img/icon00.gif") top center no-repeat;
}

/*

header nav ul li a:last-child{
	border-right: 1px solid #fff;
}*/

header nav ul li a{
	color: #fff;
	font-size: 16px;
	text-align: center;
	display: block;
	font-family: YuGothic, "Yu Gothic medium", "Hiragino Sans", Meiryo, "sans-serif";
	padding-left: 25px;
	padding-right: 25px;
/*	border-left: 1px solid #fff;*/
}

header nav ul li a span{
	display: block;
	line-height: 100%;
}





#s01{
	background: url("../img/bg01.webp") top center no-repeat #0095BA;
	background-size: contain;
	padding-top: 100px;
}

#s01 .bg{
	background: url("../img/bg02.webp") right top no-repeat;
	padding-bottom: 150px;
	padding-top: 100px;
}

#s01 .box_rap01{
	/*width: 1200px;*/
	background: url("../img/icon01.webp") left 15px top no-repeat;
	margin: auto;
	padding-top: 50px;
	text-shadow:#0095BA 1px 0 10px;
}

#s01 .box_rap01 h2{
	color: #fff;
	font-size: 18px;
	font-weight: bold;
	padding: 15px;
}

#s01 .box_rap01 .f22{
	font-size: 16px;
	font-weight: bold;
	color: #ff0;
	padding-left: 15px;
	padding-right: 15px;
	margin-bottom: 25px;
}

#s01 .box_rap01 p{
	color: #fff;
	padding-left: 15px;
	padding-right: 15px;
	/*width: 850px;*/
}

#s01 .box_rap02{
	/*width: 1200px;*/
	margin: auto;
	/*display: flex;*/
}

#s01 .box_rap02 .img{
	/*width: 467px;
	margin-right: 35px;*/
	text-align: center;
}

#s01 .box_rap02 .img img{
	width: 300px;
	height: auto;
}


#s01 .box_rap02 .box{
		background: url("../img/icon01.webp") left 15px top 15px no-repeat;
	/*width: 650px;*/
	padding-top: 80px;
}

#s01 .box_rap02 .box h2{
	color: #fff;
	font-size: 18px;
	font-weight: bold;
	margin-bottom: 15px;
	padding-left: 10px;
}

#s01 .box_rap02 .f22{
	font-size: 18px;
	padding-left: 15px;
	font-weight: bold;
	color: #ff0;
	margin-bottom: 25px;
}

#s01 .box_rap02 p{
	color: #fff;
	padding-left: 15px;
	padding-right: 15px;
	/*width: 650px;*/
}

#s02{
	padding-top: 50px;
}

#s02 .icon{
	background: url("../img/icon02.webp") left bottom no-repeat;
	/*width: 1200px;
	height: 30px;*/
	margin: auto;
	margin-bottom: 10px;
}

#s02 .bg01{
	background: #CEECF7;
	padding-top: 35px;
	padding-bottom: 150px;
}

#s02 h2{
	/*width: 1200px;
	margin: auto;*/
	padding-left: 15px;
	font-size: 30px;
	font-weight: bold;
	color: #000;
	line-height: 100%;
	margin-bottom: 20px;
}

#s02 h2 hr{
	height: 1px;
	border-bottom: 1px solid #000;
	width: 210px;
	line-height: 1px;
	margin: 0;
	margin-top: 15px;
	margin-bottom: 5px;
}

#s02 h2 small{
	font-size: 16px;
	font-weight: normal;
}

#s02 #news{
	/*width: 1200px;
	padding-left: 10px;
	display: flex;
	flex-wrap: wrap;*/
}

#s02 #news li{
	margin-bottom: 10px;
	padding-left: 15px;
}

#s02 #news li .box{
	display: flex;
	align-items: center;
	padding-right: 10px;
}

#s02 #news li .img{
	overflow: hidden;
	width: 110px;
	height: 110px;
	margin-right: 15px;
	position: relative;
	background: #ccc url("../img/logo.webp") center center no-repeat;
}

#s02 #news li .img img{
	width: 110px;
	height: 100%;
		 object-fit: cover;
	object-position:center center;
}

#s02 #news li .day{
	display: none;
}

#s02 #news li .f18{
	display: block;
	padding: 10px;
	padding-top:15px;
	font-weight: bold;
	color: #0095BA;
}

#s02 .bg02{
	background: url("../img/bg03.webp") center center no-repeat;
	background-size: cover;
	padding-bottom: 100px;
}

#s02 #eventlist{
	position: absolute;
	margin-top: -50px;
	width: 100vw;
	overflow: hidden;
}

@keyframes infinity-scroll-left {
	from {
	  transform: translateX(0);
	}
	  to {
	  transform: translateX(-100%);
	}
	}
	.scroll-infinity__wrap {
	  display: flex;
	  overflow: hidden;
	}
	.scroll-infinity__list {
	  display: flex;
	  list-style: none;
	  padding: 0
	}
	.scroll-infinity__list--left {
	  animation: infinity-scroll-left 60s infinite linear 0.5s both;
	}
	.scroll-infinity__item {
	  /*width: calc(100vw / 6);*/
		margin-right: 35px;
		width: 90px;
	}
	.scroll-infinity__item>img {
	  width: 90px;
		height: 100%;
	}


#s02 .bg02 .box_rap{
	padding-top: 100px;
	/*width: 1000px;*/
	margin: auto;
	display: flex;
	justify-content: center;
}

#s02 .bg02 .box_rap p{
	text-align: center;
	color: #fff;
	font-weight: bold;
	font-size: 18px;
	line-height: 180%;
}

#s03{
	padding-top: 50px;
	padding-bottom: 150px;
}

#s03 h2{
	/*width: 1200px;*/
	margin: auto;
	font-size: 30px;
	font-weight: bold;
	color: #000;
	line-height: 100%;
	margin-bottom: 35px;
	padding-left: 15px;
}

#s03 h2 hr{
	height: 1px;
	border-bottom: 1px solid #000;
	width: 210px;
	line-height: 1px;
	margin: 0;
	margin-top: 15px;
	margin-bottom: 5px;
}

#s03 h2 small{
	font-size: 16px;
	font-weight: normal;
}

#s03 .obj01{
	/*width: 1080px;
	margin: auto;*/
	font-size: 13px;
	text-align: center;
	color: #0094B9;
}

#s03 #eventlist{
	/*width: 1080px;*/
	margin: auto;
}

#s03 #eventlist li{
	background: #fff;
	padding: 10px;
}

#s03 #eventlist li:nth-child(odd){
	background: #CEECF7;
}

#s03 #eventlist li .box{
	display: flex;
}

#s03 #eventlist li .day{
	width: 175px;
	padding-left: 75px;
	background: url("../img/icon04.webp") left 15px center no-repeat;
	margin-right: 35px;
}

#s03 #eventlist li a{
	display: block;
	width: 100%;
}

#s04{
	padding-bottom: 50px;
	background: #CEECF7;
}

#s04 .bg01{
	background: #fff;
	padding-bottom: 10px;
}

#s04 .bg01 div{
	background: url("../img/icon02.webp") left 15px bottom no-repeat;
	/*width: 1200px;*/
	height: 30px;
	margin: auto;
	margin-bottom: 10px;
}
#s04 .box_rap01{
	margin-bottom: 35px;
}

#s04 h2{
	font-size: 30px;
	font-weight: bold;
	color: #000;
	line-height: 100%;
	margin-bottom: 35px;
	padding-top: 25px;
	margin-right: 35px;
	padding-left: 15px;
}

#s04 h2 hr{
	height: 1px;
	border-bottom: 1px solid #000;
	width: 210px;
	line-height: 1px;
	margin: 0;
	margin-top: 15px;
	margin-bottom: 5px;
}

#s04 h2 small{
	font-size: 16px;
	font-weight: normal;
}

#s04 h2 small b{
	font-weight: bold;
}

#s04 .box_rap01 a{
	width: 250px;
	height: 50px;
	background: #0095BA url("../img/icon03.webp") right 15px center no-repeat;
	color: #fff;
	line-height: 50px;
	padding-right: 25px;
	font-weight: bold;
	text-align: center;
	display: block;
	margin: auto;
}


#s04 .obj01{
	/*width: 1200px;
	margin: auto;*/
	font-size: 16px;
	padding-left: 15px;
	padding-right: 15px;
	margin-bottom: 35px;
}
#s04 .obj01 a{
	color: #0094B9;
	font-weight: bold;
	text-decoration: underline;
}

#s04 .box_rap_02{
	/*
	margin: auto;*/
	padding-left: 10px;
	padding-right: 10px;
	display: flex;
	justify-content: center;
	flex-wrap: wrap;
}

#s04 .box_rap_02 figure{
	margin-right: 15px;
	margin-bottom: 40px;
	position: relative;
}

#s04 .box_rap_02 figcaption{
	position: absolute;
	background: #0095BA;
	color: #fff;
	padding-top: 5px;
	padding-bottom: 5px;
	padding-left: 25px;
	padding-right: 40px;
	top: -20px;
	left: 5px;
	clip-path: polygon(0 0, 100% 0, 80% 100%, 0 100%);
}

#s04 .box_rap_02 figure img{
	height:200px;
	width: 160px;
}

#s05{
	padding-top: 100px;
}

#s05 h2{
	/*width: 1200px;
	margin: auto;*/
	text-align: center;
	font-size: 30px;
	font-weight: bold;
	color: #000;
	line-height: 100%;
	margin-bottom: 35px;
	padding-top: 25px;
}

#s05 h2 hr{
	height: 1px;
	border-bottom: 1px solid #000;
	width: 210px;
	line-height: 1px;
	margin: 0;
	margin: auto;
	margin-top: 15px;
	margin-bottom: 5px;
}

#s05 h2 small{
	font-size: 16px;
	font-weight: normal;
}

#s05 .box_rap01{
	display: flex;
	flex-wrap: wrap;
	/*width: 1200px;*/
	justify-content: center;
	margin: auto;
	margin-bottom: 50px;
}

#s05 .box_rap01 li{
	margin-bottom: 25px;
}

#s05  h3{
	/*width: 1200px;*/
	margin: auto;
	font-size: 15px;
	font-weight: bold;
}