@charset "utf-8";

strong {
	font-weight: bold;
}

body {
	position: relative;
}

section {
	display: block;
}

/*
header
*/

header {
	display: block;
	width: 100%;
	position: relative;
}

div.h_link {
	width: 100%;
	position: fixed;
	background-color: #fff;
	z-index: 10;
	top: 0;
	left: 0;
}

	div.h_link > div {
		width: 100%;
		max-width: 950px;
		margin: 0 auto;
		box-sizing: border-box;
		display: flex;
		flex-wrap: wrap;
		justify-content: space-between;
		align-items: center;
	}

		div.h_link > div > a {
			display: block;
			width: 100%;
			max-width: 384px;
			margin: 0 0 0 25px;
		}
		
		div.h_link > div > a:hover {
			opacity: 0.5;
		}
		
		
			div.h_link > div > a > img {
				width: 100%;
			}
			
		
		div.h_link > div > div {
			width: 300px;
		}
		
			div.h_link > div > div  > ul.h_link_gray {
				width: 100%;
				max-width: 300px;
				display: flex;
				flex-wrap: wrap;
				justify-content: center;
				align-items: center;
				background-color: #ecebeb;
			}
				
				div.h_link > div > div  > ul.h_link_gray > li {
					text-align: center;
					padding: 7px 12px;
					box-sizing: border-box;
				}
				
				
				div.h_link > div > div  > ul.h_link_gray > li:first-child {
					width: 43.35%;
				}
				
				div.h_link > div > div  > ul.h_link_gray > li:last-child {
					width: 56.65%;
				}
					
					div.h_link > div > div  > ul.h_link_gray > li > a {
						display: flex;
						width: 100%;
						align-items: center;
					}
					
					div.h_link > div > div  > ul.h_link_gray > li > a:hover {
						opacity: 0.5;
					}
					
						div.h_link > div > div  > ul.h_link_gray > li > a > img {
							width: 100%;
						}
			
			
			div.h_link > div > div  > ul.h_link_circle {
				width: 100%;
				display: flex;
				flex-wrap: wrap;
				justify-content: flex-end;
				align-items: flex-start;
				margin: 15px 0;
			}
			
				div.h_link > div > div  > ul.h_link_circle > li {
					margin: 0 0 0 14px;
				}
				
				div.h_link > div > div  > ul.h_link_circle > li:first-child {
					margin: 0;
				}
				
					div.h_link > div > div  > ul.h_link_circle > li > a:hover {
						opacity: 0.5;
					}

nav {
	display: block;
	width: 100%;
	background-color: #9f0e15;
	margin: 5px 0;
}

	nav > div {
		width: 100%;
		display: flex;
		flex-wrap: wrap;
		justify-content: center;
		align-items: center;
	}

		nav > div > a {
			color: #fff;
			font-size: 1.15em;
			font-weight: bold;
			display: inline-block;
			margin: 6px 25px;
		}

div.slide {
	width: 100%;
	background-image: url('../img/bg.jpg');
	background-position: left center;
	background-size: cover;
	background-repeat: no-repeat;
	animation: bg_slide 360s;
	animation-timing-function: linear;
	animation-iteration-count: infinite;
	position: relative;
	margin: 130px auto 0;
}


