
html {
	font-size: 62.5%;
/*font-family: 'M+ C Type-1 (basic latin) Medium', 'M+ Type-1 (general-j) Medium', sans-serif;*/
/*font-family: 'M+ C Type-1 (basic latin) Regular', 'M+ Type-1 (general-j) Regular', 'メイリオ', meiryo, sans-serif;*/
	font-family: "M PLUS 1", 'メイリオ', meiryo, sans-serif;
	font-optical-sizing: auto;
}
html, body {
	color: #fff;
	width: 100%;
	height: 100%;
}
img {
	vertical-align: bottom;
}

.sectionTitle {
	font-size: 2.2rem;
	line-height: 1.5;
	letter-spacing: 0.2rem;
	text-align: center;
	padding: 26px 0;
	border-top: solid 2px #ddd;
	border-bottom: solid 2px #ddd;
	color: #333;
}

.sectionTitleAlpha {
	font-size: 3rem;
	line-height: 1.5;
	letter-spacing: 0.1rem;
	text-align: center;
	font-family: 'Sansita', sans-serif;
	margin-bottom: 14px;
}

#overwrap {
/*	min-width: 1024px;*/
	width: 100%;
	overflow: hidden;
}

.wrapper {
	width: 1024px;
	padding: 0 32px;
	margin: 0 auto;
}



#mv {
	position: fixed;
	top: 0;
	width: 100%; width: 100vw;
	height: 100%; height: 100vh;
	overflow: hidden;
	z-index: 0;
/*	background: #3da5b2 url(../img/common/loader.gif) center no-repeat;*/
	background: #3da5b2;
	-webkit-animation: bgcolor 3s linear infinite alternate;
	animation: bgcolor 3s linear infinite alternate;
}
@keyframes bgcolor {
	  0% { background-color:#3da5b2; }
	100% { background-color:#f29600; }
}

#slider-container,
#slider,
#slider .slide,
#slider-fixed-content {
	width: 100%;
	height: 100%;
	z-index: 0;
}
#slider-container {
	position: relative;
	-webkit-transition: 0.5s;
	transition: 0.5s;
}
#slider .slide,
#slider-fixed-content {
	position: absolute;
	top: 0;
}
#slider {
	opacity: 0;
	-webkit-transition: 0.5s;
	transition: 0.5s;
}
#slider.ready {
	opacity: 1;
}
#slider .slide {
	background-size: auto, cover;
	background-position: 50% 50%;
	background-color: transparent, #000;
	background-repeat: repeat, no-repeat;
}
#slider .slide .slide-bg {
	display: none;
}
.centering {
	display: block;
	position: absolute;
	top: 0;
	right: 0;
	bottom: 0;
	left: 0;
	margin: auto;
}
.logo {
	width: 244px;
	height: auto;
}
#mv-fixed-lead {
	position: relative;
	width: 100%;
	height: 42px;
	margin-bottom: 64px;
	font-size: 4rem;
	line-height: 42px;
	letter-spacing: 0.2rem;
	text-align: center;
	color: #900;
}
#mv-fixed-lead-2 {
	position: relative;
	width: 100%;
	margin-bottom: 50px;
	font-size: 4rem;
	line-height: 1.3;
	letter-spacing: 0.2rem;
	text-align: center;
	color: #900;
}
#mv-fixed-lead-2 br.pc-only {
	display: none;
}


.nextBtn {
	position: absolute;
	bottom: 60px;
	right: 0;
	left: 0;
	margin: 0 auto;
	display: block;
	width: 80px;
	height: 80px;
	padding: 8px 0 0 2px;
	overflow: hidden;
	color: #fff;
	text-decoration: none;
	font-size: 2rem;
	font-weight: bold;
	line-height: 1.2;
	text-align: center;
	letter-spacing: 0.1em;
}
.nextBtn span {
	display: block;
	/*
	-webkit-animation: flash 0.3s linear infinite;
	animation: flash 0.3s linear infinite;
 */
}
.nextBtn img {
	position: absolute;
	top: 46px;
	right: 0;
	left: 0;
	margin: 0 auto;
	-webkit-animation: down 0.7s linear infinite;
	animation: down 0.7s linear infinite;
}

