@charset "utf-8";

header {
	position: fixed;
	left: 0;
	top: 0;
	z-index: 11;
	background-color: #fff;
}


div.h_link {
	position: relative;
}

nav {
	margin: 0;
}

main {
	display: block;
	width: 100%;
}


div.slide {
	min-height: 500px;
}

	div.slide > div.jingu {
		background-size: contain;
		background-color: #000;
	}

@keyframes slide_animation_0 {
	0% {
		opacity: 1;
		//background-position: center;
	}
	69% {
		opacity: 1;
	}
	70% {
		opacity: 0;
	}
	100% {
		//background-position: center top;
	}
}

@media screen and (max-width: 1620px) {
	div.slide > div.jingu_text {
		padding: 0 100px;
	}
}
@media screen and (max-width: 1200px) {
	div.slide > div.jingu_text {
		padding: 0 20px;
	}
	
		div.slide > div.jingu_text > img.pc {
			margin-top: 0;
			max-height: 600px;
		}
}
@media screen and (max-width: 1000px) {
		div.slide > div.jingu_text > img.pc {
			max-height: 400px;
		}
}

@media screen and (max-width: 850px) {
	div.slide > div.jingu_text {
		padding: 0 10px;
		flex-direction: row-reverse;
		justify-content: space-between;
	}
		
		div.slide > div.jingu_text > img.pc {
			margin-top: 40px;
			max-height: 350px;
			display: block;
		}
		
		div.slide > div.jingu_text > img.sp {
			display: none;
		}
}
	
@media screen and (max-width: 750px) {
div.slide {
	min-height: calc(100vh - 180px);
}
	
	div.slide > div.jingu_text {
		padding: 10px 0 40px;
		flex-direction: column;
		justify-content: space-between;
	}
	
		div.slide > div.jingu_text > img.pc {
			display: none;
		}
		
		div.slide > div.jingu_text > img.sp {
			display: block;
			max-width: 400px;
		}
}

@media screen and (max-width: 520px) {
div.slide {
	min-height: calc(100vh - 120px);
	margin: 120px auto 0;
}

	div.slide > div.jingu_text {
		padding: 4% 0 7%;
	}
}

@media screen and (max-width: 400px) {
div.slide {
	min-height: calc(100vh - 106px);
	margin: 106px auto 0;
}
}

@media screen and (max-height: 450px) {
	div.slide > div.jingu_text {
		flex-direction: row-reverse;
		justify-content: space-between;
		padding: 0 10px;
	}
	
		div.slide > div.jingu_text > img.sp {
			display: block;
			max-width: 240px;
		}
}

@media screen and (max-height: 350px) {
	div.slide > div.jingu_text {
		padding: 0;
	}
	
		div.slide > div.jingu_text > img.sp {
			max-width: 220px;
		}
}

/*◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆
side_contents
◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆◆*/

div#side_contents {
	width: 100%;
	max-width: 1000px;
	margin: 0 auto 0;
	display: flex;
	flex-wrap: wrap;
	justify-content: center;
}

