/*theme color #ed9023*/

/*reset*/
html, body, h1, h2, h3, h4, ul, ol, dl, li, dt, dd, p, div, span, img, a, table, tr, th, td {
  margin: 0;
  padding: 0;
  border: 0;
  vertical-align:baseline;
  -webkit-box-sizing: border-box;
  -moz-box-sizing: border-box;
  box-sizing: border-box;
}

article, header, footer, aside, figure, figcaption, nav, section { 
  display:block;
}
body {
  line-height: 1;
  -ms-text-size-adjust: 100%;
  -webkit-text-size-adjust: 100%;
}
ol, ul {
  list-style: none;
  list-style-type: none;
}


/*all*/
@font-face {
  font-family: 'FontAwesome';
  src: url("common/fonts/fontawesome-webfont.eot?v=4.7.0");
  src: url("common/fonts/fontawesome-webfont.eot?#iefix&v=4.7.0") format('embedded-opentype'), url('../fonts/fontawesome-webfont.woff2?v=4.7.0') format('woff2'), url('../fonts/fontawesome-webfont.woff?v=4.7.0') format('woff'), url('../fonts/fontawesome-webfont.ttf?v=4.7.0') format('truetype'), url('../fonts/fontawesome-webfont.svg?v=4.7.0#fontawesomeregular') format('svg');
  font-weight: normal;
  font-style: normal;
}

html {
	height:100%;
	min-height: 100%;
}

body {
	font-family:'ヒラギノ角ゴシック', 'Hiragino Sans', 'ヒラギノ角ゴ ProN W3',
	 'Hiragino Kaku Gothic ProN','メイリオ','Meiryo', sans-serif;
	padding: 5px;
	min-width: 768px;
}

h1 {
	font-size:40px;
}

p, a {
	line-height: 1.5em;
	transition-duration: 0.3s;
}

img {
	color: #fff;
}


/*body*/
video {
	background: #2FB5EA;
	margin: auto;
	width: calc(100vw - 27px);
	min-width: 758px;
	height: 100vh;
	max-height: 70.5vw;
}

#video2 {
	display: none;
}

.container {
	display:block;
	margin: auto;
	width: 100%;
	background: #2FB5EA;
	min-width: 640px;
}

.container > div {
	padding: 50px 0px;
	max-width: 1080px;
	margin:0 auto;
}

.clearfix:after {
	content:".";
	display:block;
	height:0;
	clear:both;
	visibility: hidden;
}

.partition {
	max-width:100% !important;
	padding:0px !important; 
	border-left:solid 3px #2FB5EA;
	border-right:solid 3px #2FB5EA;
	background-color: #2FB5EA;
	text-align:center;
}

.partition img {
	width: 96%;
	max-width: 1080px;
}


/*menu*/
.container1 {
	margin: auto;
	display:block;
	width: 100%;
	min-width: 758px;
	min-height: 220px;
}

.bar {
	display: table;
	table-layout: fixed;
	min-height:220px;
	text-align:center;
	padding: 5px 0px 10px 0;
	width:100%;
}

.menu {
	display: table-cell;
	vertical-align: middle;
	width: 60%;
	height:220px;
}

.bar > .menu {
	height:auto;
}

.buttons {
	display:block;
	text-align:center;
	width: 100%;
	height: 220px;
}

.ButtonRow {
	float:left;
	width:50%;
	height:220px;
}

.menu > .ButtonRow {
	height:auto;
}

.ButtonRow h2 {
	margin:0;
	line-height: 1.3em;
}

.menuButton {
	vertical-align: middle;	
	/*background-color: #ed9023;*/
	background-color: #fff;
	border: solid 2px #2FB5EA;
	min-height:calc(50% - 5px);
	margin:0px 10px 10px 0px;
	transition-duration: 0.5s;
}

.ButtonRow > .menuButton {
	height: auto;
}

.menuButton + div {
	margin-bottom:0px;
}

.menuButton a {
	display: block;
	color: #2FB5EA;
	font-size: 26px;
	font-weight: bold;
	line-height: 1.3em;
	text-decoration: none;
	width:100%;
	padding-top: 16px;
	padding-bottom: calc(105px - 60px - 13px);
}

.menuButton p {
	display: block;
	color: #2FB5EA;
	font-size: 16px;
	line-height: 1.3em;
	/*font-weight: normal;*/
	padding: 0;
	margin:0;
}

.ng{
	background-color: #ba813f;
}

.ng a{
	color:#bea997;
}

.ng p{
	color:#bea997;
}

.ok:hover {
	background-color: #2FB5EA;
}

