@charset "UTF-8"; 

/* #news ------------------------------------------------------------------------------------------*/

#news, 
#blog {
	background-image: url(/assets/img/news/news_bg_pc.jpg); 
	background-size: cover; 
	background-position: center top; 
	display: block; 
	padding-bottom: 100px; 
}

/* #kv ------------------------------------------------------------------------------------------*/

main#news #kv, 
main#blog #kv {
	height: 495px; 
}

#news #kv .kv_wrap, 
#blog #kv .kv_wrap {
	width: 1177px; 
	margin: 0 auto; 
	height: 495px; 
	padding-bottom: 55px; 
}

#news #kv .kv_wrap .font_gar, 
#blog #kv .kv_wrap .font_gar {
	font-size: 95px; 
}

main.sub_page #kv h2 {
	text-align: left; 
	margin-top: 30px; 
}

#news .post_area {
	width: 1172px; 
	margin: 0 auto; 
}

#news .post_area .main_post {
	display: flex; 
	justify-content: space-between; 
	background-color: #FFF; 
	padding: 72px 53px; 
}

#news .post_area .main_post .post_imgArea {
	width: 617px; 
	order: 2; 
}

#news .post_area .main_post .post_textArea {
	width: 420px; 
	display: flex; 
	flex-wrap: nowrap; 
	flex-direction: column; 
	justify-content: flex-end; 
}

#news .post_area .main_post .post_textArea .post_tag {
	width: fit-content; 
	text-align: center; 
	background-color: #E8E5E4; 
	font-size: 14px; 
	display: inline-block; 
	padding: 0.1em 0.6em; 
	margin-bottom: 10px; 
}

#news .post_area .main_post .post_textArea .post_date {
	font-size: 21px; 
	font-weight: 400; 
	margin-bottom: 10px; 
}

#news .post_area .main_post .post_textArea .post_hashBox {
	margin-bottom: 10px; 
}

#news .post_area .main_post .post_textArea .post_hashBox .post_hash {
	display: inline-block; 
	font-size: 14px; 
}

#news .post_area .main_post .post_textArea .post_hashBox .post_hash:not(:last-of-type)::after {
	content: "/"; 
}

#news .post_area .main_post .post_textArea .post_head {
	font-size: 20px; 
	font-weight: 400; 
	line-height: normal; 
	margin-bottom: 10px; 
	display: -webkit-box; 
	-webkit-line-clamp: 2; 
	-webkit-box-orient: vertical; 
	overflow: hidden; 
	text-overflow: ellipsis; 
}

#news .post_area .main_post .post_textArea .post_text {
	font-size: 13px; 
	line-height: 184%; 
	width: 330px; 
	display: -webkit-box; 
	-webkit-line-clamp: 3; 
	-webkit-box-orient: vertical; 
	overflow: hidden; 
	text-overflow: ellipsis; 
}

#news .post_area .sub_postWrap {
	width: 1172px; 
	padding: 40px 32px; 
	display: flex; 
	flex-wrap: wrap; 
	justify-content: flex-start; 
	gap: 32px; 
	background-color: #FFF; 
	margin-top: 45px; 
}

#news .post_area .sub_postWrap .sub_post {
	width: 346px; 
}

#news .post_area .sub_postWrap .sub_post .post_date {
	font-size: 19px; 
	font-weight: 400; 
}

#news .post_area .sub_postWrap .sub_post .post_hashBox .post_hash {
	display: inline-block; 
	font-size: 12px; 
	margin-bottom: 20px; 
}

#news .post_area .sub_postWrap .sub_post .post_hashBox .post_hash:not(:last-of-type)::after {
	content: "/"; 
}

#news .post_area .sub_postWrap .sub_post .post_imgArea img {
	height: 240px; 
	object-fit: cover; 
}

#news .post_area .sub_postWrap .sub_post .title_wrap {
	display: flex; 
	justify-content: space-between; 
	align-items: center; 
	margin-top: 30px; 
	gap: 24px; 
}

