@charset "utf-8";




.facility-kv {
	position: relative;
	display: flex;
	align-items: center;
	height: calc(100vh - 120px);
	overflow: hidden;
}
.facility-kv .inner {
	display: flex;
	justify-content: flex-end;
	width: 36%;
}
.facility-kv figure {
	width: 64%;
	height: 100%;
}
.facility-kv .extra {
	width: 390px;
}
.facility-kv h1 {
	position: relative;
	font-size: 4.065rem;
	line-height: 1.25;
	z-index: 10;
}
.facility-kv .sub {
	margin: 30px 0 0;
	font-size: 1rem;
}

.facility-kv figure {
	position: relative;
	overflow: hidden;
}
.facility-kv figure img {
	width: 100%;
	height: 100%;
	object-fit: cover;
	object-position: 50% 50%;
}

.facility-kv .arrow {
	position: absolute;
	width: 68px;
	height: 36px;
	left: calc(50% - 34px);
	bottom: 30px;
	z-index: 10;
	background: url(../img/arrow_down.svg) 50% 50% no-repeat;
	background-size: 100% auto;
}



.facility-intro {
	margin: 150px 0 0 36%;
}
.facility-intro p {
	line-height: 2;
	font-size: 1rem;
}





.facility-list {
	margin: 200px 0 0;
}
.facility-list + .facility-list {
	margin-top: 150px;
}



.facility-list .slick-list {
	overflow: visible !important;
}

.facility-list .slide {
	position: relative;
	width: 100vw;
	height: 500px;
	overflow: hidden;
}
.facility-list .slide-container {
	margin-left: calc(50vw - (750px / 2));
	transition: transform 700ms ease-out;
}
.facility-list .slide-inner {
	display: flex;
}
.facility-list .slide-item {
	box-sizing: border-box;
	width: 750px;
	height: 500px;
	padding: 0 25px;
}
.facility-list .slide-item:nth-child(1) {
}

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

.facility-list button.disabled {
	visibility: hidden;
	pointer-events: none;
}





.facility-list .detail {
	box-sizing: border-box;
	display: flex;
	justify-content: space-between;
	max-width: 1400px;
	margin: 45px auto 0;
	padding: 0 100px;
}

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

.facility-list .detail .spec {
	margin: 20px 0 0;
	padding: 15px 0;
	border: 0 solid #646464;
	border-width: 1px 0;
}
.facility-list .detail .spec dl {
	display: flex;
	font-size: 0.875rem;
	line-height: 2;
}
.facility-list .detail .spec dt {
	width: 115px;
}
.facility-list .detail .spec dd {
	width: calc(100% - 115px);
}
.facility-list .detail .spec dl + dl {
	margin-top: 8px;
}
.facility-list .detail .spec dd span {
	font-size: 0.75rem;
}

.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: 240px;
	height: 48px;
	padding: 0 30px;
	font-size: 1.125rem;
	border: 1px solid #1e1e1e;
	cursor: pointer;
}
.facility-list .detail nav a em {
	position: absolute;
	display: block;
	width: 50px;
	height: 8px;
	right: 30px;
	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 nav a:hover em {
	transform: translateX(5px);
}


.facility-list .detail .fig {
	max-width: 464px;
	margin: 10px 120px 0 0;
}
.facility-list .detail .fig img {
	width: 100%;
	height: auto;
}



.facility-column {
	box-sizing: border-box;
	max-width: 1400px;
	margin: 150px auto 0;
	padding: 0 100px;
}
.facility-column .header {
	position: relative;
	margin: 0 0 40px;
	padding: 0 0 15px;
	border-bottom: 1px solid #c8c8c8;
}
.facility-column .header h2 {
	font-size: 1.125rem;
	font-weight: 400;
	font-family: "FP-ヒラギノ角ゴ ProN W6", sans-serif;
}
.facility-column .header nav {
	position: absolute;
	right: 28px;
	top: 0;
}
.facility-column .header nav a {
	position: relative;
	display: inline-block;
	padding: 0 90px 0 0;
	font-size: 1.125rem;
	font-family: "UniversLTPro-55Roman", sans-serif;
	cursor: pointer;
}
.facility-column .header nav a em {
	position: absolute;
	display: block;
	width: 50px;
	height: 8px;
	right: 30px;
	top: calc(50% - 5px);
	background: url(../img/arrow_long.svg) 50% 50% no-repeat;
	background-size: 100% auto;
	transition: all 300ms ease-out;
}
.facility-column .header nav a:hover em {
	transform: translateX(5px);
}


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

.facility-column .map {
	margin: 60px 0 0;
}
.facility-column .map .scroll {
	display: none;
}


.facility-related {
	position: relative;
	box-sizing: border-box;
	max-width: 1400px;
	margin: 150px auto 100px;
	padding: 0 100px;
}
.facility-related .box {
	position: relative;
	display: flex;
	justify-content: space-between;
}
.facility-related .box::after {
	position: absolute;
	content: "";
	display: block;
	width: 486px;
	height: 1px;
	left: 0;
	top: 258px;
	z-index: 10;
	background: #c8c8c8;
}

.facility-related .box + .box {
	margin-top: 80px;
}


.facility-related .text {
	width: 25%;
}
.facility-related .text h3 {
	margin: 40px 0 0;
	letter-spacing: 5px;
	font-size: 2.25rem;
	font-weight: 400;
	font-family: "UniversNextPro-Thin", sans-serif;
	line-height: 1.5;
}
.facility-related .text nav {
	margin: 50px 0 0 85px;
}
.facility-related .text nav a {
	position: relative;
	display: inline-block;
	box-sizing: border-box;
	min-width: 165px;
	padding: 0 80px 0 0;
	font-size: 0.875rem;
	text-align: right;
}
.facility-related .text nav a em {
	position: absolute;
	display: block;
	width: 68px;
	height: 10px;
	right: 0;
	top: calc(50% - 5px);
	background: url(../img/arrow_long.svg) 50% 50% no-repeat;
	background-size: 100% auto;
	transition: all 300ms ease-out;
}
.facility-related .text nav a:hover em {
	transform: translateX(5px);
}


.facility-related figure {
	width: 75%;
}
.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 0ms;
}
.facility-list p,
.facility-list .spec {
	opacity: 0;
	transform: translateY(30px);
	transition: all 800ms ease-out 500ms;
}
.facility-list nav {
	opacity: 0;
	transform: translateY(30px);
	transition: all 800ms ease-out 800ms;
}
.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 800ms;
}
.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: 1rem;
}


















