.item-title,
.page-hero,
.sec-subtitle {
	text-align: center
}

article .green,
table .green {
	display: none
}

body {
	color: #1f1f1f;
	background-color: #fafafa
}

article {
	padding: 70px 0 140px
}

.col2-title.nobd,
.l-sec {
	padding-bottom: 0
}

.noto {
	font-family: 'Noto Sans JP', sans-serif
}

.page-hero-entitle {
	font-weight: 900;
	color: #f3f3f3;
	font-size: 16px;
	display: inline-block;
	background: #aa9f85;
	line-height: 1;
	padding: 11px 24px 8px;
	border-radius: 40px;
	margin-bottom: 24px
}

.page-hero-subcopy {
	font-size: 22px;
	font-weight: 500;
	padding-bottom: 6px
}

.page-hero-copy {
	font-size: 48px;
	line-height: 1.3;
	font-weight: 500
}

.entry-detail p,
.page-hero p,
.page-hero-sup {
	font-weight: 500;
	font-size: 19px
}

.page-hero-sup {
	border-top: 1px solid #333;
	padding: 22px 20px;
	line-height: 1.2;
	display: inline-block;
	margin-top: 30px;
	letter-spacing: .05em
}

.flex,
.item-title,
.items {
	display: flex
}

.page-hero {
	padding: 40px 0 0;
	width: 75%;
	margin: 0 auto
}

.page-hero p {
	margin: auto;
	line-height: 2.2em;
	text-align: left;
	padding: 0 80px
}

.entry-detail p {
	line-height: 2.2em;
	padding-bottom: 1em
}

.item-shop,
.item-title,
.menu-list td,
.sec-subtitle,
.sec-title {
	font-weight: 600
}

.entry-detail {
	padding: 100px 100px 0
}

.page-hero-pic {
	padding: 60px 0
}

.sec-subtitle {
	font-size: 24px;
	padding-bottom: 60px;
	letter-spacing: .05em;
	line-height: 1.6
}

.sec-title {
	font-size: 26px;
	padding: 0 0 0 60px;
	line-height: 1.2;
	position: relative
}

.sec-title:after {
	content: "";
	width: 50px;
	height: 1px;
	background: #333;
	position: absolute;
	top: 18px;
	left: 0
}

.sec-txt {
	font-size: 17px;
	padding: 0 1em 100px
}

.sec-pic img {
	width: 100%;
	border-radius: 30px
}

.sec-pic {
	margin-bottom: 40px
}

.page-hero-pic img {
	width: 100%;
	border-radius: 20px;
	margin-bottom: 32px
}

.items {
	justify-content: space-between;
	padding-top: 100px
}

.item {
	width: calc(33.33333% - 30px);
	padding-bottom: 84px
}

.item p {
	font-size: 15px;
	line-height: 1.7
}

.item ul {
	padding-top: 20px;
	font-size: 14px;
	line-height: 1.5
}

.menu-list td,
.menu-list th {
	line-height: 1.6;
	padding: 10px;
	border-bottom: 1px dotted #b1b1b1;
	font-size: 15px
}


.item-tmb {
	margin: 24px 0
}

.item-tmb img {
	border-radius: 10px
}

.item-shop {
	font-size: 14px;
	color: #aa9f85;
	padding-top: 3px
}

.ticket-item-title {
	font-size: 18px;
	line-height: 1.5em;
	font-weight: 500;
	padding-bottom: 20px;
	text-align: center
}

.reserve-btn a,
.unkou {
	padding: 18px;
	text-align: center
}

.shop .item {
	width: calc(25% - 24px)
}

.unkou {
	font-weight: 500;
	background: #fff;
	margin-top: 20px;
	font-size: 17px
}

.info-table tbody td a {
	text-decoration: underline;
	font-weight: 600
}

.bnr-wrap {
	width: 50%;
	margin: 80px auto 0;
	font-size: 14px;
	text-align: center
}

.entry-detail .bnr-wrap p {
	font-weight: 500;
	font-size: 15px;
	line-height: 2.2em;
	padding-bottom: 0;
	padding-top: 1em
}

.page-hero-copy-img {
	width: 50%;
	margin: 0 auto
}

.reserve-btn {
	margin: 60px 0
}

.reserve-btn a {
	display: block;
	width: 240px;
	margin: 0 auto;
	background: #f36319;
	color: #fff;
	line-height: 1em;
	font-weight: 600;
	font-size: 18px;
	border-radius: 40px;
	box-sizing: border-box
}

.col2 p,
.item-detail,
.menu-wrap,
.timetable-paid {
	padding-top: 40px
}

.reserve-btn a:hover {
	background: #000;
	color: #fff;
	transition: .4s
}

.inner-min {
	max-width: 960px;
	width: 60%;
	margin: auto
}

