@charset "UTF-8";
/* CSS Document */
html {
    scroll-behavior: smooth;
}
a{
	color:#333;
	transition: all 0.4s linear;
}
a:hover{
	text-decoration: none;
}
ul{
	list-style: none;
	margin:0;
	padding:0;
}
header.top{
	height:830px;
	width:100%;
	background-image:url(../img/top_bg.png);
	background-size:100% auto;
	background-repeat:repeat-y;
	background-position:top;
}
header.art{
	height:250px;
	width:100%;
	background-image:url(../img/top_bg.png);
	background-size:100% auto;
	background-repeat:repeat-y;
	background-position:top;

}


.nav li a img{
	width:130px;
	height: auto;
}
.nav li a{
	display: block;
}
.nav li a:hover{

	animation: rumble 2s linear infinite;
}
@keyframes rumble{
	0%	{transform:rotate(0deg)	translate(0,0);}
	12.5%	{transform:rotate(0.4deg)	translate(1px,-1px);}
	25%	{transform:rotate(0.8deg)	translate(0px,1px);}
	37.5%	{transform:rotate(0.4deg)	translate(-1px,0);}
	50%	{transform:rotate(0deg)	translate(0,0);}
	62.5%	{transform:rotate(-0.4deg)	translate(1px,0);}
	75%	{transform:rotate(-0.8deg)	translate(0,1px);}
	87.5%	{transform:rotate(-0.4deg)	translate(-1px,-1px);}
	100%	{transform:rotate(0deg)	translate(0,0);}
}

/*slide**/
.top_slide{
	padding:0;
	position:relative;
	width:100%;
}
.carousel-item {
  height: 68.7vh;
  min-height: 350px;
  background: no-repeat top scroll;

}
#slider{
	position: relative;
	z-index: 0;
}

#cover{
	position:absolute;
	width:1134px;
	height:675px;
	overflow:hidden;
	z-index:200!important;
	background:url(../img/cover.png) no-repeat;
	animation: smile 3s steps(3) alternate infinite;
	left:50%;
	margin-left:-567px;
	top:0;
}
@keyframes smile {
  to {
    background-position: 0 -2394px;
  }
}
#carousel{
	position: relative;
	z-index: 100px!important;
}
/**top_info**/
#top_info{
	margin-top: 30px;
}
.blog_bg{
	background-image:url(../img/blog_bg.png);
	background-repeat:no-repeat;
	background-position: center top;
	
}
.blog_box{
	background-color:#fff;
	position:relative;
	border:1px solid #ddd;
}
.blog_box a span.blog{
	position:absolute;
	top:5px;
	left:5px;
	background-color:#909;
	font-size:0.7em;
	padding:0 8px;
	border-radius:4px;
	height:17px;
	line-height:17px;
	color:#fff;
}
.blog_box a span.news{
	position:absolute;
	top:5px;
	left:5px;
	background-color:#F66;
	font-size:0.7em;
	padding:0 8px;
	border-radius:4px;
	height:17px;
	line-height:17px;
	color:#fff;
}
.blog_box a span.date{
	display:block;
	width:120px;
	background-color:#fff;
	position:absolute;
	top:130px;
	left:50%;
	margin-left:-60px;
	font-size:0.8em;
	border-radius:5px 5px 0 0;
	color:#F36;
	text-align: center;
	padding:3px;
}
.blog_img{
	overflow:hidden;
	height: 147px;
}
.blog_box a img{
	width:100%;
	height:147px;
	object-fit: cover;
}
.blog_text{
	text-align:left;
	padding:10px;
}
.blog_text h2{
	color:#039;
	font-size: 1em;
}
.blog_text h2 i{
	color:#F90;
	margin-right: 5px;
}
.blog_text p{
	font-size:0.8em;
	margin-bottom: 0;
}
.blog_box a:hover p{
	text-decoration:underline;
	color:#69C;
	transition:all 0.3s linear;


}
.link a{
	color:#fff;
	display: block;
	padding:10px;
	border-radius: 30px;
	position: relative;
}
.link a:hover{
}
.link a span.tag{
	color:#F69;
	display: block;
	font-size: 0.8em;
	margin-top: -5px;
}
.link a::after{
	font-family: "Font Awesome 5 Free";
	font-weight: 900;
	content:"\f138";
	position: absolute;
	right:20px;
	top:29%;
}
.link1 a{
	background-color:#399;
}
.link1 a:hover{
	background-color:#39C;
}
.link2 a{
	background-color:#3f51b5;
}
.link2 a:hover{
	background-color:#399;
}
/**top_main**/
#top_main{
	background-image: url("../img/main_bg.png");
	background-position: center top;
	background-repeat: repeat-x;

}
.se1 a{
	background-image: url("../img/se_bg1.png");
	display: block;
	background-repeat: no-repeat;
	background-position: center top;
}
.se2 a{
	background-image: url("../img/se_bg2.png");
	display: block;
	background-repeat: no-repeat;
	background-position: center top;
}
.se3 a{
	background-image: url("../img/se_bg3.png");
	display: block;
	background-repeat: no-repeat;
	background-position: center top;
}
.se_box a img{
	transition: .5s ;
	transform: rotateZ( 0deg ) ;
}
.se_box a:hover img.target{
	transform: rotateZ( 10deg ) ;
}
/*top_eve***/
#top_eve{
	background-color:#FBFBF1;
}
#top_eve p{
	margin-top:10px;
}


