@charset "utf-8";


.facility-kv {
	position: relative;
	display: flex;
	flex-direction: column-reverse;
}
.facility-kv .inner {
	margin: 0 20px;
}
.facility-kv h1 {
	margin: 0 !important;
	line-height: 1.2;
}
.facility-kv .sub {
	margin: 20px 0 0;
	font-size: 12px;
}

.facility-kv figure {
	margin: 0 0 45px;
	overflow: hidden;
}
.facility-kv figure img {
	width: 100%;
	height: 85vw;
	object-fit: cover;
	object-position: 50% 50%;
}




.facility-intro {
	margin: 70px 20px 0 80px;
}
.facility-intro p {
	line-height: 2;
	font-size: 14px;
}
.facility-intro p br {
	display: none;
}







.facility-list {
	margin: 140px 0 0;
}
.facility-list + .facility-list {
	margin-top: 75px;
}



.facility-list .slick-list {
}

.facility-list .slide {
	position: relative;
	width: 100vw;
	height: calc((100vw - 40px) / 355 * 240);
	overflow: hidden;
}
.facility-list .slide-container {
}
.facility-list .slide-item {
	box-sizing: border-box;
	width: calc(100vw - 40px + 10px);
	height: calc((100vw - 40px) / 355 * 240);
	padding: 0 5px;
}
.facility-list .slide-item:nth-child(1) {
}

.facility-list button {
	position: absolute;
	display: block;
	width: 20px;
	height: 40px;
	top: calc(50% - 20px);
	z-index: 100;
	font-size: 0;
	background-color: transparent;
	background-position: 50% 50%;
	background-repeat: no-repeat;
	background-size: 18px auto;
	border: none;
	cursor: pointer;
	transition: all 300ms ease-out;
}
.facility-list button.prev {
	left: 45px;
	background-image: url(../img/arrow_slide_prev_white.svg);
}
.facility-list button.next {
	right: 45px;
	background-image: url(../img/arrow_slide_next_white.svg);
}



.facility-list .detail {
	box-sizing: border-box;
	display: flex;
	flex-direction: column-reverse;
	margin: 25px auto 0;
	padding: 0 20px;
}

.facility-list .detail .text {
}
.facility-list .detail h2 {
	font-size: 16px;
	font-weight: 400;
	font-family: "FP-ヒラギノ角ゴ ProN W6", sans-serif;
}
.facility-list .detail p {
	margin: 25px 0 0;
	line-height: 2;
	font-size: 12px;
}

.facility-list .detail .spec {
	margin: 30px 0 0;
	padding: 15px 0;
	border: 0 solid #646464;
	border-width: 1px 0;
}
.facility-list .detail .spec dl {
	display: flex;
	font-size: 12px;
	line-height: 2;
}
.facility-list .detail .spec dt {
	width: 80px;
}
.facility-list .detail .spec dd {
	width: calc(100% - 80px);
}
.facility-list .detail .spec dl + dl {
	margin-top: 10px;
}
.facility-list .detail .spec dd span {
	font-size: 12px;
}

.facility-list .detail nav {
	margin: 30px 0 0;
}
.facility-list .detail nav a {
	position: relative;
	box-sizing: border-box;
	align-items: center;
	display: flex;
	width: 250px;
	height: 50px;
	padding: 0 30px;
	font-size: 14px;
	border: 1px solid #1e1e1e;
	cursor: pointer;
}
.facility-list .detail nav a em {
	position: absolute;
	display: block;
	width: 50px;
	height: 8px;
	right: 20px;
	top: calc(50% - 4px);
	background: url(../img/arrow_long.svg) 50% 50% no-repeat;
	background-size: 100% auto;
	transition: all 300ms ease-out;
}



.facility-list .detail .fig {
	margin: 0 -20px 25px 0;
	text-align: right;
}
.facility-list .detail .fig img {
	width: 74%;
	height: auto;
}



.facility-column {
	box-sizing: border-box;
	margin: 85px 20px 0;
}
.facility-column .header {
	position: relative;
	margin: 0 0 25px;
	padding: 0 0 15px;
	border-bottom: 1px solid #c8c8c8;
}
.facility-column .header h2 {
	font-size: 14px;
	font-weight: 400;
	font-family: "FP-ヒラギノ角ゴ ProN W6", sans-serif;
}
.facility-column .header nav {
	position: absolute;
	right: 0;
	top: 0;
}
.facility-column .header nav a {
	position: relative;
	display: inline-block;
	padding: 0 48px 0 0;
	font-size: 12px;
	font-family: "UniversLTPro-55Roman", sans-serif;
	cursor: pointer;
}
.facility-column .header nav a em {
	position: absolute;
	display: block;
	width: 42px;
	height: 6px;
	right: 0;
	top: calc(50% - 4px);
	background: url(../img/arrow_long.svg) 50% 50% no-repeat;
	background-size: 100% auto;
	transition: all 300ms ease-out;
}



.facility-column dl {
	line-height: 2;
	font-size: 12px;
}
.facility-column dl + dl {
	margin-top: 20px;
}
.facility-column dt {
	font-family: "FP-ヒラギノ角ゴ ProN W6", sans-serif;
}
.facility-column dd {
	margin: 4px 0 0;
}


.facility-column .map {
	position: relative;
	margin: 30px -20px 0;
	overflow: hidden;
}
.facility-column .extra {
	width: 100vw;
	overflow: auto;
	-webkit-overflow-scrolling: touch;
}
.facility-column .map .inner {
	width: 720px;
}
.facility-column .map .inner img {
	margin-left: 20px;
}