@keyframes bg_slide {
	0% {
		opacity: 0;
		background-position: 0 center;
	}
	0.5% {
		opacity: 1;
	}
	99.5% {
		opacity: 1;
	}
	100% {
		opacity: 0;
		background-position: 100% center;
	}
}
	
	div.slide > div.jingu {
		position:absolute;
		left: 0 ;
		top: 0;
		width: 100%;
		height: 100%;
		background-image: url('../img/jingu3.jpg');
		background-position: center;
		background-size: cover;
		background-repeat: no-repeat;
		opacity: 0;
		animation: slide_animation_0 60s;
		animation-timing-function: linear;
	}
	
	div.slide > div.slide_text {
		display: flex;
		flex-wrap: wrap;
		justify-content: center;
		align-items: center;
		position:absolute;
		left: 0 ;
		top: 0;
		width: 100%;
		height: 100%;
		opacity: 0;
		animation-timing-function: linear;
		animation-iteration-count: 1;
	}

	div#slide_text_1 {
		//animation: slide_animation_1 60s;
	}
	
	div#slide_text_2 {
		animation: slide_animation_1 60s;
	}
	
	div#slide_text_3 {
		animation: slide_animation_2 60s;
	}
	
	div#slide_text_4 {
		opacity: 1;
		animation: slide_animation_3 60s;
	}
	
	div.slide > div.jingu_text {
		display: flex;
		flex-wrap: wrap;
		flex-direction: row-reverse;
		justify-content: space-between;
		align-items: center;
		position:absolute;
		left: 0 ;
		top: 0;
		width: 100%;
		height: 100%;
		box-sizing: border-box;
		padding: 0 100px;
		opacity: 0;
		animation: slide_animation_0 60s;
		animation-timing-function: linear;
	}
	
		div.slide > div.jingu_text > img.pc {
			height: calc(100% - 40px);
			max-height: 600px;
		}
		
		div.slide > div.jingu_text > img.sp {
			display: none;
			width: calc(100% - 40px);
			max-width: 870px;
		}

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

@keyframes slide_animation_1 {
	0% {
		opacity: 0;
	}
	71% {
		opacity: 0;
	}
	72% {
		opacity: 1;
	}
	76% {
		opacity: 1;
	}
	77% {
		opacity: 0;
	}
	100% {
		opacity: 0;
	}
}

@keyframes slide_animation_2 {
	0% {
		opacity: 0;
	}
	78% {
		opacity: 0;
	}
	79% {
		opacity: 1;
	}
	83% {
		opacity: 1;
	}
	84% {
		opacity: 0;
	}
	100% {
		opacity: 0;
	}
}

@keyframes slide_animation_3 {
	0% {
		opacity: 0;
	}
	85% {
		opacity: 0;
	}
	86% {
		opacity: 1;
	}
	88% {
		opacity: 1;
	}
	91% {
		opacity: 1;
	}
	100% {
		opacity: 1;
	}
}

@keyframes slide_animation_4 {
	0% {
		opacity: 0;
	}
	92% {
		opacity: 0;
	}
	93% {
		opacity: 1;
	}
	100% {
		opacity: 1;
	}
}

		div.slide > div.slide_text > p {
			width: calc(100% - 20px);
			//border: 1px #fff solid;
			font-size: 2.2em;
			font-weight: bold;
			padding: 15px 15px 15px 35px;
			position: relative;
			box-sizing: border-box;
			text-shadow: 0px 0px 15px rgba(255,255,255,1.0);
		}
		
		/*
		div.slide > div.slide_text > p::before {
			content: '';
			display: block;
			width: calc(100% - 10px);
			height: calc(100% - 10px);
			position: absolute;
			left: 5px;
			top: 5px;
			background-color: rgba(255,255,255,0.5);
			z-index: -1;
		}
		*/
	
		div#slide_text_1 > p {
			max-width: 700px;
		}
		
		div#slide_text_2 > p {
			max-width: 580px;
		}
		
		div#slide_text_3 > p {
			max-width: 780px;
		}
		
		div#slide_text_4 > p {
			max-width: 560px;
		}
		
			div.slide > div.slide_text > p > br.sp {
				display: none;
			}

@media screen and (max-width: 1620px) {
	div.slide > div.jingu_text {
		padding: 0 20px;
	}
}
@media screen and (max-width: 1450px) {
		div.slide > div.jingu_text > img.pc {
			//margin-top: 100px;
			max-height: 500px;
		}
}
@media screen and (max-width: 1200px) {
		div.slide > div.jingu_text > img.pc {
			max-height: 400px;
		}
}
@media screen and (max-width: 950px) {
			div.h_link > div > div  > ul.h_link_circle {
				width: calc(100% - 15px);
				margin: 15px 15px 15px 0;
			}
			
		div.slide > div.slide_text > p {
			font-size: 1.8em;
		}
		
		div#slide_text_1 > p {
			max-width: 570px;
		}
		
		div#slide_text_2 > p {
			max-width: 470px;
		}
		
		div#slide_text_3 > p {
			max-width: 640px;
		}
		
		div#slide_text_4 > p {
			max-width: 460px;
		}
}



