@charset "UTF-8";

@import "base.css";
@import "main.css";

/* -------------------------------------
 *	Teaser
 * ------------------------------------- */

header #teaser {
	width: auto;
	height: 800px;
	margin: 120px 75px 100px;
}
header #teaser #teaserSlider,
header #teaser #teaserSlider div {
	width: 100%;
	height: 800px;
}
header #teaser #teaserSlider div img {
	width: 100%;
	height: 100%;
	object-fit: cover;
	object-position: 50% 50%;
}

@media screen and (max-width : 970px) {
	header #teaser {
		width: 100%;
		height: 500px;
		margin-top: 0;
		margin-left: 0;
		margin-right: 0;
	}
	header #teaser #teaserSlider,
	header #teaser #teaserSlider div {
		width: 100%;
		height: 500px;
	}
}


/* -------------------------------------
 *	Message
 * ------------------------------------- */

#indexMessage {
	display: flex;
	justify-content: space-between;
	align-items: stretch;
	margin: 0 75px 100px;
}
#indexMessage #indexMessagePic,
#indexMessage #indexMessageBody {
	width: calc(50% - 60px);
}

/* Left side（写真）
---------------------------------------- */
#indexMessage #indexMessagePic {
	position: relative;
	height: 650px;
}
#indexMessage #indexMessagePic figure {
	position: absolute;
}
#indexMessage #indexMessagePic figure.indexMessagePicTop {
	top: 0;
	left: 85px;
}
#indexMessage #indexMessagePic figure.indexMessagePicMiddle {
	top: 170px;
	right: 0;
}
#indexMessage #indexMessagePic figure.indexMessagePicBottom {
	top: 400px;
	left: 0;
}

/* Right side（本文）
---------------------------------------- */
#indexMessage #indexMessageBody h2 {
	line-height: 100%;
	padding-bottom: 12px;
	margin-bottom: 60px;
	font-family: "Barlow", sans-serif;
	font-size: 50px;
	font-weight: 700;
	position: relative;
}
#indexMessage #indexMessageBody h2 span {
	display: block;
	padding-top: 8px;
	margin-bottom: 2px;
	font-family: "Noto Sans JP", sans-serif;
	font-size: 14px;
	font-weight: 700;
}
#indexMessage #indexMessageBody h2::after {
	position: absolute;
	content: "";
	background-color: #333;
	width: 3.5rem;
	height: 2px;
	bottom: 0;
	left: 0;
}
#indexMessage #indexMessageBody p {
	line-height: 2.0;
	margin-bottom: 2em;
}
#indexMessage #indexMessageLast {
	display: flex;
	justify-content: space-between;
}
#indexMessage #indexMessageLast a {
	color: #333;
}
#indexMessage #indexMessageLast a:hover {
	color: #f8931f;
}
#indexMessage #indexMessageLast a::before {
	content: "";
	display: inline-block;
	width: 15px;
	height: 15px;
	margin-right: 0.5em;
	background: #dadcdc;
	border-radius: 50%;
	vertical-align: -3px;
}
#indexMessage #indexMessageLast a::after {
	content: "";
	display: inline-block;
	width: 36px;
	height: 10px;
	margin-left: 1em;
	background: #333;
	clip-path: polygon(0 45%, 75.9% 45%, 75.9% 0, 100% 50%, 75.9% 100%, 75.9% 55%, 0 55%);
}
#indexMessage #indexMessageLast a:hover::after {
	background: #f8931f;
}

@media screen and (max-width : 970px) {
	#indexMessage {
		width: 96%;
		margin-left: auto;
		margin-right: auto;
	}
	#indexMessage #indexMessagePic,
	#indexMessage #indexMessageBody {
		width: 46%;
	}
	#indexMessage #indexMessageBody p br:not(.reserve) {
		display: none;
	}
	#indexMessage #indexMessageLast figure {
		display: none;
	}
}
@media screen and (max-width : 800px) {
	#indexMessage {
		flex-direction: column-reverse;
	}
	#indexMessage #indexMessagePic,
	#indexMessage #indexMessageBody {
		width: 100%;
		height: 100%;
	}
	#indexMessage #indexMessagePic {
		display: flex;
		align-items: stretch;
	}
	#indexMessage #indexMessagePic figure {
		position: static;
	}
	#indexMessage #indexMessagePic figure img {
		width: 100%;
		height: 100%;
		object-fit: cover;
		object-position: 50% 50%;
	}
}

/* -------------------------------------
 *	Event
 * ------------------------------------- */

#eventBox {
	background: linear-gradient(180deg, #ffffff 0%, #ffffff 50%, #e9e9e9 50%, #e9e9e9 100%);
	width: 100%;
	height: auto;
	margin-bottom: 100px;
	position: relative;
}
#eventWrap {
	display: flex;
	justify-content: space-between;
	width: 96%;
	max-width: 1450px;
	margin-left: auto;
	margin-right: auto;
}

