@charset "UTF-8";
.opening {
	position: fixed;
  	inset: 0;
  	background: #F0EFE8;
  	display: flex;
  	align-items: center;
  	justify-content: center;
  	z-index: 99999;
  	opacity: 1;
  	transition: opacity 1.4s ease;
}

.opening.hide {
	opacity: 0;
  	pointer-events: none;
}

.opening-logo img {
	width: 200px;
  	opacity: 0;
  	animation: fadeInLogo 2.0s ease forwards;
}
@media screen and (max-width: 767.98px) {
	.opening-logo img {
		width: 140px;
	}
}
@keyframes fadeInLogo {
  0% {
    opacity: 0;
  }
  100% {
    opacity: 1;
  }
}

.mvbox {
	position: relative;
	width: 100%;
	overflow: hidden;
}
.mv-video {
	position: relative;
	width: 100%;
	height: 100vh;
	overflow: hidden;
	z-index: 1;
}
@media screen and (max-width: 1024px) {
	.mv-video {
    	height: 50vh;
  	}
}
@media screen and (max-width: 767.98px) {
	.mv-video {
    	height: 30vh;
  	}
}

.mv-info {
	position: absolute;
	left: 0;
	bottom: 0;
	width: 100%;
	background-color: #16253F;
	padding: 3rem 0;
	z-index: 2;
}

@media screen and (max-width: 767.98px) {
	.mv-info {
    	position: static;
    	padding: 1.5rem 0;
    	z-index: auto;
  	}
}

.mv-info .container {
	display: flex;
	justify-content: center;
	align-items: flex-start;
	flex-wrap: wrap;
}

@media screen and (max-width: 767.98px) {
	.mv-info .container {
		padding: 0;
	}
}

.mv-info-item {
	position: relative;
	display: flex;
	color: #FFF;
	font-size: 1.6rem;
	padding: 0 1.5rem;
}
@media screen and (max-width: 767.98px) {
	.mv-info-item {
		text-align: center;
    	font-size: 1.2rem;
    	padding: 0 0.8rem;
  	}
}

.mv-info-item::after {
	content: "";
	width: 0.1rem;
	height: 1.8rem;
	background-color: #FFF;
	position: absolute;
	right: 0;
	top: calc((100% - 1.8rem) / 2);
}
.mv-info-item:last-of-type::after {
	content: none;
}
@media screen and (max-width: 767.98px) {
	.mv-info-item::after {
		content: none;
	}
}

.mv-info-item p > span {
	display: inline-block;
	margin-right: 1rem;
}


/*************************
共通
************************ */
.section-feature {
	position: relative;
	background: #F0EFE8;
}
.section-feature::before {
  	content: "";
  	position: absolute;
  	background: #F9F8F6;
  	width: 100%;
  	height: 40rem;
  	top: 45%;
  	left: 0;
  	transform: translateY(-50%);
}
@media screen and (min-width: 1280px) and (max-width: 1800px) {
    .section-feature::before {
  	    height: 26rem;
    }
}
@media screen and (max-width: 767.98px) {
    .section-feature::before {
  	    top: 35%;
  	    height: 23rem;
    }
}

.feature-inner {
	display: flex;
  	justify-content: space-between;
  	gap: 6rem;
}
@media screen and (max-width: 767.98px) {
    .feature-inner {
        flex-direction: column;
        gap: 2.4rem;
      }
}

.section-title-block {
	display: flex;
	gap: 1.6rem;
}
@media screen and (max-width: 767.98px) {
    .section-title-block {
	    gap: 1rem;
      }
}

.section-title-en-wrap {
	position: relative;
	display: flex;
	flex-direction: column;
	align-items: center;
	gap: 0.8rem;
}
.section-title-en {
	writing-mode: vertical-rl;
	text-orientation: mixed;
	font-size: 1.2rem;
	letter-spacing: 0.2em;
}
@media screen and (max-width: 767.98px) {
    .section-title-en {
	    font-size: 1rem;
    }
}
.section-title-en-wrap::after {
	content: "";
  	width: 1px;
  	height: 12rem;
  	background-color: #2A2A2A;
  	margin-top: 0.8rem;
}
@media screen and (max-width: 767.98px) {
    .section-title-en-wrap::after {
  	    height: 6rem;
  	    margin-top: 0.4rem;
    }
}
.section-title-ja {
	position: relative;
	display: flex;
	flex-direction: column;
	align-items: center;
  	gap: 1.6rem;
}
@media screen and (max-width: 767.98px) {
    .section-title-ja {
  	    gap: 1rem;
    }
}

.section-title-ja .section-title-ja-text {
	writing-mode: vertical-rl;
  	text-orientation: upright;
  	font-size: 3.6rem;
  	letter-spacing: 0.2em;
}
@media screen and (max-width: 767.98px) {
    .section-title-ja .section-title-ja-text {
        font-size: 2.2rem;
    }
}

.section-title-ja .section-title-icon {
	position: relative;
	width: 8rem;
	left: 3rem;
}
@media screen and (max-width: 767.98px) {
    .section-title-ja .section-title-icon {
	    width: 4rem;
	    left: 1.5rem;
    }
}

.feature-img img {
	display: block;
  	width: 100%;
  	max-width: 1000px;
  	height: auto;
  	object-fit: cover;
}
@media screen and (min-width: 1280px) and (max-width: 1800px) {
    .feature-img img {
        max-width: 700px;
      }
}

.feature-desc {
	margin-top: 5rem;
}
@media screen and (max-width: 767.98px) {
    .feature-desc {
	    margin-top: 2.5rem;
    }
}

