@charset "utf-8";
.loading_base {
		position: fixed;
		top: 0;
		left: 0;
		width: 100%;
		height: 100vh;
		z-index: 5000;
		background: #fff;
}
.loading_logo {
		width: 150px;
		margin: auto;
		position: absolute;
		top: calc(50% - 75px);
		left: 0;
		right: 0;
		bottom: 0;
		z-index: 10;
}
.loading_logo img {
		width: 100%;
		height: auto;
}
@media(max-width: 767px) {
		.loading_logo {
				width: 100px;
				margin: auto;
				top: calc(50% - 50px);
		}
}
.fadeInNml {
		opacity: 0;
		transition: opacity 0.4s;
}
.fadeInNmlActive {
		opacity: 1;
}
.kv-1, .kv-2, .kv-3 {
		opacity: 0;
		transition: opacity 1s;
}
.isStart .kv-1 {
		opacity: 1;
}
.isStart .kv-2 {
		transition-delay: 0.3s;
		opacity: 1;
}
.isStart .kv-3 {
		transition-delay: 0.6s;
		opacity: 1;
}
.isDone .kv-1, .isDone .kv-2, .isDone .kv-3 {
		opacity: 1;
}
/* ========== */
.kv, .kv_wrap h1, .kv_wrap h2, .kv_wrap div {
		background-size: 2560px;
		height: 797px;
}
@media(min-width: 1681px) {
		.kv, .kv_wrap h1, .kv_wrap h2, .kv_wrap div {
				background-size: 3072px;
				height: 956px;
		}
}
.kv {
		background-repeat: no-repeat;
		background-position: center top;
		background-image: url("../images/kv_base_large.jpg");
		position: relative;
}
.kv_wrap {
		position: relative;
}
.kv_wrap h1, .kv_wrap h2, .kv_wrap div {
		position: absolute;
		top: 0;
		left: 0;
		background-repeat: no-repeat;
		background-position: center center;
		width: 100%;
		text-indent: -9999px;
}
.kv_wrap .kv-1 {
		background-image: url("../images/kv_title_large.png")
}
.kv_wrap .kv-2 {
		background-image: url("../images/kv_caption_large.png")
}
@media(min-width: 961px) and (max-height: 700px) {
		.kv, .kv_wrap h1, .kv_wrap h2, .kv_wrap div {
				background-size: 1700px !important;
				height: 530px !important;
		}
}
@media(max-width: 1450px) {
		.kv, .kv_wrap h1, .kv_wrap h2, .kv_wrap div {
				background-size: 1856px;
				height: 578px;
		}
}
@media(max-width: 960px) {
		.kv, .kv_wrap h1, .kv_wrap h2, .kv_wrap div {
				background-repeat: no-repeat;
				background-position: center top;
				background-size: 100%;
				height: 69vw;
		}
		.kv {
				background-image: url("../images/kv_base_tablet.jpg");
		}
		.kv_wrap .kv-1 {
				background-image: url("../images/kv_title_tablet.png")
		}
		.kv_wrap .kv-2 {
				background-image: url("../images/kv_caption_tablet.png")
		}
}
@media(max-width: 767px) {
		.first_view {
				margin-top: 50px;
				background-repeat: no-repeat;
				background-position: 0 0;
				background-size: 100%;
				background-image: url("../images/kv_all_sp.jpg");
		}
		.kv {
				background: none !important;
				height: 139vw;
		}
		.kv_wrap h1, .kv_wrap h2, .kv_wrap div {
				background-repeat: no-repeat;
				background-position: 0 0;
				background-size: 100%;
				height: 139vw;
		}
		.kv_wrap .kv-1 {
				background-image: url("../images/kv_title_sp.png")
		}
		.kv_wrap .kv-2 {
				background-image: url("../images/kv_caption_sp.png")
		}
}
/* ========== */
.exhibition_section {
		padding: 150px 40px 150px;
		box-sizing: border-box;
		background-repeat: repeat-y;
		background-position: center top;
		background-size: 2560px;
		background-image: url("../images/top_bg_pc.jpg");
		position: relative;
}
@media(min-width: 1681px) {
		.exhibition_section {
				background-size: 3072px;
		}
}
@media(max-width: 1450px) {
		.exhibition_section {
				background-position: center top;
				background-size: 1856px;
		}
}
@media(max-width: 960px) {
		.exhibition_section {
				background-position: center top;
				background-size: 100%;
				background-image: url("../images/top_bg_tablet.jpg")
		}
}
.exhibition_title {
		max-width: 1000px;
		margin: 0 auto 80px;
}
.exhibition_hd {
		font-family: "Libre Baskerville", serif;
		font-optical-sizing: auto;
		font-size: 34px;
		font-weight: 400;
}
.exhibition_inner {
		max-width: 1000px;
		margin: 0 auto;
		display: flex;
		position: relative;
}
.exhibition_inner::before, .exhibition_inner::after {
		content: '';
		display: block;
		position: absolute;
		background-repeat: no-repeat;
		background-position: 0 0;
		background-size: 100%;
}
.exhibition_left {
		width: 210px;
}
.exhibition_label {
		position: relative;
		width: 130px;
		padding-top: 33px;
}
.exhibition_label::before {
		content: '';
		display: block;
		position: absolute;
		top: 0;
		left: 0;
		width: 100%;
		height: 1px;
		transform-origin: left center;
		background: #999;
		transition: transform 0.3s cubic-bezier(0.16, 1, 0.3, 1);
}
.exhibition_label .exhibition_label_en {
		position: absolute;
		top: 33px;
		left: 15px;
		font-size: 14px;
		transform-origin: left top;
		font-family: "Libre Baskerville", serif;
		font-optical-sizing: auto;
		letter-spacing: 1.4px;
		white-space: nowrap;
		transform: rotate(90deg)
}
.exhibition_sb {
		margin: 0 0 24px 56px;
		width: 70px;
		font-size: 64px;
		font-weight: 400;
		line-height: 1;
		writing-mode: vertical-rl
}
.exhibition_caption {
		flex: 1;
}
.exhibition_caption p {
		font-size: 18px;
		line-height: 2.4;
		margin: 0 0 2em;
		letter-spacing: 0.08em
}
.exhibition_caption p.last {
		margin-bottom: 0;
}
@media(max-width: 1400px) {
		.exhibition_inner::before {
				width: 325px;
				height: 455px;
				top: -304px;
				right: -210px;
		}
		.exhibition_inner::after {
				width: 223px;
				height: 229px;
				left: -114px;
				bottom: -210px;
		}
}
@media(max-width: 960px) {
		.exhibition_section {
				padding: 100px 40px;
		}
		.exhibition_left {
				width: 160px;
		}
		.exhibition_hd {
				font-size: 28px;
		}
		.exhibition_label {
				width: 110px;
		}
		.exhibition_sb {
				margin: 0px 0 24px 40px;
				width: 60px;
				font-size: 50px;
		}
		.exhibition_caption p {
				font-size: 16px;
		}
		.exhibition_inner::before {
				display: none
		}
		.exhibition_inner::after {
				display: none
		}
}
@media(max-width: 767px) {
		.exhibition_section {
				padding: 80px 20px 90px;
				background: rgba(255, 255, 255, 0.5);
		}
		.exhibition_section::before, .exhibition_section::after {
				content: '';
				display: block;
				position: absolute;
				background-repeat: no-repeat;
				background-position: 0 0;
				background-size: 100%;
		}
		.exhibition_title {
				margin: 0 auto 25px;
		}
		.exhibition_hd {
				font-size: 22px;
		}
		.exhibition_inner {
				display: block;
		}
		.exhibition_left {
				width: auto;
				margin-bottom: 40px;
		}
		.exhibition_label {
				width: auto;
				padding: 3px 0 3px 15px;
		}
		.exhibition_label::before {
				top: 0;
				left: 0;
				width: 1px;
				height: 100%;
		}
		.exhibition_label .exhibition_label_en {
				position: static;
				top: inherit;
				left: inherit;
				font-size: 14px;
				transform: rotate(0deg)
		}
		.exhibition_sb {
				width: auto;
				font-size: 34px;
				writing-mode: inherit;
				margin: 0 0 15px;
		}
		.exhibition_caption p {
				line-height: 2.0;
				margin-bottom: 1.5em;
		}
		.exhibition_caption p br {
				display: none
		}
}
/* ========== */
.about_section {
		background: #fff;
		padding: 160px 40px;
}
.about_inner {
		max-width: 890px;
		margin: 0 auto;
		display: flex;
}
.about_inner_left {
		width: 105px;
}
.about_hd {
		font-size: 24px;
		line-height: 1;
		font-weight: 400;
		writing-mode: vertical-rl;
}
.about_hd span {
		position: relative;
		display: inline-block;
		padding-bottom: 1.1em;
}
.about_hd span::before {
		content: '';
		display: block;
		position: absolute;
		top: 0;
		right: -14px;
		width: 1px;
		height: 100%;
		background: #999;
		transform-origin: center top;
		transition: transform 0.3s cubic-bezier(0.16, 1, 0.3, 1);
}
.about_hd span::after {
		content: '？';
		display: block;
		position: absolute;
		bottom: 0;
		left: 5px;
}
.about_caption {
		flex: 1;
		position: relative;
}
.about_caption p {
		font-size: 16px;
		line-height: 2.0;
		margin: 0 0 1.5em;
		position: relative;
		z-index: 5;
		font-weight: 400;
}
.about_caption p:last-child {
		margin-bottom: 0;
}
@media(max-width: 960px) {
		.about_section {
				padding: 100px 40px;
		}
		.about_inner_left {
				width: 80px;
		}
		.about_caption::after {
				display: none
		}
}
@media(max-width: 767px) {
		.about_section {
				padding: 80px 20px 150px;
				position: relative;
		}
		.about_inner {
				display: block;
		}
		.about_inner_left {
				width: auto;
				margin: 0 0 28px
		}
		.about_hd {
				font-size: 22px;
				writing-mode: inherit;
		}
		.about_hd span {
				padding: 0;
		}
		.about_hd span::after {
				display: inherit;
				position: static;
				bottom: inherit;
				left: inherit;
		}
		.about_hd span::before {
				top: inherit;
				right: inherit;
				bottom: -8px;
				left: 0;
				width: 100%;
				height: 1px;
				background: #999;
				transition: transform 0.3s cubic-bezier(0.16, 1, 0.3, 1);
		}
		.about_caption::after {
				display: none
		}
		.about_caption p {
				line-height: 1.8;
				margin: 0 0 1em;
		}
}
/* ========== */
.venue_visual {
		background-repeat: no-repeat;
		background-position: center center;
		background-size: cover;
		background-image: url("../images/top_venue_pc.jpg");
		height: 520px;
}
@media(max-width: 767px) {
		.venue_visual {
				background-image: url("../images/top_venue_sp.jpg");
				height: 64vw;
		}
}
.venue_section {
		background: #1e1e1e;
		color: #fff;
		padding: 130px 40px;
}
.venue_wrap {
		max-width: 610px;
		margin: 0 auto;
		position: relative;
}
.venue_title {
		margin-bottom: 65px;
		font-size: 26px;
}
.venue_title span {
		font-size: 200%;
		letter-spacing: 6px;
		margin-right: 25px;
}
.venue_item {
		display: flex;
		border-bottom: 1px solid #555;
		padding: 35px 0;
		font-size: 16px;
}
.venue_wrap .venue_item.first {
		border-top: 1px solid #555;
}
.venue_item dt {
		line-height: 1.8;
		width: 175px;
		text-box: trim-both cap alphabetic;
}
.venue_item dd {
		flex: 1;
		line-height: 1.8;
		text-box: trim-both cap alphabetic;
}
.venue_item dd p {
		margin-bottom: 1em;
}
.googlemap_link, .venue_item small {
		font-size: 85%;
}
.googlemap_link {
		text-box: trim-both cap alphabetic;
}
.googlemap_link a {
		color: #8e8e8e;
		text-decoration: none;
		letter-spacing: 0;
}
.googlemap_link a span {
		padding-left: 15px;
		position: relative;
}
.googlemap_link span::before {
		content: '';
		display: block;
		position: absolute;
		top: calc(50% - 5px);
		left: 0;
		width: 9px;
		height: 9px;
		background-repeat: no-repeat;
		background-position: 0 0;
		background-size: 9px;
		background-image: url("../images/icon_blank.png")
}
.googlemap_link a span::after {
		content: '';
		display: block;
		position: absolute;
		bottom: -3px;
		left: 0;
		width: 100%;
		height: 1px;
		background: #8e8e8e;
		transition: opacity 0.2s;
}
@media (hover: hover) {
		.googlemap_link a:hover span::after {
				opacity: 0
		}
}
@media(max-width: 1400px) {
		.venue_wrap::after {
				bottom: -232px;
				left: -315px;
				width: 229px;
				height: 229px;
		}
}
@media(max-width: 960px) {
		.venue_section {
				padding: 100px 40px;
		}
		.venue_title {
				margin-bottom: 45px;
				font-size: 22px;
		}
		.venue_wrap::after {
				display: none
		}
}
@media(max-width: 767px) {
		.venue_section {
				padding: 80px 20px;
				position: relative;
		}
		.venue_title {
				margin-bottom: 35px;
				font-size: 16px;
				text-align: center;
				width: auto;
		}
		.venue_title span {
				font-size: 200%;
				display: block;
				text-align: center;
				margin: 0 0 10px;
		}
		.venue_item {
				padding: 30px 0;
		}
		.venue_item dt {
				width: 4em;
		}
}
/* ========== */
.products_all {
		background: #EAEBEB;
		padding-top: 100px;
		padding-bottom: 40px;
}
footer {
		background: #EAEBEB;
}