/* 企画展
---------------------------------------- */
#eventExpo {
	width: 420px;
	padding-top: 35px;
	padding-bottom: 30px;
	background: #333;
}
#eventExpo::after {
	content: 'EXHIBITION';
	color: rgba(255, 255, 255, 0.07);
	font-family: "Barlow", sans-serif;
	font-size: 110px;
	font-weight: 700;
	white-space: nowrap;
	transform: rotate(-90deg);
	position: absolute;
	left: -150px;
	bottom: 200px;
	z-index: 0;
}
#eventExpo h2 {
	padding-bottom: 4px;
	margin-bottom: 25px;
	color: #fff;
	font-family: "Barlow", sans-serif;
	font-size: 24px;
	font-weight: 700;
	text-align: center;
	position: relative;
}
#eventExpo h2::after {
	position: absolute;
	content: "";
	background-color: #fff;
	width: 3.5rem;
	height: 2px;
	bottom: 0;
	left: calc(50% - 1.75rem);
}
#eventExpo figure {
	width: 240px;
	margin-left: auto;
	margin-right: auto;
	margin-bottom: 15px;
}
#eventExpo figure img {
	width: 100%;
}
#eventExpo h3 {
	margin-bottom: 20px;
	text-align: center;
}
#eventExpo h3 a {
	color: #fff;
	font-family: "Barlow", sans-serif;
	font-size: 18px;
	font-weight: 700;
}
#eventExpo p.expoPeriod {
	color: #fff;
	text-align: center;
}
#eventExpo p.expoPeriod span {
	display: inline-block;
	margin-right: 1em;
	padding: 2px 7px;
	color: #fff;
	font-family: "Barlow", sans-serif;
	font-size: 12px;
	font-weight: 700;
	text-align: center;
	background: #7f7f7f;
}

/* その他のイベント
---------------------------------------- */
#eventOther {
	width: 96%;
	max-width: 930px;
}
#eventOther h2 {
	line-height: 100%;
	padding-bottom: 12px;
	margin-bottom: 60px;
	font-family: "Barlow", sans-serif;
	font-size: 50px;
	font-weight: 700;
	position: relative;
}
#eventOther h2 span {
	display: block;
	padding-top: 8px;
	margin-bottom: 2px;
	font-family: "Noto Sans JP", sans-serif;
	font-size: 14px;
	font-weight: 700;
}
#eventOther h2::after {
	position: absolute;
	content: "";
	background-color: #333;
	width: 3.5rem;
	height: 2px;
	bottom: 0;
	left: 0;
}

/* イベントアイテム */
#eventOther ul {
	display: flex;
	align-items: stretch;
	margin-bottom: 30px;
}
#eventOther ul li {
	width: 100%;
	max-width: 300px;
	margin-left: 5px;
	margin-right: 5px;
	background: #fff;
}
#eventOther ul li figure {
	height: 250px;
	overflow: hidden;
}
#eventOther ul li figure.noImage {
	height: 250px;
	background: #d9d9d9;
}
#eventOther ul li figure.noImage a {
	display: flex;
	justify-content: center;
	align-items: center;
	width: 100%;
	height: 100%;
	color: #7f7f7f;
	font-family: "Noto Sans JP", sans-serif;
	font-size: 28px;
	font-weight: 700;
}
#eventOther ul li .eventOtherList {
	width: 100%;
	padding: 25px 25px 30px;
	background: #fff;
	box-sizing: border-box;
}
#eventOther ul li .eventOtherList p.expoPeriod {
	margin-bottom: 15px;
}
#eventOther ul li .eventOtherList p.expoPeriod span {
	display: inline-block;
	padding: 2px 7px;
	margin-right: 1em;
	color: #fff;
	font-family: "Barlow", sans-serif;
	font-size: 12px;
	font-weight: 700;
	text-align: center;
	background: #7f7f7f;
}
#eventOther ul li h3 {
	line-height: 1.2;
	margin-bottom: 15px;
}
#eventOther ul li h3 a {
	color: #333;
	font-family: "Noto Sans JP", sans-serif;
	font-size: 17px;
	font-weight: 700;
}
#eventOther ul li p.eventDetail {
	text-align: right;
	z-index: 50;
}
#eventOther ul li p.eventDetail a {
	color: #333;
}
#eventOther ul li p.eventDetail a:hover {
	color: #f8931f;
}
#eventOther ul li p.eventDetail a::before {
	content: "";
	display: inline-block;
	width: 15px;
	height: 15px;
	margin-right: 0.5em;
	background: #dadcdc;
	border-radius: 50%;
	vertical-align: -3px;
}
#eventOther ul li p.eventDetail a::after {
	content: "";
	display: inline-block;
	width: 36px;
	height: 10px;
	margin-left: 1em;
	background: #333;
	clip-path: polygon(0 45%, 75.9% 45%, 75.9% 0, 100% 50%, 75.9% 100%, 75.9% 55%, 0 55%);
}
#eventOther ul li p.eventDetail a:hover::after {
	background: #f8931f;
}