/***footer**/
footer{
	background-color:#f4f5f7;
}
footer .container-fluid{
	padding-left:0!important;
	padding-right:0!important;
	background-color:#fcfdfd;

}
#nigaoe{
	width:100%;
	position: relative;
	background: url("../img/nigaoe.png") repeat-x 0 0;
	animation: bg-slider 150s linear infinite;
	height: 350px;
}
footer h1{
	font-size: 1.2em;
	margin-top:20px;
	font-weight: bold;
}
address p{
	font-size: 0.9em;
	margin-bottom: 0;
}
footer ul li a{
	font-size: 0.9em;
	display: block;
	padding:5px 0;
}
footer ul li a:hover{
	text-decoration: underline;
}
footer ul li a i{
	color:#FC6;
	margin-right: 5px;
}
footer ul li ul li a{
	font-size:0.8em;
	display: block
}
footer ul li ul li a i{
	color:#D8E1DF;
	margin-right: 5px;
}
ul.f_1,ul.f_2,ul.f_3{
	border-right: 1px dashed #ccc;
}
p.copy{
	margin-bottom: 0;
	background-color:#036;
	color:#ccc;
	padding:15px;
	text-align: center;
	font-size: 0.8em;
}

/*article**/
#title{
	min-height:220px;
	border:1px solid #fff;

}
.title_bg{
	margin-top:-100px;
}
.title_w{
	margin-top:-100px;
}
.title_w span{
	display: block;
	font-size:0.9em;
	color:#F99;
	letter-spacing:2px;
}
.title_w span::after{
	content:"";
	background-image:url(../img/dot_line.png);
	background-repeat:no-repeat;
	width:120px;
	height:20px;
	display: block;
	margin:10px auto;
}
.art_nav a{
	display: block;
	font-size: 0.9em;
	text-align: center;
	padding:10px 0;
}
.art_nav a:hover{
	color:#69C;
}
.art_nav a i{
	margin-right: 5px;
	color:#d8e1e1;
}


/****article*/
#article h3{
	font-size: 1.3em;
	color:#fff;
}
#article h3 i{
	margin-right: 5px;
}
#article h3 span{
	display: inline-block;
	margin-left: 10px;
	font-size: 0.8em;
}

/**gaiyou**/
h3.gaiyou{
	background-color:#5bcaa6;
	padding:15px 25px;
	border-radius: 30px;
}
h3.en{
	background-color:#9bd57e;
	padding:15px 25px;
	border-radius: 30px;
}
/*gaiyou**/
table.gaiyou{
	width:100%;
}
table.gaiyou td{
	padding:10px;
    border-bottom: 1px dashed #C8E1F1;
}