@keyframes flash {
	  0% { opacity:0 }
	 50% { opacity:1 }
	100% { opacity:0 }
}
@keyframes down {
	  0% { opacity:0; -webkit-transform:translateY(-9px); transform:translateY(-9px); }
	 10% { opacity:0 }
	 40% { opacity:1 }
	 50% { opacity:1 }
	 60% { opacity:1 }
	 90% { opacity:0 }
	100% { opacity:0; -webkit-transform:translateY(9px); transform:translateY(9px); }
}



#container {
	position: relative;
	z-index: 1;
	/*margin-top: 100vh;*/
	width: 100%;
	background-color: #fff/*#3da5b2*/;
	color: #111;
}


#introduction {
	padding-top: 70px;
	padding-bottom: 80px;
	text-align: center;
}
#introduction #mainBnr {
	width: 100%;
	height: auto;
	margin-bottom: 8%;
}
#introduction .leadLabel {
	font-size: 2.2rem;
	line-height: 150%;
	letter-spacing: 0.2rem;
}
#introduction .lead {
	color: #005142;
	font-size: 3.4rem;
	line-height: 140%;
	letter-spacing: 0.2rem;
	margin: 7px 0 10px 0;
}
#introduction .caption {
	font-size: 1.7rem;
	line-height: 170%;
	letter-spacing: 0.2rem;
}

#topics {
	margin-top: 60px;
	padding: 16px;
	font-size: 1.7rem;
	line-height: 170%;
	font-weight: bold;
	letter-spacing: 0.1rem;
	color: #900;
	background-color: #ffebcd;
	border-radius: 10px;
}



#information {
	margin-bottom: 100px;
	padding-top: 00px;
	padding-bottom: 170px;
	background: url(../img/fb_illust.jpg) bottom no-repeat;
	background-size: 1280px;
}
#information #fbContainer {
	width: 500px;
	margin: 0 auto;
}



#qanda {
	padding-bottom: 160px;
}
#qanda h2 {
}
#qanda dl {
	padding-top: 8px;
}
#qanda dt, #qanda dd {
	padding: 0 20px 0 44px;
	position: relative;
	font-size: 1.5rem;
	line-height: 1.8;
	letter-spacing: 0.1rem;
}
#qanda dt {
	font-weight: bold;
	margin-bottom: 8px;
	padding-top: 24px;
}
#qanda dd {
	padding-bottom: 24px;
	border-bottom: dashed 1px #ccc;
}
#qanda dt:before {
	position: absolute;
	left: 20px;
	content: "Q";
	font-size: 1.4rem;
	font-weight: bold;
	color: #900;
}
#qanda dd:before {
	position: absolute;
	left: 20px;
	content: "A";
	font-weight: bold;
	color: #009;
}



#detail {
	padding-bottom: 160px;
}
.system {
	display: table;
	margin: 14px 0 8px 0;
}
.system dl {
	display: table-row;
}
.system dt, .system dd {
	display: table-cell;
	font-size: 1.5rem;
	line-height: 1.8;
	letter-spacing: 0.1rem;
	padding: 25px 30px;
}
.system dl+dl dt, .system dl+dl dd {
	border-top: dashed 1px #ccc;
}

.system dt {
	white-space: nowrap;
}
.system dd {
	padding-left: 0;
}
.system dd .notes {
	font-size: 1.3rem;
	padding-top: 6px;
}
.system dd .notes li {
	color: #666;
}
.system dd .attended {
	list-style: disc;
	margin-left: 22px;
}

#announce {
	padding: 23px 30px;
	border-radius: 10px;
	background-color: #eee;
}
#announce h3 {
	font-size: 1.5rem;
	line-height: 1.8;
	letter-spacing: 0.2rem;
	color: #444;
	margin-bottom: 6px;
	text-decoration: underline;
}
#announce p {
	font-size: 1.3rem;
	line-height: 1.8;
	letter-spacing: 0.1rem;
	color: #444;
}






