@charset "UTF-8";
/* PCページ */
@media screen and (min-width: 768px){
main{
	padding-top: 114px;
}
/* ページタイトル */
.page-title::after{
	background-image : url(img/facility1-11.jpg);
}
.page-text::after{
	position: absolute;
	content: "";
	background-image : url(img/24265763_s.jpg);
	background-size: contain;
	width: 100%;
	height: 100%;
	z-index: -1;
	opacity: 0.5;
	top: 0;
}
.page-text::before{
	position: absolute;
	content: "";
	background: #8b837c;
	opacity: 0.1;
	width: 100%;
	height: 100%;
	top: 0;
	z-index: -2;
}
/* メインタイトル */
.main-title{
	padding-top: 60px;
}
/* フロント・ラウンジ */
.facilities{
	width: 100%;
	max-width: 1920px;
	padding: 0 4vw 80px;
	margin: 0 auto;
	position: relative;
	transition: opacity 1.4s, transform 1s;
	opacity: 0;
	transform: translateY(20px);
}
.facilities.run{
	opacity: 1;
	transform: translateY(0);
}
.facilities::after{
	position: absolute;
	content: "";
	background-image : url(img/24265763_s.jpg);
	width: calc(100vw - 10px);
	margin-left: -50vw;
	left: 50%;
	height: 80%;
	z-index: -1;
	opacity: 0.5;
	bottom: 0;
}
.facilities::before{
	position: absolute;
	content: "";
	background: #8b837c;
	opacity: 0.1;
	height: 80%;
	width: calc(100vw - 10px);
	margin-left: -50vw;
	left: 50%;
	bottom: 0;
	z-index: -2;
}
.facilities-in1{
	width: 100%;
	max-width: 1380px;
	margin: 0 auto;
	display: grid;
	grid-template-columns: 1fr 1fr;
	gap: 0 4vw;
}
.facilities-in1 img{
	width: 100%;
	max-width: 768px;
}
.facilities p{
	margin: 0;
	display: flex;
	flex-direction: column;
	padding-top: 15px;
}
.facilities-in1 span{
	font-size: 25px;
	color: #545454;
	padding-bottom: 10px;
}
/* その他の施設・設備 */
.facilities2{
	width: 100%;
	max-width: 1920px;
	padding: 0 4vw;
	margin: 0 auto;
}
.facilities2-in1{
	width: 100%;
	max-width: 1380px;
	margin: 0 auto;
	display: grid;
	grid-template-columns: repeat(auto-fit, minmax(330px, 1fr));
	gap: 2.5vw 3vw;
}
.facilities2-in1 img{
	width: 100%;
	max-width: 768px;
}
.facilities2-in1 div{
	display: grid;
	grid-template-rows: auto 2fr minmax(120px, auto);
	transition: opacity 1.4s, transform 1s;
	opacity: 0;
	transform: translateY(20px);
}
.facilities2-in1 div.run{
	opacity: 1;
	transform: translateY(0);
}
.facilities2-in1 div:nth-child(2),.facilities2-in1 div:nth-child(5),.facilities2-in1 div:nth-child(8){
	transition-delay: .3s;
}
.facilities2-in1 div:nth-child(3n){
	transition-delay: .6s;
}
.facilities2-in1 p{
	margin: 0;
	height: 100%;
	padding-top: 10px;
}
.f-text1{
	font-size: min(1.7vw, 25px);
	display: grid;
	grid-template-columns: 4fr 1fr;
	justify-content: space-between;
	align-items: start;
	flex-grow: 1;
}
.f-text1 span{
	display: flex;
	flex-wrap: wrap;
}
.f-text1 span:not(.f-text1 span span):first-child{
	color: #545454;
}
.f-text1 span:not(.f-text1 span span):last-child{
	font-size: 13px;
	background: #8b837c;
	color: #fff;
	display: flex;
	justify-content: center;
	white-space: nowrap;
	padding: 2px 0.5em;
	margin-top: 5px;
}
.facilities2-in1 div:nth-last-child(-n+3) .f-text1 span:last-child{
	background: #d898c3;
}
/* その他のサービス */
#f-main-title p{
	background: #fff;
	padding: 0 1em;
}
#f-main-title{
	display: flex;
	justify-content: center;
	align-items: center;
	position: relative;
	z-index: 1;
}
#f-main-title::before,#f-main-title::after{
	position: absolute;
	content: "";
	border-bottom: 1px solid #d8d8d8;
	flex-grow: 1;
	width: 100%;
	z-index: -1;
	top: 50%;
}
.facilities3{
	width: 100%;
	max-width: 1920px;
	padding: 0 4vw 80px;
	margin: 0 auto;
}
.facilities3 ul{
	list-style: none;
	width: 100%;
	max-width: 1380px;
	padding: 10px 0 30px;
	gap: 0 6vw;
	margin: 0 auto;
	display: grid;
	grid-template-columns: repeat(3, 1fr);
	border-bottom: 1px solid #d8d8d8;
}
.facilities3 ul li{
	display: grid;
	grid-template-rows:  auto 2fr minmax(3em, 3fr);
	justify-contenet: center;
	text-align: center;
	transition: opacity 1.4s, transform 1s;
	opacity: 0;
	transform: translateY(20px);
}
.facilities3 ul li.run{
	transform: translateY(0);
	opacity: 1;
}
.facilities3 ul li:nth-child(2){
	transition-delay: .3s;
}
.facilities3 ul li:last-child{
	transition-delay: .6s;
}
.facilities3 ul img{
	width: 100%;
	max-width: 160px;
}
.facilities3 span:not(.facilities3 p span){
	font-size: 23px;
	padding-top: 20px;
	color: #545454;
	padding-bottom: 15px;
}
.facilities3 p{
	margin: 0;
}
.facilities3 p:last-child{
	text-align: left;
}
.mini-btn{
	position: relative;
	display: flex;
	justify-content: center;
	align-items: center;
	width: 100%;
	max-width: 180px;
	margin-top: 20px;
	border: 1px solid #8b837c;
	border-radius: 4px;
}
.mini-btn::before{
	position: absolute;
	content: "";
	background: #8b837c;
	width: 0;
	height: 100%;
	left: 0;
	opacity: 0;
	overflow: hidden;
	transition: .3s;
}
.mini-btn:hover::before{
	width: 100%;
	opacity: 1;
}
.mini-btn a{
	display: flex;
	justify-content: center;
	align-items: center;
	width: 100%;
	padding: 7px 10px;
	color: #8b837c;
	font-size: 14px;
	position: relative;
}
.mini-btn a:hover{
	color: #fff;
	transition: .3s;
}
.mini-btn a::before,.mini-btn a::after{
	position: absolute;
	content: "";
	background: #8b837c;
	right: 10px;
	transition: .3s;
}
.mini-btn a::after{
	width: 20px;
	height: 1px;
	top: 19px;
}
.mini-btn a::before{
	transform: rotate(45deg);
	width: 5px;
	height: 1px;
	top: 17px;
}
.mini-btn a:hover::before,.mini-btn a:hover::after{
	right: -11px;
}
.mini-btn a:hover::after{
	background: linear-gradient(90deg, #fff 0%, #fff 50%, #8b837c 50%, #8b837c 100%);
}
/* 客室情報 */
.guest3{
	padding: 0 4vw 50px;
	margin: 0 auto;
	width: 100%;
	max-width: 1920px;
}
}
/* タブレット */
@media screen and (min-width: 768px) and (max-width: 1024px){
main{
	padding-top: 79px;
}
/* その他の施設・設備 */
.f-text1 span{
	font-size: min(2.5vw, 25px);
}
}
/*スマホページ */
@media screen and (max-width: 768px){
main{
	padding-top: 72px;
}
/* ページタイトル */
.page-title::after{
	background-image : url(img/facility1-11.jpg);
}
.page-text::after{
	position: absolute;
	content: "";
	background-image : url(img/24265763_s.jpg);
	background-size: contain;
	width: 100%;
	height: 100%;
	z-index: -1;
	opacity: 0.5;
	top: 0;
}
.page-text::before{
	position: absolute;
	content: "";
	background: #8b837c;
	opacity: 0.1;
	width: 100%;
	height: 100%;
	top: 0;
	z-index: -2;
}
/* フロント・ラウンジ */
.facilities{
	padding: 0 20px;
	margin: 0 auto;
}
.facilities-in1{
	display: grid;
	row-gap: 50px;
}
.facilities-in1 div{
	display: flex;
	flex-direction: column;
	position: relative;
	padding-bottom: 25px;
}
.facilities-in1 div::after{
	position: absolute;
	content: "";
	background-image : url(img/24265763_s.jpg);
	background-size: contain;
	width: calc(100vw -10px);
	height: 80%;
	left: 50%;
	margin-left: -50vw;
	z-index: -1;
	opacity: 0.5;
	bottom: 0;
}
.facilities-in1 div::before{
	position: absolute;
	content: "";
	background: #8b837c;
	opacity: 0.1;
	width: calc(100vw - 10px);
	left: 50%;
	margin-left: -50vw;
	height: 80%;
	bottom: 0;
	z-index: -2;
}
.facilities-in1 img{
	width: 100%;
	max-width: 768px;
}
.facilities-in1 p{
	margin: 0;
	padding-top: 10px;
	display: flex;
	flex-direction: column;
}
.facilities-in1 span{
	font-size: 17px;
	font-weight: bold;
	color: #545454;
}
/* その他の設備・施設 */
.facilities2{
	display: grid;
	grid-template-rows: auto;
	padding: 0 20px;
	margin: 0 auto;
}
.facilities2-in1{
	display: grid;
	grid-template-row: auto;
	row-gap: 50px;
}
.facilities2 img{
	width: 100%;
	max-width: 768px;
}
.facilities2 p{
	margin: 0;
}
.f-text1{
	display: flex;
	flex-direction: column-reverse;
	padding-top: 15px;
	padding-bottom: 5px;
	align-items: start;
}
.f-text1 span:first-child{
	font-weight: bold;
	color: #545454;
	font-size: 17px;
	padding-top: 5px;
}
.f-text1 span:not(.f-text1 span span):last-child{
	background: #8b837c;
	color: #fff;
	font-size: 12px;
	display: flex;
	justify-content: center;
	align-items: center;
	padding: 0 0.5em;
	line-height: 1.8em;
}
.facilities2-in1 div:nth-last-child(-n+3) .f-text1 span:last-child{
	background: #d898c3;
}
/* その他のサービス */
#f-main-title p{
	background: #fff;
	padding: 0 1em;
}
.facilities3{
	padding: 0 20px 50px;
	margin: 0 auto;
}
.facilities3 ul{
	list-style: none;
	padding: 0 30px 40px;
	display: grid;
	grid-template-rows: auto;
	margin: 0 auto;
	row-gap: 30px;
	position:relative;
}
.facilities3 ul::before{
	position: absolute;
	content: "";
	border: 1px solid #d8d8d8;
	height: calc(100% + 4em);
	width: 100%;
	top: -4em;
	z-index: -1;
}
.facilities3 ul li{
	display: grid;
	grid-template-rows: auto;
	text-align: center;
}
.facilities3 ul li + li{
	padding-top: 30px;
	border-top: 1px dotted #d8d8d8;
}
.facilities3 img{
	width: 100%;
	max-width: 130px;
}
.facilities3 p{
	margin: 0;
}
.facilities3 span:not(.facilities3 p span){
	font-size: 16px;
	font-weight: bold;
	color: #545454;
}
.facilities3 p:last-child{
	display: flex;
	flex-direction: column;
	text-align: left;
}
.mini-btn{
	display: flex;
	justify-content: center;
	align-items: center;
	width: 100%;
	max-width: 180px;
	margin: 20px auto 0;
	position: relative;
}
.mini-btn a{
	display: flex;
	justify-content: center;
	align-items: center;
	padding: 5px 10px;
	border: 1px solid #8b837c;
	border-radius: 4px;
	color: #8b837c;
	width: 100%;
	font-size: 14px;
}
.mini-btn::after{
	position: absolute;
	content: "";
	border-right: 1px solid #8b837c;
	border-bottom: 1px solid #8b837c;
	transform: skew(45deg);
	right: 10px;
	width: 18px;
	height: 4px;
	top: 15px;
}
.mini-btn a:hover{
	opacity: 0.8;
	transition: .3s;
}
/* 客室情報 */
.guest3{
	padding: 0 20px;
	margin: 0 auto 40px;
}
}