@media screen and (max-width: 1050px) {
	div.slide > div.jingu {
		background-size: contain;
		background-color: black;
		background-position: center 57%;
	}
}
	
@media screen and (max-width: 850px) {
	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: 750px) {
div.slide {
	margin: 180px auto 0;
	min-height: calc(100vh - 180px);
}

	div.h_link > div {
		display: block;
	}
		
		div.h_link > div > a {
			margin: 20px 0 0 25px;
		}
		
		div.h_link > div > div {
			width: 100%;
			margin: 20px auto 0;
			display: flex;
			flex-wrap: wrap;
			justify-content: space-between;
			flex-direction: row-reverse;
		}
		
			div.h_link > div > div  > ul.h_link_circle {
				max-width: 185px;
				margin: 5px 0 5px 15px;
				justify-content: flex-start;
			}
			
		div.slide > div.slide_text > p {
			font-size: 1.8em;
		}
		
		nav > div > a {
			font-size: 1.05em;
			margin: 6px 15px;
		}
}

@media screen and (max-width: 650px) {
	nav > div {
		max-width: 400px;
		margin: 0 auto;
		padding: 5px 0;
	}
	
		nav > div > a {
			margin: 2px 15px;
		}
		
		div.slide > div.slide_text > p {
			font-size: 1.5em;
		}
			
		div#slide_text_1 > p {
			max-width: 320px;
		}
		
		div#slide_text_2 > p {
			max-width: 350px;
		}
		
		div#slide_text_3 > p {
			max-width: 390px;
		}
		
		div#slide_text_4 > p {
			max-width: 350px;
		}
			
			div.slide > div.slide_text > p > br.pc {
				display: none;
			}
			
			div.slide > div.slide_text > p > br.sp {
				display: inline;
			}
}


@media screen and (max-width: 520px) {
	div.h_link > div > div {
			margin: 5px auto 0;
		}
		
		div.h_link > div > a {
			max-width: 240px;
			margin: 5px auto 0;
		}
		
			div.h_link > div > div  > ul.h_link_gray {
				max-width: 240px;
			}
			
				div.h_link > div > div  > ul.h_link_gray > li {
					padding: 7px 10px;
					box-sizing: border-box;
				}
				
				
				div.h_link > div > div  > ul.h_link_circle > li {
					margin: 0 0 0 10px;
				}
				
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: 450px) {
			div.h_link > div > div  > ul.h_link_gray {
				width: calc(100% - 200px);
			}
				
				div.h_link > div > div  > ul.h_link_gray > li {
					padding: 7px 5px;
				}
				
					div.h_link > div > div  > ul.h_link_gray > li > a {
						max-width: 115px;
						margin: 0 auto;
					}
					
			div.h_link > div > div  > ul.h_link_circle {
				align-items: center;
			}
			
	nav > div {
		max-width: 300px;
		padding: 3px 0;
	}
	
		nav > div > a {
			font-size: 0.9em;
			margin: 0 15px;
		}
}

