@charset "utf-8";


.contwrap {
	font-size: 15px;
	font-family: "Noto Sans Japanese", "ヒラギノ角ゴ ProN W3", "Yu Gothic", YuGothic, "メイリオ", Meiryo, sans-serif;
}

#ttl {
	background: url("../img/bg_ttl.jpg") #4069bb top center no-repeat;
	position: relative;
	width:100%;
	min-width:950px;
	overflow:hidden;
	min-height: 600px;
}
#ttl .ttl_inner {
	width: 950px;
	margin: 0 auto;
}
#ttl .ttl_inner h2{
	padding-top: 40px;
}

.contwrap .detail{
	position: relative;
}
.contwrap .detail .bg_map{
	position: absolute;
	
	min-height: 1042px;
	top:0;
	left:50%;
	margin-left: -900px;
	max-width: 950px;
	overflow: hidden;
}
/*.contwrap .detail .bg_map{
	width: 1800px;
	min-width: 950px;
	margin: 0 auto;
	position: relative;
}
.contwrap .detail .bg_map img{
	position: absolute;
	top:0;
	left: 0;
}*/

.contwrap .detail .opening,
.contwrap .detail .culture,
.contwrap .detail .music,
.contwrap .detail .teaparty{
	width: 950px;
	margin: 0 auto;
	position: relative;
}
.contwrap .detail h3{
	text-align: center;
	padding-top: 75px;
}
.contwrap .detail p{
	font-size: 15px;
	line-height: 186%;
	color: #000;
	font-weight: 200;
}
.contwrap .detail p span{
	color: #ed504c;
	font-weight: 400;
}
.contwrap .detail .opening .text{
	display: inline-block;
	width: 475px;
	vertical-align: top;
	padding-top: 115px;
	overflow: hidden;
}
.contwrap .detail .opening .photo{
	display: inline-block;
	padding-top: 50px;
	padding-bottom: 75px;
}
.bg_tile{
	background: url("../img/tile.gif") 0 0 #f4edd7 repeat;
}
.contwrap .detail .culture p{
	padding-top: 45px;
	padding-bottom: 45px;
	text-align: center;
}
.contwrap .detail .culture .photo{
	text-align: center;
	padding-bottom: 80px;
}
.contwrap .detail .culture .illust{
	position:absolute;
	top: 336px;
	right: -215px;
}

.contwrap .detail .music p.text01{
	padding: 45px 0 25px 0;
	text-align: center;
}
.contwrap .detail .music p.text02{
	width: 425px;
	position: absolute;
	top: 800px;
	right: 0;
}
.contwrap .detail .music .photo{
	text-align: center;
	padding-bottom: 80px;
}
.contwrap .detail .music .illust{
	position:absolute;
	top: 555px;
	left: -179px;
}
.contwrap .detail .teaparty p{
	padding: 40px 0 55px;
	text-align: center;
}
.contwrap .detail .teaparty .photoarea{
	background: url("../img/bg_photo.png") 0 0 no-repeat;
	margin-left: -85px;
	width: 1120px;
	height: 670px;
	position: relative;
}
.contwrap .detail .teaparty .photoarea .photo01{
	position: absolute;
	top: 30px;
	left: 105px;
}
.contwrap .detail .teaparty .photoarea .photo02{
	position: absolute;
	top: -13px;
	left: 569px;
}
.contwrap .detail .teaparty .photoarea .photo03{
	position: absolute;
	top: 338px;
	left: 126px;
}
.contwrap .detail .teaparty .photoarea .photo04{
	position: absolute;
	top: 340px;
	left: 565px;
}
.contwrap .detail .teaparty .present{
	padding-top: 10px;
	padding-left: 424px;
}
.contwrap .detail .teaparty .photo{
	margin-top: -21px;
	padding-left: 54px;
}
.contwrap .detail .teaparty .textarea{
	width: 460px;
	padding: 0 0 60px 425px;
	margin: -210px 0 0 0;
	text-align: left;
}
.contwrap .detail .teaparty .text{
	padding: 30px 0 0;
}
.contwrap .detail .teaparty .ep{
	color: #6a5d33;
	font-size: 12px;
	padding: 30px 0 65px;
}


.voice{
	margin: 0 auto;
	background:url('../img/bg_voice.jpg') top center no-repeat #3697ce;
	background-size: auto 100%;
	padding:85px 0 100px;
}
.voice .inner{
	width:1000px;
	margin:0 auto;
	padding-bottom: 60px;
	border-radius: 4px;
	background: #fff;
	filter:alpha(opacity=85);
	-moz-opacity: 0.85;
	opacity: 0.85;
	position:relative;
}
.voice .inner h3{
	text-align:center;
	padding: 50px 0 45px;
}
.voice .inner div{
	display: inline-block;
	vertical-align: top;
	width: 387px;
}
.voice .inner p{
	font-size: 13px;
	font-weight: 200;
	padding-bottom: 25px;
	padding-top: 25px;
	border-bottom: 1px solid #60c2af;
}
.voice .inner p.last{
	border-bottom: none;
}
.voice .inner div p:first-child{
	padding-top: 10px;
}
.voice_left{
	margin-left:70px;
	padding-right: 40px;
}
.voice_right{
	margin-right: 70px;
	padding-left: 40px;
	border-left: 1px solid #60c2af;
}

#event {
	background-repeat: repeat;
}
#event .inner {
	width: 950px;
	margin: 0 auto;
	text-align: center;
	padding: 40px 0;
}
#event .inner a:hover img {
  opacity: 0.7;
  filter: alpha(opacity=70);
  -ms-filter: "alpha(opacity=70)";
}