#news .post_area .sub_postWrap .sub_post .title_wrap .post_head {
	font-size: 20px; 
	font-weight: 400; 
	line-height: 1.5; 
	display: -webkit-box; 
	-webkit-line-clamp: 2; 
	-webkit-box-orient: vertical; 
	overflow: hidden; 
	text-overflow: ellipsis; 
}

#news .btn_news {
	width: 48px; 
	height: 48px; 
	position: relative; 
	border: 1px solid #D9D9D9; 
	background-color: #FFF; 
	margin-left: auto; 
	transition: all ease 0.3s; 
}

#news .btn_news img {
	width: 10px; 
}

#news .sub_postWrap .btn_news {
	width: 40px; 
	height: 40px; 
	flex-shrink: 0; 
}

#news .sub_postWrap .btn_news img {
	width: 7px; 
}

#news .btn_news:hover {
	background-color: #E8E5E4; 
}

#news .btn_news a {
	width: 100%; 
	height: 100%; 
	display: flex; 
	align-items: center; 
	justify-content: center; 
}

.btn_news a:hover {
	filter: brightness(1); 
}

/* #blog ------------------------------------------------------------------------------------------*/

#blog.sub_page .blog_main {
	width: 1172px; 
	margin: 0 auto; 
}

#blog.sub_page .blog_main .blog_inner {
	width: 1172px; 
	margin: 0 auto; 
	padding: 95px 64px 60px; 
	background-color: #FFF; 
}

#blog.sub_page .blog_main .blog_title {
	font-size: 25px; 
	line-height: 1.5; 
	font-weight: 400; 
	text-align: center; 
}

#blog.sub_page .blog_main .blog_date {
	font-size: 14px; 
	font-weight: 400; 
	text-align: center; 
	margin-top: 40px; 
}

#blog.sub_page .blog_main .blog_img {
	margin: 50px auto 74px; 
}

#blog.sub_page .blog_main .blog_text {
	font-size: 19px; 
}

#blog.sub_page .blog_main .blog_text, 
#blog.sub_page .blog_main .blog_text p, 
#blog.sub_page .blog_main .blog_text img {
	margin-bottom: 1.5em; 
}

#blog.sub_page .blog_nav {
	width: 1172px; 
	margin: 65px auto 0; 
	display: flex; 
	justify-content: space-between; 
	font-size: 17px; 
}

#blog.sub_page .blog_nav .blog_btn a {
	width: 100%; 
	height: 100%; 
	display: block; 
	padding: 0.3em 3em; 
	transition: all ease 0.3s; 
	background-color: #FFF; 
}

#blog.sub_page .blog_nav .blog_btn a:hover {
	filter: brightness(1); 
	background-color: #E8E5E4; 
}

#blog.sub_page .blog_nav .blog_btn.btn_back .placeholder, 
#blog.sub_page .blog_nav .blog_btn.btn_next .placeholder {
	visibility: hidden; 
	display: inline-block; 
	width: 153px; 
}

.programTableWrap {
	width: 100%; 
	max-width: 100%; 
	overflow-x: scroll; 
	border: 5px solid #EAEAEA;	
}

.programTableWrap th, 
.programTableWrap td {
	width: 0px; 
	height: 0px; 
	vertical-align: middle; 
	padding: 0 0px; 
	border: 0px solid #CCC; 
}

.programTableWrap .fixed01 {
	position: sticky; 
	left: 0; 
	color: #FFF; 
	background: #FFF; 
}

.prgReserve a.linkWhiteArrow {
	font-family: "Shippori Mincho", serif; 
	font-size: 17px; 
	color: #FFF; 
	border: none; 
	outline: none; 
	background-color: #938994; 
	padding: 1em 1.5em; 
	cursor: pointer; 
	margin: 0 auto; 
	display: block; 
	text-align: center; 
	width: 40%; 
}

@media screen and (min-width: 813px) {
	.programTableWrap table img {
		max-width: 1800px; 
		width: auto; 
	}
}

@media screen and (max-width: 812px) {
	.programTableWrap table img {
		max-width: 950px; 
		width: auto; 
	}

	.prgReserve a.linkWhiteArrow {
		padding: 1em; 
		width: 100%; 
	}

	#blog.sub_page .blog_nav .blog_btn.btn_back .placeholder, 
	#blog.sub_page .blog_nav .blog_btn.btn_next .placeholder {
		visibility: hidden; 
		display: inline-block; 
		width: min(calc(168/812*100vw), 168px); 
	}
}