#gallery {
	padding-bottom: 150px;
}
#gallery ul {
	margin: 0 -10px;
}
#gallery ul:after {
	content: " ";
	display: block;
	clear: both;
}
#gallery ul li {
	float: left;
	width: 245px;
	height: 245px;
	padding: 10px;
}
#gallery ul li a {
	display: block;
}
#gallery ul li a img {
	width: 100%;
	height: auto;
}


#contactInner {
	border: dashed 1px #ccc;
	text-align: center;
	padding: 20px 10px;
	margin-bottom: 100px;
}
#contact h2 {
	font-size: 2.4rem;
	line-height: 1.5;
	margin-bottom: 4px;
}
#contact p {
	font-size: 1.6rem;
	line-height: 1.5;
	margin-bottom: 4px;
}



#footer {
	background-color: #3da5b2;

	background: url(../img/footer_illust.png) top center repeat-x;
/*	background-repeat: no-repeat;*/
	color: #000;
	font-size: 1.1rem;
	line-height: 1.5;
	text-align: center;
	padding: 473px 0 16px 0;
}

#fixedNavigation {
	position: fixed;
	z-index: 9999;
	top: 0;
	right: 0;
}
#fixedNavigation .reserveBtn {
	position: relative;
	top: 20px;
	right: 20px;
	width: 120px;
	height: 120px;
	display: table;
}
#fixedNavigation .reserveBtn a {
	display: table-cell;
	padding-top: 4px;
	vertical-align: middle;
	font-size: 1.3rem;
	line-height: 1.6;
	letter-spacing: 0.1rem;
	font-weight: bold;
	text-decoration: none;
	color: #fff;
	background-color: #000;
	border-radius: 50%;
	overflow: hidden;

	opacity:0.9;
	-webkit-animation: bound 0.7s linear alternate infinite;
	animation: bound 0.7s linear alternate infinite;
	-webkit-transition: 0.3s;
	transition: 0.3s;
}
#fixedNavigation .reserveBtn a:hover {
	animation: none;
	opacity: 0.9;
	background-color: #900;
}
@keyframes bound {
	0% {
		-webkit-transform:scale(0.95);
		transform:scale(0.95);
	}
	100% {
		-webkit-transform:scale(1);
		transform:scale(1)
	}
}




#tour {
	background-color: #eee;
	border-radius: 10px;
	margin-bottom: 120px;
	padding-bottom: 30px;
}
#tour p {
	font-size: 16px; font-size: 1.6rem;
	line-height: 180%;
	text-align: center;
	letter-spacing: 0.1rem;
}
#tour .leadLabel {
	font-size: 28px; font-size: 2.8rem;
	font-weight: bold;
	letter-spacing: 0.2rem;
	padding: 50px 0 18px 0;
	color: #900;
}
#tour .leadLabel span {
	display: block;
	margin: -16px 0 16px 0;
	font-size: 20px; font-size: 2.0rem;
}
#tour .system {
	border-top: dashed 1px #ccc;
	border-bottom: dashed 1px #ccc;
	margin: 50px 0 26px 0;
}

#tour .tour-eyecatch-img {
	margin: -16px 0 24px 0;
}
#tour .tour-eyecatch-img img {
	width: 100%;
	height: auto;
}

#tour .tour-inline-img {
	padding: 12px 0 6px 0;
}
#tour .tour-inline-img:after {
	content: " ";
	display: block;
	clear: both;
}
#tour .tour-inline-img figure {
	float: left;
	width: 48.5%;
}
#tour .tour-inline-img figure:nth-of-type(odd) {
	margin-right: 3%;
}
#tour .tour-inline-img figure img {
	width: 100%;
	height: auto;
}

#tour .tour-caption {
	display: table;
}
#tour .tour-caption-left,
#tour .tour-caption-right {
	display: table-cell;
	vertical-align: middle;
	padding: 0 20px;
}
#tour .tour-caption-left p {
	text-align: left;
	font-size: 1.8rem;
}
#tour .tour-caption-left {
}
#tour .tour-caption-right {
	width: 420px;
}
#tour .tour-caption-right img {
	width: 100%;
	height: auto;
}