.menu-title {
	font-weight: 600;
	padding-bottom: 16px
}

.menu-wrap li,
.page-summary li {
	font-size: 16px;
	line-height: 1.6;
	padding-bottom: 8px;
	text-indent: -1em;
	padding-left: 1em
}

.col2 p,
.subcontent p {
	font-size: 15px;
	line-height: 2
}

.flex {
	flex-wrap: wrap;
	justify-content: space-between
}

.col2 {
	width: calc(50% - 24px);
	margin-bottom: 60px
}

.col2-title {
	text-align: center;
	font-size: 17px;
	font-weight: 600;
	padding-bottom: 32px
}

.col2 img,
.subcontent img {
	border-radius: 16px
}

.page-summary {
	padding: 60px;
	text-align: center
}

.summary-title {
	font-size: 20px;
	font-weight: 600;
	padding-bottom: 16px
}

.page-summary a {
	text-decoration: underline;
	padding-left: 10px
}

.new {
	color: #ff4a4a
}

.subcontent-pic,
.subcontent-txt {
	width: calc(50% - 32px)
}

.subcontent-title {
	font-size: 17px;
	font-weight: 600;
	padding-bottom: 24px;
	padding-top: 24px
}

#schedule .sec-subtitle {
	font-size: 24px;
	font-weight: 600;
	padding-bottom: 0;
	text-align: center;
	letter-spacing: .05em;
	line-height: 1.6;
	padding-top: 60px
}

#schedule {
	background: #edebe5;
	margin-top: 150px
}

#schedule .entry-detail {
	padding: 0 100px 100px
}

.page-summary .reserve-btn a {
	text-decoration: none
}

p.sup.center {
	font-size: 13px;
	text-align: center;
	padding-top: 20px
}

.timetable {
	margin: 30px 0;
	padding: 40px;
	background: #fff;
	border-radius: 20px
}

.timetable-title,
span.price {
	display: inline-block;
	background: #aa9f85;
	color: #fff
}

.timetable-item {
	padding-bottom: 18px;
	margin-bottom: 18px;
	border-bottom: 1px solid #cdcdcd;
	position: relative
}

span.price {
	font-size: 13px;
	padding: 4px 6px;
	margin-left: 8px;
	line-height: 1em;
	position: absolute;
	top: 1px
}

.timetable-item.nb {
	border-bottom: none
}

.timetable-item p.sup {
	font-size: 13px;
	line-height: 1.6;
	padding: 8px 14px 0
}

p.sup2 {
	font-size: 13px;
	line-height: 1.4;
	padding: 6px 14px 0;
	text-align: right
}

.timetable-title {
	font-weight: 600;
	font-size: 16px;
	line-height: 1;
	padding: 12px 20px 10px;
	margin-bottom: 30px;
	box-sizing: border-box;
	text-align: center
}

.timetable-paid .timetable-title {
	background: #5f9e7c
}

.timetable-item-time {
	font-size: 15px;
	line-height: 1.4;
	padding: 0 14px
}

.timetable-item-title {
	font-size: 16px;
	font-weight: 600;
	line-height: 1.6;
	padding: 0 14px;
	margin-bottom: 4px
}

.timetable-paid p.sup {
	font-size: 12px;
	text-align: right
}

.sec-subtitle2 {
	font-size: 19px;
	text-align: center;
	padding-bottom: 24px
}

.sec-subcopy.serif {
	text-align: center;
	padding-bottom: 10px
}

.bnr {
	width: 650px;
	margin: 100px auto 0
}

@media screen and (max-width:1500px) {
	.page-hero {
		width: 82%
	}

	.page-hero p {
		font-size: 18px;
		padding: 0 60px
	}

	.entry-detail {
		padding: 60px 60px 0
	}


	.sec-title {
		font-size: 24px;
		font-weight: 600;
		padding: 0 0 0 54px;
		line-height: 1.2;
		position: relative
	}

	.sec-title:after {
		content: "";
		width: 40px;
		height: 1px;
		background: #333;
		position: absolute;
		top: 18px;
		left: 0
	}

	.shop .item {
		width: calc(33.3333% - 30px)
	}
}

@media screen and (max-width:1200px) {
	.bnr-wrap {
		width: 80%
	}

	.page-hero-copy {
		font-size: 38px;
		line-height: 1.4;
		font-weight: 500
	}

	.item,
	.shop .item {
		width: calc(50% - 20px);
		padding-bottom: 84px
	}

	.page-hero {
		padding-bottom: 80px
	}
}

