@charset "UTF-8";

body {
	color: #333;
	font-family: "游ゴシック体", YuGothic, "游ゴシック Medium", "Yu Gothic Medium", "游ゴシック", "Yu Gothic", "メイリオ", sans-serif;
	font-size: 13px;
	line-height: 1.8;
	width: 100%;
}
img {
	max-width: 100%;
	vertical-align: bottom;
}

#main {
	text-align: center;
}
#kv img {
	width: 545px;
	height: 366px;
}
#main h1 {
	width: 540px;
	margin: 60px auto 50px;
}
#main p {
	font-size: 16px;
	line-height: 2;
}
#main .credit {
	font-size: 11px;
	line-height: 1.7;
	margin-top: 25px;
}

#content {
	overflow: hidden;
	width: 1100px;
	margin: auto;
}
#content section {
	position: relative;
	overflow: hidden;
	clear: both;
	margin-top: 125px;
	text-align: left;
}
#content section > div {
	position: relative;
}
.sec_image {
	width: 580px;
}
#content section .caption {
	font-size: 12px;
	line-height: 1.6;
	margin-top: 15px;
}
.sec_text {
	width: 476px;
	font-size: 14px;
}
.ico_open {
	position: absolute;
	top: 0;
	right: 0;
	width: 103px;
}
.txt_head {
	line-height: 1.5;
	margin-bottom: 5px;
}
.sec_text h2 {
	font-size: 28px;
	font-weight: bold;
	margin-bottom: 5px;
}
.sec_text h2 span {
	margin-left: 10px;
	font-size: 14px;
	font-weight: normal;
	vertical-align: 5px;
}
.txt_main {
	line-height: 1.9;
	margin-top: 25px;
	margin-bottom: 25px;
	padding-bottom: 25px;
	border-bottom: 1px dashed #000;
}
.sec_text .info {
	line-height: 1.9;
}
.sec_text .info > p > span {
	padding: 5px 0 5px 25px;
}
.sec_text .info > p > span + span {
	margin-left: 15px;
}
.info_address {
	background: url(../images/ico_address.jpg) no-repeat left top / 20px auto;
}
.info_tel {
	background: url(../images/ico_tel.jpg) no-repeat left top / 20px auto;
}
.info_time {
	background: url(../images/ico_time.jpg) no-repeat left top / 20px auto;
}
.info_holiday {
	background: url(../images/ico_holiday.jpg) no-repeat left top / 20px auto;
}
.info_budget {
	background: url(../images/ico_budget.jpg) no-repeat left top / 20px auto;
}
.info_card {
	background: url(../images/ico_card.jpg) no-repeat left top / 20px auto;
}
.info_seat {
	background: url(../images/ico_seat.jpg) no-repeat left top / 20px auto;
}
.info_train {
	padding-left: 25px;
	background: url(../images/ico_train.jpg) no-repeat left top / 20px auto;
}
#sec2 .extra {
	margin-top: 20px;
	text-align: center;
}
#sec3 .extra {
	margin-top: 30px;
}
#sec5 .extra {
	margin-top: 65px;
}
#content #sec3 .caption {
	position: absolute;
	bottom: 10px;
	width: 259px;
	margin-top: 0;
}
#content #sec4 .caption {
	position: absolute;
	bottom: 275px;
	right: 0;
	width: 305px;
	margin-top: 0;
}
#content #sec5 .caption {
	position: absolute;
	bottom: 205px;
	width: 235px;
	margin-top: 0;
	text-align: left;
}
.tax {
	font-size: 11px;
	margin-top: 50px;
}
#content #sec6 {
	overflow: visible;
	padding: 70px 30px 30px;
	border: 1px solid #000;
	box-sizing: border-box;
}
#sec6 h2 {
	position: absolute;
	top: -7%;
	right: 0;
	left: 0;
	width: 476px;
	margin: auto;
}
#sec6 > div {
	display: inline-block;
	vertical-align: top;
}
#sec6 .sec_text {
	width: 430px;
}
#sec6 .sec_text h3 {
	font-size: 24px;
	font-weight: bold;
}
#sec6 .txt_date {
	margin-bottom: 10px;
}
#sec6 .info {
	margin-top: 10px;
}
#sec6 .sec_image {
	float: right;
}