.ok:hover > a, .ok:hover > a > p{
	color:#fff;
}

.news {
	display: table-cell;
	vertical-align: text-top;
	width: 40%;
	height:220px;
	min-height:220px;
	margin:0;
	border: dashed 3px #2FB5EA;
}

.bar > .news {
	height:auto;
}

.news h2{
	color: #2FB5EA;
	margin: 0px;
	padding:10px;
}

.news h4 {
	color: #555555;
	text-align:left;
	margin:0px calc(100% - 100px) 0px 5px;
	padding: 0px 0px 0px 5px;
	border-bottom: solid 2px #2FB5EA;
}

.news p {
	font-size:13px;
	color: #555555;
	text-align:left;
	margin: 5px 0px 5px 10px;
}


/*theme*/
.theme {
	border:solid 3px #2FB5EA;
	border-bottom: none;
	background: #2FB5EA;
	color: #fff;
}

.theme h1{
	margin:0px 0px 30px 350px;
	color: #fff;
}

.theme p {
	margin: 0px 30px 0px 350px;
	color: #fff;
}


/*Guest*/
.guest {
	border:solid 3px #2FB5EA;
	border-top:none;
	background-color: #2FB5EA;
	color: #fff;
}

.guest h1 {
	margin:0px 0px 30px 30px;
}

.guest p {
	margin: 0px 350px 0px 30px;
	color: #fff;
}

.guest img {
	width:310px;
	margin: 60px 20px 0px 0px;
}


/*Events*/
.events {
	border:solid 3px #2FB5EA;
	background-color: #2FB5EA;
	border-bottom: none;
	color: #fff;
}

.events img {
	width: 140px;
	height: 140px;
	margin: 30px;
	float: left;
	color: #2FB5EA;
}

.events img:hover {
    display: inline-block;
    animation: hurueru 1.0s  infinite;
}

@keyframes hurueru {
    0% {transform: rotateZ(0deg)}
    12.5% {transform: rotateZ(2deg)}
    25% {transform: rotateZ(5deg)}
    37.5% {transform: rotateZ(2deg)}
    50% {transform: rotateZ(0deg)}
    62.5% {transform: rotateZ(-2deg)}
    75% {transform: rotateZ(-5deg)}
    87.5% {transform: rotateZ(-2deg)}
    100% {transform: rotateZ(0deg)}
}

.events h1 {
	margin:0px 0px 30px 30px;
}

.events h1 + p{
	margin-left:30px;
}

input[type="button"] {
	outline: none;
	background-color: #ffffff;
	color: #2FB5EA;
	border: none;
	display: block;
	font-size: 18px;
	margin: 30px 5px 0px 30px;
	padding: 10px;
	transition-duration: 0.3s;
}

input[type="button"]:hover {
	background-color: rgb(0, 47, 255);
}

.events h3 {
	margin:30px 0px 10px 30px;
}

.events label {
	background-color: #fffef6;
	color: #2FB5EA;
	padding: 10px;
	display: block;
	margin: 0px 30px;
	border: none;
	transition-duration: 0.3s;
	font-size: 18px;
}

.events label:hover {
	background-color: rgb(0, 47, 255);
}

input[type="checkbox"].on-off {
	display:none;
}

.events div {
	-webkit-transition: all 0.5s;
    -moz-transition: all 0.5s;
    -ms-transition: all 0.5s;
    -o-transition: all 0.5s;
    transition: all 0.5s;
    margin: 0px 30px;
    padding: 0;
    background: #FFFFFF;
    border: none;
    border-top: solid 2px #8992e2;
    border-bottom: solid 3px #2FB5EA;
    color: rgb(0, 47, 255);
}

.events div > p{
	margin: 10px 20px 0px 200px;
}

input[type="checkbox"].on-off + div{
    height: 0;
    overflow: hidden;
}

input[type="checkbox"].on-off:checked + div{
    height: 200px;
}

input[type="checkbox"].on-off.mid:checked + div{
    height: 300px;
}

input[type="checkbox"].on-off.long:checked + div{
    height: 350px;
}

/*Schedule*/
.schedule {
	border:solid 3px #2FB5EA;
	border-top: none;
	background-color: #2FB5EA;
	color: #fff;
}

.schedule h1 {
	margin:0px 0px 30px 30px;
}

.schedule img{
	margin: 0px 30px;
	width:calc(100% - 60px);
}


/*Map*/
.map {
	border:solid 3px #2FB5EA;
	border-top: none;
	background-color: #2FB5EA;
	/*color:#f39801;*/
	color: #fff;
}