table.gaiyou td i{
	color:#6DC5D1;
	margin-right: 5px;
}
table.gaiyou td:nth-child(odd){
	color:#003;
}
table.gaiyou td a{
	color:#39C;
	text-decoration: underline;
}
/**en*/
table.en{
	width:100%;
}
table.en th,table.en td {
    padding: 15px 10px;
    border: 1px solid #eee;
}
table.en th {
    background-color: #f9f9f9;
    padding: 0 20px;
    color: #363;
}
table.en td {
    font-size: 0.9em;
}
.en_box p{
	background-color:#f0f0bd;
	border-radius: 15px;
	font-size: 0.85em;
	text-align: center;
	margin-top:5px;
	margin-bottom: 8px;
	padding:3px 0;
}
.en_box img{
	height: 120px;
	overflow: hidden;
	width: 100%;
	object-fit: cover;
}
/*rinen**/
h3.rinen{
	background-color:#4cbbf1;
	padding:15px 25px;
	border-radius: 30px;
}
.rinen_box{
	border:1px dashed #99d8f7;
	padding:20px;
	border-radius: 10px;
	background-color:#f0faff;
}
.rinen_box h4{
	font-size: 1.2em;
	font-weight: bold;
	color: #19a7ed;
	border-bottom: 1px dashed #99d8f7;
	padding:8px 20px 8px 0;
	margin-bottom: 20px;
	display: inline-block;
}
.rinen_box2{
	border:1px dashed #ff8c9b;
	background-color:#fff1f3;
	padding:20px;
	border-radius: 10px;

}
.rinen_box2 h4{
	font-size: 1.2em;
	font-weight: bold;
	color: #ff8c9b;
	border-bottom: 1px dashed #ff8c9b;
	padding:8px 20px 8px 0;
	margin-bottom: 20px;
	display: inline-block;
}

.rinen_box h4 i.rinen_box2 h4 i{
	margin-right: 5px;
}
/*access**/
h3.access{
	background-color:#C9C;
	padding:15px 25px;
	border-radius: 30px;

}
/**day**/
h3.day{
	background-color: #F99;
	padding:15px 25px;
	border-radius: 30px;
}



/*eve**/
h3.eve{
	background-color: #9de1f2;
	padding:15px 25px;
	border-radius: 30px;
}
h3.sonota{
	background-color: #5bcaa6;
	padding:15px 25px;
	border-radius: 30px;

}
/**katudou**/
table.katudou{
	width:100%;
	margin-bottom: 30px;
}
table.katudou td{
	padding:15px 10px;
	color: #630;
    font-weight: bold;
    border: 1px solid #663;
    background-color: rgba(102,153,153,0.1);
	font-size: 0.9em;
	width:25%;
}
table.katudou td i{
	margin-right: 5px;
    color: #396;
}






/**sp**/

@keyframes smile1 {
  to {
    background-position: 0 -1462px;
  }
}
@keyframes smile2 {
  to {
    background-position: 0 -1080px;
  }
}





@keyframes bg-slider {
	from { background-position: 0 0; }
    to { background-position: -4000px 0; }
}
@media screen and (max-width: 1200px) {
	.nav li a img{
		width:115px;
		height: auto;
	}
	.list-inline-item:not(:last-child) {
		margin-right: 0!important;
	}

}
@media screen and (max-width: 992px) {
	header.top{
		height: 560px;
	}
	#cover{
		width:100%;
		left:0;
		margin-left: 0;
		background-size:cover;
		height: 400px;
		animation: smile1 3s steps(3) alternate infinite;
	}
	.title_w{
		margin-top:-60px;
	}


}
@media screen and (max-width: 767px) {
	header.top{
		height: 460px;
	}
	#cover{
		width:100%;
		left:0;
		margin-left: 0;
		background-size:cover;
		height: 300px;
		animation: smile2 3s steps(3) alternate infinite;
	}
  .title_bg{
	margin-top:-80px;
	}

  .title_w{
	  margin-top:-20px;
	}
	.art_nav a{
		border:1px solid #eee;
		margin:5px 0;
	}

	

}



@media screen and (max-width: 576px) {
	.row-10 {
		margin-left:-5px;
		margin-right:-5px;
	}	
	.row-10>div {
		padding-right:5px;
		padding-left:5px;
	}
	header.top{
		height: 380px;
	}
	#cover{
		width:100%;
		left:0;
		margin-left: 0;
		background-size:cover;
		height: 230px;
		animation: none;
	}
	header.art{
		height: 200px;
	}
	.title_bg{
	margin-top:-50px;
}
	.title_w{
		margin-top:-30px;
	}
	table.katudou{
		border-bottom:1px solid #663;
	}
	table.katudou td{
		width:100%;
		display: block;
		border-bottom: 0;
		font-size: 1em;
		
	}
	table.katudou td span{
		font-size: 0.8em;
	}
	#title{
		min-height: 150px;
	}
	.day_img{
		width:100%;
		height: 340px;
		  overflow-x: auto;
  			-webkit-overflow-scrolling: touch;
		overflow-y:hidden;
	}

	
}
@media screen and (max-width: 480px) {
	.row-10 {
		margin-left:-5px;
		margin-right:-5px;
	}	
	.row-10>div {
		padding-right:5px;
		padding-left:5px;
	}

	
	
}