@media screen and (max-width:1024px) {
	.wrapper {
		width: 100%;
		padding: 0 3.125vw;
	}

	#introduction {
		padding-top: 3.125vw;
		padding-bottom: 7.4vw;
	}

	#information {
		margin-bottom: 10vw;
		padding-top: 10vw;
/*		padding-bottom: 10vw;*/
	}


	#detail {
		padding-bottom: 10vw;
	}
	.system dt, .system dd {
		padding: 25px 2.933vw;
	}
	#announce {
		padding: 2.533vw 2.933vw;
	}


	#gallery {
		padding-bottom: 10vw;
	}
	#gallery ul {
		margin: 0 -0.976vw;
	}
	#gallery ul li {
		width: -webkit-calc(100% / 3);
		width: calc(100% / 3);
		height: auto;
		padding: 0.976vw;
	}
	#gallery ul li a {
		display: block;
	}
	#gallery ul li a img {
		width: 100%;
		height: auto;
	}

	#tour .tour-caption-left p {
		font-size: 16px; font-size: 1.6rem;
	}
	#tour .tour-caption-right {
		width: 50%;
	}

}

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

	.sectionTitle {
		font-size: 19.5px; font-size: 1.95rem; font-size: 5.2vw;
		font-weight: bold;
		letter-spacing: 2px; letter-spacing: 0.2rem; letter-spacing: 0.533vw;
		padding: 19.5px 0; padding: 5.2vw 0;
	}
	.sectionTitleAlpha {
		font-size: 24px; font-size: 2.4rem; font-size: 6.4vw;
		line-height: 1.2;
		letter-spacing: 1px; letter-spacing: 0.1rem; letter-spacing: 0.266vw;
		margin-bottom: 11px; margin-bottom: 3vw;
	}


	#introduction .leadLabel {
		font-size: 16.5px; font-size: 1.65rem; font-size: 4.4vw;
		letter-spacing: 0.266vw;
	}
	#introduction .lead {
		font-size: 24px; font-size: 2.4rem; font-size: 6.4vw;
		letter-spacing: 2px; letter-spacing: 0.2rem; letter-spacing: 0.533vw;
		margin: 7px 0 9px 0; margin: 1.953vw 0 2.34vw 0;
	}
	#introduction .caption {
		font-size: 13px; font-size: 1.3rem; font-size: 3.4vw;
		letter-spacing: 2px; letter-spacing: 0.2rem; letter-spacing: 0.533vw;
	}

	#topics {
		margin-top: 30px; margin-top: 8vw;
		padding: 16px; padding: 3.6vw;
		font-size: 13px; font-size: 1.3rem; font-size: 3.2vw;
	}


	#information {
		margin-bottom: 37.5px; margin-bottom: 10vw;
		padding: 12px; padding: 3.125vw;
		background: none;
	}
	#information #fbContainer {
		width: 80%;
		max-width: 500px;
	}


	.system {
		display: block;
		margin: 7.5px 0; margin: 2vw 0;
	}
	.system dl {
		display: block;
		padding: 11px; padding: 2.933vw;
	}
	.system dl+dl {
		border-top: dashed 1px #ccc;
	}
	.system dt, .system dd {
		display: block;
		font-size: 12px; font-size: 1.2rem; font-size: 3.2vw;
		letter-spacing: 2px; letter-spacing: 0.2rem; letter-spacing: 0.233vw;
		padding: 0;
	}
	.system dl+dl dt, .system dl+dl dd {
		border-top: none;
	}
	.system dt {
		white-space: normal;
		font-weight: bold;
		padding-bottom: 4px; padding-bottom: 1.066vw;
	}
	.system dd .notes {
		font-size: 10px; font-size: 1.0rem; font-size: 2.666vw;
		padding-top: 4px; padding-top: 1.066vw;
	}
	.system dd .attended {
		margin-left: 24px; margin-left: 6.4vw;
	}
	#announce {
		padding: 11px 12px; padding: 2.933vw 3.125vw;
		border-radius: 8px; border-radius: 2.133vw;
		background-color: #eee;
	}
	#announce h3 {
		font-size: 12px; font-size: 1.2rem; font-size: 3.2vw;
		letter-spacing: 2px; letter-spacing: 0.2rem; letter-spacing: 0.533vw;
		margin-bottom: 4px; margin-bottom: 1.066vw;
	}
	#announce p {
		font-size: 10px; font-size: 1.0rem; font-size: 2.666vw;
		letter-spacing: 1px; letter-spacing: 0.1rem; letter-spacing: 0.266vw;
	}

	#contactInner {
		padding: 5.333vw 2.666vw;
		margin-bottom: 8vw;
	}
	#contact h2 {
		font-size: 16px; font-size: 1.6rem; font-size: 4.266vw;
		margin-bottom: 1.066vw;
	}
	#contact p {
		font-size: 13px; font-size: 1.3rem; font-size: 3.466vw;
		line-height: 1.6;
		margin-bottom: 0.266vw;
	}
	#contact .sp-hidden {
		display: none;
	}

	#qanda dl {
		padding-top: 9.5px; padding-top: 2.533vw;
	}
	#qanda dt, #qanda dd {
		padding: 0 3.125vw 0 11vw;
		font-size: 3.2vw;
		letter-spacing: 0.233vw;
	}
	#qanda dt {
		margin-bottom: 9.5px; margin-bottom: 2.533vw;
		padding-top: 19px; padding-top: 5.066vw;
	}
	#qanda dd {
		padding-bottom: 19px; padding-bottom: 5.066vw;
	}
	#qanda dt:before {
		font-size: 12px; font-size: 1.2rem; font-size: 3.2vw;
	}

	#footer {
		font-size: 11px; font-size: 1.1rem; font-size: 2.933vw;
	}


	#fixedNavigation .reserveBtn {
		top: 20px; top: 2.666vw;
		right: 20px; right: 2.666vw;
		width: 80px; width: 21.333vw;
		height: 80px; height: 21.333vw;
	}
	#fixedNavigation .reserveBtn a {
		padding-top: 1.066vw;
		font-size: 1rem; font-size: 2.666vw;
		letter-spacing: 0;
		white-space: nowrap;
	}

	.centering.logo {
		top: 20px; top: 2.666vw;
		left: 20px; left: 2.666vw;
		right: auto;
		bottom: auto;
		height: 80px; height: 21.333vw;
		width: auto;
	}

	#mv-fixed-lead {
		height: 10vw;
		margin-bottom: 5.333vw;
		font-size: 24px; font-size: 2.4rem; font-size: 6.4vw;
		line-height: 10vw;
		letter-spacing: 0.533vw;
	}
	#mv-fixed-lead span {
		opacity: 0;
		display: inline-block;
		-webkit-animation: nth1 4s linear 0s infinite normal;
		animation: nth1 4s linear 0s infinite normal;
	}
	#mv-fixed-lead span:nth-of-type(1) {
		-webkit-animation-delay: 0.1s;
		animation-delay: 0.1s;
	}
	#mv-fixed-lead span:nth-of-type(2) {
		-webkit-animation-delay: 0.2s;
		animation-delay: 0.2s;
	}
	#mv-fixed-lead span:nth-of-type(3) {
		-webkit-animation-delay: 0.3s;
		animation-delay: 0.3s;
	}
	#mv-fixed-lead span:nth-of-type(4) {
		-webkit-animation-delay: 0.4s;
		animation-delay: 0.4s;
	}
	#mv-fixed-lead span:nth-of-type(5) {
		-webkit-animation-delay: 0.5s;
		animation-delay: 0.5s;
	}
	#mv-fixed-lead span:nth-of-type(6) {
		-webkit-animation-delay: 0.6s;
		animation-delay: 0.6s;
	}
	#mv-fixed-lead span:nth-of-type(7) {
		-webkit-animation-delay: 0.7s;
		animation-delay: 0.7s;
	}
	#mv-fixed-lead span:nth-of-type(8) {
		-webkit-animation-delay: 0.8s;
		animation-delay: 0.8s;
	}
	#mv-fixed-lead span:nth-of-type(9) {
		-webkit-animation-delay: 0.9s;
		animation-delay: 0.9s;
	}
	#mv-fixed-lead span:nth-of-type(10) {
		-webkit-animation-delay: 1s;
		animation-delay: 1s;
	}
	#mv-fixed-lead span:nth-of-type(11) {
		-webkit-animation-delay: 1.1s;
		animation-delay: 1.1s;
	}

	@keyframes nth1 {
			0% { opacity: 0; -webkit-transform: scale(0.8,0.8); transform:scale(0.8,0.8); }
		 10% { opacity: 1; -webkit-transform: scale(1,1); transform:scale(1,1); }
		 70% { opacity: 1; -webkit-transform: scale(1,1); transform:scale(1,1); }
		 80% { opacity: 0; -webkit-transform: scale(0.8,0.8); transform:scale(0.8,0.8); }
		100% { opacity: 0; -webkit-transform: scale(0.8,0.8); transform:scale(0.8,0.8); }
	}


	#tour {
		border-radius: 0;
		margin-bottom: 42px; margin-bottom: 11.2vw;
		padding-bottom: 22px; padding-bottom: 5.866vw;
	}
	#tour p {
		font-size: 12px; font-size: 1.2rem; font-size: 3.2vw;
		letter-spacing: 1px; letter-spacing: 0.1rem; letter-spacing: 0.266vw;
		line-height: 160%;
	}
	#tour p .br+.br {
		padding-top: 8px; padding-top: 2.666vw;
	}
	#tour .leadLabel {
		font-size: 16.5px; font-size: 1.65rem; font-size: 4.4vw;
		letter-spacing: 0.266vw;
		padding: 30px 0 18px 0; padding-top: 8vw; padding-bottom: 4.8vw;
	}
	#tour .leadLabel span {
		margin: 0;
		font-size: 16.5px; font-size: 1.65rem; font-size: 3vw;
	}
	#tour .system {
		margin: 30px 0 18px 0;
		margin-top: 8vw; margin-bottom: 4.8vw;
	}

	#tour .tour-eyecatch-img {
		margin-top: -1.8vw; margin-bottom: 4vw;
	}

	#tour .tour-inline-img {
		padding-top: 2.666vw;
		padding-bottom: 1.5vw;
	}

	#tour .tour-caption {
		display: block;
		margin-bottom: -2.666vw;
	}
	#tour .tour-caption-left,
	#tour .tour-caption-right {
		display: block;
		padding: 0 2.666vw;
	}
	#tour .tour-caption-left p {
		font-size: 16.5px; font-size: 1.65rem; font-size: 3vw;
	}
	#tour .tour-caption-right {
		padding-top: 4vw;
		width: 100%;
	}

}