.inrWrap h2 {
	text-align: center; 
	margin-bottom: 1.5em; 
}

.substituteTable {
	width: 100%; 
	border-collapse: collapse; 
	border-left: 1px solid #CCC; 
}

.substituteTable th {
	width: 25%; 
	padding: 12px 10px; 
	background: #222222; 
	color: #FFF; 
	text-align: center; 
}

.substituteTable td {
	padding: 20px 10px; 
	background-color: #FFF; 
	text-align: center; 
}

.substituteTable th, 
.substituteTable td {
	border-right: 1px solid #CCC; 
}

.substituteTable tr {
	border-bottom: 1px solid #CCC; 
}

.seat {
	background-color: #FFF; 
	margin-top: 140px; 
}

.seat_top {
	margin-top: 0px; 
	margin-bottom: 50px; 
}

.seat h3 {
	color: #FFF; 
	background-color: #222; 
	text-align: center; 
	font-size: 26px; 
	font-weight: bold; 
	letter-spacing: 0.1em; 
	padding: 10px; 
}

.seat .seatWrap {
	display: flex; 
	justify-content: space-around; 
	padding: 40px 0px; 
}

.seat .seat01, 
.seat .seat02 {
	text-align: center; 
	width: 100%; 
	padding: 30px 0 50px; 
}

.seat .seat01 .seatTitle {
	display: inline-block; 
	min-width: 40%; 
	font-size: 18px; 
	font-weight: bold; 
	margin: 10px; 
	text-align: center; 
}

.seat .seat02 .seatTitle {
	display: inline-block; 
	min-width: 25%; 
	font-size: 18px; 
	font-weight: bold; 
	margin: 10px; 
}

.seat .seat01 p, 
.seat .seat02 p {
	text-align: center; 
	font-size: 20px; 
	font-weight: bold; 
	margin-bottom: 30px; 
}

.seat .seat01 .seatCaption, 
.seat .seat02 .seatCaption {
	display: block; 
	font-size: 14px; 
}

@media screen and (max-width: 900px) {
	.substituteTable th {
		padding: 3vw 2vw; 
		width: auto; 
	}

	.substituteTable td {
		padding: 3vw 3vw; 
	}

	.storeInfo .substituteTable th {
		padding: 3vw 4vw; 
		width: 25%; 
	}

	.storeInfo .substituteTable td {
		padding: 3vw 4vw; 
	}

	.storeInfo .substituteTable td p {
		margin-bottom: 3vw; 
	}

	.storeInfo .substituteTable td a {
		padding: 2vw 5vw; 
	}

	.seat {
		margin-top: 14vw; 
	}

	.seat h3 {
		font-size: 4.4vw; 
		padding: 2vw; 
	}

	.seat .seatWrap {
		display: block; 
	}

	.seat .seat01 {
		width: 100%; 
	}

	.seat .seat02 {
		width: 100%; 
		padding: 0 0 0 4vw; 
		margin: 0 auto; 
	}

	.seat .seat01 .seatCaption, 
	.seat .seat02 .seatCaption {
		text-align: left; 
	}
}

/* Liquid ------------------------------------------------------------------------------------------*/