.feature-desc h3 {
	font-size: 3rem;
  	margin-bottom: 2rem;
}
@media screen and (max-width: 767.98px) {
    .feature-desc h3 {
	    font-size: 1.8rem;
  	    margin-bottom: 1rem;
    }
}

.feature-desc .viewallbtn {
    margin-top: 3rem;
}
@media screen and (max-width: 767.98px) {
    .feature-desc .viewallbtn {
        margin-top: 1.5rem;
        text-align: right;
    }
}

#stay.section-feature {
	background: #FFF;
}

/*************************
 news
************************ */
.section-news {
    background-color: #F9F8F6;
}

.section-news .title-block {
    display: flex;
    justify-content: space-between;
    align-items: center;
    gap: 2rem;
    margin-bottom: 4rem;
}

.news-posts {
    display: grid;
    grid-template-columns: minmax(0, 2fr) minmax(0, 1.3fr);
    column-gap: 5rem;
    align-items: flex-start;
}
@media screen and (max-width: 767.98px) {
    .news-posts {
        display: block;
    }
}

.news-posts-item-img {
    margin-bottom: 1rem;
    overflow: hidden;
}

.news-posts-item-img img {
    display: block;
    width: 100%;
    height: auto;
    object-fit: cover;
    object-position: center center;
    transition: transform .6s ease;
}

.news-posts a:hover .news-posts-item-img img {
    transform: scale(1.05);
}

.news-posts-item-head .time {
    display: inline-block;
    font-size: 1.2rem;
    line-height: 1;
}

.news-posts-item-txt {
    line-height: 1.4;
}

/* 左の大きい記事 ---------------------------- */
.news-feature a {
    display: block;
}

/* 右のリスト ---------------------------- */
.news-list {
    display: flex;
    flex-direction: column;
    gap: 2.4rem;
}
@media screen and (max-width: 767.98px) {
    .news-list {
        margin-top: 3rem;
        gap: 2rem;
    }
}

.news-list-item a {
    display: flex;
    align-items: flex-start;
    gap: 1.6rem;
    padding-bottom: 2.5rem;
    border-bottom: 1px solid #2A2A2A;
}

.news-list-item .news-posts-item-img {
    margin-bottom: 0;
    flex: 0 0 13rem;
}
@media screen and (max-width: 767.98px) {
    .news-list-item .news-posts-item-img {
        flex: 0 0 9rem;
    }
    .news-list-item .news-posts-item-img img {
        height: 7rem;
    }
}

.news-list-body {
    flex: 1 1 auto;
}

.news-list-body .news-posts-item-head {
    margin: 0 0 0.2rem;
}

.news-list-body .news-posts-item-txt {
    margin: 0;
}


/*************************
 access
************************ */
.section-access.sctbox {
    padding-bottom: 0;
}

.access-top {
    display: flex;
    justify-content: space-between;
    align-items: flex-start;
    gap: 5rem;
}
@media screen and (max-width: 767.98px) {
    .access-top {
        flex-direction: column;
        gap: 0;
    }
}
.access-info {
    flex: 1;
    display: grid;
    grid-template-columns: 2fr 1fr;
    column-gap: 4rem;
    row-gap: 3rem;
}
@media screen and (max-width: 767.98px) {
    .access-info {
        grid-template-columns: 1fr;
    }
}

.access-table {
    width: 100%;
    border-collapse: collapse;
}

.access-table tr + tr {
    border-top: 1px solid #2A2A2A;
}
.access-table tr:first-child {
    border-top: 1px solid #2A2A2A;
}
.access-table tr:last-of-type {
    border-bottom: 1px solid #2A2A2A;
}
.access-table th,
.access-table td {
    padding: 0.8rem 0;
    font-weight: normal;
}

.access-table th {
    white-space: nowrap;
    padding-right: 2rem;
}

@media screen and (max-width: 767.98px) {
  .access-table th {
    display: block;
    padding-right: 0;
  }

  .access-table td {
    display: block;
    padding-top: 0;
  }
}

.access-map {
    margin-top: 7rem;
}
@media screen and (max-width: 767.98px) {
    .access-map {
        margin-top: 3rem;
    }
}

.access-map iframe {
    display: block;
    width: 100%;
    height: 500px;
    border: 0;
}
@media screen and (max-width: 767.98px) {
    .access-map iframe {
        height: 250px;
    }
}

/*************************
 facility section
************************ */
.section-facility {
    background-color: #F9F8F6;
}
.facility-layout {
    display: grid;
    grid-template-columns: 55% 45%;
    align-items: stretch;
    gap: 4rem;
}
@media screen and (max-width: 767.98px) {
    .facility-layout {
        grid-template-columns: 1fr;
        gap: 2rem;
    }
}

.facility-photo img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    display: block;
}
@media screen and (max-width: 767.98px) {
    .facility-photo img {
        height: 30vh;
    }
}

.facility-item {
    margin-bottom: 4rem;
}
@media screen and (max-width: 767.98px) {
    .facility-item {
        margin-bottom: 2rem;
    }
}
.facility-item:last-of-type {
    margin-bottom: 0;
}

.facility-text {
    display: flex;
    flex-direction: column;
    justify-content: space-between;
}
@media screen and (max-width: 767.98px) {
  .facility-text {
      gap: 3rem;
  }
}

.facility-title {
    margin-bottom: 1rem;
    font-size: 2.3rem;
    line-height: 1;
}
@media screen and (max-width: 767.98px) {
  .facility-title {
    font-size: 1.8rem;
  }
}

.facility-item .viewallbtn {
    margin-top: 1rem;
}
@media screen and (max-width: 767.98px) {
    .facility-item .viewallbtn {
       text-align: right;
    }
}