/* イベントアイテム */
#eventOther .toEventBygone a {
	color: #333;
}
#eventOther .toEventBygone a:hover {
	color: #f8931f;
}
#eventOther .toEventBygone a::before {
	content: "";
	display: inline-block;
	width: 15px;
	height: 15px;
	margin-right: 0.5em;
	background: #dadcdc;
	border-radius: 50%;
	vertical-align: -3px;
}
#eventOther .toEventBygone a::after {
	content: "";
	display: inline-block;
	width: 36px;
	height: 10px;
	margin-left: 1em;
	background: #333;
	clip-path: polygon(0 45%, 75.9% 45%, 75.9% 0, 100% 50%, 75.9% 100%, 75.9% 55%, 0 55%);
}
#eventOther .toEventBygone a:hover::after {
	background: #f8931f;
}

@media screen and (max-width : 1450px) {
	#eventBox {
		padding-top: 30px;
		background: #e9e9e9;
	}
	#eventWrap {
		flex-direction: column;
		justify-content: center;
		padding-bottom: 30px;
	}
	#eventExpo {
		width: 100%;
		max-width: 420px;
		margin-left: auto;
		margin-right: auto;
		margin-bottom: 30px;
	}
	#eventOther {
		max-width: initial;
		margin-left: auto;
		margin-right: auto;
	}
	#eventOther ul {
		flex-wrap: wrap;
		justify-content: center;
	}
	#eventOther ul li {
		margin-bottom: 10px;
	}
}


/* -------------------------------------
 *	News & Topics
 * ------------------------------------- */

#indexNews {
	display: flex;
	justify-content: space-between;
	width: 96%;
	max-width: 1100px;
	margin-left: auto;
	margin-right: auto;
	margin-bottom: 80px;
}

/* Title
---------------------------------------- */
#indexNews #indexNewsTit {
	width: 470px;
}
#indexNews #indexNewsTit h2 {
	line-height: 100%;
	padding-bottom: 12px;
	margin-bottom: 100px;
	font-family: "Barlow", sans-serif;
	font-size: 50px;
	font-weight: 700;
	position: relative;
}
#indexNews #indexNewsTit h2 span {
	display: block;
	padding-top: 8px;
	margin-bottom: 2px;
	font-family: "Noto Sans JP", sans-serif;
	font-size: 14px;
	font-weight: 700;
}
#indexNews #indexNewsTit h2::after {
	position: absolute;
	content: "";
	background-color: #333;
	width: 3.5rem;
	height: 2px;
	bottom: 0;
	left: 0;
}
#indexNews #indexNewsTit p a {
	color: #333;
}
#indexNews #indexNewsTit p a:hover {
	color: #f8931f;
}
#indexNews #indexNewsTit p a::before {
	content: "";
	display: inline-block;
	width: 15px;
	height: 15px;
	margin-right: 0.5em;
	background: #dadcdc;
	border-radius: 50%;
	vertical-align: -3px;
}
#indexNews #indexNewsTit p a::after {
	content: "";
	display: inline-block;
	width: 36px;
	height: 10px;
	margin-left: 1em;
	background: #333;
	clip-path: polygon(0 45%, 75.9% 45%, 75.9% 0, 100% 50%, 75.9% 100%, 75.9% 55%, 0 55%);
}
#indexNews #indexNewsTit p a:hover::after {
	background: #f8931f;
}

/* News List
---------------------------------------- */
#indexNews #indexNewsBody {
	flex: 1;
}
#indexNews #indexNewsBody ul li {
	padding-left: 10px;
	padding-right: 10px;
	padding-bottom: 20px;
	margin-bottom: 25px;
	border-bottom: 1px solid #333;
	box-sizing: border-box;
}
#indexNews #indexNewsBody ul li p.newsDate {
	margin-bottom: 10px;
}
#indexNews #indexNewsBody ul li p.newsDate span {
	padding-left: 5px;
	padding-right: 5px;
	margin-left: 1em;
	color: #fff;
	font-size: 12px;
	background: #333;
}
#indexNews #indexNewsBody ul li p a {
	color: #333;
}
#indexNews #indexNewsBody ul li p a:hover {
	color: #f8931f;
}

@media screen and (max-width : 970px) {
	#indexNews {
		flex-direction: column;
		justify-content: center;
	}
	#indexNews #indexNewsTit {
		width: 100%;
	}
	#indexNews #indexNewsTit h2 {
		margin-bottom: 10px;
	}
	#indexNews #indexNewsTit p {
		margin-bottom: 30px;
		text-align: right;
	}
}


