@charset "utf-8";

/*==========================================
 body
===========================================*/
body {width: 100vw;
color:#333333;
background-color:#ffffff;
text-align: left;
line-height: 1.8;
letter-spacing: -0.001em;		/* iOS4でのテキストの隙間への対応 */
-webkit-text-size-adjust: 100%;		/* 文字サイズの自動調整機能のキャンセル */}


/*==========================================
 header
===========================================*/
header {width: 100vw;
position: fixed;
top: 0;
left: 0;
z-index:888;
margin: 0;
background: -moz-linear-gradient(top,  rgba(255,255,255,0.88) 0%, rgba(255,255,255,0.88) 57%, rgba(255,255,255,0.18) 100%); /* FF3.6-15 */
background: -webkit-linear-gradient(top,  rgba(255,255,255,0.88) 0%,rgba(255,255,255,0.88) 57%,rgba(255,255,255,0.18) 100%); /* Chrome10-25,Safari5.1-6 */
background: linear-gradient(to bottom,  rgba(255,255,255,0.88) 0%,rgba(255,255,255,0.88) 57%,rgba(255,255,255,0.18) 100%); /* W3C, IE10+, FF16+, Chrome26+, Opera12+, Safari7+ */
filter: progid:DXImageTransform.Microsoft.gradient( startColorstr='#e0ffffff', endColorstr='#2effffff',GradientType=0 ); /* IE6-9 */
}

header h1 {color: #004020; padding:4px auto; font-size: 1.48em; font-weight:normal;}

/*==========================================
 title_con
===========================================*/
#title_cont {width: 100%; margin: 80px auto 0; padding: 0; background-color:#24335e;}
#title_cont h2 {margin:0; padding:0; letter-spacing:0px; color:#ffffff;}

/*==========================================
 Main
===========================================*/
#main {width: 100vw;
height: 100vh;
margin: 0px; padding:0px;
overflow: hidden;
-webkit-scroll-behavior: smooth;
scroll-behavior: smooth;
-webkit-scroll-snap-type: mandatory;
scroll-snap-type: mandatory;
-webkit-scroll-snap-points-y: repeat(100vh);
scroll-snap-points-y: repeat(100vh);
text-align:center;}


/*==========================================
 Top_Contents
===========================================*/
#top_contents {width: 100vw; margin: 0 auto 0; padding:48px 0;}
#top_contents p {margin: 0 0 18px;}

/*==========================================
 Contents
===========================================*/
#contents {width: 100vw; margin: 0 auto 0; padding:48px 0;}

#contents section {width: 100%; margin:8px auto; padding: 4px;/* border-bottom: solid 1px #cccccc;*/}
#contents article {width: 100%; margin:8px auto; padding: 0;}
#contents aside {width: 100%; margin:18px auto; padding: 8px 0 0 38px; }
#contents p {margin: 0 0 18px;}



/*==========================================
 Contentssub
===========================================*/
#contentssub {width: 100vw;
margin: 0 auto 0px;
padding:8px 0 8px;
position: relative;
background: rgb(73,78,81); /* Old browsers */
background: -moz-linear-gradient(top,  rgba(73,78,81,1) 0%, rgba(89,106,114,1) 100%); /* FF3.6-15 */
background: -webkit-linear-gradient(top,  rgba(73,78,81,1) 0%,rgba(89,106,114,1) 100%); /* Chrome10-25,Safari5.1-6 */
background: linear-gradient(to bottom,  rgba(73,78,81,1) 0%,rgba(89,106,114,1) 100%); /* W3C, IE10+, FF16+, Chrome26+, Opera12+, Safari7+ */
filter: progid:DXImageTransform.Microsoft.gradient( startColorstr='#494e51', endColorstr='#596a72',GradientType=0 ); /* IE6-9 */
/*background-color: #316745;*/
}

#contentssub:after	{
content: '';
position: absolute;
top: 100%;
left: 50%;
border: solid transparent;
height: 0;
width: 0;
pointer-events: none;
border-color: rgba(49, 103, 69, 0);
border-top-color: #596a72;
border-width: 48px;
margin-left: -48px;
}


/*==========================================
 contents-parallax
===========================================*/
#contents-parallax {width: 100vw; margin:0; padding:0; color:#ffffff;}
#contents-parallax h3 {font-size: 1.3em; font-weight: normal; margin:0; color: #ffffff; letter-spacing:2px;}
#contents-parallax h4 {font-size: 1.18em; font-weight: normal; margin:30px auto 0; color: #ffffff; letter-spacing:2px;}
#contents-parallax section img{margin:0 auto 38px; box-shadow: 1px 1px 10px #000000; border-radius:18px;text-align:center;}
#contents-parallax section dl {margin:18px auto;}
#contents-parallax section dt {font-size: 1.08em; float:left; padding:8px 2px; clear:both;}
#contents-parallax section dd {font-size: 1.08em; margin-left:70px; padding:8px 2px;}
#contents-parallax section span{display: block; /*font-size: 0.8em;*/}
#contents-parallax a { color:#ffffff;}


/*==========================================
 google-map
===========================================*/
#google-map {width: 100vw; margin: 0 auto; 
padding:18px 0;
text-align:center;
background-color: #23458d;
}
#google-map h3 {font-size: 1.48em; font-weight: normal; margin:0; color: #ffffff; letter-spacing:2px;
position: relative;
text-align: center;
}
#google-map h3 span {
	position: relative;
	z-index: 2;
	display: inline-block;
	margin: 0 4em;
	padding: 0 1em;
	background-color: #23458d;
	text-align: left;
}
#google-map h3::before {
	position: absolute;
	top: 50%;
	z-index: 1;
	content: '';
	display: block;
	width: 100%;
	height: 1px;
	background: #ffffff;
	background: -webkit-linear-gradient(-45deg, transparent, #ffffff 10%, #ffffff 90%, transparent);
	background: linear-gradient(-45deg, transparent, #ffffff 10%, #ffffff 90%, transparent);
}

/*==========================================
 map google
===========================================*/
#map {width: 100vw; margin: 0 auto; 
height: 480px;
}


/*==========================================
 map_banner google
===========================================*/
#map_banner {width: 100vw; margin: 0 auto; padding:18px 0 28px;
background-color: #23458d;
text-align: center;}


/*==========================================
 Footer
===========================================*/
footer {width: 100vw;
text-align: center;
background-color: #23458d;
color:#ffffff;}


/*==========================================
 Copyright
===========================================*/
#copyright {font-size:0.88em;
margin: 0;
padding: 8px 0px 8px 0px;}


/* Gallery Page Only ----------------------*/
#contents #gallery{text-align:center; margin: 18px auto 18px; padding:4px;}
#contents #gallery img {vertical-align:middle; margin:28px; padding:0; box-shadow: 2px 2px 8px #888888; border-radius:8px;}