@media screen and (max-width:900px) {
	.page-hero-copy {
		font-size: 30px;
		line-height: 1.4;
		font-weight: 500;
		width: 85%;
		margin: 0 auto
	}

	.bnr-wrap,
	.page-hero {
		width: 100%
	}

	.page-hero {
		padding: 40px 0;
		margin: 0 auto;
		text-align: center
	}

	.page-hero-subcopy {
		font-size: 20px;
		padding-bottom: 0
	}

	.page-hero-entitle {
		font-weight: 900;
		color: #f3f3f3;
		font-size: 14px;
		display: inline-block;
		background: #aa9f85;
		line-height: 1;
		padding: 11px 24px 8px;
		border-radius: 40px;
		margin-bottom: 24px
	}

	.page-hero-sup {
		font-size: 15px;
		font-weight: 500;
		padding: 18px 20px;
		line-height: 1.2;
		display: inline-block;
		margin-top: 30px;
		border-top: 1px solid #333
	}

	.page-hero-pic img {
		width: 100%;
		border-radius: 0
	}

	.page-hero p {
		font-size: 16px;
		padding: 0 40px
	}

	.entry-detail {
		padding: 50px 50px 0
	}

	.col2 {
		width: 90%;
		margin: 0 auto 40px
	}

	.subcontent-pic,
	.subcontent-txt {
		width: 90%;
		margin: 0 auto
	}

	.subcontent-title {
		font-size: 16px;
		font-weight: 600;
		padding-bottom: 24px;
		padding-top: 24px;
		text-align: center
	}

	
}

@media screen and (max-width:650px) {

	.page-hero,
	.page-summary,
	.sec-subtitle2,
	.sec-title,
	p.sup.center {
		text-align: center
	}

	.page-hero-subcopy,
	.reserve-btn a {
		font-size: 16px
	}

	.page-hero-pic {
		padding: 40px 0
	}

	.page-hero p {
		font-size: 14px;
		padding: 0;
		width: 87%;
		margin: 0 auto;
		line-height: 2
	}

	.calendar-item-title {
		font-size: 14px;
		padding-bottom: 6px;
		font-weight: 600;
		letter-spacing: 0;
		text-align: center
	}

	

	.sec-title:after {
		content: "";
		background: #333;
		position: absolute;
		height: 1px;
		top: 50px;
		left: 0;
		right: 0;
		width: 60px;
		margin: 0 auto
	}

	
	.entry-detail .bnr-wrap p {
		font-weight: 500;
		font-size: 13px;
		line-height: 1.6em;
		padding-bottom: 0;
		padding-top: 1em
	}

	.breadcrumb,
	.sec-title:after {
		display: none
	}

	

	.page-hero {
		padding: 60px 0 40px;
		width: 100%;
		margin: 0 auto
	}

	.page-hero-copy-img {
		width: 80%;
		margin: 0 auto
	}

	
	

	.page-hero-copy {
		font-size: 22px
	}

	
	.page-hero-sup {
		font-size: 13px;
		font-weight: 500;
		padding: 18px 10px;
		line-height: 1.2;
		display: inline-block;
		margin-top: 30px;
		border-top: 1px solid #333
	}

	.page-summary li,
	.sec-subcopy.serif,
	.sec-title,
	.timetable-item-time {
		line-height: 1.6
	}

	.inner-min {
		max-width: 960px;
		width: 86%;
		margin: auto
	}

	.sec-txt {
		font-size: 15px;
		padding: 0 0 60px
	}

	.sec-pic img {
		width: 100%;
		border-radius: 15px
	}

	.entry-detail {
		padding: 0 20px
	}

	.sec-title {
		font-size: 18px;
		font-weight: 600;
		padding: 0 0 15px;
		position: relative
	}

	.page-summary {
		padding: 60px 0
	}

	.page-summary li {
		text-align: left
	}

	.page-hero-pic img {
		margin-bottom: 0
	}

	p.sup.center {
		font-size: 12px;
		padding-top: 10px
	}

	.timetable-item-time {
		font-size: 13px;
		padding: 0
	}

	.timetable-item-title {
		font-size: 15px;
		font-weight: 600;
		line-height: 1.6;
		padding: 0;
		margin-bottom: 14px
	}

	.timetable-item p.sup {
		font-size: 12px;
		line-height: 1.4;
		padding: 6px 14px 0
	}

	span.price {
		background: #aa9f85;
		color: #fff;
		font-size: 13px;
		padding: 4px 6px;
		margin-left: 0;
		display: inline-block;
		line-height: 1em;
		position: relative;
		top: 1px
	}

	.sp-block {
		display: block;
		margin-bottom: 4px
	}


	.sec-subtitle {
		font-size: 19px;
		font-weight: 600;
		padding-bottom: 36px
	}

	.sec-pic {
		margin-bottom: 24px
	}

	.sec-subtitle2 {
		font-size: 16px;
		padding-bottom: 24px;
		line-height: 1.5
	}
}

</style>