@media (max-width: 1440px) {

	/* #news ------------------------------------------------------------------------------------------*/

	#news, 
	#blog {
		background-image: url(/assets/img/news/news_bg_pc.jpg); 
		background-size: cover; 
		background-position: center top; 
		display: block; 
		padding-bottom: min(calc(100/1440*100vw), 100px); 
	}

	/* #kv ------------------------------------------------------------------------------------------*/

	main#news #kv, 
	main#blog #kv {
		height: min(calc(495/1440*100vw), 495px); 
	}

	#news #kv .kv_wrap, 
	#blog #kv .kv_wrap {
		width: min(calc(1170/1440*100vw), 1170px); 
		margin: 0 auto; 
		height: min(calc(495/1440*100vw), 495px); 
		padding-bottom: min(calc(55/1440*100vw), 55px); 
		padding-left: 0; 
	}

	#news #kv .kv_wrap .font_gar, 
	#blog #kv .kv_wrap .font_gar {
		font-size: min(calc(95/1440*100vw), 95px); 
	}

	main.sub_page #kv h2 {
		text-align: left; 
		margin-top: min(calc(30/1440*100vw), 30px); 
	}

	#news .post_area {
		width: min(calc(1172/1440*100vw), 1172px); 
		margin: 0 auto; 
	}

	#news .post_area .main_post {
		display: flex; 
		justify-content: space-between; 
		background-color: #FFF; 
		padding: min(calc(72/1440*100vw), 72px) min(calc(53/1440*100vw), 53px); 
	}

	#news .post_area .main_post .post_imgArea {
		width: min(calc(617/1440*100vw), 617px); 
		order: 2; 
	}

	#news .post_area .main_post .post_textArea {
		width: min(calc(420/1440*100vw), 420px); 
		display: flex; 
		flex-wrap: nowrap; 
		flex-direction: column; 
		justify-content: flex-end; 
	}

	#news .post_area .main_post .post_textArea .post_tag {
		font-size: min(calc(14/1440*100vw), 14px); 
		margin-bottom: min(calc(10/1440*100vw), 10px); 
	}

	#news .post_area .main_post .post_textArea .post_date {
		font-size: min(calc(21/1440*100vw), 21px); 
		font-weight: 400; 
		margin-bottom: min(calc(10/1440*100vw), 10px); 
	}

	#news .post_area .main_post .post_textArea .post_hashBox {
		margin-bottom: min(calc(10/1440*100vw), 10px); 
	}

	#news .post_area .main_post .post_textArea .post_hashBox .post_hash {
		font-size: min(calc(14/1440*100vw), 14px); 
	}

	#news .post_area .main_post .post_textArea .post_head {
		font-size: min(calc(20/1440*100vw), 20px); 
		font-weight: 400; 
		line-height: normal; 
		margin-bottom: min(calc(10/1440*100vw), 10px); 
	}

	#news .post_area .main_post .post_textArea .post_text {
		font-size: min(calc(13/1440*100vw), 13px); 
		width: min(calc(330/1440*100vw), 330px); 
	}

	#news .post_area .sub_postWrap {
		width: min(calc(1172/1440*100vw), 1172px); 
		padding: min(calc(40/1440*100vw), 40px) min(calc(32/1440*100vw), 32px); 
		margin-top: min(calc(45/1440*100vw), 45px); 
		gap: min(calc(19/786*100vw), 33px); 
	}

	#news .post_area .sub_postWrap .sub_post {
		width: min(calc(346/1440*100vw), 346px); 
	}

	#news .post_area .sub_postWrap .sub_post .post_date {
		font-size: min(calc(19/1440*100vw), 19px); 
	}

	#news .post_area .sub_postWrap .sub_post .post_hashBox .post_hash {
		font-size: min(calc(12/1440*100vw), 12px); 
		margin-bottom: min(calc(20/1440*100vw), 20px); 
	}

	#news .post_area .sub_postWrap .sub_post .title_wrap {
		margin-top: min(calc(30/1440*100vw), 30px); 
	}

	#news .post_area .sub_postWrap .sub_post .title_wrap .post_head {
		font-size: min(calc(20/1440*100vw), 20px); 
	}

	#news .btn_news {
		width: min(calc(50/1440*100vw), 50px); 
		height: min(calc(50/1440*100vw), 50px); 
	}

	#news .btn_news img {
		width: min(calc(10/1440*100vw), 10px); 
	}

	#news .sub_postWrap .btn_news {
		width: min(calc(40/1440*100vw), 40px); 
		height: min(calc(40/1440*100vw), 40px); 
	}

	#news .sub_postWrap .btn_news img {
		width: min(calc(7/1440*100vw), 7px); 
	}

	/* #blog ------------------------------------------------------------------------------------------*/

	#blog.sub_page .blog_main {
		width: min(calc(1170/1440*100vw), 1170px); 
		margin: 0 auto; 
		padding: 0; 
	}

	#blog.sub_page .blog_main .blog_inner {
		width: 100%; 
		margin: 0 auto; 
		padding: min(calc(95/1440*100vw), 95px) min(calc(64/1440*100vw), 64px) min(calc(60/1440*100vw), 60px); 
		background-color: #FFF; 
	}

	#blog.sub_page .blog_main .blog_title {
		font-size: min(calc(25/1440*100vw), 25px); 
	}

	#blog.sub_page .blog_main .blog_date {
		font-size: min(calc(14/1440*100vw), 14px); 
		margin-top: min(calc(40/1440*100vw), 40px); 
	}

	#blog.sub_page .blog_main .blog_img {
		margin: min(calc(50/1440*100vw), 50px) auto min(calc(74/1440*100vw), 74px); 
	}

	#blog.sub_page .blog_main .blog_text {
		font-size: min(calc(19/1440*100vw), 19px); 
	}

	#blog.sub_page .blog_nav {
		width: min(calc(1170/1440*100vw), 1170px); 
		margin: min(calc(65/1440*100vw), 65px) auto 0; 
		display: flex; 
		justify-content: space-between; 
		font-size: min(calc(17/1440*100vw), 17px); 
	}
}