div#side_menu {
	width: 270px;
	margin: 40px 10px 0 0;
	font-weight: 500;
}

	div#side_menu > h3 {
		padding: 6px 17px 4px;
		border-top: 2px #9f0e15 solid;
		letter-spacing: 0.1em;
		font-weight: 500;
	}
	
	div#side_menu h3,
	div#side_menu h4,
	div#side_menu h5 {
		font-weight: 500;
	}
	
		div#side_menu > div.cate_search > h4 {
			padding: 6px 10px 4px 34px;
			border-top: 2px #9f0e15 solid;
			letter-spacing: 0.1em;
		}
		
		div#side_menu > div.cate_search > ul {
			max-height: 300px;
			overflow: auto;
		}
		
			div#side_menu > div.cate_search > ul > li {
				padding: 8px 10px 6px 51px;
				border-top: 1px #9f0e15 solid;
				font-size: 0.9em;
				letter-spacing: 0.05em;
			}
			
				div#side_menu > div.cate_search > ul > li > a {
					color: #323232;
				}
				
				div#side_menu > div.cate_search > ul > li > a:hover {
					color: #9f0e15;
					text-decoration: none;
				}
				
	
	div#side_menu > div.kana_search {
		padding: 10px 34px 13px;
		border-top: 2px #9f0e15 solid;
	}
	
		div#side_menu > div.kana_search > div {
			display: flex;
			flex-wrap: wrap;
			justify-content: space-between;
			margin: 5px 0 0;
		}
		
			div#side_menu > div.kana_search > div > a,
			div#side_menu > div.kana_search > div > p {
				display: block;
				width: calc(25% - 1px);
				box-sizing: border-box;
				padding: 5px 0;
				text-align: center;
				letter-spacing: 0.2em;
				text-indent: 0.1em;
				border: 1px #9f0e15 solid;
				border-radius: 6px;
				margin: 3px 0;
				color: #323232;
				font-size: 0.9em;
			}
			
			div#side_menu > div.kana_search > div > a:hover {
				color: #9f0e15;
				background-color: #fbf6f6;
				text-decoration: none;
			}
			
		
	div#side_menu > div.key_search {
		padding: 10px 25px 18px;
		border-top: 2px #9f0e15 solid;
	}
	
		div#side_menu > div.key_search > h5 {
			font-size: 0.9em;
			font-weight: bold;
		}
		
		div#side_menu > div.key_search > form > div {
			display: flex;
			flex-wrap: wrap;
			justify-content: center;
			width: 100%;
			border: 1px #999999 solid;
			margin: 5px auto 0;
		}
		
				div#side_menu > div.key_search > form > div > input {
					display: block;
					width: calc(100% - 50px);
					height: 34px;
					line-height: 34px;
					box-sizing: border-box;
					margin: 0;
					border: none;
					padding: 0 10px;
				}
				
				div#side_menu > div.key_search > form > div > button {
					display: block;
					width: 50px;
					height: 34px;
					line-height: 34px;
					box-sizing: border-box;
					margin: 0;
					border: none;
					border-left: 1px #999999 solid;
					cursor: pointer;
					background-color: #f2f2f2;
					color: #32321a;
					font-size: 0.9em;
					text-align: center;
					letter-spacing: 0.05em;
					text-indent: 0.1em;
				}
				
				div#side_menu > div.key_search > form > div > button:hover {
					background-color: #32321a;
					color: #fff;
				}
				
		div#side_menu > ul > li {
			padding: 7px 10px 4px 25px;
			border-top: 1px #9f0e15 solid;
			letter-spacing: 0.05em;
		}
		
		div#side_menu > ul > li:first-child {
			border-top: 2px #9f0e15 solid;
			padding: 17px 10px 4px 25px;
		}
		
			div#side_menu > ul > li > a {
				color: #323232;
			}
			
			div#side_menu > ul > li > a:hover {
				color: #9f0e15;
				text-decoration: none;
			}
		
	div#side_menu > div.side_cal {
		padding: 10px 10px 18px;
		border-top: 2px #9f0e15 solid;
	}

		div#side_menu > div.side_cal > h3 {
			text-align: center;
		}
		
		div#side_menu > div.side_cal > table {
			width: 100%;
			border-collapse: collapse;
			font-size: 0.85em;
			table-layout: fixed;
			display: none;
		}
		
		div#side_menu > div.side_cal > table.active {
			display: table;
		}
		
				div#side_menu > div.side_cal > table > caption > div {
					width: 100%;
					display: flex;
					flex-wrap: wrap;
					justify-content: center;
					align-items: center;
					padding: 0 0 3px;
					margin: 0 auto 3px;
					border-bottom: 1px #231815 solid;
				}
				
					div#side_menu > div.side_cal > table > caption > div > b {
						display: inline-block;
						font-weight: 500;
						margin: 0 20px;
					}
					
					div#side_menu > div.side_cal > table > caption > div > a,
					div#side_menu > div.side_cal > table > caption > div > span {
						display: inline-block;
						width: 10px;
						height: 12px;
					}
					
					div#side_menu > div.side_cal > table > caption > div > a {
						background-position: center;
						background-size: 6px auto;
						background-repeat: no-repeat;
					}
					
					div#side_menu > div.side_cal > table > caption > div > a:hover {
						opacity: 0.5;
					}
					
					div#side_menu > div.side_cal > table > caption > div > a.next {
						background-image: url('../img/side_cal_next.svg');
					}
					
					div#side_menu > div.side_cal > table > caption > div > a.prev {
						background-image: url('../img/side_cal_prev.svg');
					}
					
			
			div#side_menu > div.side_cal > table th,
			div#side_menu > div.side_cal > table td {
				text-align: center;
				border-bottom: 1px #231815 solid;
				padding: 2px 0;
			}
			
			/*
			div#side_menu > div.side_cal > table td:last-child,
			*/
			div#side_menu > div.side_cal > table th:last-child,
			div#side_menu > div.side_cal > table td.closed {
				background-color: #e6c2c4;
			}
			
			div#side_menu > div.side_cal > table th {
				border-top: 1px #231815 solid;
				font-weight: 500;
				font-size: 0.9em;
			}
			
			div#side_menu > div.side_cal > table td {
				font-size: 1.05em;
			}
			
		div#side_menu > div.side_cal > table + p {
			margin: 10px 0 0 15px;
			font-size: 0.9em;
		}
		
	
	div#side_menu > div.side_contact {
		padding: 15px 34px 13px;
		border-top: 2px #9f0e15 solid;
	}
			
		div#side_menu > div.side_contact > a,
		div#side_menu > div.side_contact > a + p {
			display: block;
			width: 100%;
			max-width: 300px;
			margin: 17px 0;
		}
		
		div#side_menu > div.side_contact > a:hover {
			opacity: 0.5;
		}
		
		div#side_menu > div.side_contact > a > img,
		div#side_menu > div.side_contact > p > img {
			width: 100%;
		}