#access {
	margin-top: 30px;
}

#footer {
	clear: both;
	width: 1100px;
	margin: 70px auto 60px;
	border-top: 1px solid #ccc;
	padding-top: 30px;
	text-align: center;
}
#footer .shareBtn li {
	display: inline-block;
	margin: 0;
	vertical-align: top;
}
.shareBtn ul li .fb-like > span {
	vertical-align: top !important;
}
#footer .notes {
	margin-top: 5px;
	font-size: 12px;
}
#footer .copy {
	border-top: 1px solid #ccc;
	margin-top: 30px;
	padding-top: 20px;
}


/* -----------------------------------------------------------------------------
PC
----------------------------------------------------------------------------- */
@media only screen and (min-width: 767px) {
	.pc_none {
		display: none !important;
	}
	a:hover {
		opacity: .6;
		text-decoration: none;
	}
	#content section > div.left {
		float: left;
	}
	#content section > div.right {
		float: right;
	}
	.slider {
		display: none !important;
	}
	.info_tel {
		cursor: text;
	}
	.info_tel a {
		color: #333;
		text-decoration: none;
		pointer-events: none;
	}
	#snsLine {
		display: none !important;
	}
}


/* -----------------------------------------------------------------------------
SP
----------------------------------------------------------------------------- */
@media only screen and (max-width: 768px) {
	.sp_none {
		display: none !important;
	}

	#kv img {
		width: 417px;
		height: 280px;
	}
	#main h1 {
		width: 94%;
		margin: 40px auto 30px 0;
	}
	#main p {
		width: 92%;
		margin: auto;
		font-size: 3vw;
	}
	#main .credit {
		font-size: 2.5vw;
		margin-top: 15px;
	}

	#content {
		width: 90%;
	}
	#content section {
		margin-top: 60px;
	}
	.sec_image {
		display: none;
	}
	#content section .extra {
		display: none;
	}
	.sec_text {
		width: 100%;
		font-size: 3vw;
	}
	.ico_open {
		width: 25%;
	}
	.sec_text h2 {
		font-size: 5.5vw;
		line-height: 1.5;
	}
	.sec_text h2 span {
		font-size: 3vw;
		vertical-align: middle;
	}
	.slider {
		margin-top: 20px;
		margin-bottom: 20px;
	}
	.slider li p {
		font-size: 0;
	}
	.slider .slick-active p {
		font-size: 2.5vw;
		margin-top: 10px;
	}
	.txt_main {
		margin-top: 0;
		margin-bottom: 20px;
		padding-bottom: 20px;
	}
	.sec_text .info > p > span {
		padding: 2px 0 2px 5%;
		background-size: 14px auto;
	}
	.sec_text .info > p > span + span {
		margin-left: 3%;
	}
	.tax {
		margin-top: 30px;
	}
	#content #sec6 {
		margin-top: 70px;
		padding: 30px 5% 20px;
	}
	#sec6 h2 {
		top: -5%;
		width: 70%;
	}
	#sec6 > div {
		display: block;
	}
	#sec6 .sec_text {
		width: 100%;
	}
	#sec6 .txt_head {
		margin-bottom: 0;
	}
	#sec6 .sec_text h3 {
		font-size: 4vw;
	}
	#sec6 .sec_image {
		float: none;
		width: 100%;
		margin-top: 20px;
	}

	#access {
		font-size: 3vw;
	}

	#footer {
		width: 90%;
		margin: 50px auto 40px;
	}
	#footer .notes {
		font-size: 2.7vw;
	}
	#footer .copy {
		font-size: 3vw;
	}
}