.map h1 {
	margin:0px 0px 30px 30px;
}

.map p{
	margin: 0px 30px 20px 30px;
}

.map img {
	vertical-align:bottom
}

.jqzoom {
	display: block;
}

ul#thumblist{
	display:block;
}

ul#thumblist li{
	float: left;
	margin-left:15px;
}

ul#thumblist li:first-child {
	margin-left:0px;
}

ul#thumblist li a {
	display:inline-block;
}

ul#thumblist li a:hover {
	background-color: #000;
    opacity: 0.6;
}

ul#thumblist li a.zoomThumbActive {
	outline:solid 4px #2FB5EA;
}


/*Access*/
.access {
	border:solid 3px #2FB5EA;
	border-bottom: none;
	background-color: #2FB5EA;
	/*color:#f39801;*/
	color: #fff;
}

.access h1 {
	margin:0px 0px 30px 30px;
}

.access h3 {
	margin:30px 0px 3px 30px;
}

.access a{
	margin:5px 0px 5px 30px;
	color: #fff;
}

.access p{
	margin:5px 0px 5px 30px;
}

.access a:hover{
	color:#8c5315;
}


/*about*/
.about {
	padding-top:20px;
	border:solid 3px #2FB5EA;
	border-bottom: none;
	background-color: #2FB5EA;
	color: #fff;
}

.about h1 {
	margin:0px 0px 30px 30px;
}

.about h2 {
	margin:30px 0px 0px 30px;
}

.about h3 {
	margin:20px 30px 0px 50px;
	padding-bottom: 3px;
	border-bottom: dashed 1px #fff;
}

.about h3+p{
	margin:0px 30px 0px 50px;
	line-height: 1.3em;
}

.about p+p {
	margin:10px 30px 0px 30px;
}

.about p {
	margin:0px 30px 0px 30px;
	padding-top:10px;
}


/*footer*/
footer .container {
	background: #fff;
}

.contactList {
	display: table;
	table-layout: fixed;
	width: 80%;
	height: 50px;
	text-align: center;
	margin: 0 auto;
	padding: 10px;
	border-collapse: separate;
	border-spacing: 50px 0;
}

.contactList div {
	display: table-cell;
	vertical-align: middle;
}

.contactList div a {
	display: block;
	color: #2FB5EA;
	font-size: 20px;
	padding: 10px 10px;
	transition: 0.3s;
}

.contactList a:hover {
	-webkit-transform: scale(1.3);
	-moz-transform: scale(1.3);
	-ms-transform: scale(1.3);
	-o-transform: scale(1.3);
	transform: scale(1.3);
}

.copyright {
	font-size:15px;
	color:gray;
	text-align:center;
}



/*Gallery*/
.gallery {
	padding-top:20px;
	border:solid 3px #2FB5EA;
	border-top: none;
	background-color: #2FB5EA;
	color: #fff;
}

.gallery h1 {
	margin:0px 0px 30px 30px;
}

.gallery p {
	margin-left: 30px;
	color: #fff;
}

#wrapper {
	overflow: hidden;
	width: 100%;
	margin-top:50px;
}
input[type="radio"] {
	display: none;
}
/* :::::: slideshow :::::: */
#slideshow {
	position: relative;
	width: 100%;
}
.slideContents {
	position: relative;
	background: #2FB5EA;
	text-align: center;
	-webkit-user-select: none;
	user-select: none;
}
.slideContents,
.slideContents section {
	width: 100%;
	height: auto;
}
#slideshow .slideContents section {
	position: absolute;
	top: 0;
	left: 0;
	-webkit-transform: translateX(100%);
	transform: translateX(100%);
	-webkit-transition: opacity .6s, -webkit-transform .6s;
	transition: opacity .6s, transform .6s;
}
.slideContents section img {
	box-sizing: border-box;
	max-width: 100%;
	height: auto;
	padding: 0 50px;
	vertical-align: middle;
}
/* :::::: slideshow mechanism :::::: */
#switch1:checked ~ #slideshow .slideContents #slide1,
#switch2:checked ~ #slideshow .slideContents #slide2,
#switch3:checked ~ #slideshow .slideContents #slide3,
#switch4:checked ~ #slideshow .slideContents #slide4,
#switch5:checked ~ #slideshow .slideContents #slide5,
#switch6:checked ~ #slideshow .slideContents #slide6 {
	z-index: 1;
	position: relative;
	-webkit-transform: translateX(0);
	transform: translateX(0);
}
 