/* -------------------------------------
 *	Instagram
 * ------------------------------------- */

#instagram {
	width: 100%;
	padding-top: 80px;
	padding-bottom: 60px;
	margin-bottom: 80px;
	background: #e9e9e9;
	position: relative;
}
#instagram::before {
	content: "Official SNS";
	line-height: 1.0;
	color: #d3d7d7;
	font-family: "Barlow", sans-serif;
	font-size: clamp(30px, 14vw, 175px);
	font-weight: 700;
	white-space: nowrap;
	position: absolute;
	top: 0;
	right: 0;
	z-index: 10;
}
#instaWrap {
	width: 96%;
	max-width: 1100px;
	margin-left: auto;
	margin-right: auto;
	position: relative;
	z-index: 50;
}
#instagram h2 {
	margin-bottom: 30px;
	font-family: "Barlow", sans-serif;
	font-size: 35px;
	font-weight: 700;
}
#instagram h2 span {
	margin-left: 2em;
	color: #838383;
}

@media screen and (max-width : 970px) {
	#instagram {
		padding-top: 2.5vw;
	}
}


/* -------------------------------------
 *	Visit
 * ------------------------------------- */

/* Layout
---------------------------------------- */
#indexVisit {
	width: 96%;
	max-width: 1100px;
	margin-left: auto;
	margin-right: auto;
}
#indexVisit #indexVisitWrap {
	display: flex;
	justify-content: space-between;
}
#indexVisit .indexVisitColumn {
	width: calc(50% - 20px);
}
#indexVisit .indexVisitItem {
	padding-bottom: 20px;
	margin-bottom: 20px;
	border-bottom: 1px solid #333;
}

/* Title
---------------------------------------- */
#indexVisit h2 {
	line-height: 100%;
	padding-bottom: 12px;
	margin-bottom: 50px;
	font-family: "Barlow", sans-serif;
	font-size: 50px;
	font-weight: 700;
	text-align: center;
	position: relative;
}
#indexVisit h2 span {
	display: block;
	padding-top: 8px;
	margin-bottom: 2px;
	font-family: "Noto Sans JP", sans-serif;
	font-size: 14px;
	font-weight: 700;
}
#indexVisit h2::after {
	position: absolute;
	content: "";
	background-color: #333;
	width: 3.5rem;
	height: 2px;
	bottom: 0;
	left: calc(50% - 1.75rem);
}
#indexVisit .indexVisitColumn h3 {
	margin-bottom: 15px;
	font-family: "Barlow", sans-serif;
	font-size: 16px;
	font-weight: 700;
}
#indexVisit .indexVisitColumn h3::before {
	content: "";
	display: inline-block;
	width: 14px;
	height: 14px;
	margin-right: 0.5em;
	vertical-align: -2px;
	background: #333;
}

/* Table
---------------------------------------- */
#indexVisit .indexVisitItem table {
	width: 100%;
	margin-bottom: 0.5em;
	border: 1px solid #dadada;
}
#indexVisit .indexVisitItem table th,
#indexVisit .indexVisitItem table td {
  padding-top: 0.5em;
  padding-bottom: 0.5em;
  border: 1px solid #dadada;
}
#indexVisit .indexVisitItem table th {
	width: 16em;
	font-weight: 700;
	vertical-align: middle;
	background: #f6f6f6;
}
#indexVisit .indexVisitItem table td {
	text-align: center;
	vertical-align: middle;
}

/* List
---------------------------------------- */
#indexVisit .indexVisitItem ul li {
	margin-left: 1.5em;
	text-indent: -1.5em;
}
#indexVisit .indexVisitItem ul li::before {
	content: "※";
	margin-right: 0.5em;
}

/* Cafe JJ
---------------------------------------- */
#indexVisit .indexVisitJJ {
	display: flex;
	justify-content: space-between;
}
#indexVisit .indexVisitJJ figure {
	width: 230px;
	margin-right: 20px;
}
#indexVisit .indexVisitJJ div {
	flex: 1;
}
#indexVisit .indexVisitJJ h4 {
	font-family: "Noto Sans JP", sans-serif;
	font-size: 16px;
	font-weight: 700;
}

/* Other
---------------------------------------- */
#indexVisit .indexVisitItem iframe {
	width: 100%;
	height: 400px;
	border: 1px solid #ccc;
	box-sizing: border-box;
}

@media screen and (max-width : 970px) {
	#indexVisit #indexVisitWrap {
		flex-direction: column;
	}
	#indexVisit .indexVisitColumn {
		width: 100%;
	}
}
@media screen and (max-width : 540px) {
	#indexVisit .indexVisitItem table th,
	#indexVisit .indexVisitItem table td {
		display: block;
		width: 100%;
	}
}