.pc-only,
.tab-only,
.sp-only {
	visibility: hidden;
}
.pc-only-newline,
.tab-only-newline,
.sp-only-newline {
	display: none;
}
@media screen and (min-width:1024px) {
	.pc-only {
		visibility: visible;
	}
	.pc-only-newline {
		display: block;
	}
}
@media screen and (min-width:640px) and (max-width:1024px) {
	.tab-only {
		visibility: visible;
	}
	.tab-only-newline {
		display: block;
	}
}
@media screen and (max-width:640px) {
	.sp-only {
		visibility: visible;
	}
	.sp-only-newline {
		display: block;
	}
}


.br {
	display: block;
}
.pc-only-newline,
.tab-only-newline,
.sp-only-newline {
	display: inline;
}
@media screen and (min-width:1024px) {
	.pc-only {
		visibility: visible;
	}
	.pc-only-newline {
		display: block;
	}
}
@media screen and (min-width:640px) and (max-width:1024px) {
	.tab-only {
		visibility: visible;
	}
	.tab-only-newline {
		display: block;
	}
}
@media screen and (max-width:640px) {
	.sp-only {
		visibility: visible;
	}
	.sp-only-newline {
		display: block;
	}
}



@media screen and (min-width:860px) {
	#mv-fixed-lead-2 br.pc-only {
		display: block;
	}
}

.futeiki {
	color: #900;
	font-weight: bold;
	text-align: center;
	font-size: 24px;
	line-height: 1.6;
}
.futeiki .sp-only {
	display: none;
}
@media screen and (max-width:640px) {
	.futeiki .sp-only {
		display: block;
	}
	
}