@media screen and (max-width: 400px) {
			div.h_link > div > div  > ul.h_link_gray {
				width: calc(100% - 165px);
			}
			
			div.h_link > div > div  > ul.h_link_circle {
				max-width: 155px;
				margin: 0 0 0 10px;
			}
			
				div.h_link > div > div  > ul.h_link_circle > li {
					margin: 0 0 0 7px;
					width: 32px;
				}
				
					div.h_link > div > div  > ul.h_link_circle > li > a {
						display: block;
						width: 100%;
					}
					
						div.h_link > div > div  > ul.h_link_circle > li > a > img {
							width: 100%;
						}
	
	div.slide {
		min-height: calc(100vh - 106px);
		margin: 106px auto 0;
	}
	
		div.slide > div.slide_text > p {
			font-size: 1.15em;
		}
		
		div#slide_text_1 > p {
			max-width: 260px;
		}
		
		div#slide_text_2 > p {
			max-width: 280px;
		}
		
		div#slide_text_3 > p {
			max-width: 300px;
		}
		
		div#slide_text_4 > p {
			max-width: 210px;
		}
}

@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;
		}
}

/*
footer
*/

footer {
	background-color: #cccdcb;
}

	footer > div {
		display: flex;
		flex-wrap: wrap;
		justify-content: space-between;
		flex-direction: row-reverse;
		width: 100%;
		max-width: 1000px;
		margin: 0 auto;
		padding: 35px 50px 20px;
		box-sizing: border-box;
	}
	
.footer_left {
	width: calc(100% - 150px);
}

	.footer_left > a {
		display: block;
		width: 100%;
		max-width: 200px;
	}
	
		.footer_left > a > img {
			width: 100%;
		}
	
	.footer_left > div {
		margin: 15px 0 0;
		font-size: 1.1em;
	}
	
		.footer_left > div > span {
			display: inline-block;
			margin: 0 20px;
		}
		
		.footer_left > div > span:first-child,
		.footer_left > div > span:last-child {
			margin: 0;
		}
		
	.footer_left > ul {
		margin: 20px auto 0;
		font-weight: 500;
	}
	
		.footer_left > ul > li {
			margin: 10px 0 0;
		}
		
			.footer_left > ul > li > a {
				color: #101010;
			}
	
	.footer_left > ul + ul {
		font-size: 0.9em;
		display: flex;
		flex-wrap: wrap;
		justify-content: flex-start;
		
	}
	
	.footer_left > ul + ul > li {
		padding: 0 20px;
		line-height: 1.2em;
	}
	
	.footer_left > ul + ul > li:first-child {
		padding-left: 0;
	}
	
	.footer_left > ul + ul > li:last-child {
		padding-right: 0;
		border-left: 1px #101010 solid;
	}
	
	

.footer_right {
	width: 130px;
	display: flex;
	flex-wrap: wrap;
	flex-direction: column;
}

	.footer_right > a.footer_logo {
		display: block;
		width: 100%;
		max-width: 120px;
		margin: 0 auto;
	}
	
	.footer_right > a.footer_logo:hover {
		opacity: 0.5;
	}
	
		.footer_right > a.footer_logo > img {
			width: 100%;
		}
		
	.footer_right > ul {
		display: flex;
		flex-wrap: wrap;
		justify-content: center;
		width: 100%;
		margin: 20px auto 0;
	}
	
		.footer_right > ul > li {
			width: 40px;
		}
		
		.footer_right > ul > li:last-child {
			margin:0 0 0 16px;
		}
		
		
			.footer_right > ul > li > a {
				display: block;
				width: 100%;
			}
			
			.footer_right > ul > li > a:hover {
				opacity: 0.5;
			}
			
				.footer_right > ul > li > a > img {
					width: 100%;
				}
				
	.footer_left > a.page_top,
	.footer_right > a.page_top {
		width: 100%;
		max-width: 130px;
		margin: auto 0 15px 0;
	}
	
	.footer_left > a.page_top {
		display: none;
	}
	
	.footer_left > a.page_top:hover,
	.footer_right > a.page_top:hover {
		opacity: 0.5;
	}
	
	
	footer > p {
		background-color: #fff;
		text-align: center;
		padding: 10px 0;
		font-size: 0.9em;
		font-weight: 500;
	}

@media screen and (max-width: 750px) {
		.footer_left > div > span {
			margin: 0 20px 0 0;
		}
		
	.footer_left > ul + ul {
		display: block;
	}
	
	.footer_left > ul + ul > li {
		padding: 0;
		line-height: 1.75em;
	}
	
	.footer_left > ul + ul > li:last-child {
		border-left: none;
	}
}