div#main_contents {
	width: calc(100% - 280px);
}

	div#main_contents > div.page_nav {
		width: calc(100% - 20px);
		font-size: 0.8em;
		display: flex;
		flex-wrap: wrap;
		justify-content: flex-end;
		margin: 5px auto;
	}
		
		div#main_contents > div.page_nav > a + a,
		div#main_contents > div.page_nav > a + span {
			display: inline-block;
			margin: 0 0 0 15px;
			padding: 0 0 0 20px;
			position: relative;
		}
		
		div#main_contents > div.page_nav > a + a::before,
		div#main_contents > div.page_nav > a + span::before {
			content: '/　';
			position: absolute;
			left: 0;
			top: 0;
			
		}

	main > div.page_nav {
		width: calc(100% - 20px);
		max-width: 1000px;
		font-size: 0.8em;
		display: flex;
		flex-wrap: wrap;
		justify-content: flex-end;
		margin: 5px auto;
	}
		
		main > div.page_nav > a + a,
		main > div.page_nav > a + span {
			display: inline-block;
			margin: 0 0 0 15px;
			padding: 0 0 0 20px;
			position: relative;
		}
		
		main > div.page_nav > a + a::before,
		main > div.page_nav > a + span::before {
			content: '/　';
			position: absolute;
			left: 0;
			top: 0;
			
		}

@media screen and (max-width: 750px) {

div#side_contents {
	flex-wrap: wrap;
	flex-direction: column-reverse;
	width: calc(100% - 20px);
}

div#side_menu,
div#main_contents {
	width: 100%;
	max-width: 100%;
}

}
