.mv{
	position: relative;
}
.top_news{
	background: #fff;
	border-radius: 30px;
	padding: 30px 50px;
	position: absolute;
  position: absolute;
  bottom: 0;
  left: 50%;
  transform: translateX(-50%);
}

.top_news .flex{
	display: flex;
}
.top_news .flex .conts_title{
	margin-right: 30px;
}
.top_conts.top_news h2{
	margin-bottom: 0;
}

.top_news ul li a{
	display: flex;
	align-items: center;
}
.top_news ul li a .date{
	margin-right: 20px;
	color: #686868;
	font-size: 1.4rem;
}
.top_news .link{
	text-align: right;
}
.top_conts.top_about{
	padding: 80px 0;
	background-image: url(../img/top02.png),url(../img/top01.png),url(../img/top03.png);
	background-position:top 50% left 10%,right 20px top 10%,bottom 0 right 20%;
	background-repeat: no-repeat;
}
.top_conts.top_about h2{
	color: #323232;
}
.top_conts.top_about .txt_ctr{
	font-size: 1.8rem;
	line-height: 3;
}

.top_service .flex{
	display: flex;
	flex-wrap: wrap;
}
.top_service .flex .conts01{
	background-image: url(../img/contentslink_01.jpg);
	margin-right: 2%;
	background-size: cover;
	background-position: top center;
}
.top_service .flex .conts02{
	background-image: url(../img/contentslink_02.jpg);
	background-size: cover;
	background-position: top center;	
}
.top_service .flex .conts03{
	margin-right: 2%;
}
.top_service .flex .conts04{
	margin-right: 2%;
}
.top_service .flex .conts05{

}
.top_service .flex .contents01{
	border-radius: 30px;
	height: 388px;
	width: 49%;	
	position: relative;
}
.top_service .flex .contents01 a{
	display: block;
	height: 100%;
	color: #fff;
}
.top_service .flex .contents01 .ttl{
	position: absolute;
	background: #fff;
	color: #000;
	border-radius: 20px 0 20px 0;
	font-size: 2.6rem;
	padding: 5px 40px;
}



.top_service .flex .contents02{
	border-radius: 30px;
	height: 276px;
	width: 32%;
	background-color: #2b94ff;
    outline: 5px dotted rgb(255, 255, 255);/*outlineでドットの線を追加*/
    outline-offset: -15px;/*outline-offsetの値を-15pxにして内側に調整*/
    margin-top: 30px;
}
.top_service .flex .contents02 a{
	display: flex;
	flex-wrap: wrap;
	height: 100%;	
	color: #fff;
	justify-content: center;
}
.top_service .flex .contents02 a p{
	width: 100%;
	text-align: center;	
	margin-top: 50px;
	font-size: 2.0rem;
}
.top_service .flex .contents02 a .img{
	width: 100%;
	text-align: center;
}
.top_event{
	background-color: #fff562;
	background-image: url(../img/back01.png),url(../img/back02.png),url(../img/back02.png);
	background-repeat: no-repeat;
	background-position:top -100px left -50px,right -30px top -50px,bottom 0 right 20%;
}
.top_event .flex{
	display: flex;
	padding: 80px 0;
}
.top_event .photolist .photo .img img{
	border-radius: 30px;
}
.top_event .photolist .photo .img{
	margin-right: 20px;
	margin-bottom: 15px;
}
.top_event .flex .text{
	width: 30%;
}
.top_event .photolist{
	background: #fff;
	border-radius: 50px 0 0 50px ;
	padding: 50px 0 50px 50px;
}
.top_event .flex .detail{
	border-left: 5px solid #fff000;
	padding-left: 10px;
}
.top_event .flex .detail .ttl{
	font-size: 2.0rem;
	width: 100%;
}
.top_event .flex .text{
	display: flex;
	align-items: center;
	flex-wrap: wrap;
	justify-content: center;
	align-content: center;
}
.top_event .flex .text a{
	text-align: text;
}
.top_event .flex .text .link{
	text-align: center;
}
.top_event .flex .text .link a{
	text-align: center;
	background-color: #fff;
	border-radius: 30px;
	padding: 10px 30px;
}
.top_event .flex .text .link h2{
	width: 100%;
}
.top_event.top_conts h2{
	width: 100%;
}
.top_event_img{
	background-image: url(../img/illust02.png);
	background-repeat: no-repeat;
	width:719px;
	height:302px;
	margin-top: -130px;
	z-index: 1;
}
.photo_image{
	background-image: url(../img/header.png),url(../img/imagephoto.jpg);
	width: 100%;
	height: 1280px;
	background-position: center top;
    background-repeat: repeat-x,no-repeat;
    padding-top: 80px;
}

	@media screen and (max-width: 1400px){
		.top_conts.top_about{		
			background-size:15vw;
		}

	}
	
	@media screen and (max-width: 1200px){
		.top_event > .flex{
			display: block;
		}
		.top_event .flex .text .link{
			margin-bottom: 50px;
		}
		.photo_image{
			height: 100vw;
			background-size:auto, cover;
		}		
	}		
	@media screen and (max-width: 1000px){
		.top_news{
			bottom: -150px;
		}
		.top_conts.top_about{
			margin-top: 200px;
		}
		main .mv{
		  height: 500px;
		}		

		.top_service .flex .contents01{
			height: 250px;
		}


	}
	@media screen and (max-width: 750px){
		.top_news .flex{
			display: block;
		}
		.top_conts.top_news h2{
			margin-bottom: 30px;
		}
		.top_news{
			top :450px;
		}	
		.top_news .link{
			margin-top: 30px;
		}		
		.top_conts.top_about{
			padding-bottom: 180px;
			background-color:rgba(255,255,255,0);
			background-blend-mode: lighten;
			background-size: 30vw;
			background-position: bottom, bottom left, bottom right;
		}		
		.top_conts.top_about .txt_ctr{
			font-size: 1.6rem;
			line-height: 1.8;
		}
		
		.top_service .flex .contents01 .ttl{
			font-size: 1.6rem;
		}	
		.top_service .flex .contents02 a p{
			font-size: 1.4rem;
		}
		.top_service .flex .contents02 a .img{
			width: 50%;
			height: auto;
		}			
		.top_service .flex .contents02{
			height: 150px;
		}
		.top_service .flex .contents02 a p{
			margin-top: 20px;
		}
		.top_event .photolist{
			padding: 20px 0 20px 20px;
		}
		.top_event .flex .text{
			width: 100%;
		}
		.top_event .flex .detail .ttl{
			font-size: 1.4rem;
		}
		.top_event .flex .detail{
			font-size: 1.2rem;
		}
		.top_event_img{
			background-size: 60%;
		}
	}
	@media screen and (max-width: 500px){

		.top_news ul li a{
			display: block;
		}
		.top_conts.top_about{
			margin-top: 400px;
		}		

		.top_service .flex .contents01{
			height: 150px;
		}	
		.top_service .flex .contents02 a p{
			font-size: 1.2rem;
		}
		.top_service .flex .contents02{
			outline: 3px dotted rgb(255, 255, 255);
    		outline-offset: -8px;
		}
		.top_service .flex .contents01 .ttl{
			padding: 5px 10px;
		}
		.top_event .photolist .photo .img{
			margin-right: 5px;
		}
	
	}