@media screen and (max-width: 600px) {
	footer > div {
		display: block;
		padding: 20px;
	}
	
	.footer_left {
		width: 100%;
		margin: 20px auto 0;
	}
	
		.footer_left > div {
			font-size: 0.9em;
		}
	
			.footer_left > div > span {
				display: block;
			}
	
		.footer_left > ul {
			margin: 10px auto 0;
		}
	
		.footer_right > ul {
			justify-content: flex-start;
			margin: 10px auto 0;
		}
			
		.footer_right > a.page_top {
			display: none;
		}
}



/*
cal
*/

section#cal {
	display: flex;
	flex-wrap: wrap;
	justify-content: center;
	width: calc(100% - 20px);
	padding: 80px 0 90px;
	margin: 0 auto;
}

	section#cal > section {
		width: calc(50% - 25px);
		max-width: 420px;
	}
	
	section#cal > section:last-child {
		margin-left: 50px;
	}
	
		section#cal > section > h3 {
			font-size: 1.3em;
			font-weight: 500;
			color: #005936;
			text-align: center;
		}
		
		section#cal > section > table {
			width: 100%;
			table-layout: fixed;
			border-collapse: collapse;
			display: none;
		}
		
		section#cal > section > table.active {
			display: table;
		}
		
		
				section#cal > section > table > caption > div {
					width: 100%;
					display: flex;
					flex-wrap: wrap;
					justify-content: center;
					align-items: center;
					padding: 10px 0 3px;
					margin: 8px auto 3px;
					border-bottom: 3px #005936 solid;
				}
				
					section#cal > section > table > caption > div > b {
						display: inline-block;
						font-weight: 500;
						font-size: 1.05em;
						margin: 0 30px;
					}
					
					section#cal > section > table > caption > div > a,
					section#cal > section > table > caption > div > span {
						display: inline-block;
						width: 20px;
						height: 24px;
					}
					
					section#cal > section > table > caption > div > a {
						background-position: center;
						background-size: 12px auto;
						background-repeat: no-repeat;
					}
					
					section#cal > section > table > caption > div > a:hover {
						opacity: 0.5;
					}
					
					section#cal > section > table > caption > div > a.next {
						background-image: url('../img/cal_next.svg');
					}
					
					section#cal > section > table > caption > div > a.prev {
						background-image: url('../img/cal_prev.svg');
					}
					
			
			section#cal > section > table th,
			section#cal > section > table td {
				text-align: center;
				border-bottom: 1px #005936 solid;
				padding: 6px 0;
			}
			
			/*
			section#cal > section > table td:last-child,
			*/
			section#cal > section > table th:last-child,
			section#cal > section > table td.closed {
				background-color: #a7c6ba;
			}
			
			section#cal > section > table th {
				border-top: 1px #005936 solid;
				font-weight: 500;
				font-size: 0.9em;
			}
			
			section#cal > section > table td {
				font-size: 1.05em;
			}
			
		section#cal > section > table + p {
			margin: 15px 0 0 25px;
			font-weight: 500;
		}
		
			
		section#cal > section:last-child > h3 {
			font-weight: bold;
			text-align: left;
			margin: 65px 0 0;
			letter-spacing: 0.2em;
		}
		
		section#cal > section:last-child > a,
		section#cal > section:last-child > a + p {
			display: block;
			width: 100%;
			max-width: 380px;
			margin: 24px 0;
		}
		
		section#cal > section:last-child > a:hover {
			opacity: 0.5;
		}
		
		section#cal > section:last-child > a > img,
		section#cal > section:last-child > p > img {
			width: 100%;
		}
		
@media screen and (max-width: 750px) {

section#cal {
	display: block;
}

	section#cal > section,
	section#cal > section:last-child {
		width: 100%;
		margin: 0 auto;
	}
}