#switch1:checked ~ #slideshow .slideContents #slide1,
#switch2:checked ~ #slideshow .slideContents #slide2,
#switch3:checked ~ #slideshow .slideContents #slide3,
#switch4:checked ~ #slideshow .slideContents #slide4,
#switch5:checked ~ #slideshow .slideContents #slide5,
#switch6:checked ~ #slideshow .slideContents #slide6 {
	opacity: 1;
}
#switch1:checked ~ #slideshow .slideContents #slide6,
#switch1:checked ~ #slideshow .slideContents #slide5,
#switch2:checked ~ #slideshow .slideContents #slide1,
#switch2:checked ~ #slideshow .slideContents #slide6,
#switch3:checked ~ #slideshow .slideContents #slide2,
#switch3:checked ~ #slideshow .slideContents #slide1,
#switch4:checked ~ #slideshow .slideContents #slide3,
#switch4:checked ~ #slideshow .slideContents #slide2,
#switch5:checked ~ #slideshow .slideContents #slide4,
#switch5:checked ~ #slideshow .slideContents #slide3,
#switch6:checked ~ #slideshow .slideContents #slide5,
#switch6:checked ~ #slideshow .slideContents #slide4 {
	-webkit-transform: translateX(-100%);
	transform: translateX(-100%);
}
#switch1:checked ~ #slideshow .slideContents #slide3,
#switch1:checked ~ #slideshow .slideContents #slide4,
#switch1:checked ~ #slideshow .slideContents #slide5,
#switch2:checked ~ #slideshow .slideContents #slide4,
#switch2:checked ~ #slideshow .slideContents #slide5,
#switch2:checked ~ #slideshow .slideContents #slide6,
#switch3:checked ~ #slideshow .slideContents #slide5,
#switch3:checked ~ #slideshow .slideContents #slide6,
#switch3:checked ~ #slideshow .slideContents #slide1,
#switch4:checked ~ #slideshow .slideContents #slide6,
#switch4:checked ~ #slideshow .slideContents #slide1,
#switch4:checked ~ #slideshow .slideContents #slide2,
#switch5:checked ~ #slideshow .slideContents #slide1,
#switch5:checked ~ #slideshow .slideContents #slide2,
#switch5:checked ~ #slideshow .slideContents #slide3,
#switch6:checked ~ #slideshow .slideContents #slide2,
#switch6:checked ~ #slideshow .slideContents #slide3,
#switch6:checked ~ #slideshow .slideContents #slide4 {
	transition-duration: 0s;
}
/* :::::: arrows :::::: */
.arrow,
.arrow label,
.arrow .ico {
	position: absolute;
}
.arrow {
	top: 0;
	margin: 0;
	transition: background .3s;
}
p.arrow {
	margin:0;
}
.prev { left: 0; }
.next { right: 0; }
.arrow:hover {
	background: rgba(255,255,255,.2);
}
.arrow,
.arrow label {
	cursor: pointer;
	width: 50px;
	height: 100%;
}
.arrow label {
	top: 0;
	left: 0;
	z-index: 1;
}
.arrow .ico {
	top: 50%;
	width: 12px;
	height: 12px;
	margin-top: -6px;
	border-top: 3px solid #fff;
	border-right: 3px solid #fff;
	opacity: 0;
	transition: right .6s, left .6s, opacity .6s;
}
.arrow:hover .ico {
	opacity: .6;
	transition-duration: .3s;
}
.prev .ico {
	left: 60%;
	-webkit-transform: rotate(-135deg);
	transform: rotate(-135deg);
}
.next .ico {
	right: 60%;
	-webkit-transform: rotate(45deg);
	transform: rotate(45deg);
}
.prev:hover .ico { left: 30%; }
.next:hover .ico { right: 30%; }
/* :::::: arrows mechanism :::::: */
.arrow label {
	pointer-events: none;
}
#switch1:checked ~ #slideshow .prev label[for="switch6"],
#switch2:checked ~ #slideshow .prev label[for="switch1"],
#switch3:checked ~ #slideshow .prev label[for="switch2"],
#switch4:checked ~ #slideshow .prev label[for="switch3"],
#switch5:checked ~ #slideshow .prev label[for="switch4"],
#switch6:checked ~ #slideshow .prev label[for="switch5"],
#switch1:checked ~ #slideshow .next label[for="switch2"],
#switch2:checked ~ #slideshow .next label[for="switch3"],
#switch3:checked ~ #slideshow .next label[for="switch4"],
#switch4:checked ~ #slideshow .next label[for="switch5"],
#switch5:checked ~ #slideshow .next label[for="switch6"],
#switch6:checked ~ #slideshow .next label[for="switch1"] {
	pointer-events: auto;
}