/* Smartphone ------------------------------------------------------------------------------------------*/

@media (max-width: 1000px) {

	/* #news ------------------------------------------------------------------------------------------*/

	#news, 
	#blog {
		background-image: url(/assets/img/news/news_bg_sp.jpg); 
		background-size: cover; 
		background-position: center top; 
		display: block; 
		padding-bottom: min(calc(32/786*100vw), 32px); 
	}

	/* #kv ------------------------------------------------------------------------------------------*/

	main#news #kv, 
	main#blog #kv {
		height: calc(454/786*100vw); 
	}

	#news #kv .kv_wrap, 
	#blog #kv .kv_wrap {
		width: 100%; 
		margin: 0 auto; 
		height: calc(454/786*100vw); 
		padding: 0 0 min(calc(50/786*100vw), 50px) min(calc(40/786*100vw), 40px); 
	}

	#news #kv .kv_wrap .font_gar, 
	#blog #kv .kv_wrap .font_gar {
		font-size: min(calc(100/786*100vw), 100px); 
	}

	main.sub_page #kv h2 {
		text-align: right; 
		margin-top: 0; 
	}

	#news .post_area {
		width: 100%; 
		padding: 0 min(calc(46/786*100vw), 46px); 
	}

	#news .post_area .main_post {
		display: flex; 
		justify-content: space-between; 
		flex-direction: column; 
		background-color: #FFF; 
		padding: min(calc(40/786*100vw), 40px) min(calc(34/786*100vw), 34px) min(calc(60/786*100vw), 60px); 
	}

	#news .post_area .main_post .post_imgArea {
		width: 100%; 
		order: 1; 
	}

	#news .post_area .main_post .post_textArea {
		order: 2; 
		width: 100%; 
		display: flex; 
		flex-wrap: nowrap; 
		flex-direction: column; 
		justify-content: flex-end; 
		margin-top: min(calc(30/786*100vw), 30px); 
	}

	#news .post_area .main_post .post_textArea .post_tag {
		width: fit-content; 
		text-align: center; 
		background-color: #E8E5E4; 
		font-size: min(calc(28/786*100vw), 28px); 
		display: inline-block; 
		padding: 0.1em 0.6em; 
		margin-bottom: min(calc(10/786*100vw), 10px); 
	}

	#news .post_area .main_post .post_textArea .post_date {
		font-size: min(calc(36/786*100vw), 36px); 
		margin-bottom: min(calc(20/786*100vw), 20px); 
	}

	#news .post_area .main_post .post_textArea .post_hashBox {
		margin-bottom: min(calc(20/786*100vw), 20px); 
	}

	#news .post_area .main_post .post_textArea .post_hashBox .post_hash {
		display: inline-block; 
		font-size: min(calc(24/786*100vw), 24px); 
	}

	#news .post_area .main_post .post_textArea .post_hashBox .post_hash:not(:last-of-type)::after {
		content: "/"; 
	}

	#news .post_area .main_post .post_textArea .post_head {
		font-size: min(calc(34/786*100vw), 34px); 
		margin-bottom: min(calc(20/786*100vw), 20px); 
	}

	#news .post_area .main_post .post_textArea .post_text {
		font-size: min(calc(22/786*100vw), 22px); 
		line-height: 190%; 
		width: 100%; 
		margin-bottom: min(calc(20/786*100vw), 20px); 
	}

	#news .post_area .sub_postWrap {
		width: 100%; 
		padding: min(calc(34/786*100vw), 34px) min(calc(22/786*100vw), 22px); 
		display: flex; 
		flex-wrap: wrap; 
		justify-content: flex-start; 
		gap: min(calc(13/786*100vw), 16px); 
		background-color: #FFF; 
		margin-top: min(calc(22/786*100vw), 22px); 
	}

	#news .post_area .sub_postWrap .sub_post {
		width: 32%; 
	}

	#news .post_area .sub_postWrap .sub_post .post_date {
		font-size: min(calc(22/786*100vw), 22px); 
		margin-bottom: 2%; 
	}

	#news .post_area .sub_postWrap .sub_post .post_hashBox {
		display: none; 
	}

	#news .post_area .sub_postWrap .sub_post .post_imgArea img {
		height: 18vw; 
	}

	#news .post_area .sub_postWrap .sub_post .title_wrap {
		display: flex; 
		flex-wrap: wrap; 
		justify-content: space-between; 
		align-items: center; 
		margin-top: min(calc(12/786*100vw), 12px); 
	}

	#news .post_area .sub_postWrap .sub_post .title_wrap .post_head {
		font-size: min(calc(22/786*100vw), 22px); 
		font-weight: 400; 
		line-height: 1.5; 
	}

	#news .btn_news {
		width: min(calc(54/786*100vw), 54px); 
		height: min(calc(68/786*100vw), 68px); 
	}

	#news .btn_news img {
		width: min(calc(15/786*100vw), 15px); 
	}

	#news .sub_postWrap .btn_news {
		display: none; 
	}

	/* #blog ------------------------------------------------------------------------------------------*/

	#blog.sub_page {
		padding: 0 0 min(calc(70/786*100vw), 70px); 
	}

	#blog.sub_page .blog_main {
		width: 100%; 
		padding: 0 min(calc(46/786*100vw), 46px); 
	}

	#blog.sub_page .blog_main .blog_inner {
		padding: min(calc(70/786*100vw), 70px) min(calc(46/786*100vw), 46px) min(calc(32/786*100vw), 32px); 
	}

	#blog.sub_page .blog_main .blog_title {
		font-size: min(calc(26/786*100vw), 26px); 
	}

	#blog.sub_page .blog_main .blog_date {
		font-size: min(calc(22/786*100vw), 22px); 
		margin-top: min(calc(15/786*100vw), 15px); 
	}

	#blog.sub_page .blog_main .blog_img {
		margin: min(calc(20/786*100vw), 20px) auto min(calc(36/786*100vw), 36px); 
	}

	#blog.sub_page .blog_main .blog_text {
		font-size: min(calc(22/786*100vw), 22px); 
		margin-bottom: 2em; 
	}

	#blog.sub_page .blog_main .blog_text:last-of-type {
		margin-bottom: 0; 
	}

	#blog.sub_page .blog_nav {
		width: 100%; 
		padding: 0 min(calc(46/786*100vw), 46px); 
		margin: min(calc(38/786*100vw), 38px) auto 0; 
		display: flex; 
		justify-content: space-between; 
		font-size: min(calc(24/786*100vw), 24px); 
	}

	#blog.sub_page .blog_nav .blog_btn a {
		width: 100%; 
		height: 100%; 
		display: block; 
		padding: 0.3em 2em; 
		transition: all ease 0.3s; 
		background-color: #FFF; 
	}

	#blog.sub_page .blog_nav .blog_btn a:hover {
		filter: brightness(1); 
		background-color: #E8E5E4; 
	}
}