.facility-column .scroll {
	position: absolute;
	width: 86px;
	right: 0;
	top: 30px;
	z-index: 10;
	color: #1e1e1e;
	font-size: 10px;
}
.facility-column .scroll::after {
	position: absolute;
	content: "";
	display: block;
	width: 52px;
	height: 1px;
	right: 0;
	top: 5px;
	background: #1e1e1e;
}




.facility-related {
	position: relative;
	box-sizing: border-box;
	margin: 80px 20px 100px;
	border-bottom: 1px solid #c9c9c9;
}
.facility-related .box {
	position: relative;
	display: flex;
	flex-direction: column-reverse;
}

.facility-related .box + .box {
	margin-top: 30px;
	padding-top: 30px;
	border-top: 1px solid #c9c9c9;
}


.facility-related .text {
	margin: 25px 0 0;
}
.facility-related .text h3 {
	letter-spacing: 3px;
	font-size: 28px;
	font-weight: 400;
	font-family: "UniversNextPro-Thin", sans-serif;
	line-height: 1.4;
}
.facility-related .text nav {
	margin: 20px 0;
	text-align: right;
}
.facility-related .text nav a {
	position: relative;
	display: inline-block;
	padding: 0 48px 0 0;
	font-size: 12px;
}
.facility-related .text nav a em {
	position: absolute;
	display: block;
	width: 42px;
	height: 6px;
	right: 0;
	top: calc(50% - 4px);
	background: url(../img/arrow_long.svg) 50% 50% no-repeat;
	background-size: 100% auto;
}



.facility-related figure {
}
.facility-related figure img {
	width: 100%;
	height: auto;
}















.facility-kv h1 {
	opacity: 0;
	transform: translateY(30px);
	transition: all 800ms ease-out 0ms;
}
.facility-kv .sub {
	opacity: 0;
	transform: translateY(30px);
	transition: all 800ms ease-out 500ms;
}
.facility-kv figure img {
	opacity: 0;
	transform: scale(1.1);
	transition: all 1500ms ease-out 0ms;
}
.facility-kv .arrow {
	opacity: 0;
	transform: translateY(-20px);
	transition: all 800ms ease-out 1500ms;
}

.facility-kv.show h1,
.facility-kv.show .sub,
.facility-kv.show .arrow {
	opacity: 1;
	transform: translateY(0);
}
.facility-kv.show figure img {
	opacity: 1;
	transform: scale(1);
}





.facility-intro p {
	opacity: 0;
	transform: translateY(30px);
	transition: all 800ms ease-out 0ms;
}
.facility-intro.show p {
	opacity: 1;
	transform: translateY(0);
}


.facility-list .slide figure {
	overflow: hidden;
}
.facility-list .slide img {
	opacity: 0;
	transform: scale(1.1);
	transition: all 800ms ease-out 0ms;
}
.facility-list.show .slide img {
	opacity: 1;
	transform: scale(1);
}




.facility-list h2 {
	opacity: 0;
	transform: translateY(30px);
	transition: all 800ms ease-out 300ms;
}
.facility-list p,
.facility-list .spec {
	opacity: 0;
	transform: translateY(30px);
	transition: all 800ms ease-out 600ms;
}
.facility-list nav {
	opacity: 0;
	transform: translateY(30px);
	transition: all 800ms ease-out 900ms;
}
.facility-list .detail.show h2,
.facility-list .detail.show p,
.facility-list .detail.show .spec,
.facility-list .detail.show nav {
	opacity: 1;
	transform: translateY(0);
}

.facility-list .fig {
	opacity: 0;
	transform: translateY(30px);
	transition: all 800ms ease-out 0ms;
}
.facility-list .detail.show .fig {
	opacity: 1;
	transform: translateY(0);
}






.facility-column .header {
	opacity: 0;
	transform: translateY(30px);
	transition: all 800ms ease-out 0ms;
}
.facility-column dl {
	opacity: 0;
	transform: translateY(30px);
	transition: all 800ms ease-out 500ms;
}
.facility-column .map {
	opacity: 0;
	transform: translateY(30px);
	transition: all 800ms ease-out 300ms;
}
.facility-column.show .header,
.facility-column.show dl,
.facility-column .map.show {
	opacity: 1;
	transform: translateY(0);
}






.facility-related figure {
	overflow: hidden;
}
.facility-related figure img {
	opacity: 0;
	transform: scale(1.1);
	transition: all 800ms ease-out 0ms;
}
.facility-related .box.show figure img {
	opacity: 1;
	transform: scale(1);
}


.facility-related h3 {
	opacity: 0;
	transform: translateY(30px);
	transition: all 800ms ease-out 0ms;
}
.facility-related nav {
	opacity: 0;
	transform: translateX(-20px);
	transition: all 800ms ease-out 500ms;
}
.facility-related .box::after {
	opacity: 0;
	transform: scaleX(0);
	transform-origin: left top;
	transition: all 800ms ease-out 500ms;
}
.facility-related .box.show h3 {
	opacity: 1;
	transform: translateY(0);
}
.facility-related .box.show nav {
	opacity: 1;
	transform: translateX(0);
}
.facility-related .box.show::after {
	opacity: 1;
	transform: scaleX(1);
}










/* ---------- */
/* English */

html:lang(en) .facility-list .detail h2,
html:lang(en) .facility-column .header h2 {
	font-weight: normal;
	font-family: "UniversLTPro-65Bold", sans-serif;
}

html:lang(en) .facility-column dt {
	font-weight: normal;
	font-family: "UniversLTPro-65Bold", sans-serif;
}

html:lang(en) .facility-list .detail .spec dd {
	width: 100%;
}

html:lang(en) .facility-related .text nav a {
	font-size: 14px;
}









